:root{--color-bg:#101113;--color-surface:#17191b;--color-surface-2:#222326;--color-text:#f5f0e6;--color-muted:#9b9b9b;--color-dim:#7a7772;--color-soft:#cfcac0;--color-accent:#d4af37;--color-accent-2:#e6c778;--color-accent-3:#b48a35;--color-danger:#d98a7c;--color-divider:#f5f0e61f;--color-hairline:#f5f0e612;--color-gold-hairline:#d4af3738;--color-accent-100:#d4af3724;--color-accent-800:#e6c778;--color-neutral-100:#f5f0e614;--color-neutral-800:#cfcac0;--color-neutral-900:#000;--font-heading:"Cormorant Garamond", "Noto Serif SC", serif;--font-body:"Lora", "Noto Serif SC", serif;--font-zh:"Noto Serif SC", "Lora", serif;--font-heading-weight:600;--space-1:4.6px;--space-2:9.2px;--space-3:13.8px;--space-4:18.4px;--space-6:27.6px;--space-8:36.8px;--radius-sm:2px;--radius-md:4px;--radius-lg:7px;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 3px 10px #0000008c;--shadow-lg:0 12px 32px #000000a6, 0 0 0 1px #d4af372e}*,:before,:after{box-sizing:border-box}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);margin:0}body{min-height:100vh;font-size:14px;font-weight:400;line-height:1.55}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.015em;margin:0 0 var(--space-2);line-height:1.12}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{letter-spacing:.08em;text-transform:uppercase;font-size:13px}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px;text-decoration:none}a:hover{color:var(--color-accent-2)}img{max-width:100%;display:block}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:#d4af374d}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#2b2d31;border-radius:4px}.zh{font-family:var(--font-zh)}.tnum{font-variant-numeric:tabular-nums}.text-muted{color:var(--color-muted)}.hr{height:1px;margin:var(--space-4) 0;background:var(--color-divider);border:0}.btn{cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:.02em;white-space:nowrap;color:var(--color-text);padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-size:15px;line-height:1.2;text-decoration:none;display:inline-flex}.btn svg{display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:var(--color-accent);border-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background:#d4af3724}.btn-primary:active:not(:disabled){background:#d4af3742}.btn-secondary{color:var(--color-soft);border-color:#f5f0e633}.btn-secondary:hover:not(:disabled){background:#f5f0e612}.btn-secondary:active:not(:disabled){background:#f5f0e624}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover:not(:disabled){background:#d4af371a}.btn-icon{width:36px;height:36px;padding:0}.btn-block{width:100%;margin-top:var(--space-2)}.btn-sm{padding:5px 10px;font-size:13px}.btn-xs{padding:4px 8px;font-size:12px}.field>label{color:#f5f0e6b3;margin-bottom:5px;font-size:12px;display:block}.input{width:100%;min-height:36px;font:inherit;color:var(--color-text);caret-color:var(--color-accent);border:1px solid var(--color-divider);border-radius:var(--radius-md);background:#ffffff05;padding:6px 10px;font-size:14px}.input::placeholder{color:var(--color-dim)}.input:hover{border-color:#f5f0e673}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}.input option{background:var(--color-surface);color:var(--color-text)}.input:disabled,.input[readonly]{color:var(--color-muted)}textarea.input{resize:vertical;min-height:90px}.radio{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.radio input,.seg-opt input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.radio .dot{border:1.5px solid var(--color-divider);border-radius:50%;flex:none;width:16px;height:16px}.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{border:1px solid var(--color-divider);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.seg-opt{cursor:pointer;color:var(--color-soft);align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:inline-flex}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.seg-opt:not(:has(input:checked)):hover{background:#f5f0e612}.card{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-divider);background:0 0;flex-direction:column;display:flex}.card-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);font-size:10px}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-body{opacity:.8;flex:1;margin:0;font-size:13px}.tag{letter-spacing:.02em;white-space:nowrap;border-radius:3px;align-items:center;padding:3px 10px;font-size:11px;display:inline-flex}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.tag-clickable{cursor:pointer}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:#f5f0e699;padding:var(--space-2);border-bottom:1px solid var(--color-divider);white-space:nowrap;font-size:11px}.table td{padding:var(--space-2);border-bottom:1px solid var(--color-divider);vertical-align:middle}.table tbody tr:hover{background:#d4af370d}.rowlink{cursor:pointer}.rowlink:hover{background:#d4af370f!important}.navitem:hover{background:#d4af3712}.dialog-backdrop{padding:var(--space-4);z-index:70;background:#000000a6;place-items:center;display:grid;position:fixed;inset:0}.dialog{gap:var(--space-3);width:min(460px,100%);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);border:1px solid var(--color-divider);flex-direction:column;display:flex}.dialog-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px}.dialog-body{opacity:.85;font-size:14px}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}@keyframes ggaFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.screen{animation:.28s ease-out ggaFade}@keyframes ggaSpin{to{transform:rotate(360deg)}}.spinner{border:1.5px solid #d4af3740;border-top-color:var(--color-accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite ggaSpin}.kpi{border:1px solid var(--color-gold-hairline);background:var(--color-surface);border-radius:4px;padding:18px 20px}.kpi-plain{border:1px solid #f5f0e61a;border-radius:4px;padding:16px 18px}.kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent);font-size:10px}.kicker-muted{letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);font-size:10px}.numeral{font-family:var(--font-heading);font-variant-numeric:tabular-nums;margin-top:10px;font-size:36px;line-height:1}.panel{border:1px solid #f5f0e61a;border-radius:4px;padding:22px}.panel-gold{background:var(--color-surface);border:1px solid #d4af374d;border-radius:6px;padding:22px}.row{border-bottom:1px solid var(--color-hairline);align-items:center;gap:10px;padding:9px 0;font-size:13px;display:flex}.label-dim{color:var(--color-dim);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.grid-kpi{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px;display:grid}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.table-wrap{border:1px solid #f5f0e61a;border-radius:4px;overflow-x:auto}.empty{text-align:center;color:var(--color-dim);border:1px dashed #f5f0e61f;border-radius:4px;padding:28px 18px;font-size:13px}.error-box{border:1px solid #d98a7c73;border-radius:4px;padding:14px 16px;font-size:13px}.quick{font:inherit;color:var(--color-soft);cursor:pointer;background:0 0;border:1px solid #d4af374d;border-radius:14px;padding:5px 11px;font-size:12px}.quick:hover{background:#d4af371a}.two-col{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:start;gap:24px;display:grid}.sticky-side{position:sticky;top:84px}.two-col>*,.gga-template-layout>*{min-width:0}@media (max-width:900px){.two-col{grid-template-columns:1fr}.sticky-side{position:static}h1{font-size:30px}}@media (max-width:600px){.gga-shell-header{flex-wrap:wrap;gap:8px!important;padding:12px 16px!important}.gga-shell-heading{order:-1;flex-basis:100%!important}.gga-account{flex-shrink:0;margin-left:auto}.gga-member-card{gap:20px;aspect-ratio:auto!important}.gga-member-card>div{flex-shrink:0}.gga-member-card-heading{flex-wrap:wrap;gap:12px}.gga-template-layout{grid-template-columns:minmax(0,1fr)!important}.gga-template-row,.gga-organization-row{flex-wrap:wrap}.gga-approval-steps{grid-template-columns:repeat(3,minmax(0,1fr))!important;row-gap:14px!important}.gga-shell .screen{overflow-wrap:anywhere}.dialog{max-height:calc(100dvh - 36px);overflow-y:auto}}@media (max-width:900px) and (pointer:coarse){.btn{white-space:normal;min-height:44px}.btn-icon{flex-shrink:0;min-width:44px;min-height:44px}.btn svg{flex-shrink:0}.input{min-height:44px;font-size:16px!important}.quick,.tag-clickable,.seg-opt,.radio{min-height:44px}.tag-clickable{align-items:center}.gga-account-trigger,.gga-account-menu [role=menuitem]{min-height:44px}}
