:root{--orange:#f97316;--orange-deep:#ea580c;--orange-light:#fff7ed;--orange-border:#fed7aa;--orange-soft:#ffedd5;--bg:#f8f9fb;--card-bg:#fff;--border:#e8edf2;--border-soft:#f1f4f8;--text:#1a1f2e;--text-mid:#4b5563;--text-soft:#9ca3af;--text-body:#5f6368;--green:#16a34a;--green-bg:#f0fdf4;--green-border:#bbf7d0;--yellow:#facc15;--yellow-bg:#fefce8;--red:#dc2626;--red-bg:#fef2f2;--sidebar-w:232px;--sidebar-w-collapsed:64px;--topbar-h:56px;--radius:12px;--radius-sm:8px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.app-shell{grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"sidebar topbar""sidebar content";height:100vh;display:grid}.sidebar{background:var(--card-bg);border-right:1px solid var(--border);flex-direction:column;grid-area:sidebar;display:flex;overflow:hidden auto}.sidebar-brand{min-height:var(--topbar-h);border-bottom:1px solid var(--border-soft);flex-shrink:0;align-items:center;gap:10px;padding:0 16px;display:flex}.sidebar-brand-mark{background:var(--orange);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.sidebar-brand-name{letter-spacing:.01em;white-space:nowrap;font-size:13px;font-weight:800;line-height:1.2}.sidebar-brand-sub{color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600;display:block}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex}.nav-group-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;padding:14px 10px 6px;font-size:10px;font-weight:800}.nav-item{border-radius:var(--radius-sm);color:var(--text-mid);white-space:nowrap;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:600;transition:background .12s,color .12s;display:flex}.nav-item:hover{background:var(--border-soft);color:var(--text)}.nav-item.active{background:var(--orange-light);color:var(--orange-deep)}.nav-item svg{flex-shrink:0}.nav-item-label{text-overflow:ellipsis;flex:1;overflow:hidden}.nav-badge{background:var(--orange);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:800;display:inline-flex}.nav-soon{text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);border:1px solid var(--border);border-radius:6px;padding:1px 5px;font-size:9px;font-weight:800}.sidebar-footer{border-top:1px solid var(--border-soft);flex-shrink:0;padding:10px}.topbar{background:var(--card-bg);border-bottom:1px solid var(--border);grid-area:topbar;justify-content:space-between;align-items:center;gap:16px;padding:0 20px;display:flex}.topbar-title{letter-spacing:.01em;font-size:15px;font-weight:800}.topbar-account{border:1px solid var(--border);color:var(--text-mid);background:var(--card-bg);border-radius:20px;align-items:center;gap:8px;padding:5px 10px;font-size:12px;font-weight:700;display:flex}.topbar-account-avatar{background:var(--orange-soft);width:24px;height:24px;color:var(--orange-deep);border-radius:50%;justify-content:center;align-items:center;display:flex}.content{grid-area:content;padding:24px;overflow-y:auto}.content-inner{max-width:1200px;margin:0 auto}.page-header{margin-bottom:20px}.page-header h1{letter-spacing:-.01em;font-size:20px;font-weight:800}.page-header p{color:var(--text-body);margin-top:4px;font-size:13px}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.page-loading{min-height:200px;color:var(--text-soft);justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.module-placeholder{text-align:center;border:1.5px dashed var(--border);border-radius:var(--radius);background:var(--card-bg);flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:320px;padding:32px;display:flex}.module-placeholder svg{color:var(--text-soft);margin-bottom:4px}.module-placeholder h2{font-size:16px;font-weight:800}.module-placeholder p{color:var(--text-body);max-width:420px;font-size:13px}.module-placeholder .phase-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--orange-deep);background:var(--orange-light);border:1px solid var(--orange-border);border-radius:8px;margin-top:8px;padding:3px 10px;font-size:11px;font-weight:800}.kpi-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.kpi-tile{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;min-height:108px;padding:16px;display:flex}.kpi-icon{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.kpi-icon.tone-neutral{background:var(--border-soft);color:var(--text-mid)}.kpi-icon.tone-good{background:var(--green-bg);color:var(--green)}.kpi-icon.tone-warning{background:var(--orange-light);color:var(--orange-deep)}.kpi-icon.tone-serious{background:var(--red-bg);color:var(--red)}.kpi-icon.tone-muted{background:var(--border-soft);color:var(--text-soft)}.kpi-label{color:var(--text-mid);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800}.kpi-value{letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;line-height:1}.skeleton{background:linear-gradient(90deg, var(--border-soft) 25%, var(--border) 50%, var(--border-soft) 75%);background-size:200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite shimmer}.skeleton-icon{border-radius:8px;width:28px;height:28px}.skeleton-label{width:70%;height:11px}.skeleton-value{width:45%;height:26px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.error-panel{background:var(--card-bg);border-radius:var(--radius);color:var(--red);border:1px solid #fecaca;align-items:center;gap:14px;padding:18px 20px;display:flex}.error-panel-text{flex-direction:column;flex:1;gap:2px;display:flex}.error-panel-text strong{color:var(--text);font-size:14px;font-weight:800}.error-panel-text span{color:var(--text-body);font-size:12px}.btn-retry{background:var(--orange);color:#fff;border:none;border-radius:10px;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:12px;font-weight:800;transition:background .12s;display:inline-flex}.btn-retry:hover{background:var(--orange-deep)}@media (width<=1100px){.kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.page-header-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.btn-icon{border:1px solid var(--border);background:var(--card-bg);width:36px;height:36px;color:var(--text-mid);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:color .12s,border-color .12s;display:flex}.btn-icon:hover:not(:disabled){color:var(--orange-deep);border-color:var(--orange-border)}.btn-icon:disabled{opacity:.6;cursor:not-allowed}.queue-list{flex-direction:column;gap:10px;display:flex}.queue-note{border:1px solid var(--yellow-border,#fde68a);background:var(--yellow-bg);color:var(--text-mid);border-radius:10px;padding:10px 14px;font-size:12px;font-weight:600}.queue-row{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:14px;padding:14px 16px;display:flex}.queue-info{flex:1;min-width:0}.queue-name{color:var(--text);font-size:14px;font-weight:800}.queue-email{color:var(--text-mid);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.queue-date{color:var(--text-soft);margin-top:2px;font-size:11px}.status-pill{letter-spacing:.05em;border-radius:8px;flex-shrink:0;padding:3px 9px;font-size:10px;font-weight:800}.pill-pending{background:var(--orange-light);color:var(--orange-deep);border:1px solid var(--orange-border)}.queue-actions{flex-shrink:0;gap:8px;display:flex}.btn-approve,.btn-reject{border-radius:10px;align-items:center;gap:5px;height:36px;padding:0 14px;font-size:12px;font-weight:800;transition:opacity .12s,background .12s;display:inline-flex}.btn-approve{background:var(--orange);color:#fff;border:none}.btn-approve:hover:not(:disabled){background:var(--orange-deep)}.btn-reject{border:1px solid var(--border);background:var(--card-bg);color:var(--red)}.btn-reject:hover:not(:disabled){background:var(--red-bg);border-color:#fecaca}.btn-approve:disabled,.btn-reject:disabled{opacity:.55;cursor:not-allowed}.queue-clear svg{color:var(--green)}.modal-overlay{z-index:50;background:#1a1f2e73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:var(--card-bg);border-radius:16px;flex-direction:column;gap:10px;width:100%;max-width:400px;padding:22px;display:flex}.modal-card h3{font-size:15px;font-weight:800}.modal-sub{color:var(--text-mid);font-size:12px}.modal-card textarea{border:1.5px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:10px;outline:none;padding:10px 12px;font-family:inherit;font-size:13px}.modal-card textarea:focus{border-color:var(--orange)}.btn-danger{background:var(--red);color:#fff;border:none;border-radius:10px;height:42px;font-size:13px;font-weight:800}.btn-danger:disabled{color:#9ca3af;cursor:not-allowed;background:#e5e7eb}.btn-cancel{border:1px solid var(--border);background:var(--bg);height:42px;color:var(--text);border-radius:10px;font-size:13px;font-weight:700}.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.toast{background:var(--text);color:#fff;z-index:60;border-radius:12px;max-width:min(480px,100vw - 48px);padding:12px 18px;font-size:13px;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #1a1f2e40}.users-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.search-box{border:1.5px solid var(--border);background:var(--card-bg);height:38px;color:var(--text-soft);border-radius:10px;align-items:center;gap:8px;min-width:240px;padding:0 12px;transition:border-color .12s;display:flex}.search-box:focus-within{border-color:var(--orange)}.search-box input{color:var(--text);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:13px}.search-box input::placeholder{color:var(--text-soft)}.filter-chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1.5px solid var(--border);background:var(--card-bg);height:32px;color:var(--text-mid);border-radius:16px;padding:0 12px;font-size:12px;font-weight:700;transition:all .12s}.chip:hover{border-color:var(--orange-border)}.chip-active{border-color:var(--orange);background:var(--orange-light);color:var(--orange-deep)}.table-scroll{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}.data-table th{text-align:left;color:var(--text-mid);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);background:var(--bg);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:800}.data-table td{border-bottom:1px solid var(--border-soft);color:var(--text);white-space:nowrap;padding:10px 14px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--border-soft)}.user-cell{align-items:center;gap:10px;display:flex}.user-cell-name{font-weight:700}.user-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:30px;height:30px}.user-avatar-initial{background:var(--orange-soft);color:var(--orange-deep);justify-content:center;align-items:center;font-size:13px;font-weight:800;display:inline-flex}.cell-email{color:var(--text-mid)}.btn-view{border:1px solid var(--border);background:var(--card-bg);height:30px;color:var(--text-mid);border-radius:8px;align-items:center;padding:0 14px;font-size:12px;font-weight:700;transition:all .12s;display:inline-flex}.btn-view:hover{border-color:var(--orange);color:var(--orange-deep)}.pill-active{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.pill-rejected{background:var(--red-bg);color:var(--red);border:1px solid #fecaca}.pill-suspended{background:var(--border-soft);color:var(--text-mid);border:1px solid var(--border)}.pill-expired{background:var(--yellow-bg);color:#a16207;border:1px solid var(--yellow-border,#fde68a)}.pagination-bar{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.pagination-info{color:var(--text-mid);font-size:12px;font-weight:600}.pagination-controls{gap:6px;display:flex}.detail-grid{grid-template-columns:minmax(0,2fr) minmax(240px,1fr);align-items:start;gap:14px;display:grid}.profile-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.avatar-lg{width:48px;height:48px;font-size:20px}.profile-head>div{flex:1;min-width:0}.profile-name{font-size:16px;font-weight:800}.profile-email{color:var(--text-mid);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.status-reason{border:1px solid var(--yellow-border,#fde68a);background:var(--yellow-bg);color:var(--text-mid);border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:12px;line-height:1.5}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.fact{flex-direction:column;gap:2px;display:flex}.fact-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:800}.fact-value{color:var(--text);font-size:13px;font-weight:600}.action-card h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-mid);margin-bottom:12px;font-size:13px;font-weight:800}.action-buttons{flex-direction:column;gap:8px;display:flex}.action-btn{justify-content:center;width:100%;height:40px}.info-note{color:var(--text-body);font-size:12px;line-height:1.6}.info-note a{color:var(--orange-deep);font-weight:700}.days-input{border:1.5px solid var(--border);width:110px;height:32px;color:var(--text);border-radius:16px;outline:none;padding:0 10px;font-family:inherit;font-size:12px}.days-input:focus{border-color:var(--orange)}.extend-preview{color:var(--text-mid);font-size:12px}@media (width<=900px){.detail-grid{grid-template-columns:1fr}}.settings-card-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-mid);align-items:center;gap:8px;margin-bottom:14px;font-size:13px;font-weight:800;display:flex}.settings-form{flex-direction:column;gap:12px;max-width:380px;display:flex}.form-success{border:1px solid var(--green-border);background:var(--green-bg);color:var(--green);border-radius:10px;padding:10px 12px;font-size:12px;font-weight:600;line-height:1.5}.remaining{font-size:12px;font-weight:700}.remaining-muted{color:var(--text-soft)}.remaining-ok{color:var(--green)}.remaining-soon{color:var(--orange-deep)}.remaining-over{color:var(--red)}.audit-id-box{min-width:210px}.date-field{color:var(--text-mid);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.date-field input{border:1.5px solid var(--border);background:var(--card-bg);height:38px;color:var(--text);border-radius:10px;outline:none;padding:0 10px;font-family:inherit;font-size:12px}.date-field input:focus{border-color:var(--orange)}.person-cell{flex-direction:column;gap:1px;min-width:0;display:flex}.person-name{font-size:12px;font-weight:700}.person-email{color:var(--text-soft);font-size:11px}.cell-reason{white-space:normal;max-width:220px;color:var(--text-mid);font-size:12px}.meta-cell{flex-direction:column;gap:6px;display:flex}.meta-toggle{border:1px solid var(--border);background:var(--card-bg);height:26px;color:var(--text-mid);border-radius:8px;align-items:center;gap:4px;width:fit-content;padding:0 10px;font-size:11px;font-weight:700;transition:all .12s;display:inline-flex}.meta-toggle:hover{border-color:var(--orange);color:var(--orange-deep)}.meta-pre{border:1px solid var(--border-soft);background:var(--bg);color:var(--text-mid);white-space:pre;border-radius:8px;max-width:320px;margin:0;padding:8px 10px;font-size:11px;line-height:1.5;overflow-x:auto}.boot-screen{height:100vh;color:var(--text-soft);justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.login-wrap{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:14px;width:100%;max-width:380px;padding:32px 28px;display:flex}.login-brand{text-align:center;flex-direction:column;align-items:center;gap:4px;margin-bottom:10px;display:flex}.login-brand-mark{border-radius:12px;width:44px;height:44px;margin-bottom:6px}.login-brand h1{letter-spacing:-.01em;font-size:18px;font-weight:800}.login-brand-sub{color:var(--text-soft);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--text-mid);font-size:12px;font-weight:700}.field input{border:1.5px solid var(--border);background:var(--card-bg);height:42px;color:var(--text);border-radius:10px;outline:none;padding:0 12px;font-family:inherit;font-size:14px;transition:border-color .12s}.field input:focus{border-color:var(--orange)}.field input::placeholder{color:var(--text-soft)}.form-error{background:var(--red-bg);color:var(--red);border:1px solid #fecaca;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:600;line-height:1.5}.btn-primary{background:var(--orange);color:#fff;letter-spacing:.01em;border:none;border-radius:10px;height:44px;font-size:14px;font-weight:800;transition:background .12s,opacity .12s}.btn-primary:hover:not(:disabled){background:var(--orange-deep)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.topbar-right{align-items:center;gap:8px;display:flex}.topbar-logout{border:1px solid var(--border);background:var(--card-bg);width:34px;height:34px;color:var(--text-mid);border-radius:10px;justify-content:center;align-items:center;transition:color .12s,border-color .12s;display:flex}.topbar-logout:hover{color:var(--red);border-color:#fecaca}@media (width<=1000px){.app-shell{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.sidebar-brand-name,.nav-item-label,.nav-group-label,.nav-soon{display:none}.sidebar-brand{justify-content:center;padding:0}.nav-item{justify-content:center;padding:10px}.nav-badge{position:absolute;transform:translate(10px,-8px)}.nav-item{position:relative}.content{padding:16px}}
