:root{--bg:#f2f2f7;--surface:#ffffff;--glass:rgba(255,255,255,0.72);--glass-strong:rgba(255,255,255,0.85);--fill:#f2f2f7;--fill-2:#e9e9ef;--border:rgba(60,60,67,0.1);--border-strong:rgba(60,60,67,0.16);--hairline:rgba(60,60,67,0.08);--text:#000000;--text-body:#1c1c1e;--text-secondary:#3c3c43;--text-muted:#8a8a8e;--primary:#007aff;--primary-strong:#0a84ff;--primary-deep:#0051d5;--primary-soft:rgba(0,122,255,0.1);--purple:#5e5ce6;--teal:#30b0c7;--success:#34c759;--success-ink:#1d8a3b;--success-soft:rgba(52,199,89,0.14);--warning:#ff9500;--warning-ink:#b15c00;--warning-soft:rgba(255,149,0,0.14);--danger:#ff3b30;--danger-ink:#c4271d;--danger-soft:rgba(255,59,48,0.12);--r-xl:24px;--r-card:20px;--r-md:16px;--r-btn:12px;--r-input:12px;--r-pill:999px;--shadow-xs:0 1px 2px rgba(0,0,0,0.05);--shadow-sm:0 1px 2px rgba(0,0,0,0.04),0 2px 6px rgba(0,0,0,0.05);--shadow-card:0 1px 1px rgba(0,0,0,0.03),0 6px 16px rgba(0,0,0,0.05),0 18px 40px rgba(0,0,0,0.06);--shadow-float:0 8px 16px rgba(0,0,0,0.08),0 24px 56px rgba(0,0,0,0.14);--shadow-btn:0 1px 2px rgba(0,0,0,0.14),0 6px 16px rgba(0,122,255,0.32);--font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:ui-monospace,"SF Mono","SFMono-Regular",Menlo,Monaco,"Cascadia Code",monospace;--ease:cubic-bezier(0.32,0.72,0,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--sidebar-w:256px}*{box-sizing:border-box}body,html{margin:0;padding:0;color:var(--text-body);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:-.011em}body{min-height:100vh;background-color:var(--bg);background-image:radial-gradient(70rem 70rem at -5% -10%,rgba(0,122,255,.08),transparent 55%),radial-gradient(55rem 55rem at 105% 5%,rgba(94,92,230,.07),transparent 52%),radial-gradient(45rem 45rem at 50% 115%,rgba(48,176,199,.06),transparent 60%);background-attachment:fixed}h1,h2,h3{margin:0;color:var(--text);font-weight:700;letter-spacing:-.024em}h1{font-size:clamp(1.75rem,1.4rem + 1.4vw,2.35rem);line-height:1.06}h2{font-size:1.15rem;letter-spacing:-.02em}h3{font-size:1rem}a{color:var(--primary);text-decoration:none;font-weight:500}.muted{color:var(--text-muted);font-size:.92rem;line-height:1.55}.mono{font-family:var(--mono)}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem 1rem;background:var(--glass);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);border-right:1px solid var(--border)}.brand{display:flex;align-items:center;gap:.7rem;padding:.4rem .6rem 1.4rem}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(160deg,var(--primary-strong),var(--primary-deep));box-shadow:0 4px 12px rgba(0,122,255,.34),inset 0 1px 1px rgba(255,255,255,.45);color:#fff;flex-shrink:0}.brand-name{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.1}.brand-sub{font-size:.72rem;color:var(--text-muted);font-weight:500}.nav{display:flex;flex-direction:column;gap:.2rem}.nav-section-label{font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);padding:.6rem .7rem .4rem}.nav-item{display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem;border-radius:var(--r-btn);color:var(--text-secondary);font-size:.94rem;font-weight:500;transition:background .2s var(--ease),color .2s var(--ease)}.nav-item svg{width:20px;height:20px;flex-shrink:0;opacity:.7}.nav-item:hover{background:rgba(0,122,255,.07);color:var(--text)}.nav-item.active{background:linear-gradient(180deg,var(--primary-strong),var(--primary-deep));color:#fff;box-shadow:0 4px 12px rgba(0,122,255,.3)}.nav-item.active svg{opacity:1}.nav-spacer{flex:1 1}.main{min-width:0;padding:2.5rem clamp(1.5rem,1rem + 2vw,3rem) 4rem;max-width:1120px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.page-head .title-block{animation:rise .6s var(--ease-out) both}.page-head p{margin:.5rem 0 0;max-width:56ch}.page-head .actions{display:flex;gap:.6rem;align-items:center}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.75rem}.stat{position:relative;display:flex;flex-direction:column;gap:.4rem;padding:1.25rem 1.35rem;background:var(--glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-card);overflow:hidden;animation:rise .6s var(--ease-out) both}.stat:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent)}.stat-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;margin-bottom:.35rem;color:#fff}.stat-icon svg{width:20px;height:20px}.stat-icon.blue{background:linear-gradient(160deg,#0a84ff,#0051d5)}.stat-icon.green{background:linear-gradient(160deg,#34c759,#1d8a3b)}.stat-icon.orange{background:linear-gradient(160deg,#ff9f0a,#e07b00)}.stat-icon.purple{background:linear-gradient(160deg,#6b69ef,#4a47d6)}.stat-value{font-size:2rem;font-weight:700;letter-spacing:-.03em;color:var(--text);line-height:1}.stat-label{font-size:.85rem;color:var(--text-muted);font-weight:500}.card{position:relative;background:var(--glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid var(--border);border-radius:var(--r-card);padding:1.6rem 1.75rem;margin-bottom:1.5rem;box-shadow:var(--shadow-card);animation:rise .6s var(--ease-out) both}.card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(180deg,rgba(255,255,255,.85),transparent 42%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.card-head{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.card-head .card-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;color:#fff;flex-shrink:0}.card-head .card-icon svg{width:18px;height:18px}.card-head h2{flex:1 1}.card-head .card-meta{font-size:.85rem;color:var(--text-muted)}.btn,button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.64rem 1.3rem;background:linear-gradient(180deg,var(--primary-strong),var(--primary-deep));color:#fff;border:none;border-radius:var(--r-btn);font-family:inherit;font-size:.92rem;font-weight:600;letter-spacing:-.01em;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-btn);transition:transform .18s var(--ease),box-shadow .25s var(--ease),filter .2s var(--ease)}.btn svg,button svg{width:17px;height:17px}.btn:hover,button:hover{transform:translateY(-1.5px);filter:brightness(1.04) saturate(1.05);box-shadow:0 2px 4px rgba(0,0,0,.14),0 10px 24px rgba(0,122,255,.38)}.btn:active,button:active{transform:translateY(0) scale(.975);box-shadow:0 1px 2px rgba(0,0,0,.14),0 2px 8px rgba(0,122,255,.26)}.btn:focus-visible,button:focus-visible{outline:none;box-shadow:var(--shadow-btn),0 0 0 4px var(--primary-soft)}.btn:disabled,button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.25);transform:none;box-shadow:var(--shadow-xs)}.btn-secondary{background:var(--glass-strong);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);color:var(--primary);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:#fff;transform:translateY(-1.5px);filter:none;box-shadow:var(--shadow-card)}.btn-secondary:active{transform:translateY(0) scale(.975)}.btn-secondary:focus-visible{box-shadow:var(--shadow-sm),0 0 0 4px var(--primary-soft)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent;box-shadow:none;padding:.5rem .85rem}.btn-ghost:hover{background:rgba(60,60,67,.06);color:var(--text);transform:none;filter:none;box-shadow:none}.btn-danger{background:linear-gradient(180deg,#ff5a4f,#e0271c);box-shadow:0 1px 2px rgba(0,0,0,.14),0 6px 16px rgba(255,59,48,.32)}.btn-danger:hover{box-shadow:0 2px 4px rgba(0,0,0,.14),0 10px 24px rgba(255,59,48,.4)}.btn-sm{padding:.45rem .85rem;font-size:.85rem;border-radius:10px}.btn-block{width:100%}.field{margin-bottom:1.15rem}label{display:block;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.45rem}.field-hint{font-size:.8rem;color:var(--text-muted);margin:.45rem 0 0}input,select,textarea{width:100%;padding:.72rem .95rem;background:var(--fill);border:1.5px solid transparent;border-radius:var(--r-input);color:var(--text);font-family:inherit;font-size:.95rem;box-shadow:inset 0 1px 2px rgba(0,0,0,.06);transition:border-color .22s var(--ease),box-shadow .22s var(--ease),background .22s var(--ease)}input::placeholder{color:var(--text-muted)}input:focus,select:focus,textarea:focus{outline:none;background:var(--surface);border-color:var(--primary);box-shadow:inset 0 1px 2px rgba(0,0,0,.03),0 0 0 4px var(--primary-soft)}.inline-form{display:flex;gap:.5rem;align-items:stretch}.inline-form input{margin:0}.form-row{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:1rem;gap:1rem;align-items:end}.form-row .field{margin-bottom:0}.form-row>button{height:-moz-fit-content;height:fit-content}.table-wrap{margin:0 -.4rem;overflow-x:auto}table{width:100%;border-collapse:separate;border-spacing:0;font-size:.92rem}thead th{text-align:left;padding:.5rem .8rem .7rem;color:var(--text-muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-strong);white-space:nowrap}tbody td{padding:.85rem .8rem;border-bottom:1px solid var(--hairline);color:var(--text-body);vertical-align:middle}tbody tr{transition:background .18s var(--ease)}tbody tr:hover{background:rgba(0,122,255,.04)}tbody tr:last-child td{border-bottom:none}.cell-strong{font-weight:600;color:var(--text)}.cell-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .7rem;border-radius:var(--r-pill);font-size:.76rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-success{background:var(--success-soft);color:var(--success-ink)}.badge-warning{background:var(--warning-soft);color:var(--warning-ink)}.badge-muted{background:rgba(60,60,67,.08);color:var(--text-muted)}.badge-danger{background:var(--danger-soft);color:var(--danger-ink)}.badge-info{background:var(--primary-soft);color:var(--primary-deep)}.alert{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.1rem;border-radius:var(--r-btn);margin-bottom:1.25rem;font-size:.92rem;font-weight:500;border:1px solid transparent;animation:rise .45s var(--ease-out) both}.alert svg{width:18px;height:18px;flex-shrink:0}.alert-success{background:var(--success-soft);border-color:rgba(52,199,89,.28);color:var(--success-ink)}.alert-error{background:var(--danger-soft);border-color:rgba(255,59,48,.26);color:var(--danger-ink)}.secret-reveal{border:1px solid rgba(255,149,0,.4);background:linear-gradient(180deg,rgba(255,149,0,.06),rgba(255,149,0,.02))}.secret-reveal .card-icon{background:linear-gradient(160deg,#ff9f0a,#e07b00)}.secret-block{margin-top:1rem}.secret-block:first-of-type{margin-top:0}.secret-block .field-label{font-size:.82rem;font-weight:600;color:var(--text-secondary);margin-bottom:.4rem}.secret-value{display:flex;align-items:center;gap:.5rem}.secret-value code{flex:1 1;font-family:var(--mono);font-size:.86rem;background:var(--surface);color:var(--text);padding:.7rem .9rem;border-radius:var(--r-input);border:1px solid var(--border-strong);word-break:break-all;box-shadow:inset 0 1px 2px rgba(0,0,0,.04)}.copy-btn{flex-shrink:0}.copy-btn.copied{background:linear-gradient(180deg,#34c759,#1d8a3b)!important;color:#fff!important;border-color:transparent!important}.empty{text-align:center;padding:2.5rem 1rem}.empty-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--fill);color:var(--text-muted);margin-bottom:.9rem}.empty-icon svg{width:26px;height:26px}.empty h3{color:var(--text);margin-bottom:.3rem}.empty p{color:var(--text-muted);font-size:.9rem;margin:0}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem}.login-card{width:100%;max-width:410px;padding:2.5rem 2.25rem;animation:rise-pop .7s var(--ease-out) both}.login-brand{display:flex;justify-content:center;margin-bottom:1.4rem}.login-badge{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:18px;background:linear-gradient(160deg,var(--primary-strong),var(--primary-deep));color:#fff;box-shadow:0 8px 20px rgba(0,122,255,.36),inset 0 1px 1px rgba(255,255,255,.45)}.login-badge svg{width:28px;height:28px}.login-title{text-align:center;font-size:1.7rem}.login-sub{text-align:center;margin:.4rem 0 1.75rem}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes rise-pop{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.stagger>*{animation-delay:calc(var(--i, 0) * 70ms)}@media (max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:auto;flex-direction:row;align-items:center;gap:.4rem;padding:.6rem .9rem;border-right:none;border-bottom:1px solid var(--border);z-index:50;overflow-x:auto}.brand{padding:.2rem .5rem}.brand-sub{display:none}.nav{flex-direction:row}.nav-item span,.nav-section-label,.nav-spacer{display:none}.nav-item{padding:.55rem}.main{padding:1.5rem 1.25rem 3rem}.form-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}