:root{--ink-50:#fafafa;--ink-100:#f5f5f4;--ink-150:#efefee;--ink-200:#e7e6e3;--ink-300:#d4d3cf;--ink-400:#a3a29e;--ink-500:#78776f;--ink-600:#52514a;--ink-700:#3f3e38;--ink-800:#27272a;--ink-900:#18181b;--bg:var(--ink-50);--bg-2:var(--ink-100);--card:#ffffff;--border:var(--ink-200);--border-2:var(--ink-150);--text:var(--ink-900);--text-2:var(--ink-700);--muted:var(--ink-500);--muted-2:var(--ink-400);--primary:#f97316;--primary-soft:#fff7ed;--primary-soft-2:#ffedd5;--primary-hover:#ea580c;--success:#16a34a;--success-soft:#dcfce7;--warn:#d97706;--warn-soft:#fef3c7;--danger:#dc2626;--danger-soft:#fee2e2;--info:#2563eb;--info-soft:#dbeafe;--slate:#475569;--slate-soft:#f1f5f9;--sidebar-w:264px;--topbar-bg:rgba(255,255,255,0.85);--shadow-sm:0 1px 2px rgba(15,23,42,0.04);--shadow-md:0 4px 16px rgba(15,23,42,0.06);--shadow-card:0 1px 2px 0 rgba(24,24,27,0.04),0 1px 1px 0 rgba(24,24,27,0.03);--shadow-card-hover:0 4px 16px -4px rgba(24,24,27,0.08),0 2px 4px -2px rgba(24,24,27,0.04);--shadow-pop:0 12px 32px -8px rgba(24,24,27,0.18),0 4px 8px -4px rgba(24,24,27,0.08);--shadow-btn-orange:0 1px 2px 0 rgba(234,88,12,0.25),inset 0 1px 0 0 rgba(255,255,255,0.18);color-scheme:light}html[data-theme=dark]{color-scheme:dark;--ink-50:#17171a;--ink-100:#1f1f23;--ink-150:#26262b;--ink-200:#2f2f35;--ink-300:#44444c;--ink-400:#8b8b93;--ink-500:#a6a6ad;--ink-600:#c2c2c8;--ink-700:#d6d6da;--ink-800:#e6e6e9;--ink-900:#f4f4f5;--bg:#131316;--bg-2:var(--ink-100);--card:#1c1c20;--topbar-bg:rgba(19,19,22,0.85);--border:#2e2e34;--border-2:#26262b;--text:var(--ink-900);--text-2:var(--ink-700);--muted:var(--ink-500);--muted-2:var(--ink-400);--primary-soft:rgba(249,115,22,0.14);--primary-soft-2:rgba(249,115,22,0.28);--success-soft:rgba(22,163,74,0.18);--warn-soft:rgba(217,119,6,0.18);--danger-soft:rgba(220,38,38,0.18);--info-soft:rgba(37,99,235,0.22);--slate-soft:rgba(148,163,184,0.16);--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 4px 16px rgba(0,0,0,0.5);--shadow-card:0 1px 2px 0 rgba(0,0,0,0.45);--shadow-card-hover:0 4px 16px -4px rgba(0,0,0,0.55),0 2px 4px -2px rgba(0,0,0,0.4);--shadow-pop:0 12px 32px -8px rgba(0,0,0,0.65),0 4px 8px -4px rgba(0,0,0,0.5)}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:Inter,Helvetica Neue,Arial,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}*{scrollbar-width:thin;scrollbar-color:var(--ink-300) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--ink-200);border-radius:6px;border:2px solid transparent;background-clip:content-box;min-height:24px}::-webkit-scrollbar-thumb:hover{background:var(--ink-400);background-clip:content-box;border:2px solid transparent}::-webkit-scrollbar-corner{background:transparent}a{color:inherit;text-decoration:none}::selection{background:var(--primary);color:white}.app{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;max-width:100vw;overflow-x:clip}.sidebar{--sb-bg:#0e1626;--sb-text:rgba(255,255,255,0.78);--sb-text-strong:#ffffff;--sb-muted:rgba(255,255,255,0.42);--sb-icon:rgba(255,255,255,0.55);--sb-hover:rgba(255,255,255,0.07);--sb-border:rgba(255,255,255,0.08);--sb-accent:#fb923c;background:var(--sb-bg);border-right:1px solid var(--sb-border);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:hidden}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:12px 16px;height:56px;border-bottom:1px solid var(--sb-border);flex-shrink:0}.sidebar-brand-text{display:flex;flex-direction:column;line-height:1.15}.sidebar-brand-name{font-weight:700;font-size:13.5px;letter-spacing:-.01em;color:var(--sb-text-strong)}.sidebar-brand-sub{color:var(--sb-muted);font-size:10.5px;font-weight:500}.sidebar-nav{flex:1 1;overflow-y:auto;scrollbar-width:none;padding:8px 10px 12px;display:flex;flex-direction:column;gap:1px}.sidebar-nav::-webkit-scrollbar{width:0;height:0}.sidebar-foot{border-top:1px solid var(--sb-border);padding:8px 10px;flex-shrink:0}.nav-section{color:var(--sb-muted);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:10px 10px 4px}.nav-item{position:relative;display:flex;align-items:center;gap:10px;padding:6px 10px 6px 12px;border-radius:7px;color:var(--sb-text);font-size:13.5px;font-weight:500;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .12s ease,color .12s ease;border:none;background:transparent;width:100%;font-family:inherit;text-align:left;text-decoration:none}.nav-item:hover{background:var(--sb-hover);color:var(--sb-text-strong)}.nav-item .ico{color:var(--sb-icon);flex-shrink:0}.nav-item.pending,.nav-item:hover .ico{color:var(--sb-text-strong)}.nav-item.pending{background:var(--sb-hover)}.nav-item.pending .ico{color:var(--sb-accent);animation:nav-pending-pulse .9s ease-in-out infinite}@keyframes nav-pending-pulse{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.nav-item.pending .ico{animation:none}}.nav-item.active{background:rgba(249,115,22,.16);font-weight:600}.nav-item.active,.nav-item.active .ico{color:var(--sb-accent)}.nav-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--sb-accent)}.nav-item-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{flex-shrink:0;min-width:20px;height:18px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.7);font-size:10.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;line-height:1}.nav-item:hover .nav-count{background:rgba(255,255,255,.16);color:var(--sb-text-strong)}.nav-item.active .nav-count{background:rgba(249,115,22,.25);color:var(--sb-accent)}.nav-count.accent,.nav-item.active .nav-count.accent,.nav-item:hover .nav-count.accent{background:var(--primary);color:white}.sidebar-user{display:flex;align-items:center;gap:10px;width:100%;padding:6px 10px;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer;font-family:inherit;text-align:left;transition:background-color .12s ease,border-color .12s ease}.sidebar-user:hover{background:var(--sb-hover);border-color:var(--sb-border)}.sidebar-user-info{flex:1 1;min-width:0;display:flex;flex-direction:column;line-height:1.2}.sidebar-user-name{font-size:12.5px;font-weight:600;color:var(--sb-text-strong)}.sidebar-user-name,.sidebar-user-role{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:10.5px;color:var(--sb-muted)}.sidebar-user-caret{color:var(--sb-muted);flex-shrink:0}.sidebar-burger{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:8px;border:none;background:transparent;color:var(--sb-icon);cursor:pointer;transition:background-color .12s ease,color .12s ease}.sidebar-burger:hover{background:var(--sb-hover);color:var(--sb-text-strong)}@media (min-width:881px){:root{--sidebar-w:72px}.sidebar{position:fixed;top:0;left:0;bottom:0;width:72px;z-index:60;transition:width .18s ease,box-shadow .18s ease}.sidebar.is-pinned,.sidebar:hover{width:var(--sidebar-w-open,264px);box-shadow:8px 0 28px rgba(0,0,0,.28)}.sidebar.is-pinned{box-shadow:none}.main{grid-column:2}.sidebar:not(:hover):not(.is-pinned) .nav-count,.sidebar:not(:hover):not(.is-pinned) .nav-item-label,.sidebar:not(:hover):not(.is-pinned) .nav-section,.sidebar:not(:hover):not(.is-pinned) .sidebar-brand-text,.sidebar:not(:hover):not(.is-pinned) .sidebar-user-caret,.sidebar:not(:hover):not(.is-pinned) .sidebar-user-info{opacity:0;pointer-events:none}.sidebar:not(:hover):not(.is-pinned) .nav-section{height:0;padding-top:0;padding-bottom:0;overflow:hidden}.sidebar:not(:hover):not(.is-pinned) .nav-count.accent{opacity:1;position:absolute;top:3px;left:22px;min-width:15px;height:15px;padding:0 4px;font-size:9px;line-height:15px;box-shadow:0 0 0 2px var(--sb-bg)}}.req-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;text-decoration:none;color:inherit;transition:background-color .12s ease}.req-item:hover{background:var(--ink-100)}.req-item-dot{width:9px;height:9px;border-radius:999px;flex-shrink:0}.req-item-title{font-size:13.5px;font-weight:600;color:var(--ink-900)}.req-item-meta,.req-item-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.req-item-meta{font-size:12px;color:var(--ink-500);margin-top:2px}.main{padding:0;min-width:0;overflow-x:clip}.topbar{background:var(--topbar-bg);border-bottom:1px solid var(--border);padding:0 24px;height:64px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px) minmax(0,1fr);align-items:center;grid-gap:16px;gap:16px;position:-webkit-sticky;position:sticky;top:0;z-index:20;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.breadcrumb{display:flex;align-items:center;gap:4px;color:var(--ink-500);font-size:13px;min-width:0}.breadcrumb a,.breadcrumb span.bc-part{color:var(--ink-500);transition:color .12s ease}.breadcrumb a:hover{color:var(--ink-900)}.breadcrumb .bc-current,.breadcrumb b{color:var(--ink-900);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumb .sep{color:var(--ink-300);display:inline-flex;margin:0 2px}.topbar-search{justify-self:stretch}.topbar-actions{gap:8px;justify-self:end}.search-btn,.topbar-actions{display:flex;align-items:center}.search-btn{gap:10px;width:100%;height:36px;padding:0 10px 0 12px;background:var(--ink-50);border:1px solid var(--ink-200);border-radius:9px;color:var(--ink-500);font-size:13px;cursor:pointer;font-family:inherit;transition:border-color .12s,background-color .12s,color .12s}.search-btn:hover{background:var(--card);border-color:var(--ink-300);color:var(--ink-700)}.search-btn .search-btn-label{flex:1 1;text-align:left}.search-kbd{gap:1px;padding:2px 6px;background:var(--card);border:1px solid var(--ink-200);border-radius:5px;color:var(--ink-500);font-size:10.5px;font-family:SF Mono,Menlo,Consolas,monospace;line-height:1;letter-spacing:.02em}.online-pill,.search-kbd{display:inline-flex;align-items:center;font-weight:600}.online-pill{gap:7px;height:28px;padding:0 11px 0 9px;border-radius:999px;background:#ecfdf5;border:1px solid #a7f3d0;color:#047857;font-size:11.5px;letter-spacing:.01em}.online-pill-dot{position:relative;width:7px;height:7px;border-radius:999px;background:#10b981}.online-pill-dot:after{content:"";position:absolute;inset:-3px;border-radius:999px;background:#10b981;opacity:.55;animation:online-pulse 1.8s ease-out infinite}@keyframes online-pulse{0%{transform:scale(.75);opacity:.55}70%{transform:scale(1.6);opacity:0}to{transform:scale(1.6);opacity:0}}.online-pill.is-idle{background:#fef3c7;border-color:#fde68a;color:#92400e}.online-pill.is-idle .online-pill-dot{background:#f59e0b}.online-pill.is-idle .online-pill-dot:after{animation:none;display:none}.icon-btn{position:relative;width:34px;height:34px;background:transparent;border:1px solid transparent;font-family:inherit;transition:background-color .12s,border-color .12s,color .12s}.icon-btn:hover{background:var(--ink-100);border-color:var(--ink-200)}.icon-btn-dot{position:absolute;top:7px;right:8px;width:7px;height:7px;border-radius:999px;background:var(--primary);border:2px solid white}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-width:calc(100vw - 24px);background:var(--card);border:1px solid var(--ink-200);border-radius:12px;box-shadow:var(--shadow-pop);z-index:50;overflow:hidden;display:flex;flex-direction:column;animation:cmdk-rise .14s cubic-bezier(.22,1,.36,1)}.notif-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--ink-150)}.notif-title{font-size:13px;font-weight:600;color:var(--ink-900)}.notif-count{font-size:10.5px;font-weight:600;color:var(--primary-hover);background:var(--primary-soft);border:1px solid #ffd9b0;padding:2px 8px;border-radius:999px;letter-spacing:.01em}.notif-list{max-height:min(60vh,420px);overflow-y:auto}.notif-empty{padding:28px 16px;text-align:center;color:var(--ink-500);font-size:12.5px}.notif-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-bottom:1px solid var(--ink-150);text-decoration:none;color:inherit;transition:background-color .12s ease}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--ink-50)}.notif-dot{flex-shrink:0;width:8px;height:8px;border-radius:999px;margin-top:6px}.notif-item-top{display:flex;align-items:center;gap:8px;font-size:11.5px}.notif-ref{font-family:SF Mono,Menlo,Consolas,monospace;font-weight:600;color:var(--ink-500);letter-spacing:.02em}.notif-status{color:var(--ink-700);font-weight:500}.notif-new{display:inline-block;width:7px;height:7px;border-radius:999px;background:var(--primary);margin-left:auto}.notif-subject{margin-top:2px;font-size:13px;font-weight:500;color:var(--ink-900);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.35}.notif-meta{margin-top:4px;font-size:11px;color:var(--ink-500)}.notif-foot{padding:10px 14px;border-top:1px solid var(--ink-150);background:var(--ink-50)}.notif-foot-link{display:inline-block;font-size:12.5px;font-weight:600;color:var(--primary-hover)}.notif-foot-link:hover{text-decoration:underline}.cmdk-backdrop{position:fixed;inset:0;background:rgba(24,24,27,.38);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;animation:cmdk-fade .12s ease-out}@keyframes cmdk-fade{0%{opacity:0}to{opacity:1}}.cmdk-panel{width:100%;max-width:560px;background:var(--card);border:1px solid var(--ink-200);border-radius:14px;box-shadow:var(--shadow-pop);overflow:hidden;display:flex;flex-direction:column;animation:cmdk-rise .14s cubic-bezier(.22,1,.36,1)}@keyframes cmdk-rise{0%{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.cmdk-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--ink-150)}.cmdk-input-row .ico{color:var(--ink-400);flex-shrink:0}.cmdk-input{flex:1 1;border:none;outline:none;font-size:15px;color:var(--ink-900);font-family:inherit;background:transparent;padding:0}.cmdk-input::placeholder{color:var(--ink-400)}.cmdk-list{max-height:min(60vh,480px);overflow-y:auto;padding:6px}.cmdk-empty{padding:28px 16px;text-align:center;color:var(--ink-500);font-size:13px}.cmdk-group-title{padding:8px 10px 4px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500)}.cmdk-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--ink-800);font-size:13.5px;cursor:pointer;text-decoration:none;border:none;background:transparent;width:100%;font-family:inherit;text-align:left}.cmdk-item .ico{color:var(--ink-500);flex-shrink:0}.cmdk-item[data-active=true]{background:var(--primary-soft);color:var(--primary-hover)}.cmdk-item[data-active=true] .ico{color:var(--primary-hover)}.cmdk-item-section{margin-left:auto;font-size:10.5px;color:var(--ink-400);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.cmdk-foot{display:flex;align-items:center;gap:14px;padding:8px 14px;border-top:1px solid var(--ink-150);background:var(--ink-50);font-size:11.5px;color:var(--ink-500)}.cmdk-foot-hint{gap:5px}.cmdk-foot-hint,.pill{display:inline-flex;align-items:center}.pill{gap:6px;border:1px solid var(--border);border-radius:999px;padding:5px 12px;background:var(--card);font-size:12px;font-weight:500;color:var(--text);cursor:pointer}.pill.primary{background:var(--primary-soft);color:var(--primary-hover);border-color:#ffd9b0}.pill.dot:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--success)}.pill.dot.idle:before{background:var(--warn)}.pill.dot.offline:before{background:var(--muted)}.pill.dot.idle{color:var(--warn)}.pill.dot.offline{color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;font-weight:600;font-size:13px;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:all .15s ease;text-decoration:none}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{background:var(--primary-hover)}.btn-ghost{background:transparent;color:var(--text-2);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg-2);color:var(--text)}.page{padding:28px 32px 48px;animation:page-enter .18s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){.page{animation:none}}.page-head{margin-bottom:22px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.page-title{font-size:24px;font-weight:700;letter-spacing:-.4px;margin:0 0 6px}.page-sub{color:var(--muted);font-size:14px;max-width:720px}.grid{display:grid;grid-gap:14px;gap:14px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-2-3{grid-template-columns:2fr 3fr}.grid-3-2{grid-template-columns:3fr 2fr}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:18px 20px}.card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;gap:10px}.card-title{font-size:14px;font-weight:600}.card-meta{color:var(--muted);font-size:12px}.kpi{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.kpi .label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.6px;font-weight:600}.kpi .value{font-size:26px;font-weight:700;letter-spacing:-.6px;margin-top:4px}.kpi .meta{color:var(--muted);font-size:12px;margin-top:4px}.kpi.accent .value{color:var(--primary)}.kpi.success .value{color:var(--success)}.kpi.warn .value{color:var(--warn)}.kpi.danger .value{color:var(--danger)}.kpi-link{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.kpi-link:hover{border-color:var(--primary);box-shadow:0 2px 8px rgba(255,128,0,.08);transform:translateY(-1px)}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border-2)}th{font-weight:600;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}tr:last-child td{border-bottom:none}tbody tr{transition:background .12s ease}tbody tr:hover{background:var(--bg-2)}.tbl-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600}code{font-family:SF Mono,Menlo,Consolas,monospace;font-size:.9em;background:var(--bg-2);padding:1px 5px;border-radius:3px}.person{display:inline-flex;align-items:center;gap:8px}.person.empty{color:var(--muted-2);font-style:italic}.avatar{width:22px;height:22px;border-radius:50%;background:var(--primary-soft);color:var(--primary-hover);font-weight:700;font-size:10px}.avatar,.login-shell{display:flex;align-items:center;justify-content:center}.login-shell{min-height:100vh;background:var(--bg);padding:24px}.login-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:32px 28px;width:100%;max-width:380px;box-shadow:var(--shadow-md)}.login-card h1{margin:0 0 6px;font-size:20px;letter-spacing:-.3px}.login-card p{color:var(--muted);margin:0 0 22px;font-size:13.5px}.login-error{background:var(--danger-soft);color:var(--danger);border:1px solid #fecaca;border-radius:8px;padding:10px 12px;font-size:13px;margin-bottom:14px}.btn-microsoft{display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 14px;background:var(--card);border:1px solid #d1d5db;border-radius:8px;font-weight:600;font-size:13.5px;color:#1f2937;cursor:pointer;width:100%;font-family:inherit;transition:all .15s ease}.btn-microsoft:hover{background:var(--bg-2);border-color:var(--text-2)}@media (max-width:880px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:none;border-bottom:1px solid var(--border)}.sidebar,.sidebar-nav{overflow:visible}.topbar{grid-template-columns:1fr auto;gap:8px}.topbar-search{display:none}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-2-3,.grid-3,.grid-3-2{grid-template-columns:1fr}}.form{gap:18px}.form,.form-section{display:flex;flex-direction:column}.form-section{gap:10px}.form-section-title{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.6px;text-transform:uppercase;padding-bottom:6px;border-bottom:1px solid var(--border)}.form-row{display:flex;gap:12px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:4px;flex:1 1;min-width:180px}.field label{font-size:12px;font-weight:600;color:var(--text)}.field .req{color:var(--danger)}.input{padding:8px 11px;border-radius:8px;border:1px solid var(--border);background:var(--card);font-size:13.5px;font-family:inherit;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease;width:100%;box-sizing:border-box}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input.has-error{border-color:var(--danger)}.input.has-error:focus{box-shadow:0 0 0 3px rgba(220,38,38,.12)}textarea.input{resize:vertical;min-height:70px;line-height:1.45}.field-error{color:var(--danger);font-size:11.5px;font-weight:500}.field-help{color:var(--muted);font-size:11.5px}.form-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px;padding-top:14px;border-top:1px solid var(--border)}.row-error{font-size:11px;color:var(--danger);font-weight:500;margin-left:4px}.portal{min-height:100vh;background:#fafafa}.portal-header{background:var(--card);border-bottom:1px solid var(--border);padding:12px 24px;justify-content:space-between;gap:16px}.portal-brand,.portal-header{display:flex;align-items:center}.portal-brand{gap:12px;text-decoration:none;color:inherit}.portal-user{display:flex;align-items:center;gap:10px;padding:4px 4px 4px 12px;border-radius:999px;border:1px solid var(--border);background:var(--card)}.portal-user-name{display:flex;flex-direction:column;line-height:1.15}.portal-main{max-width:880px;margin:0 auto;padding:28px 24px 60px}.portal-page{display:flex;flex-direction:column}.portal-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.portal-title{font-size:22px;font-weight:700;margin:0;letter-spacing:-.4px}.portal-sub{color:var(--muted);font-size:13px;margin:4px 0 0;max-width:520px}.portal-section-title{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin:0 0 10px}.portal-empty{background:var(--card);border:1px dashed var(--border);border-radius:12px;padding:36px 24px;text-align:center}.portal-shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px;margin-bottom:28px}.portal-shortcut{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 18px;text-decoration:none;color:inherit;transition:border-color .15s,transform .05s}.portal-shortcut:hover{border-color:var(--primary)}.portal-shortcut:active{transform:translateY(1px)}.portal-shortcut-icon{font-size:26px;line-height:1}.portal-shortcut-title{font-weight:600;font-size:14px;margin-bottom:2px}.portal-shortcut-sub{color:var(--muted);font-size:12.5px}.ticket-cards{display:flex;flex-direction:column;gap:8px}.ticket-card{display:block;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 14px;text-decoration:none;color:inherit;transition:border-color .15s,transform .05s}.ticket-card:hover{border-color:var(--primary)}.ticket-card:active{transform:translateY(1px)}.ticket-header{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 20px}.btn-danger{background:var(--card);border:1px solid #fecaca;color:var(--danger)}.btn-danger:hover{background:#fef2f2;border-color:#fca5a5}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.filter-bar .input{padding:7px 10px;font-size:13px;width:auto}.filter-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);cursor:pointer;white-space:nowrap;padding:0 4px}.filter-toggle input[type=checkbox]{width:14px;height:14px;cursor:pointer}.timeline{list-style:none;margin:0;padding:0;position:relative}.timeline:before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--border)}.timeline-item{position:relative;padding-left:32px;padding-bottom:18px}.timeline-item:last-child{padding-bottom:0}.timeline-marker{position:absolute;left:4px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--primary);border:2px solid white;box-shadow:0 0 0 1px var(--border)}.timeline-marker--small{width:8px;height:8px;left:6px;top:8px;background:var(--muted-2)}.timeline-content{display:flex;flex-direction:column;gap:4px}.timeline-meta{display:flex;align-items:center;gap:8px}.timeline-date{font-size:11.5px;color:var(--muted)}.timeline-body{display:flex;flex-direction:column;gap:2px}.row-clickable{cursor:pointer;transition:background .12s ease}.row-clickable:hover{background:var(--primary-soft)!important}.row-clickable td a,.row-clickable td a:hover{color:inherit;text-decoration:none}.row-clickable td{padding:0!important}.row-clickable td>a{padding:10px 14px;display:block}.hero-card{gap:18px;background:linear-gradient(135deg,white 0,var(--primary-soft) 100%);border:1px solid var(--border);padding:22px 24px;margin-bottom:14px}.hero-card,.hero-icon{display:flex;align-items:center;border-radius:14px}.hero-icon{width:88px;height:88px;background:var(--card);border:1px solid var(--border);justify-content:center;flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,.04)}.brand-mark-img{border-radius:8px;object-fit:cover;flex-shrink:0}#liveblocks-badge{display:none!important}.user-menu-trigger{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px;border:1px solid var(--border);background:var(--card);cursor:pointer;font:inherit;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.user-menu-trigger:hover{border-color:var(--primary);box-shadow:0 1px 4px rgba(255,128,0,.08)}.user-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:240px;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.04);padding:8px;z-index:1000;animation:userMenuFadeIn .12s ease-out}@keyframes userMenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-menu-info{display:flex;align-items:center;gap:10px;padding:4px 6px 8px}.user-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;background:none;border-radius:6px;cursor:pointer;font:inherit;color:var(--muted);text-align:left;font-size:12.5px;transition:background .1s ease,color .1s ease}.user-menu-item:hover{background:var(--bg-2);color:var(--danger)}.tk-card{background:var(--card);border:1px solid var(--ink-200);border-radius:12px;box-shadow:var(--shadow-card)}.avatar-ring{box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(24,24,27,.06)}.hairline{background:linear-gradient(90deg,transparent,rgba(24,24,27,.08),transparent);height:1px;flex:1 1}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.45)}70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}}.pulse-dot{animation:pulse-dot 2s ease-out infinite}.tip{position:relative}.tip>.tip-body{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%) translateY(2px);background:var(--ink-900);color:var(--ink-50);font-size:11px;font-weight:500;padding:5px 8px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:50}.tip:hover>.tip-body{opacity:1;transform:translateX(-50%) translateY(0)}.nice-scroll::-webkit-scrollbar{width:8px;height:8px}.nice-scroll::-webkit-scrollbar-thumb{background:rgba(24,24,27,.12);border-radius:8px}.nice-scroll::-webkit-scrollbar-thumb:hover{background:rgba(24,24,27,.22)}.focus-ring{transition:box-shadow .12s ease,border-color .12s ease}.focus-ring:focus-within{box-shadow:0 0 0 4px rgba(249,115,22,.15);border-color:var(--primary)}.toggle-track{width:30px;height:18px;border-radius:9999px;background:var(--ink-300);position:relative;flex-shrink:0;transition:background-color .15s ease}.toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:9999px;background:var(--card);box-shadow:0 1px 2px rgba(0,0,0,.18);transition:transform .15s ease}.toggle-on .toggle-track{background:var(--primary)}.toggle-on .toggle-thumb{transform:translateX(12px)}@keyframes tkFadeUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:tkFadeUp .25s ease forwards}.bubble{box-shadow:0 1px 2px rgba(24,24,27,.04)}.btn-tk-primary{background:var(--primary);color:#fff;border:1px solid var(--primary);box-shadow:var(--shadow-btn-orange)}.btn-tk-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-tk-secondary{background:var(--card);color:var(--ink-800);border:1px solid var(--ink-200);box-shadow:var(--shadow-card)}.btn-tk-secondary:hover:not(:disabled){background:var(--ink-50);border-color:var(--ink-300)}.btn-tk-outline{background:transparent;color:var(--ink-700);border:1px solid var(--ink-200)}.btn-tk-outline:hover:not(:disabled){background:var(--ink-50);border-color:var(--ink-300)}.btn-tk-ghost{background:transparent;color:var(--ink-700);border:1px solid transparent}.btn-tk-ghost:hover:not(:disabled){background:var(--ink-100)}.btn-tk-danger{background:transparent;color:var(--danger);border:1px solid transparent}.btn-tk-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-tk{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:500;border-radius:8px;padding:0 12px;height:36px;font-size:13px;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-tk:active:not(:disabled){transform:translateY(.5px)}.btn-tk:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-tk-sm{height:28px;padding:0 10px;font-size:12px;border-radius:6px}.btn-tk-lg{height:40px;padding:0 16px;font-size:13px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--card);border:1px solid var(--ink-200);color:var(--ink-600);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.icon-btn:hover{background:var(--ink-50);color:var(--ink-900);border-color:var(--ink-300)}.icon-btn[data-active=true]{background:var(--ink-100);color:var(--ink-900);border-color:var(--ink-200)}.icon-btn-sm{width:28px;height:28px;border-radius:6px}.icon-btn-bare{background:transparent;border-color:transparent}.icon-btn-bare:hover{background:var(--ink-100);border-color:transparent}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn:disabled:hover{background:inherit;color:inherit;border-color:inherit}.tk-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:9999px;border:1px solid;font-size:11.5px;font-weight:500;line-height:1.4;white-space:nowrap}.tk-badge-dot{width:6px;height:6px;border-radius:9999px;display:inline-block;position:relative}.tk-badge-dot:after{content:"";position:absolute;inset:0;border-radius:9999px}.tk-badge--neutral{background:var(--ink-100);color:var(--ink-700);border-color:var(--ink-200)}.tk-badge--neutral .tk-badge-dot{background:var(--ink-400)}.tk-badge--soft{background:var(--card);color:var(--ink-600);border-color:var(--ink-200)}.tk-badge--soft .tk-badge-dot{background:var(--ink-400)}.tk-badge--critical{background:rgba(254,226,226,.8);color:#b91c1c;border-color:rgba(254,202,202,.8)}.tk-badge--critical .tk-badge-dot{background:#ef4444}.tk-badge--warning{background:rgba(255,237,213,.8);color:#c2410c;border-color:rgba(254,215,170,.8)}.tk-badge--warning .tk-badge-dot{background:#f97316}.tk-badge--success{background:rgba(220,252,231,.8);color:#047857;border-color:rgba(167,243,208,.8)}.tk-badge--success .tk-badge-dot{background:#10b981}.tk-badge--success .tk-badge-dot:after{animation:pulse-dot 2s ease-out infinite}.tk-badge--info{background:rgba(224,242,254,.8);color:#0369a1;border-color:rgba(186,230,253,.8)}.tk-badge--info .tk-badge-dot{background:#0ea5e9}.tk-badge--internal{background:var(--warn-soft);color:#92400e;border-color:#fde68a}.tk-badge--internal .tk-badge-dot{background:#f59e0b}.tk-badge-mono{font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Consolas,monospace}.tk-card-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px}.tk-card-title{display:inline-flex;align-items:center;gap:8px;color:var(--ink-500);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:0}.tk-card-body{padding:0 16px 16px}.tk-composer--internal{border-color:#fcd34d!important;background:rgba(254,243,199,.25)}.tk-internal-tag{position:absolute;top:-8px;right:12px;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;background:#f59e0b;color:#fff;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 1px 2px rgba(0,0,0,.08);z-index:1}.tk-audit-row{position:relative;display:flex;align-items:flex-start;gap:12px}.tk-audit-row__line{position:absolute;left:13px;top:28px;bottom:-12px;width:1px;background:var(--ink-200)}.tk-audit-row__icon{flex-shrink:0;width:28px;height:28px;border-radius:9999px;border:1px solid;display:inline-flex;align-items:center;justify-content:center}.tk-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:24px;gap:24px}@media (max-width:960px){.tk-grid{grid-template-columns:minmax(0,1fr)}}.kpi-card-link:hover{border-color:var(--ink-300)!important;box-shadow:var(--shadow-card-hover)!important}.kpi-card-link:active{transform:translateY(.5px)}.tk-row:hover{background-color:var(--ink-50)}.relatorio-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--ink-200);flex-wrap:wrap}.relatorio-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.relatorio-body{display:flex;flex-direction:column;gap:18px}.relatorio-group{background:var(--card);border:1px solid var(--ink-200);border-radius:12px;overflow:hidden}.relatorio-group-head{padding:12px 16px;background:var(--ink-50);border-bottom:1px solid var(--ink-150);display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:600;color:var(--ink-900)}.relatorio-group-meta{color:var(--ink-500);font-weight:500;font-size:11.5px}.relatorio-empty{padding:36px 24px;text-align:center;color:var(--ink-500);font-size:13.5px}.relatorio-card{display:flex;flex-direction:column;gap:10px;padding:18px 18px 16px;background:var(--card);border:1px solid var(--ink-200);border-radius:12px;text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .1s ease;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;text-align:left;width:100%}.relatorio-card:hover{border-color:var(--primary);box-shadow:0 4px 16px -4px rgba(249,115,22,.18);transform:translateY(-1px)}.relatorio-card-icon{width:36px;height:36px;border-radius:9px;background:var(--primary-soft);border:1px solid #ffd9b0;color:var(--primary-hover);display:inline-flex;align-items:center;justify-content:center}.relatorio-card-title{font-size:14.5px;font-weight:600;color:var(--ink-900);letter-spacing:-.01em;margin:0}.relatorio-card-desc{margin:0;font-size:12.5px;color:var(--ink-600);line-height:1.45}.relatorio-card-cat{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);margin-top:4px}@media print{:root,html[data-theme=dark]{color-scheme:light;--ink-50:#fafafa;--ink-100:#f5f5f4;--ink-150:#efefee;--ink-200:#e7e6e3;--ink-300:#d4d3cf;--ink-400:#a3a29e;--ink-500:#78776f;--ink-600:#52514a;--ink-700:#3f3e38;--ink-800:#27272a;--ink-900:#18181b;--bg:#fff;--bg-2:#f5f5f4;--card:#fff;--border:#e7e6e3;--border-2:#efefee;--text:#18181b;--text-2:#3f3e38;--muted:#52514a;--muted-2:#78776f;--primary-soft:#fff7ed;--primary-soft-2:#ffedd5;--success-soft:#dcfce7;--warn-soft:#fef3c7;--danger-soft:#fee2e2;--info-soft:#dbeafe;--slate-soft:#f1f5f9}@page{size:A4;margin:14mm 12mm}.icon-btn,.online-pill,.relatorio-actions,.sidebar,.topbar,.topbar-actions,.topbar-search{display:none!important}.app,.main,body,html{background:white!important;overflow:visible!important}.app{display:block!important;min-height:0!important}.main{overflow:visible!important}.page,.relatorio-page{padding:0!important}.relatorio-head{padding-bottom:14px!important;margin-bottom:16px!important;page-break-after:avoid}.relatorio-body{gap:12px!important}.relatorio-group{border:1px solid #d4d3cf!important;border-radius:6px!important;box-shadow:none!important;page-break-inside:avoid}.relatorio-group-head{background:#f5f5f4!important;color:black!important}table{font-size:10.5px!important}td,th{padding:5px 8px!important}th{background:#fafafa!important}.print-color,th{-webkit-print-color-adjust:exact;print-color-adjust:exact}a{color:inherit!important;text-decoration:none!important}tr{page-break-inside:avoid}}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}@media (max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.kpi-grid{grid-template-columns:minmax(0,1fr)}}.skeleton{display:block;border-radius:6px;background:linear-gradient(100deg,var(--ink-100) 30%,var(--ink-200) 50%,var(--ink-100) 70%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.page-enter{animation:page-enter .18s cubic-bezier(.22,1,.36,1)}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.page-enter,.skeleton{animation:none}}.trail{position:relative;padding:8px 4px 4px}.trail-track{position:absolute;top:22px;left:7%;right:7%;height:3px;background:var(--ink-200);border-radius:999px;overflow:hidden}.trail-fill{height:100%;width:0;background:linear-gradient(90deg,#22c55e,var(--success));border-radius:999px;transition:width .9s cubic-bezier(.22,1,.36,1)}.trail-steps{justify-content:space-between;align-items:flex-start;list-style:none;margin:0;padding:0}.trail-step,.trail-steps{position:relative;display:flex}.trail-step{flex-direction:column;align-items:center;gap:8px;flex:1 1;min-width:0;text-align:center}.trail-node{position:relative;width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;cursor:pointer;border:2px solid var(--ink-300);background:var(--card);color:var(--ink-500);transition:transform .14s ease,box-shadow .14s ease,background .2s ease,border-color .2s ease,color .2s ease}.trail-node:hover{transform:translateY(-1px);box-shadow:var(--shadow-card-hover)}.trail-node.done{background:var(--success);border-color:var(--success);color:#fff}.trail-node.current{border-color:var(--primary);color:var(--primary-hover);background:var(--primary-soft);animation:trail-pulse 1.8s ease-out infinite}@keyframes trail-pulse{0%{box-shadow:0 0 0 0 rgba(249,115,22,.45)}70%{box-shadow:0 0 0 8px rgba(249,115,22,0)}to{box-shadow:0 0 0 0 rgba(249,115,22,0)}}.trail-label{font-size:11.5px;line-height:1.25;font-weight:500;color:var(--ink-500);max-width:120px}.trail-label.current,.trail-label.done{color:var(--ink-800)}.trail-label.current{font-weight:600}.trail-pop{bottom:calc(100% + 10px);width:max-content;max-width:230px;z-index:20;background:var(--ink-900);color:#fff;border-radius:10px;padding:10px 12px;text-align:left;box-shadow:0 8px 24px -6px rgba(24,24,27,.35);animation:trail-pop-in .14s ease-out}.trail-pop,.trail-pop:after{position:absolute;left:50%;transform:translateX(-50%)}.trail-pop:after{content:"";top:100%;border:6px solid transparent;border-top:6px solid var(--ink-900)}.trail-pop-title{display:block;font-size:12.5px;margin-bottom:4px}.trail-pop-line{font-size:12px;line-height:1.45;color:rgba(255,255,255,.78)}@keyframes trail-pop-in{0%{opacity:0;transform:translateX(-50%) translateY(4px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:560px){.trail-label{font-size:10px}.trail-node{width:26px;height:26px;font-size:11px}.trail-track{top:20px}}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.adm-grid{display:grid;grid-template-columns:minmax(240px,300px) 1fr;grid-gap:14px;gap:14px;align-items:start}.adm-ctx{position:-webkit-sticky;position:sticky;top:16px}@media (max-width:860px){.adm-grid{grid-template-columns:1fr}.adm-ctx{position:static}}.trail--compact{padding:2px 2px 0}.trail--compact .trail-track{top:16px}.trail--compact .trail-node{width:24px;height:24px;font-size:11px}.trail--compact .trail-label{font-size:10.5px;max-width:96px}@media (prefers-reduced-motion:reduce){.trail-fill{transition:none}.trail-node.current,.trail-pop{animation:none}}