:root{--ink-0:#ffffff;--ink-25:#fcfcfd;--ink-50:#f7f8fa;--ink-100:#eef0f4;--ink-150:#e4e7ec;--ink-200:#d8dce3;--ink-300:#b8bfc9;--ink-400:#8f98a5;--ink-500:#6b7280;--ink-600:#4b5462;--ink-700:#343b47;--ink-800:#21262f;--ink-900:#12151b;--bg:var(--ink-50);--surface:var(--ink-0);--surface-2:var(--ink-25);--surface-3:var(--ink-100);--border:var(--ink-150);--border-strong:var(--ink-200);--text:var(--ink-900);--text-secondary:var(--ink-600);--muted:var(--ink-500);--muted-2:var(--ink-400);--accent:#4f46e5;--accent-hover:#4338ca;--accent-soft:#eef2ff;--accent-border:#c7d2fe;--accent-text:#3730a3;--success:#047857;--success-soft:#ecfdf5;--success-border:#a7f3d0;--warning:#b45309;--warning-soft:#fffbeb;--warning-border:#fde68a;--danger:#be123c;--danger-soft:#fff1f3;--danger-border:#fecdd3;--critical:#7e22ce;--critical-soft:#faf5ff;--critical-border:#e9d5ff;--info:var(--accent);--info-soft:var(--accent-soft);--info-border:var(--accent-border);--font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--fs-display:26px;--fs-h1:21px;--fs-h2:16px;--fs-h3:14px;--fs-body:13.5px;--fs-sm:12.5px;--fs-xs:11.5px;--fs-caption:10.5px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--r-xs:5px;--r-sm:7px;--r-md:10px;--r-lg:14px;--r-full:999px;--sh-xs:0 1px 2px rgba(18,21,27,0.05);--sh-sm:0 1px 2px rgba(18,21,27,0.04),0 1px 3px rgba(18,21,27,0.05);--sh-md:0 2px 4px rgba(18,21,27,0.04),0 8px 20px rgba(18,21,27,0.06);--sh-lg:0 12px 40px rgba(18,21,27,0.14);--ring:0 0 0 3px rgba(79,70,229,0.16);--t-fast:110ms cubic-bezier(0.4,0,0.2,1);--t:160ms cubic-bezier(0.4,0,0.2,1);--sidebar-w:248px;--sidebar-w-collapsed:66px;--topbar-h:56px;--content-max:1480px}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-body);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}a:hover{color:var(--accent-text)}p{margin:0}h1,h2,h3,h4{margin:0;font-weight:640;letter-spacing:-.014em;color:var(--text)}h1{font-size:var(--fs-h1);letter-spacing:-.02em}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}code{font-family:var(--font-mono);font-size:.92em;background:var(--surface-3);padding:1px 5px;border-radius:var(--r-xs)}::selection{background:var(--accent-soft);color:var(--accent-text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}.logo{--logo-w:150px;width:var(--logo-w);height:calc(var(--logo-w) * .535);background-image:url(/logo-recoveri.png);background-position:0}.logo,.logo-mark{display:block;background-repeat:no-repeat;background-size:contain;flex:0 0 auto}.logo-mark{--logo-w:116px;width:calc(var(--logo-w) * .31);height:calc(var(--logo-w) * .22);background-image:url(/logo-recoveri-mark.png);background-position:50%}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);padding:var(--s4) var(--s3) var(--s3);position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:2px;scrollbar-width:thin}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;padding:0 var(--s2) var(--s5);gap:var(--s2)}.nav-group{margin-top:var(--s4)}.nav-group:first-of-type{margin-top:0}.nav-label{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.085em;color:var(--muted-2);padding:0 var(--s2) var(--s2);font-weight:700}.nav-item{display:flex;align-items:center;gap:var(--s3);padding:7px var(--s2);border-radius:var(--r-sm);font-size:var(--fs-body);font-weight:500;color:var(--text-secondary);transition:background var(--t-fast),color var(--t-fast);position:relative}.nav-item:hover{background:var(--surface-3);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:-var(--s3);left:calc(var(--s3) * -1);top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:0 3px 3px 0;background:var(--accent)}.nav-item svg{flex:0 0 auto;opacity:.75}.nav-item.active svg{opacity:1}.nav-count{margin-left:auto;background:var(--danger-soft);color:var(--danger);font-size:var(--fs-caption);font-weight:700;padding:1px 6px;border-radius:var(--r-full);border:1px solid var(--danger-border)}.sidebar-footer{margin-top:auto;padding-top:var(--s3);border-top:1px solid var(--border)}.user-chip{display:flex;align-items:center;gap:var(--s2);padding:var(--s2);border-radius:var(--r-sm);width:100%;border:none;background:transparent;cursor:pointer;font-family:inherit;text-align:left;transition:background var(--t-fast)}.user-chip:hover{background:var(--surface-3)}.shell.collapsed .sidebar{width:var(--sidebar-w-collapsed);flex-basis:var(--sidebar-w-collapsed);padding-left:var(--s2);padding-right:var(--s2);align-items:center}.shell.collapsed .nav-item{justify-content:center;padding:9px 0}.shell.collapsed .nav-count,.shell.collapsed .nav-item span,.shell.collapsed .nav-label,.shell.collapsed .sidebar-brand .logo,.shell.collapsed .user-chip .meta{display:none}.shell.collapsed .nav-group{margin-top:var(--s3);width:100%}.shell.collapsed .sidebar-brand{justify-content:center;padding-bottom:var(--s4)}.main{flex:1 1;min-width:0;display:flex;flex-direction:column}.topbar{height:var(--topbar-h);background:rgba(255,255,255,.85);-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border);gap:var(--s3);padding:0 var(--s5);position:-webkit-sticky;position:sticky;top:0;z-index:30}.breadcrumb,.topbar{display:flex;align-items:center}.breadcrumb{gap:var(--s2);font-size:var(--fs-sm);color:var(--muted);min-width:0}.breadcrumb .sep{color:var(--ink-300)}.breadcrumb .current{color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-trigger{display:flex;align-items:center;gap:var(--s2);height:34px;padding:0 var(--s2) 0 var(--s3);min-width:250px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-2);color:var(--muted);font-size:var(--fs-sm);font-family:inherit;cursor:pointer;transition:var(--t-fast)}.search-trigger:hover{border-color:var(--ink-300);background:var(--surface)}.kbd{margin-left:auto;display:inline-flex;gap:2px;font-family:var(--font);font-size:var(--fs-caption);font-weight:600;color:var(--muted-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xs);padding:1px 5px}.content{padding:var(--s6) var(--s5) var(--s10);max-width:var(--content-max);width:100%;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s5);flex-wrap:wrap}.page-head .sub{color:var(--muted);font-size:var(--fs-sm);margin-top:3px}.page-head .actions{display:flex;gap:var(--s2);flex-wrap:wrap}.section-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted-2);margin:var(--s6) 0 var(--s3)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-xs)}.card-head{padding:var(--s4) var(--s5);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:52px}.card-head h2{font-size:var(--fs-h3);font-weight:620}.card-body{padding:var(--s5)}.card-body.tight{padding:0}.card-foot{padding:var(--s3) var(--s5);border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--r-lg) var(--r-lg)}.grid{display:grid;grid-gap:var(--s4);gap:var(--s4)}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g6{grid-template-columns:repeat(6,minmax(0,1fr))}.g-main{grid-template-columns:minmax(0,2.1fr) minmax(0,1fr)}.row{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.col{display:flex;flex-direction:column;gap:var(--s4)}.spacer{flex:1 1}.stat{padding:var(--s4) var(--s5);display:block;transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}.stat.clickable:hover,a>.stat:hover{border-color:var(--border-strong);box-shadow:var(--sh-sm)}.stat .label{font-size:var(--fs-xs);color:var(--muted);font-weight:600;display:flex;align-items:center;gap:6px}.stat .value{font-size:25px;font-weight:660;margin-top:6px;letter-spacing:-.03em;line-height:1.15;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .hint{font-size:var(--fs-sm);color:var(--muted-2);margin-top:5px}.stat .spark{margin-top:var(--s3)}.stat.accent-ok .value{color:var(--success)}.stat.accent-warn .value{color:var(--warning)}.stat.accent-danger .value{color:var(--danger)}.stat.accent-critical .value{color:var(--critical)}.stat.accent-brand .value{color:var(--accent-text)}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:600;background:var(--surface-3);color:var(--text-secondary);border:1px solid transparent;white-space:nowrap;line-height:1.55}.badge.ok{background:var(--success-soft);color:var(--success);border-color:var(--success-border)}.badge.warn{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-border)}.badge.danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.badge.critical{background:var(--critical-soft);color:var(--critical);border-color:var(--critical-border)}.badge.brand,.badge.info{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-border)}.badge.muted{background:var(--surface-3);color:var(--muted);border-color:var(--border)}.dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}thead th{text-align:left;font-size:var(--fs-xs);color:var(--muted);font-weight:600;background:var(--surface-2);white-space:nowrap}tbody td,thead th{padding:var(--s3) var(--s5);border-bottom:1px solid var(--border)}tbody td{vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background var(--t-fast)}tbody tr:hover{background:var(--surface-2)}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cell-main{font-weight:600;color:var(--text)}a.cell-main:hover{color:var(--accent-text)}.cell-sub{font-size:var(--fs-sm);color:var(--muted);margin-top:1px}.row-actions{display:flex;gap:var(--s1);justify-content:flex-end;opacity:.55;transition:opacity var(--t-fast)}tbody tr:hover .row-actions{opacity:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 var(--s3);border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:var(--t-fast);font-family:inherit;white-space:nowrap;box-shadow:var(--sh-xs)}.btn,.btn:hover{color:var(--text)}.btn:hover{background:var(--surface-2);border-color:var(--ink-300)}.btn:active{transform:translateY(.5px)}.btn.primary{background:var(--ink-900);border-color:var(--ink-900);color:#fff}.btn.primary:hover{background:var(--ink-800);border-color:var(--ink-800);color:#fff}.btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn.accent:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn.danger{background:var(--surface);border-color:var(--danger-border);color:var(--danger)}.btn.danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted);box-shadow:none}.btn.ghost:hover{background:var(--surface-3);color:var(--text)}.btn.sm{height:28px;padding:0 10px;font-size:var(--fs-xs);gap:4px}.btn.lg{height:40px;padding:0 var(--s5);font-size:var(--fs-body)}.btn.block{width:100%}.btn.icon{width:34px;padding:0}.btn.icon.sm{width:28px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.spinner{width:13px;height:13px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin .6s linear infinite;opacity:.85}@keyframes spin{to{transform:rotate(1turn)}}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field label{font-size:var(--fs-sm);font-weight:600;color:var(--text-secondary)}.field .req{color:var(--danger);font-weight:700}.field .help{font-size:var(--fs-xs);color:var(--muted)}.field .err{font-size:var(--fs-xs);color:var(--danger);font-weight:500}input[type=date],input[type=datetime-local],input[type=email],input[type=file],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],select,textarea{width:100%;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);font-size:var(--fs-body);font-family:inherit;color:var(--text);outline:none;transition:border-color var(--t-fast),box-shadow var(--t-fast);min-height:36px}input::placeholder,textarea::placeholder{color:var(--muted-2)}input:hover,select:hover,textarea:hover{border-color:var(--ink-300)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}input:invalid:not(:placeholder-shown){border-color:var(--danger-border)}textarea{resize:vertical;min-height:78px;line-height:1.55}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}input[type=file]{padding:6px 10px;color:var(--muted)}input[type=checkbox]{width:16px;height:16px;min-height:16px;accent-color:var(--accent);cursor:pointer}.check{display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-body);cursor:pointer;padding:5px 0;color:var(--text-secondary)}.check:hover{color:var(--text)}fieldset{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s4);margin:0;background:var(--surface-2)}legend{font-size:var(--fs-xs);font-weight:700;color:var(--muted);padding:0 var(--s2);text-transform:uppercase;letter-spacing:.07em}.form-grid{display:grid;grid-gap:var(--s4);gap:var(--s4)}.tabs{display:flex;gap:var(--s1);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{padding:9px var(--s3);font-size:var(--fs-sm);font-weight:600;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap;transition:color var(--t-fast),border-color var(--t-fast);margin-bottom:-1px}.tab.active,.tab:hover{color:var(--text)}.tab.active{border-bottom-color:var(--ink-900)}.alert{display:flex;gap:var(--s3);align-items:flex-start;padding:var(--s3) var(--s4);border-radius:var(--r-md);font-size:var(--fs-body);border:1px solid var(--border);background:var(--surface);transition:var(--t-fast)}a.alert:hover{box-shadow:var(--sh-sm)}.alert svg{flex:0 0 auto;margin-top:1px}.alert.warn{background:var(--warning-soft);border-color:var(--warning-border);color:#92400e}.alert.danger{background:var(--danger-soft);border-color:var(--danger-border);color:#9f1239}.alert.critical{background:var(--critical-soft);border-color:var(--critical-border);color:#6b21a8}.alert.ok{background:var(--success-soft);border-color:var(--success-border);color:#065f46}.alert.info{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-text)}.timeline{position:relative;padding-left:var(--s6)}.timeline:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:1.5px;background:var(--border)}.tl-item{position:relative;padding-bottom:var(--s5)}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:"";position:absolute;left:calc(var(--s6) * -1 + 2px);top:5px;width:9px;height:9px;border-radius:50%;background:var(--surface);border:2px solid var(--ink-300)}.tl-item.hl:before{border-color:var(--accent);background:var(--accent)}.tl-date{font-size:var(--fs-xs);color:var(--muted-2);font-weight:600}.tl-title{font-weight:600;font-size:var(--fs-body);margin-top:2px}.tl-body{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:3px;line-height:1.6}.empty{text-align:center;padding:var(--s10) var(--s5);color:var(--muted)}.empty .ico{width:42px;height:42px;margin:0 auto var(--s3);border-radius:var(--r-md);background:var(--surface-3);display:grid;place-items:center;color:var(--muted-2)}.empty .title{font-weight:620;color:var(--text);font-size:var(--fs-h3)}.empty .desc{font-size:var(--fs-sm);margin-top:4px;max-width:380px;margin-left:auto;margin-right:auto;line-height:1.6}.skeleton{background:linear-gradient(90deg,var(--ink-100) 25%,var(--ink-50) 50%,var(--ink-100) 75%);background-size:200% 100%;animation:sk 1.3s ease-in-out infinite;border-radius:var(--r-xs);height:12px}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-host{position:fixed;bottom:var(--s5);right:var(--s5);z-index:90;display:flex;flex-direction:column;gap:var(--s2);pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--s3);min-width:280px;max-width:380px;padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--ink-900);color:#fff;box-shadow:var(--sh-lg);font-size:var(--fs-sm);animation:toast-in .22s cubic-bezier(.2,.9,.3,1)}.toast .t-title{font-weight:640}.toast .t-msg{color:var(--ink-300);margin-top:2px}.toast.ok svg{color:#6ee7b7}.toast.danger svg{color:#fda4af}.toast.warn svg{color:#fcd34d}.toast.info svg{color:#a5b4fc}.toast button{margin-left:auto;background:none;border:none;color:var(--ink-400);cursor:pointer;padding:0;display:grid;place-items:center}.toast button:hover{color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.97)}}.cmd-overlay{position:fixed;inset:0;background:rgba(18,21,27,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:12vh var(--s4) var(--s4);animation:fade .13s ease}@keyframes fade{0%{opacity:0}}.cmd{width:100%;max-width:560px;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sh-lg);overflow:hidden;animation:cmd-in .16s cubic-bezier(.2,.9,.3,1)}@keyframes cmd-in{0%{opacity:0;transform:translateY(-8px) scale(.985)}}.cmd-input{display:flex;align-items:center;gap:var(--s3);padding:var(--s4);border-bottom:1px solid var(--border)}.cmd-input input{border:none;padding:0;font-size:var(--fs-h2);min-height:auto}.cmd-input input:focus{box-shadow:none}.cmd-list{max-height:340px;overflow-y:auto;padding:var(--s2)}.cmd-section{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2);font-weight:700;padding:var(--s3) var(--s3) var(--s2)}.cmd-item{display:flex;align-items:center;gap:var(--s3);padding:9px var(--s3);border-radius:var(--r-sm);font-size:var(--fs-body);cursor:pointer;color:var(--text-secondary);width:100%;border:none;background:none;font-family:inherit;text-align:left}.cmd-item.sel,.cmd-item:hover{background:var(--surface-3);color:var(--text)}.cmd-item .meta{margin-left:auto}.cmd-foot,.cmd-item .meta{font-size:var(--fs-xs);color:var(--muted-2)}.cmd-foot{padding:var(--s2) var(--s4);border-top:1px solid var(--border);background:var(--surface-2);display:flex;gap:var(--s4)}.drawer-overlay{position:fixed;inset:0;background:rgba(18,21,27,.45);z-index:60;animation:fade .13s ease}.drawer{position:fixed;inset:0 auto 0 0;width:272px;background:var(--surface);z-index:61;padding:var(--s4) var(--s3);overflow-y:auto;animation:slide-in .18s cubic-bezier(.2,.9,.3,1);display:flex;flex-direction:column}@keyframes slide-in{0%{transform:translateX(-100%)}}.bar-track{height:6px;background:var(--ink-100);overflow:hidden;min-width:64px}.bar-fill,.bar-track{border-radius:var(--r-full)}.bar-fill{height:100%;background:var(--ink-800);transition:width var(--t)}.bar-fill.ok{background:var(--success)}.bar-fill.warn{background:#d97706}.bar-fill.danger{background:var(--danger)}.bar-seg{display:flex;gap:3px}.bar-seg i{height:6px;flex:1 1;border-radius:2px;background:var(--ink-150)}.bar-seg i.on{background:var(--ink-800)}.bar-seg i.on.warn{background:#d97706}.bar-seg i.on.danger{background:var(--danger)}.pill-filters{display:flex;gap:6px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:600;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary);transition:var(--t-fast);box-shadow:var(--sh-xs)}.pill:hover{border-color:var(--ink-300);color:var(--text)}.pill.active{background:var(--ink-900);border-color:var(--ink-900);color:#fff}.pill .n{font-size:var(--fs-xs);opacity:.65;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s4)}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:var(--fs-xs);font-weight:680;flex:0 0 auto;letter-spacing:-.02em}.avatar.sm{width:26px;height:26px;font-size:var(--fs-caption)}.avatar.lg{width:46px;height:46px;font-size:var(--fs-h2)}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.cal-head{background:var(--surface-2);padding:var(--s2);font-size:var(--fs-caption);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:center}.cal-cell{background:var(--surface);min-height:104px;padding:6px}.cal-cell.other{background:var(--surface-2)}.cal-cell.today .cal-day{background:var(--ink-900);color:#fff}.cal-day{font-weight:700;color:var(--muted);width:21px;height:21px;display:grid;place-items:center;border-radius:50%;margin-bottom:3px}.cal-day,.cal-ev{font-size:var(--fs-xs)}.cal-ev{padding:2px 6px;border-radius:var(--r-xs);margin-top:2px;background:var(--accent-soft);color:var(--accent-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:2px solid var(--accent);display:block;font-weight:500}.cal-ev.realizado{background:var(--success-soft);color:var(--success);border-left-color:var(--success)}.cal-ev.cancelado,.cal-ev.faltou{background:var(--danger-soft);color:var(--danger);border-left-color:var(--danger);text-decoration:line-through}.cal-ev.confirmado{background:var(--surface-3);color:var(--text-secondary);border-left-color:var(--ink-500)}.slot{display:flex;gap:var(--s4);padding:var(--s4) var(--s5);border-bottom:1px solid var(--border);transition:background var(--t-fast)}.slot:last-child{border-bottom:none}.slot:hover{background:var(--surface-2)}.slot-time{width:54px;flex:0 0 54px;font-weight:700;font-size:var(--fs-body);color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.slot-rail{width:3px;border-radius:3px;background:var(--ink-200);flex:0 0 3px}.slot-rail.confirmado{background:var(--success)}.slot-rail.agendado{background:var(--accent)}.slot-rail.realizado{background:var(--ink-400)}.slot-rail.cancelado,.slot-rail.faltou{background:var(--danger)}.m-list{display:none}.m-card{padding:var(--s4) var(--s5);border-bottom:1px solid var(--border)}.m-card:last-child{border-bottom:none}.m-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s3)}.m-card-meta{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);margin-top:var(--s2);font-size:var(--fs-sm);color:var(--muted)}.m-card-meta b{color:var(--text);font-weight:600}.m-card-actions{display:flex;gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap}.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.right{text-align:right}.center{text-align:center}.bold{font-weight:650}.mt{margin-top:var(--s4)}.mb{margin-bottom:var(--s4)}.nowrap{white-space:nowrap}.hide-md,.hide-sm{display:revert}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr;place-items:center;background:var(--surface);padding:var(--s5)}.login-card{width:100%;max-width:372px}.login-side{display:none}.login-demo{margin-top:var(--s5);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.login-demo-head{padding:var(--s2) var(--s3);background:var(--surface-2);border-bottom:1px solid var(--border);font-size:var(--fs-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.login-demo button{display:flex;width:100%;align-items:center;gap:var(--s3);padding:var(--s3);border:none;border-bottom:1px solid var(--border);background:var(--surface);cursor:pointer;font-family:inherit;text-align:left;transition:background var(--t-fast)}.login-demo button:last-child{border-bottom:none}.login-demo button:hover{background:var(--surface-2)}@media (min-width:900px){.login-wrap{grid-template-columns:1fr 1fr;place-items:stretch;padding:0}.login-form-side{display:grid;place-items:center;padding:var(--s8)}.login-side{display:flex;flex-direction:column;justify-content:space-between;background:var(--ink-900);color:#fff;padding:var(--s10)}.login-side h2{color:#fff;font-size:27px;line-height:1.3;letter-spacing:-.025em;max-width:420px}.login-side .feat{display:flex;gap:var(--s3);align-items:flex-start;color:var(--ink-300);font-size:var(--fs-body)}.login-side .feat svg{color:var(--ink-0);flex:0 0 auto;margin-top:2px}}.mobile-nav,.only-mobile{display:none}@media (max-width:1240px){.hide-md{display:none!important}}@media (max-width:1280px){.g6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1100px){.g-main{grid-template-columns:minmax(0,1fr)}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.sidebar{display:none}.only-mobile{display:inline-flex}.content{padding:var(--s4) var(--s4) 84px}.card-body,.card-head,.slot,tbody td,thead th{padding-left:var(--s4);padding-right:var(--s4)}.g2,.g3,.g6{grid-template-columns:repeat(2,minmax(0,1fr))}.hide-sm{display:none!important}.topbar{padding:0 var(--s4)}.search-trigger{min-width:0;width:34px;padding:0;justify-content:center}.search-trigger .kbd,.search-trigger span{display:none}.cal-cell{min-height:72px}.responsive .table-wrap{display:none}.responsive .m-list{display:block}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.mobile-nav a{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:var(--fs-caption);color:var(--muted);font-weight:600;padding:4px 0;transition:color var(--t-fast)}.mobile-nav a.active{color:var(--accent-text)}.toast-host{left:var(--s4);right:var(--s4);bottom:78px}.toast{min-width:0;max-width:none}}@media (max-width:620px){.g2,.g3,.g6{grid-template-columns:minmax(0,1fr)}.g4{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}.g4 .stat{padding:var(--s3)}.g4 .stat .value{font-size:19px}.stat .value{font-size:22px}.page-head{margin-bottom:var(--s4)}.page-head .actions{width:100%}.page-head .actions .btn{flex:1 1}.content{padding:var(--s4) var(--s3) 84px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.doc{--doc-pad:44px;max-width:940px;margin:0 auto;padding:var(--doc-pad);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);color:var(--ink-800)}.doc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s8);padding-bottom:var(--s5);border-bottom:2px solid var(--ink-900)}.doc-logo{display:block;height:50px;width:auto}.doc-org{margin-top:var(--s4);font-size:var(--fs-xs);line-height:1.75;color:var(--muted)}.doc-org strong{display:block;font-size:var(--fs-sm);font-weight:620;color:var(--ink-900);letter-spacing:-.01em}.doc-meta{flex:0 0 auto;text-align:right;min-width:210px}.doc-kicker{font-size:var(--fs-caption);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.doc-number{margin-top:2px;font-size:30px;font-weight:680;line-height:1.05;letter-spacing:-.025em;color:var(--ink-900);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.doc-meta-rows{margin-top:var(--s3);display:grid;grid-gap:3px;gap:3px;font-size:var(--fs-xs);color:var(--muted)}.doc-meta-rows>div{display:flex;justify-content:flex-end;gap:var(--s2)}.doc-meta-rows b{font-weight:600;color:var(--ink-800);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.doc-stamp{display:inline-block;margin-top:var(--s3);padding:3px 10px;border:1px solid;border-radius:var(--r-full);font-size:var(--fs-caption);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.doc-parties{display:grid;grid-template-columns:1.15fr 1fr;grid-gap:var(--s6);gap:var(--s6);margin-top:var(--s6);padding:var(--s5);background:var(--ink-25);border:1px solid var(--border);border-radius:var(--r-md)}.doc-label{margin-bottom:var(--s2);font-size:var(--fs-caption);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.doc-party-name{font-size:15px;font-weight:640;letter-spacing:-.012em;color:var(--ink-900)}.doc-party-list{margin-top:var(--s1);font-size:var(--fs-sm);line-height:1.8;color:var(--text-secondary)}.doc-section{margin-top:var(--s8)}.doc-section-title{margin-bottom:var(--s4);padding-bottom:var(--s2);border-bottom:1px solid var(--border-strong);font-size:var(--fs-caption);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.doc-table{width:100%;border-collapse:collapse}.doc-table th{padding:0 var(--s3) var(--s2);border-bottom:1px solid var(--border-strong);font-size:var(--fs-caption);font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-align:left;color:var(--muted)}.doc-table td{padding:var(--s3);border-bottom:1px solid var(--border);font-size:var(--fs-sm);vertical-align:top}.doc-table tr:last-child td{border-bottom:1px solid var(--border-strong)}.doc-table td.num,.doc-table th.num{text-align:right;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.doc-table td:first-child,.doc-table th:first-child{padding-left:0}.doc-table td:last-child,.doc-table th:last-child{padding-right:0}.doc-item-name{font-size:var(--fs-body);font-weight:620;color:var(--ink-900)}.doc-item-sub{margin-top:3px;font-size:var(--fs-xs);line-height:1.65;color:var(--muted)}.doc-close{display:grid;grid-template-columns:1fr 330px;grid-gap:var(--s8);gap:var(--s8);margin-top:var(--s6)}.doc-terms p{font-size:var(--fs-sm);line-height:1.8;color:var(--text-secondary)}.doc-terms p+p{margin-top:var(--s3)}.doc-note{margin-top:var(--s4);padding:var(--s3) var(--s4);border-left:3px solid var(--border-strong);background:var(--ink-25);border-radius:0 var(--r-sm) var(--r-sm) 0;line-height:1.75;white-space:pre-line}.doc-note,.doc-total-row{font-size:var(--fs-sm);color:var(--text-secondary)}.doc-total-row{display:flex;justify-content:space-between;gap:var(--s4);padding:5px 0}.doc-total-row b{font-weight:600;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.doc-total-final{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);margin-top:var(--s3);padding:var(--s4) var(--s5);border-radius:var(--r-md);background:var(--ink-900);color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}.doc-total-final .k{font-size:var(--fs-caption);font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.72}.doc-total-final .v{font-size:25px;font-weight:680;letter-spacing:-.025em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.doc-installment{margin-top:var(--s2);text-align:right;font-size:var(--fs-xs);line-height:1.7;color:var(--muted)}.doc-accept{margin-top:var(--s10);page-break-inside:avoid;break-inside:avoid}.doc-sign{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s10);gap:var(--s10);margin-top:var(--s10)}.doc-sign-line{padding-top:var(--s2);border-top:1px solid var(--ink-400);text-align:center}.doc-sign-line strong{display:block;font-size:var(--fs-sm);font-weight:620;color:var(--ink-800)}.doc-sign-line span{font-size:var(--fs-xs);color:var(--muted)}.doc-foot{display:flex;justify-content:space-between;gap:var(--s4);margin-top:var(--s8);padding-top:var(--s4);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--muted-2)}@media (max-width:860px){.doc{--doc-pad:var(--s5);border-radius:var(--r-md)}.doc-head{flex-direction:column;gap:var(--s5)}.doc-meta{text-align:left;min-width:0}.doc-meta-rows>div{justify-content:flex-start}.doc-close,.doc-parties,.doc-sign{grid-template-columns:1fr;gap:var(--s5)}}@media print{.mobile-nav,.no-print,.sidebar,.toast-host,.topbar{display:none!important}body{background:#fff}.content{padding:0;max-width:none}.card{border:1px solid #ddd;page-break-inside:avoid;break-inside:avoid}.card,.doc{box-shadow:none}.doc{max-width:none;margin:0;padding:0;border:0;border-radius:0}.doc-note,.doc-parties{-webkit-print-color-adjust:exact;print-color-adjust:exact}.doc-accept,.doc-close,.doc-section,.doc-table tr{page-break-inside:avoid;break-inside:avoid}.doc-table thead{display:table-header-group}@page{size:A4;margin:14mm}}.quick-proposal{padding:var(--s4);border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface-2)}.quick-proposal>.check{padding:0;font-weight:600;color:var(--text)}.quick-proposal-hint{margin-top:var(--s1);padding-left:26px;font-size:var(--fs-xs);line-height:1.6;color:var(--muted)}.quick-proposal-fields{margin-top:var(--s4);gap:var(--s3)}.quick-proposal:has(input[name=gerarProposta]:not(:checked)) .quick-proposal-fields{display:none}.checklist{display:grid;grid-gap:1px;gap:1px;max-height:210px;overflow-y:auto;padding:var(--s2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);scrollbar-width:thin}.checklist .check{padding:5px var(--s2);border-radius:var(--r-xs)}.checklist .check:hover{background:var(--surface-3)}.checklist-meta{margin-left:auto;padding-left:var(--s3);font-size:var(--fs-xs);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}