@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap";
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f7f9f8;--foreground:#17201d;--card:#fff;--card-translucent:#ffffffeb;--card-soft:#edf2f0b8;--muted:#e9efec;--muted-foreground:#52615b;--border:#4b5e566b;--border-soft:#4b5e5633;--primary:#087a59;--primary-hover:#096b50;--primary-soft:#087a5917;--primary-border:#087a594d;--primary-foreground:#fff;--secondary:#087aa8;--secondary-soft:#087aa817;--secondary-border:#087aa847;--accent:#e1e9e5db;--danger:#b42318;--danger-soft:#b4231814;--danger-border:#b4231847;--danger-foreground:#8f1c13;--warning:#8a5b00;--warning-soft:#8a5b001a;--warning-border:#8a5b004d;--topbar:#f7f9f8e6;--shell-glow:#087a5914;--shell-grid:transparent;--hero-lede:#3f4e48;--tag-primary:#087a59;--tag-secondary:#087aa8;--tag-support:#7744a5;--radius:8px;--font-sans:Inter, "Helvetica Neue", Arial, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#09090b;--foreground:#fafafa;--card:#0f0f13;--card-translucent:#0f0f13d1;--card-soft:#18181b75;--muted:#18181b;--muted-foreground:#c4c4cc;--border:#3f3f46ad;--border-soft:#3f3f4661;--primary:#10b981;--primary-hover:#34d399;--primary-soft:#10b9811a;--primary-border:#10b98147;--primary-foreground:#04110d;--secondary:#38bdf8;--secondary-soft:#38bdf81a;--secondary-border:#38bdf847;--accent:#27272abd;--danger:#f87171;--danger-soft:#f8717114;--danger-border:#f8717142;--danger-foreground:#fecaca;--warning:#fbbf24;--warning-soft:#fbbf241a;--warning-border:#fbbf2447;--topbar:#09090bdb;--shell-glow:#10b9811a;--shell-grid:#3f3f464d;--hero-lede:#d4d4dc;--tag-primary:#6ee7b7;--tag-secondary:#7dd3fc;--tag-support:#d8b4fe}*{box-sizing:border-box}html{background:var(--background)}body{background:var(--background);min-height:100vh;color:var(--foreground);font-family:var(--font-sans);letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{background:radial-gradient(circle at 15% 0%, var(--shell-glow), transparent 28rem), linear-gradient(to right, var(--shell-grid) 1px, transparent 1px), linear-gradient(to bottom, var(--shell-grid) 1px, transparent 1px), var(--background);background-size:auto,40px 40px,40px 40px,auto;min-height:100vh}.topbar{z-index:50;border-bottom:1px solid var(--border-soft);background:var(--topbar);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0}.topbar-inner{align-items:center;gap:22px;max-width:1320px;min-height:64px;margin:0 auto;padding:0 24px;display:flex}.session-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.current-user{color:var(--muted-foreground);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.button.compact{min-height:34px;padding:7px 11px}.narrow-page{max-width:620px}.sign-in-card{margin-top:48px}.sign-in-card h1,.access-state h1{margin-top:12px;font-size:clamp(30px,5vw,44px)}.sign-in-form{gap:16px;margin-top:24px;display:grid}.access-state{background:var(--card-translucent);border:1px solid var(--border-soft);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;max-width:680px;margin:64px auto 0;padding:48px 28px;display:flex}.access-state>svg{color:var(--primary)}.brand{font-family:var(--font-sans);letter-spacing:0;align-items:center;gap:10px;max-width:290px;font-size:15px;font-weight:800;line-height:1.2;display:inline-flex}.brand svg,.nav a svg{color:var(--primary);flex:none}.nav{flex-wrap:wrap;align-items:center;gap:16px;font-size:14px;font-weight:600;display:flex}.nav a{color:var(--muted-foreground);align-items:center;gap:8px;transition:color .16s;display:inline-flex}.nav a:hover{color:var(--primary)}.page,.container{width:100%;max-width:1280px;margin:0 auto;padding:32px 24px 56px}.home-page{flex-direction:column;display:flex}.hero{border-bottom:1px solid var(--border-soft);position:relative;overflow:hidden}.hero-inner{grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:48px;max-width:1280px;margin:0 auto;padding:70px 24px;display:grid;position:relative}.hero-copy{flex-direction:column;gap:24px;display:flex}.eyebrow{color:var(--primary);font-family:var(--font-sans);letter-spacing:0;text-transform:uppercase;align-items:center;gap:9px;font-size:12px;font-weight:700;display:inline-flex}.live-dot{background:var(--primary);border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 8px #10b9811f}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-size:clamp(42px,7vw,76px);font-weight:800;line-height:1.02}h2{letter-spacing:0;margin-bottom:12px;font-size:clamp(24px,3vw,34px);font-weight:800;line-height:1.16}h3{margin-bottom:10px;font-size:18px;font-weight:700}p{color:var(--muted-foreground);line-height:1.72}.text-primary{color:var(--primary)}.hero-lede{color:var(--hero-lede);max-width:720px;font-size:18px;line-height:1.75}.hero-actions,.pill-row,.chip-row{flex-wrap:wrap;gap:10px;display:flex}.button,button{background:var(--primary);color:var(--primary-foreground);cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 16px;font-size:14px;font-weight:800;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.button.large{min-height:48px;padding:12px 24px}.button.secondary,button.secondary{border-color:var(--primary-border);color:var(--primary);background:0 0}.button.ghost,button.ghost{border-color:var(--border);color:var(--muted-foreground);background:0 0}.button:hover,button:hover{background:var(--primary-hover)}.button.secondary:hover,button.secondary:hover,.button.ghost:hover,button.ghost:hover{background:var(--primary-soft);color:var(--primary)}button:disabled{cursor:not-allowed;opacity:.55}.alert{background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger-foreground);border-radius:8px;margin-bottom:14px;padding:12px 14px;font-size:13px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tag,.pill{background:var(--accent);border:1px solid var(--border-soft);color:var(--muted-foreground);font-family:var(--font-sans);letter-spacing:0;text-transform:none;border-radius:999px;align-items:center;gap:6px;padding:7px 11px;font-size:12px;font-weight:700;display:inline-flex}.tag:nth-child(3n+1){background:var(--primary-soft);border-color:var(--primary-border);color:var(--tag-primary)}.tag:nth-child(3n+2){background:var(--secondary-soft);border-color:var(--secondary-border);color:var(--tag-secondary)}.tag.support{color:var(--tag-support);background:#a855f71a;border-color:#a855f73d}.pill.primary,.tag.primary{background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary)}.pill.warning{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning)}.pill.danger,.status.needs_revision,.status.rejected{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.status.approved,.status.published,.status.reviewed{background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary)}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.photo-tile{border:1px solid var(--border-soft);border-radius:16px;height:196px;overflow:hidden}.photo-tile.offset-down{margin-top:28px}.photo-tile.offset-up{margin-top:-28px}.photo-tile img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.banner{background:var(--primary-soft);border-bottom:1px solid var(--primary-border);padding:38px 0}.banner-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1280px;margin:0 auto;padding:0 24px;display:flex}.banner-copy{align-items:center;gap:16px;display:flex}.icon-box{background:var(--primary-soft);border:1px solid var(--primary-border);color:var(--primary);border-radius:8px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.section{border-top:1px solid var(--border-soft);padding:56px 0}.section-muted{background:var(--card-soft)}.section-heading{text-align:center;max-width:760px;margin:0 auto 34px}.section-heading h2{margin-bottom:0}.grid{gap:18px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.project-card,.filter-panel,.table-card{background:var(--card-translucent);border:1px solid var(--border-soft);border-radius:var(--radius)}.card,.project-card{padding:22px}.project-card{flex-direction:column;gap:14px;min-height:230px;transition:background .16s,border-color .16s,transform .16s;display:flex}.project-card:hover{background:var(--accent);border-color:var(--primary-border);transform:translateY(-1px)}.muted{color:var(--muted-foreground)}.metric{background:var(--card-translucent);border:1px solid var(--border-soft);border-radius:var(--radius);align-items:center;gap:14px;padding:18px;display:flex}.metric strong{color:var(--foreground);font-family:var(--font-mono);font-size:28px;font-weight:900;line-height:1;display:block}.page-header{flex-direction:column;gap:10px;max-width:820px;margin-bottom:28px;display:flex}.page-header h1{font-size:clamp(32px,5vw,48px)}.filter-panel{flex-direction:column;gap:14px;margin-bottom:24px;padding:16px;display:flex}.filter-row{grid-template-columns:minmax(260px,1.8fr) repeat(3,minmax(150px,1fr)) auto;align-items:end;gap:12px;display:grid}.filter-row.compact{grid-template-columns:minmax(240px,1fr) auto}.advanced-grid{border-top:1px solid var(--border-soft);grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding-top:14px;display:grid}label,.label{color:var(--muted-foreground);font-family:var(--font-sans);letter-spacing:0;text-transform:uppercase;gap:7px;font-size:12px;font-weight:700;display:grid}input,select,textarea{background:var(--background);border:1px solid var(--border-soft);color:var(--foreground);border-radius:8px;outline:none;width:100%;min-height:40px;padding:10px 12px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px #10b98126}textarea{resize:vertical;min-height:108px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.full{grid-column:1/-1}.report{gap:16px;display:grid}.score-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.score{background:var(--card-soft);border:1px solid var(--border-soft);border-radius:8px;padding:12px}.score span{color:var(--muted-foreground);font-family:var(--font-sans);letter-spacing:0;text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:700;display:block}.score strong{color:var(--primary);font-family:var(--font-mono);font-size:24px}.empty-state{background:var(--card-translucent);border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted-foreground);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:44px;display:flex}.table-card{overflow:hidden}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border-soft);text-align:left;vertical-align:middle;padding:13px 16px}th{background:var(--card-soft);color:var(--muted-foreground);font-family:var(--font-sans);letter-spacing:0;text-transform:uppercase;font-size:12px}td{color:var(--foreground);font-size:14px}tr:last-child td{border-bottom:0}ul,ol{color:var(--muted-foreground);padding-left:20px;line-height:1.65}.error{background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger-foreground);border-radius:8px;padding:10px 12px}.cta{text-align:center;flex-direction:column;align-items:center;gap:18px;max-width:780px;margin:0 auto;display:flex}@media (max-width:980px){.topbar-inner,.banner-inner{flex-direction:column;align-items:flex-start;height:auto;padding-top:16px;padding-bottom:16px}.session-actions{margin-left:0}.hero-inner,.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.photo-grid{display:none}.filter-row,.filter-row.compact,.advanced-grid{grid-template-columns:1fr}.score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.page,.container,.hero-inner{padding-left:16px;padding-right:16px}.nav{gap:12px}.form-grid,.score-grid{grid-template-columns:1fr}}
