:root{--bg:#fbfbfd;--surface:#fff;--surface-2:#f5f5f7;--surface-3:#ececed;--text:#1d1d1f;--muted:#6e6e73;--faint:#86868b;--line:rgba(0,0,0,.09);--line-strong:rgba(0,0,0,.14);--accent:#0071e3;--accent-hover:#0077ed;--accent-soft:rgba(0,113,227,.1);--danger:#d70015;--danger-soft:rgba(215,0,21,.1);--success:#1d8a4e;--success-soft:rgba(29,138,78,.12);--radius:18px;--radius-md:12px;--radius-sm:10px;--shadow:0 1px 2px rgba(0,0,0,.04),0 10px 30px rgba(0,0,0,.04);--shadow-hover:0 2px 4px rgba(0,0,0,.05),0 16px 40px rgba(0,0,0,.07);--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.47;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{margin:0;letter-spacing:-.02em;font-weight:600}p{margin:0}a{color:inherit;text-decoration:none}.muted{color:var(--muted)}.small{font-size:.82rem}.faint{color:var(--faint);font-weight:400}.error{color:var(--danger);font-size:.9rem}.success{color:var(--success);font-size:.9rem}button,input,select,textarea{font:inherit}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:980px;background:var(--accent);color:#fff;font-size:.9rem;font-weight:500;padding:.5rem 1.1rem;cursor:pointer;white-space:nowrap;transition:background .15s ease,transform .08s ease,opacity .15s ease}.button:hover,button:hover{background:var(--accent-hover)}.button:active,button:active{transform:scale(.98)}button:disabled{opacity:.4;cursor:default;transform:none}.button.secondary,button.secondary{background:var(--surface-2);color:var(--text)}.button.secondary:hover,button.secondary:hover{background:var(--surface-3)}.button.danger,button.danger{background:var(--danger-soft);color:var(--danger)}button.danger:hover{background:rgba(215,0,21,.16)}button.ghost{background:transparent;color:var(--accent);padding:.5rem .6rem}button.ghost:hover{background:var(--accent-soft)}input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:.6rem .75rem;font-size:.92rem;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3.5px var(--accent-soft)}textarea{min-height:7rem;resize:vertical}label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.82rem;font-weight:500;color:var(--muted)}label input,label select,label textarea{color:var(--text);font-weight:400}.app{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;gap:.4rem;padding:1.3rem .85rem;border-right:1px solid var(--line);background:rgba(251,251,253,.72);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.brand{display:flex;align-items:center;gap:.6rem;padding:.3rem .65rem 1.1rem;font-size:1.05rem;font-weight:600;letter-spacing:-.01em}.brand-mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#0a84ff,#64d2ff);box-shadow:inset 0 0 0 .5px rgba(0,0,0,.1);flex:0 0 auto}.nav{flex-direction:column;gap:2px}.nav,.nav a{display:flex}.nav a{align-items:center;gap:.7rem;padding:.5rem .65rem;border-radius:var(--radius-sm);color:var(--text);font-size:.92rem;font-weight:450;transition:background .12s ease,color .12s ease}.nav a svg{width:18px;height:18px;opacity:.85;flex:0 0 auto}.nav a:hover{background:var(--surface-2)}.nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:550}.nav a.active svg{opacity:1}.nav-spacer{flex:1 1}.sidebar-user{display:grid;grid-gap:.7rem;gap:.7rem;border-top:1px solid var(--line);padding:.9rem .5rem .2rem}.who{display:flex;align-items:center;gap:.6rem;min-width:0}.avatar{width:34px;height:34px;border-radius:50%;background:var(--surface-3);color:var(--text);display:grid;place-items:center;font-size:.82rem;font-weight:600;flex:0 0 auto}.who div{display:grid;min-width:0}.who strong{font-size:.88rem;font-weight:550}.who span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{width:100%;max-width:1180px;padding:2.4rem 2.6rem 5rem}.content-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;margin-bottom:1.9rem}.content-header h1{font-size:1.95rem;margin-bottom:.25rem}.content-header p{color:var(--muted);font-size:.98rem}.loading{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.1rem;overflow:hidden}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.15rem 1.4rem}.section-header h2{font-size:1.05rem}.section-header .muted{margin-top:.2rem;font-size:.88rem}.section-body{padding:0 1.4rem 1.4rem}.section-header+.section-body{padding-top:.2rem}table{width:100%;border-collapse:collapse}td,th{padding:.85rem 1.4rem;text-align:left;vertical-align:middle}thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--faint)}tbody td,thead th{border-bottom:1px solid var(--line)}tbody td{font-size:.92rem}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .1s ease}tbody tr:hover td{background:rgba(0,0,0,.015)}td .muted{font-size:.82rem}.stack{grid-gap:.9rem}.grid,.stack{display:grid;gap:.9rem}.grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:.9rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.actions{gap:.6rem;align-items:center}.actions,.row-actions{display:flex;flex-wrap:wrap}.row-actions{gap:.4rem}.inline-form{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.inline-form input,.inline-form select{width:auto;min-width:200px;flex:1 1 200px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.1rem}.stat-card{display:grid;grid-gap:.35rem;gap:.35rem;padding:1.35rem 1.45rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .12s ease,box-shadow .12s ease}a.stat-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-hover)}.stat-card.static{cursor:default}.stat-card span{color:var(--muted);font-size:.85rem;font-weight:500}.stat-card strong{font-size:2.1rem;font-weight:600;letter-spacing:-.02em}.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .55rem;border-radius:980px;font-size:.74rem;font-weight:600;color:var(--muted);white-space:nowrap}.pill,.pill.off{background:var(--surface-2)}.pill.off{color:var(--faint)}.pill.good{background:var(--success-soft);color:var(--success)}.pill.bad{background:var(--danger-soft);color:var(--danger)}.tabs{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;margin-bottom:1.6rem;background:var(--surface-2);border-radius:var(--radius-md)}.tab{border:none;color:var(--muted);border-radius:9px;padding:.42rem .95rem;font-size:.88rem;font-weight:500}.tab,.tab:hover{background:transparent}.tab.active,.tab:hover{color:var(--text)}.tab.active{background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.12)}.wizard-steps{display:flex;flex-wrap:wrap;gap:1.1rem;color:var(--faint);font-size:.85rem;font-weight:500;padding-bottom:.4rem}.wizard-steps span{display:inline-flex;align-items:center;gap:.4rem}.wizard-steps span.on{color:var(--accent)}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.9rem 1.2rem;gap:.9rem 1.2rem;padding:1.1rem 1.2rem;background:var(--surface-2);border-radius:var(--radius-md)}.summary>div{display:grid;grid-gap:.2rem;gap:.2rem}.summary span{font-size:.78rem;color:var(--muted)}.summary strong{font-weight:550}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:.85rem;gap:.85rem}.template-card{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:1rem 1.1rem;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md)}.template-card button{flex:0 0 auto}.theme-card{display:grid;grid-gap:.35rem;gap:.35rem;text-align:left;padding:1.1rem 1.15rem;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--radius-md);transition:border-color .12s ease,box-shadow .12s ease}.theme-card:hover{background:var(--surface);border-color:var(--accent)}.theme-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.theme-card strong{font-weight:600}.chip-list{display:flex;flex-wrap:wrap;gap:.5rem}.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:980px;font-size:.88rem;font-weight:500}.advanced,.chip{background:var(--surface-2)}.advanced{border:1px solid var(--line);border-radius:var(--radius-md);padding:.6rem 1rem}.advanced summary{cursor:pointer;color:var(--muted);font-size:.88rem;font-weight:500;list-style:none}.advanced summary::-webkit-details-marker{display:none}.advanced summary:before{content:"›";display:inline-block;margin-right:.45rem;transition:transform .15s ease}.advanced[open] summary:before{transform:rotate(90deg)}.advanced .grid{margin-top:.9rem}.field-row{display:grid;grid-gap:.85rem;gap:.85rem;border:1px solid var(--line);border-radius:var(--radius-md);padding:1rem;background:var(--surface-2)}.checks{display:flex;flex-wrap:wrap;gap:.75rem 1rem}.checkbox-row{display:flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--text)}.checkbox-row input{width:auto;accent-color:var(--accent)}.sticky-actions{position:-webkit-sticky;position:sticky;bottom:0;margin-top:.5rem;padding:.85rem 0;background:linear-gradient(to top,var(--bg) 70%,transparent)}.login{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login form{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:2.1rem 2rem}.login .brand{padding:0 0 .5rem}.login h1{font-size:1.5rem}@media (max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;gap:.5rem;overflow-x:auto;padding:.7rem 1rem}.brand{padding:.2rem .5rem}.nav{flex-direction:row}.nav a span,.nav-spacer{display:none}.sidebar-user{border-top:none;padding:0;grid-auto-flow:column;align-items:center}.who div{display:none}.content{padding:1.5rem 1.25rem 4rem}.content-header{flex-direction:column;align-items:flex-start}.grid,.grid.two{grid-template-columns:1fr}}