:root{--font-ui:"Inter", system-ui, -apple-system, Segoe UI, sans-serif;--font-brand:"Inter", var(--font-ui);--bg:#f6f5f2;--surface:#fff;--surface-sunken:#fbfaf8;--border:#e6e3dc;--border-strong:#d8d4c9;--ink:#17160f;--ink-soft:#5c5847;--ink-faint:#918c78;--accent:#b3742c;--accent-ink:#fff;--accent-tint:#f5e9d8;--danger:#c1443c;--danger-tint:#f7e5e3;--success:#2e7d4f;--success-tint:#e4f1e9;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-card:0 1px 2px #17160f0a, 0 1px 8px #17160f08;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}button,select,input{font-family:inherit;font-size:inherit}h1,h2,h3{font-family:var(--font-brand);letter-spacing:-.01em;margin:0;font-weight:700}.app-shell{grid-template-columns:244px 1fr;min-height:100vh;transition:grid-template-columns .18s;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:72px 1fr}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;padding:20px 14px;display:flex;position:relative;overflow:visible}.sidebar .sidebar-toggle{border:1px solid var(--border-strong);background:var(--surface);width:24px;height:24px;color:var(--ink-soft);box-shadow:var(--shadow-card);z-index:5;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:transform .18s;display:flex;position:absolute;top:22px;right:-12px}.sidebar .sidebar-toggle:hover{color:var(--ink);background:var(--surface-sunken)}.sidebar-toggle svg{flex-shrink:0;width:13px;height:13px}.sidebar-collapsed .sidebar-toggle{transform:rotate(180deg)}.sidebar-brand{align-items:center;gap:10px;padding:6px 4px 20px 8px;display:flex}.sidebar-brand img{flex-shrink:0;width:30px;height:30px}.sidebar-brand .wordmark{font-family:var(--font-brand);letter-spacing:-.03em;white-space:nowrap;flex:1;font-size:1.2rem;font-weight:800}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex}.sidebar-nav a{border-radius:var(--radius-sm);color:var(--ink-soft);white-space:nowrap;align-items:center;gap:10px;padding:9px 12px;font-size:.92rem;font-weight:500;text-decoration:none;display:flex}.sidebar-nav a svg{flex-shrink:0;width:18px;height:18px}.sidebar-nav a:hover{background:var(--surface-sunken);color:var(--ink)}.sidebar-nav a.active{background:var(--accent-tint);color:var(--accent)}.sidebar-footer{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.sidebar-account{justify-content:space-between;align-items:center;gap:8px;padding:4px 8px;display:flex}.sidebar-account .account-info{min-width:0}.sidebar-account .account-email{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:.82rem;font-weight:600;overflow:hidden}.sidebar-account .account-role{color:var(--ink-faint);text-transform:capitalize;font-size:.72rem}.signout-btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--danger);white-space:nowrap;flex-shrink:0;font-weight:600}.signout-btn:hover{background:var(--danger-tint)}.sidebar-credit{color:var(--ink-faint);white-space:nowrap;padding:10px 8px 0;font-size:.72rem}.credit-name{color:var(--accent);font-weight:700}.sidebar-collapsed .sidebar-brand .wordmark,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-account .account-info,.sidebar-collapsed .signout-btn,.sidebar-collapsed .sidebar-credit{display:none}.sidebar-collapsed .sidebar-brand{justify-content:center;padding-right:0}.sidebar-collapsed .sidebar-nav a{justify-content:center;padding:10px}.sidebar-collapsed .sidebar-account{justify-content:center}.content-area{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:14px 32px;display:flex}.topbar-logo{border-radius:50%;flex-shrink:0;width:40px;height:40px}.mobile-menu-btn{border-radius:var(--radius-sm);color:var(--ink);background:0 0;border:none;flex-shrink:0;margin-right:12px;padding:6px;display:none}.mobile-menu-btn svg{width:20px;height:20px}.mobile-menu-btn:hover{background:var(--surface-sunken)}.sidebar-backdrop,.mobile-footer{display:none}.topbar h1{font-size:1.3rem}main{flex:1;padding:28px 32px}.btn{cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;padding:9px 18px;font-size:.88rem;font-weight:600;transition:opacity .15s;display:inline-flex}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{opacity:.85}.btn-secondary{background:var(--surface-sunken);color:var(--ink);border:1px solid var(--border-strong)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:var(--danger-tint);color:var(--danger)}.btn-danger:hover{opacity:.8}.btn:disabled{opacity:.5;cursor:not-allowed}button:not([class*=btn]){border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);cursor:pointer;padding:6px 12px;font-size:.85rem;font-weight:500}button:not([class*=btn]):hover{background:var(--surface-sunken)}input,select{background:var(--surface);border:1px solid var(--border-strong);color:var(--ink);border-radius:var(--radius-sm);margin:0 8px 0 0;padding:9px 12px}input::placeholder{color:var(--ink-faint)}input:focus,select:focus{outline:2px solid var(--accent-tint);border-color:var(--accent)}.search-row{align-items:center;gap:8px;margin:18px 0;display:flex}.search-row input{flex:1;max-width:420px;margin:0}.page-head{margin-bottom:4px}.page-head p{color:var(--ink-soft);margin:4px 0 0;font-size:.92rem}.dashboard{min-height:65vh;position:relative}.dashboard-watermark{opacity:.22;pointer-events:none;z-index:0;border-radius:50%;width:380px;height:380px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dashboard .stat-grid{z-index:1;position:relative}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-top:20px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:18px 20px}.stat-card-alert{border-color:var(--danger);background:var(--danger-tint)}.stat-value{font-family:var(--font-brand);font-size:1.9rem;font-weight:700}.stat-label{color:var(--ink-soft);margin-top:4px;font-size:.83rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-top:16px;padding:20px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px;font-size:.87rem}th{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em;font-size:.76rem;font-weight:600}tbody tr:hover{background:var(--surface-sunken)}.mono{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.row-flagged{background:var(--danger-tint)}.badge{border-radius:999px;align-items:center;padding:2px 9px;font-size:.74rem;font-weight:600;display:inline-flex}.badge-success{background:var(--success-tint);color:var(--success)}.badge-warning{background:var(--danger-tint);color:var(--danger)}.badge-neutral{background:var(--surface-sunken);color:var(--ink-faint);border:1px solid var(--border)}.login-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;max-width:360px;box-shadow:var(--shadow-card);padding:44px 40px}.login-card img{width:48px;height:48px;margin-bottom:14px}.login-card h1{letter-spacing:-.02em;margin-bottom:6px;font-size:1.5rem;font-weight:800}.login-card .subtitle{color:var(--ink-soft);margin-bottom:24px;font-size:.9rem}.login-card .google-btn-wrap{justify-content:center;display:flex}.login-card .footnote{color:var(--ink-faint);margin-top:22px;font-size:.75rem}.error-text{color:var(--danger);margin-top:12px;font-size:.88rem}.loading{text-align:center;color:var(--ink-soft);padding:40px}.duplicate-group{margin-top:16px}.duplicate-group h3{font-size:.98rem;font-family:var(--font-ui);margin-bottom:10px;font-weight:600}.duplicate-group input{width:100%;max-width:320px;margin-top:10px}.add-user-row{gap:8px;margin-bottom:16px;display:flex}.modal-overlay{z-index:50;background:#17160f73;justify-content:center;align-items:flex-start;padding:60px 20px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:720px;max-height:80vh;box-shadow:var(--shadow-card);overflow:auto}.modal-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:sticky;top:0}.modal-header h3{font-family:ui-monospace,monospace;font-size:.95rem;font-weight:600}.modal-body{padding:20px}.modal-body h4{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px;font-size:.85rem}.json-table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);margin:0 0 20px;overflow:hidden}.json-table{margin:0}.json-table th{background:var(--surface-sunken);padding:8px 12px}.json-table td{padding:7px 12px;font-size:.82rem}.json-table tbody tr:last-child td{border-bottom:none}.json-table td.mono{color:var(--ink-soft);width:45%}.json-v{word-break:break-word}.json-v-string{color:var(--ink)}.json-v-number{color:var(--accent);font-family:ui-monospace,monospace}.json-v-bool{color:var(--success);font-family:ui-monospace,monospace;font-weight:600}.json-v-null{color:var(--ink-faint);font-style:italic}.json-empty{color:var(--ink-faint);margin-bottom:20px;font-size:.85rem}@media (width<=860px){.app-shell{display:block}.mobile-menu-btn{display:flex}.sidebar-backdrop{z-index:90;background:#17160f73;display:block;position:fixed;inset:0}.sidebar{z-index:100;height:100vh;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%);width:260px!important}.app-shell.sidebar-mobile-open .sidebar{transform:translate(0)}.sidebar .sidebar-toggle{display:none}.sidebar-collapsed .sidebar-brand .wordmark,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-account .account-info,.sidebar-collapsed .signout-btn,.sidebar-collapsed .sidebar-credit{display:revert}.sidebar-collapsed .sidebar-brand,.sidebar-collapsed .sidebar-nav a,.sidebar-collapsed .sidebar-account{justify-content:flex-start}.sidebar-collapsed .sidebar-nav a{padding:9px 12px}.topbar{padding:10px 14px}.topbar h1{font-size:1.05rem}.topbar-logo{width:30px;height:30px}main{padding:12px}.dashboard{min-height:0}.stat-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.stat-card{padding:12px 14px}.stat-value{font-size:1.4rem}.stat-label{font-size:.76rem}.dashboard-watermark{opacity:.16;width:190px;height:190px}.panel{padding:10px}table.stack-mobile,table.stack-mobile thead,table.stack-mobile tbody,table.stack-mobile th,table.stack-mobile td,table.stack-mobile tr{display:block}table.stack-mobile{min-width:0}table.stack-mobile thead tr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}table.stack-mobile tbody tr{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;padding:4px 10px}table.stack-mobile tbody tr:last-child{margin-bottom:0}table.stack-mobile td{border-bottom:1px solid var(--border);text-align:right;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;font-size:.82rem;display:flex}table.stack-mobile td:last-child{border-bottom:none}table.stack-mobile td[data-label]:before{content:attr(data-label);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em;text-align:left;flex-shrink:0;font-size:.72rem;font-weight:600}table.stack-mobile td[data-label=""]:before{content:none}table.stack-mobile td[data-label=""]{justify-content:flex-end}.duplicate-group{margin-top:10px}.duplicate-group input{max-width:none}.search-row{flex-direction:column;align-items:stretch;margin:12px 0}.search-row input{max-width:none}.add-user-row{flex-direction:column;align-items:stretch}.add-user-row input,.add-user-row select{width:100%;margin:0 0 8px}.modal-overlay{align-items:center;padding:12px}.modal-panel{max-height:88vh}.modal-body{padding:14px}.json-table td.mono{width:auto}.login-card{width:100%;max-width:none;margin:0 16px;padding:32px 24px}.mobile-footer{text-align:center;color:var(--ink-faint);border-top:1px solid var(--border);background:var(--surface);padding:12px;font-size:.75rem;display:block}}
