:root{--bg:#f6f5f2;--panel:#fbfaf8;--panel-2:#efece6;--border:rgba(20,20,20,0.1);--hairline:rgba(20,20,20,0.08);--text:#141414;--muted:#9c968c;--muted-2:#b6b0a6;--accent:#141414;--accent-fg:#f6f5f2}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);background-image:radial-gradient(120% 120% at 50% 0,#fbfaf8 0,#f3f1ec 100%);background-attachment:fixed;color:var(--text);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:rgba(251,250,248,.6);border-right:1px solid var(--hairline);padding:40px 26px;display:flex;flex-direction:column}.sidebar .brand{padding:0 4px 4px;margin-bottom:44px}.sidebar .brand img{width:116px;height:auto;display:block}.sidebar nav{display:flex;flex-direction:column;gap:2px}.nav-link{position:relative;padding:11px 4px;color:var(--muted);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;transition:color .3s ease}.nav-link.active,.nav-link:hover{color:var(--text)}.nav-link.active:before{content:"";position:absolute;left:-26px;top:50%;transform:translateY(-50%);width:14px;height:1px;background:var(--text)}.sidebar-footer{margin-top:auto;border-top:1px solid var(--hairline);padding-top:20px;color:var(--muted);font-size:11px;letter-spacing:.04em}.content{padding:40px 48px 64px;width:100%}.page-title{font-size:27px;font-weight:300;letter-spacing:.01em;margin:0 0 8px}.page-sub{color:var(--muted);font-size:13px;letter-spacing:.02em;margin:0 0 44px}.card{background:var(--panel);padding:28px 30px}.card,.card-grid{border:1px solid var(--hairline);border-radius:2px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));grid-gap:1px;gap:1px;background:var(--hairline);overflow:hidden}.card-grid .card{border:none;border-radius:0;background:var(--panel);transition:background .35s ease;min-height:132px}.card-grid .card:hover{background:#fff}.eyebrow{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted-2)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:1px;gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:2px;overflow:hidden;margin-bottom:56px}.stat{background:var(--panel);padding:30px 30px 32px;min-height:150px;display:flex;flex-direction:column}.stat-label{font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}.stat-figure{margin-top:auto;font-size:40px;font-weight:200;letter-spacing:.01em;line-height:1}.stat-note{margin-top:12px;font-size:11px;letter-spacing:.04em;color:var(--muted)}.stat-note .dot{display:inline-block;width:5px;height:5px;border-radius:999px;margin-right:7px;vertical-align:middle;background:var(--muted-2)}.stat-note .dot.live{background:#3f7d5a}.section-head{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted-2);margin:0 0 18px}.row-list{border-top:1px solid var(--hairline)}.row-item{display:flex;align-items:baseline;justify-content:space-between;padding:16px 2px;border-bottom:1px solid var(--hairline)}.row-item .row-name{letter-spacing:.01em}.row-item .row-meta{font-size:11px;letter-spacing:.06em;color:var(--muted)}.dash-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.period-pill{border:1px solid var(--border);border-radius:999px;padding:9px 18px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:2px;overflow:hidden}.kpi{background:var(--panel);padding:26px 28px 28px;min-height:142px;display:flex;flex-direction:column}.kpi-label{font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}.kpi-figure{margin-top:auto;font-size:38px;font-weight:200;line-height:1;letter-spacing:.01em}.kpi-figure.pending{color:var(--muted-2);font-size:30px}.kpi-sub{margin-top:13px;font-size:11px;letter-spacing:.04em;color:var(--muted)}.kpi-sub .up{color:#3f7d5a}.kpi-sub .down{color:#9a3b32}.dash-cols{grid-template-columns:2fr 1fr;grid-gap:24px}.dash-cols,.dash-cols-2{display:grid;gap:24px;margin-top:24px}.dash-cols-2{grid-template-columns:1fr 1fr;grid-gap:24px}@media (max-width:1080px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dash-cols,.dash-cols-2{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--hairline);border-radius:2px;padding:24px 26px 26px}.panel-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px}.panel-title{letter-spacing:.26em;color:var(--muted-2)}.panel-link,.panel-title{font-size:10px;text-transform:uppercase}.panel-link{letter-spacing:.16em;color:var(--muted);transition:color .3s ease}.panel-link:hover{color:var(--text)}.chart{width:100%;height:210px;display:block}.chart-area{fill:rgba(20,20,20,.045)}.chart-line{fill:none;stroke:var(--text);stroke-width:1.25;stroke-linejoin:round;stroke-linecap:round}.chart-axis{display:flex;justify-content:space-between;margin-top:14px;font-size:10px;letter-spacing:.08em;color:var(--muted-2)}.empty{color:var(--muted);font-size:12px;letter-spacing:.03em;padding:30px 0;text-align:center}.form-card{max-width:460px}select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23141414' stroke-width='1.2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;padding-right:24px;cursor:pointer}.btn-ghost{border:1px solid var(--border)}.btn-ghost,.btn-ghost:hover{background:transparent;color:var(--text)}.btn-ghost:hover{border-color:var(--text)}.btn-danger{background:transparent;color:#9a3b32;border:1px solid rgba(154,59,50,.4)}.btn-danger:hover{background:#9a3b32;color:var(--accent-fg);border-color:#9a3b32}.btn-sm{padding:9px 18px;font-size:9px}.actions-row{gap:10px;justify-content:flex-end}.actions-row,.form-actions{display:flex;align-items:center}.form-actions{gap:16px;margin-top:8px}.back-link{display:inline-block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:22px;transition:color .3s ease}.back-link:hover{color:var(--text)}.field-hint{margin-top:9px;font-size:10.5px;letter-spacing:.04em;color:var(--muted-2)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:999px;margin-right:8px;vertical-align:middle;background:var(--muted-2)}.status-dot.on{background:#3f7d5a}.perm-group{margin-bottom:30px}.perm-group-title{font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted-2);padding-bottom:6px;margin-bottom:4px}.perm-group-title,.perm-item{border-bottom:1px solid var(--hairline)}.perm-item{display:flex;align-items:flex-start;gap:14px;padding:13px 2px;cursor:pointer}.perm-item:last-child{border-bottom:none}.perm-item input[type=checkbox]{margin-top:1px;width:15px;height:15px;accent-color:#141414;cursor:pointer;flex-shrink:0}.perm-item input[type=checkbox]:disabled{cursor:default}.perm-text{display:flex;flex-direction:column;gap:3px}.perm-desc{font-size:13px;letter-spacing:.01em}.perm-key{font-size:10px;letter-spacing:.08em;color:var(--muted-2)}.builder{display:grid;grid-template-columns:1fr 1fr;grid-gap:32px;gap:32px;align-items:start}@media (max-width:1080px){.builder{grid-template-columns:1fr}}.builder-section{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted-2);padding-bottom:10px;border-bottom:1px solid var(--hairline);margin-bottom:22px}.block-card{border:1px solid var(--hairline);border-radius:2px;padding:16px;margin-bottom:12px;background:var(--panel)}.block-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.block-type{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.block-controls{display:flex;gap:6px}.block-controls button{background:transparent;border:1px solid var(--border);color:var(--muted);width:26px;height:26px;border-radius:2px;cursor:pointer;font-size:12px;line-height:1;transition:color .2s ease,border-color .2s ease}.block-controls button:hover:not(:disabled){color:var(--text);border-color:var(--text)}.block-controls button:disabled{opacity:.35;cursor:default}.block-controls .block-del:hover{color:#9a3b32;border-color:rgba(154,59,50,.4)}.block-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.preview-frame{width:100%;height:680px;border:1px solid var(--hairline);border-radius:2px;background:#fff;position:-webkit-sticky;position:sticky;top:24px}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;background:var(--panel-2);padding:1px 5px;border-radius:2px;letter-spacing:0}.btn{background:var(--accent);color:var(--accent-fg);border:1px solid var(--accent);border-radius:0;padding:15px 30px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;transition:background .35s ease,color .35s ease,letter-spacing .35s ease}.btn:hover{letter-spacing:.36em}.btn:hover,.input{background:transparent;color:var(--text)}.input{width:100%;border:none;border-bottom:1px solid #d8d3ca;border-radius:0;padding:8px 1px;font-size:15px;outline:none;transition:border-color .35s ease}.input:focus{border-bottom-color:var(--text)}.label{display:block;margin-bottom:11px;color:var(--muted);font-size:10px;letter-spacing:.24em;text-transform:uppercase}.field{margin-bottom:28px}.error{color:#9a3b32;font-size:11px;letter-spacing:.12em;margin-bottom:18px}.badge,.error{text-transform:uppercase}.badge{display:inline-block;background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:3px 12px;font-size:9.5px;letter-spacing:.16em}table{font-size:13px}table thead tr{color:var(--muted)!important}table thead th{font-size:9.5px!important;letter-spacing:.2em;text-transform:uppercase;font-weight:400;padding-bottom:14px!important}table tbody tr{border-top:1px solid var(--hairline)!important}table tbody td{padding:14px 0!important;letter-spacing:.01em}