:root{--bg: #0f1412;--bg-elev: #171d1a;--bg-soft: #1e2622;--line: #2a3430;--text: #e8efe9;--muted: #8a9a91;--accent: #3ecf8e;--accent-dim: #2a9b6a;--highlight: #3ecf8e;--brand: #3b82f6;--danger: #e57373;--warn: #e6c07b;--radius: 12px;--font: "Inter", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, Menlo, monospace;--sidebar-w: 240px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:15px;line-height:1.55;letter-spacing:-.005em;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;min-height:100dvh}.sidebar{border-right:1px solid var(--line);background:var(--bg);padding:1.5rem 1rem 1.25rem;display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:0;align-self:start;height:100vh;height:100dvh}.brand{font-size:1.25rem;font-weight:800;letter-spacing:-.04em;padding:0 .5rem}.brand span{color:var(--brand)}.nav-section{display:flex;flex-direction:column;gap:.25rem}.nav-label{display:none}.nav{display:flex;flex-direction:column;gap:.25rem}.nav button{text-align:left;background:transparent;border:none;color:var(--muted);padding:.55rem .75rem;border-radius:8px;cursor:pointer;font-weight:500}.nav button:hover,.nav button.active{color:var(--text);background:var(--bg-soft)}.sidebar-foot{margin-top:auto;padding-top:1rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.75rem}.sidebar-email{font-size:.8rem;color:var(--muted);padding:0 .25rem;word-break:break-all}.sidebar-foot .btn,.sidebar-foot .btn.ghost{width:100%}.content-col{display:flex;flex-direction:column;min-width:0;min-height:100vh;min-height:100dvh;background:radial-gradient(ellipse 70% 45% at 50% 0%,rgba(62,207,142,.08),transparent 55%),var(--bg)}.main{padding:2rem 2.25rem 3rem;max-width:1100px;width:100%}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-head h1{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.03em}.page-head p{margin:.35rem 0 0;color:var(--muted);font-size:.95rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:transparent;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:.55rem .95rem;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease}.btn:hover:not(:disabled){background:var(--bg-soft);border-color:#3a4540}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.btn.ghost:hover:not(:disabled){background:var(--bg-soft);border-color:#3a4540}.btn.primary{background:var(--accent);color:#062016;border:0}.btn.primary:hover:not(:disabled){background:#4fdb9d}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}.field label{font-size:.8rem;color:var(--muted);font-weight:500}.field input{background:var(--bg-elev);border:1px solid var(--line);border-radius:8px;padding:.6rem .75rem;outline:none}.field input:focus{border-color:var(--accent);outline:2px solid rgba(62,207,142,.2);outline-offset:0}.error{color:var(--danger);font-size:.9rem;margin:.5rem 0 0}.success{color:var(--accent);font-size:.9rem;margin:.5rem 0 0}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(ellipse 60% 40% at 50% 20%,rgba(62,207,142,.1),transparent 55%),var(--bg)}.login-card{width:100%;max-width:380px;background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem}.login-card h1{margin:0 0 .35rem;font-size:1.5rem;letter-spacing:-.03em}.login-card .hint{color:var(--muted);margin:0 0 1.25rem;font-size:.9rem}.login-card .btn{width:100%;margin-top:.5rem}.login-card .btn.primary{padding:.7rem 1rem}.panel{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.25rem;margin-bottom:1.15rem}.panel h2{margin:0 0 .95rem;font-size:1rem;font-weight:600}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th,.table td{text-align:left;padding:.8rem .5rem;border-bottom:1px solid var(--line)}.table tbody tr:last-child td{border-bottom:none}.table th{color:var(--muted);font-weight:500;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}.table button.linkish{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font-weight:600}.table button.linkish:hover{text-decoration:underline}.mono{font-family:var(--mono);font-size:.8rem}.muted{color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.form-grid .full{grid-column:1 / -1}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.9rem;margin-bottom:1.2rem}.meta-item{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:.95rem 1rem}.meta-item-btn{font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%}.meta-item-btn:hover{border-color:#3a4540;background:#232b27}.panel-head-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.95rem}.panel-head-row h2{margin:0}.meta-item .label{font-size:.72rem;color:var(--muted);margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.04em}.meta-item .value{font-weight:700;font-size:1.2rem;letter-spacing:-.02em}.empty{color:var(--muted);padding:2rem 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.9rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#060a08b8;display:grid;place-items:center;padding:1.25rem}.modal-card{width:min(460px,100%);background:var(--bg-elev);border:1px solid var(--line);border-radius:16px;padding:1.35rem 1.4rem 1.4rem}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1.1rem}.modal-head h2{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.modal-close{padding:.35rem .55rem;line-height:1;flex-shrink:0}.modal-sub{margin:.35rem 0 0;color:var(--muted);font-size:.88rem;line-height:1.4}.modal-form{display:flex;flex-direction:column}.modal-form .field{margin-bottom:.95rem}.modal-form .field input{width:100%}.modal-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:.35rem}.pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.95rem;padding-top:.85rem;border-top:1px solid var(--line)}.pagination-actions{display:flex;align-items:center;gap:.55rem}.pagination-actions .btn{padding:.45rem .85rem;font-size:.88rem}.pagination-page{font-size:.88rem;min-width:6.5rem;text-align:center}.pagination-meta{font-size:.88rem}.detail-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid var(--line)}.detail-tab{display:inline-flex;align-items:center;gap:.4rem;background:transparent;border:1px solid transparent;color:var(--muted);border-radius:999px;padding:.45rem .85rem;cursor:pointer;font-weight:500}.detail-tab span{background:var(--bg-soft);border-radius:999px;padding:.05rem .4rem;font-size:.75rem;min-width:1.2rem;text-align:center}.detail-tab:hover{color:var(--text);background:var(--bg-soft)}.detail-tab.active{color:var(--text);background:var(--bg-soft);border-color:var(--line);font-weight:600}.badge{display:inline-flex;align-items:center;font-size:.72rem;padding:.15rem .45rem;border-radius:999px;border:1px solid var(--line);color:var(--muted);text-transform:lowercase}.badge.live{color:#059669;border-color:#a7f3d0;background:#ecfdf5}.badge.draft{color:#b45309;border-color:#fde68a;background:#fffbeb}.fresh-key-box{margin-top:1rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.env-snippet{margin:0;padding:.75rem;background:var(--bg-elev);border:1px solid var(--line);border-radius:6px;font-size:.75rem;overflow-x:auto;white-space:pre-wrap}.spacer{flex:1}@media(max-width:720px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--line)}.content-col{min-height:auto}.form-grid{grid-template-columns:1fr}.main{padding:1.25rem}.page-head{flex-direction:column;align-items:stretch}.page-head .btn{width:100%}}
