:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--text-2xl:2rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius:14px;--radius-sm:8px;--sidebar-width:248px;--appbar-height:64px;--bg:#f4f6fb;--surface:#fff;--surface-2:#edf1f6;--border:#e2e7ef;--text:#0e1a2b;--text-muted:#55627a;--accent:#006d9c;--accent-strong:#005a87;--accent-text:#fff;--accent-soft:#f0f8fc;--danger:#b42318;--danger-text:#fff;--danger-soft:#fdecea;--warning:#9a5b00;--warning-soft:#fdf3e1;--success:#17703c;--success-soft:#e6f4ec;--focus:#006d9c;--sidebar:#fff;--shadow:0 1px 2px #0e1a2b0d, 0 1px 3px #0e1a2b0f;--shadow-lg:0 4px 12px #0e1a2b14;--chart-1:#0086c0;--chart-2:#d9733a;--chart-3:#5546b5;--chart-4:#17703c;--facet-1:#dcebf5;--facet-2:#cfe5f3;--facet-3:#e8f2f9;--cover:#f5f8fb}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a111d;--surface:#111a29;--surface-2:#182336;--border:#243149;--text:#e8edf5;--text-muted:#9aa8bf;--accent:#009fe3;--accent-strong:#33b2e9;--accent-text:#0a111d;--accent-soft:#0f2a3d;--danger:#ff8a80;--danger-text:#1a0a09;--danger-soft:#3b1d1b;--warning:#f3b65b;--warning-soft:#3a2c14;--success:#6fd49a;--success-soft:#16301f;--focus:#33b2e9;--sidebar:#0d1522;--shadow:0 1px 2px #0006;--shadow-lg:0 6px 16px #00000073;--chart-1:#009fe3;--chart-2:#f4ac6c;--chart-3:#8576d8;--chart-4:#6fd49a;--facet-1:#10273a;--facet-2:#0f2335;--facet-3:#132c41;--cover:#0d1b28}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a111d;--surface:#111a29;--surface-2:#182336;--border:#243149;--text:#e8edf5;--text-muted:#9aa8bf;--accent:#009fe3;--accent-strong:#33b2e9;--accent-text:#0a111d;--accent-soft:#0f2a3d;--danger:#ff8a80;--danger-text:#1a0a09;--danger-soft:#3b1d1b;--warning:#f3b65b;--warning-soft:#3a2c14;--success:#6fd49a;--success-soft:#16301f;--focus:#33b2e9;--sidebar:#0d1522;--shadow:0 1px 2px #0006;--shadow-lg:0 6px 16px #00000073;--chart-1:#009fe3;--chart-2:#f4ac6c;--chart-3:#8576d8;--chart-4:#6fd49a;--facet-1:#10273a;--facet-2:#0f2335;--facet-3:#132c41;--cover:#0d1b28}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0;font-size:16px;line-height:1.5}a{color:var(--accent)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}code,.mono{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.9em}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.layout{flex-direction:column;min-height:100vh;display:flex}.shell{min-height:100vh;display:flex}.sidebar{z-index:40;gap:var(--space-5);width:var(--sidebar-width);padding:var(--space-4) var(--space-3);background:var(--sidebar);border-right:1px solid var(--border);visibility:hidden;flex-direction:column;transition:transform .2s,visibility .2s;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-100%)}.nav-open .sidebar{visibility:visible;box-shadow:var(--shadow-lg);transform:none}.scrim{z-index:35;background:#0e1a2b66;border:0;padding:0;display:none;position:fixed;inset:0}.nav-open .scrim{display:block}.brand{align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);color:var(--text);text-decoration:none;display:flex}.brand-mark{flex:none}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-text strong{font-size:var(--text-md);letter-spacing:-.01em;font-weight:800}.brand-text span{font-size:var(--text-xs);color:var(--text-muted)}.nav{gap:var(--space-5);flex-direction:column;flex:1;display:flex}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-account{padding-top:var(--space-3);border-top:1px solid var(--border);margin-top:auto}.nav-group-label{margin:0 0 var(--space-1);padding:0 var(--space-3);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.6875rem;font-weight:700}.nav a{align-items:center;gap:var(--space-3);padding:.55rem var(--space-3);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-sm);font-weight:500;text-decoration:none;display:flex}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-strong);font-weight:650}.icon{flex:none}.thumb{vertical-align:-.2em;display:inline-flex}.chip .thumb{vertical-align:-.25em}.main{background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex}.appbar{z-index:20;align-items:center;gap:var(--space-2);min-height:var(--appbar-height);padding:var(--space-2) var(--space-4);background:var(--surface);border-bottom:1px solid var(--border);display:flex;position:sticky;top:0}.appbar-title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.appbar-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.btn.icon-button{min-width:2.5rem;min-height:2.5rem;padding:var(--space-2);color:var(--text-muted);border-radius:999px}.btn.icon-button:hover:not(:disabled){color:var(--text)}.who{align-items:center;gap:var(--space-2);padding:var(--space-1);color:var(--text);border-radius:999px;text-decoration:none;display:flex}.who:hover{background:var(--surface-2)}.avatar{background:var(--accent);width:2.25rem;height:2.25rem;color:var(--accent-text);font-size:var(--text-xs);letter-spacing:.02em;border-radius:999px;flex:none;place-items:center;font-weight:700;display:grid}.who-text{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;padding-right:var(--space-2);flex-direction:column;line-height:1.2;position:absolute;overflow:hidden}.who-text strong{font-size:var(--text-sm);font-weight:600}.who-text span{font-size:var(--text-xs);color:var(--text-muted)}.content{width:100%;max-width:1320px;padding:var(--space-5) var(--space-4);flex:1;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-title{min-width:0}.page-header h1{font-size:var(--text-xl);letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-weight:800;line-height:1.15}.page-subtitle{margin:var(--space-1) 0 0;color:var(--text-muted)}.narrow{max-width:420px;margin:var(--space-6) auto}.login-brand{margin-bottom:var(--space-4);justify-content:center;display:flex}.stack{gap:var(--space-4);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.kv-actions{margin-top:var(--space-4)}.grid{gap:var(--space-5);grid-template-columns:1fr;display:grid}.kpis{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid+.kpis{margin-top:var(--space-5)}@media (min-width:640px){.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.who-text{clip:auto;width:auto;height:auto;display:flex;position:static;overflow:visible}}@media (min-width:960px){.sidebar{visibility:visible;flex:none;height:100vh;transition:none;position:sticky;top:0;transform:none}.nav-open .sidebar{box-shadow:none}.shell{background:linear-gradient(90deg, var(--sidebar) calc(var(--sidebar-width) - 1px), var(--border) 0 var(--sidebar-width), var(--bg) 0)}.appbar .menu-toggle,.nav-open .scrim{display:none}.appbar{padding:var(--space-2) var(--space-6)}.content{padding:var(--space-6)}.page-header h1{font-size:var(--text-2xl)}}@media (min-width:1100px){.grid.wide{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}.card{--card-pad:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--card-pad);min-width:0}.card+.card{margin-top:var(--space-5)}.grid>.card+.card{margin-top:0}.card-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin:calc(-1 * var(--card-pad)) calc(-1 * var(--card-pad)) var(--card-pad);padding:var(--space-4) var(--card-pad);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.card h2{font-size:var(--text-md);margin:0;font-weight:700}.card h3{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-sm)}.kpi{gap:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);padding:var(--space-5);flex-direction:column;display:flex}.kpi-head{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.kpi-label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-weight:650}.kpi-icon{background:var(--accent-soft);width:2.25rem;height:2.25rem;color:var(--accent);border-radius:10px;flex:none;place-items:center;margin:-.25rem -.25rem 0 0;display:grid}.kpi-value{font-size:var(--text-xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:800;line-height:1.15}.kpi-hint{font-size:var(--text-sm);color:var(--text-muted)}.kpi.warning .kpi-value{color:var(--warning)}.kpi.warning .kpi-icon{background:var(--warning-soft);color:var(--warning)}.kpi.danger .kpi-value{color:var(--danger)}.kpi.danger .kpi-icon{background:var(--danger-soft);color:var(--danger)}@media (max-width:639px){.kpi{padding:var(--space-4)}.kpi-value{font-size:var(--text-lg)}.kpi-icon{width:2rem;height:2rem}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.5rem;padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:var(--text-sm);cursor:pointer;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn.danger{background:var(--danger);border-color:var(--danger);color:var(--danger-text)}.btn.ghost{background:0 0;border-color:#0000}.btn:disabled{opacity:.55;cursor:not-allowed}.btn[aria-busy=true]{cursor:progress}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.input,.field input,.field select,.field textarea{width:100%;min-height:2.5rem;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:1rem}.field textarea{resize:vertical;min-height:5rem}.field{gap:var(--space-1);flex-direction:column;display:flex}.field-label{font-size:var(--text-sm);font-weight:600}.field-hint{font-size:var(--text-xs);color:var(--text-muted)}.form{gap:var(--space-3);flex-direction:column;display:flex}.form-grid{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (min-width:640px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.filters{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.filters .input{flex:12rem;width:auto}.badge{font-size:var(--text-xs);background:var(--surface-2);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:.1rem .5rem;font-weight:600;display:inline-block}.badge.s-active,.badge.s-succeeded,.badge.s-indexed,.badge.s-completed{background:var(--success-soft);color:var(--success)}.badge.s-suspended,.badge.s-warning,.badge.s-pending,.badge.s-processing,.badge.s-running{background:var(--warning-soft);color:var(--warning)}.badge.s-revoked,.badge.s-failed,.badge.s-critical,.badge.s-expired{background:var(--danger-soft);color:var(--danger)}.chip{font-size:var(--text-xs);background:var(--accent-soft);color:var(--accent-strong);margin:0 var(--space-1) var(--space-1) 0;border-radius:999px;padding:.1rem .5rem;display:inline-block}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}th,td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;font-weight:650}tbody tr:last-child td{border-bottom:0}@media (min-width:640px){tbody tr:hover td{background:var(--surface-2)}}.num{text-align:right;font-variant-numeric:tabular-nums}th .sort{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}th[aria-sort=ascending] .sort:after{content:" ▲"}th[aria-sort=descending] .sort:after{content:" ▼"}.data-table-filter{margin-bottom:var(--space-3);max-width:24rem}@media (max-width:639px){.data-table table,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.data-table tr{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:var(--space-2);padding:var(--space-2)}.data-table td{padding:var(--space-1) 0;text-align:left;border:0}.data-table td:before{content:attr(data-label);font-size:var(--text-xs);color:var(--text-muted);display:block}}.kv{gap:var(--space-1) var(--space-4);font-size:var(--text-sm);grid-template-columns:minmax(8rem,max-content) 1fr;margin:0;display:grid}.kv dt{color:var(--text-muted)}.kv dd{overflow-wrap:anywhere;margin:0}.tabs{gap:var(--space-1);border-bottom:1px solid var(--border);margin-bottom:var(--space-4);display:flex;overflow-x:auto}.tab{padding:var(--space-2) var(--space-3);color:var(--text-muted);font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.dialog-backdrop{padding:var(--space-4);z-index:50;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);color:var(--text);border-radius:var(--radius);padding:var(--space-5);width:100%;max-width:480px;box-shadow:0 10px 30px #0000004d}.dialog h2{margin:0 0 var(--space-3);font-size:var(--text-lg)}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);display:flex}.toasts{right:var(--space-4);bottom:var(--space-4);left:var(--space-4);align-items:flex-end;gap:var(--space-2);z-index:60;pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);max-width:420px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--success-soft);color:var(--success);border:1px solid var(--success);box-shadow:var(--shadow);pointer-events:auto;overflow-wrap:anywhere;display:flex}.toast.error{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.toast-close{color:inherit;font-size:var(--text-lg);cursor:pointer;background:0 0;border:0;line-height:1}.empty{padding:var(--space-5) var(--space-3);text-align:center}.empty-title{margin:0 0 var(--space-1);font-weight:600}.skeleton-group{gap:var(--space-2);flex-direction:column;display:flex}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-2), var(--border), var(--surface-2));background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--accent-soft);font-size:var(--text-sm)}.notice.warning{background:var(--warning-soft);color:var(--warning)}.notice.danger{background:var(--danger-soft);color:var(--danger)}.text-danger{color:var(--danger);font-weight:600}.secret{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);font-family:var(--font-mono);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;display:block}.meter{margin-bottom:var(--space-3)}.meter-label{font-size:var(--text-sm);justify-content:space-between;display:flex}.meter meter{width:100%;height:.5rem;accent-color:var(--accent)}.meter.high meter{accent-color:var(--danger)}.chart{margin:0}.chart-legend{justify-content:center;gap:var(--space-4);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.legend-item:before{content:"";width:.625rem;height:.625rem;margin-right:var(--space-1);vertical-align:-1px;background:var(--chart-1);border-radius:999px;display:inline-block}.legend-item.c-2:before{background:var(--chart-2)}.legend-item.c-3:before{background:var(--chart-3)}.legend-item.c-4:before{background:var(--chart-4)}.back{margin:0 0 var(--space-2);font-size:var(--text-sm)}.row.spread{justify-content:space-between}.row.spread p{margin:0}fieldset.period{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:999px;gap:2px;margin:0;padding:3px}fieldset.period .btn{min-height:2.125rem;padding:var(--space-1) var(--space-4);color:var(--text-muted);background:0 0;border-color:#0000;border-radius:999px}fieldset.period .btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}fieldset.period .btn.primary,fieldset.period .btn.primary:hover:not(:disabled){background:var(--accent);color:var(--accent-text)}.page-header h2{font-size:var(--text-lg);margin:0}.steps{gap:var(--space-2);margin:0 0 var(--space-4);counter-reset:step;font-size:var(--text-sm);flex-wrap:wrap;padding:0;list-style:none;display:flex}.steps li{counter-increment:step;padding:var(--space-1) var(--space-3);background:var(--surface-2);color:var(--text-muted);border-radius:999px}.steps li:before{content:counter(step) ". "}.steps li.done{background:var(--success-soft);color:var(--success)}.steps li.current{background:var(--accent);color:var(--accent-text);font-weight:600}fieldset.choice{gap:var(--space-4);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.messages{margin:var(--space-4) 0 0;gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.message{max-width:80ch;padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.message.assistant{background:var(--accent-soft);align-self:flex-end}.notice a,.message.assistant a{color:var(--accent-strong)}.message.highlight{outline:2px solid var(--warning);outline-offset:2px}.message-meta{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;display:flex}.message-role{color:var(--text);font-weight:700}.message-text{margin:var(--space-2) 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.card.alerts{margin-bottom:var(--space-5)}.grid+.card,.grid+.grid{margin-top:var(--space-5)}.export-form{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.export-form .field{margin:0}.upload-form{column-gap:var(--space-3);row-gap:var(--space-1);margin:var(--space-4) 0;grid-template-columns:minmax(0,22rem) minmax(0,16rem) auto;align-items:center;display:grid}.upload-form .field{grid-row:span 3;grid-template-rows:subgrid;margin:0;display:grid}.upload-form>button.btn{grid-area:2/3;place-self:stretch start}.upload-form .notice{margin:var(--space-2) 0 0;grid-column:1/-1}@media (max-width:639px){.upload-form{align-items:stretch;gap:var(--space-3);flex-direction:column;display:flex}.upload-form .field{display:flex}.upload-form>button.btn{align-self:flex-start}}.field input[type=file]{color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;padding:.3125rem}.field input[type=file]::file-selector-button{margin-right:var(--space-3);min-height:1.75rem;padding:0 var(--space-3);border:1px solid var(--accent);border-radius:calc(var(--radius-sm) - 3px);background:var(--accent-soft);color:var(--accent);font:inherit;cursor:pointer;font-weight:600;transition:background-color .15s,color .15s}.field input[type=file]:hover::file-selector-button{background:var(--accent);color:var(--accent-text)}.upload-warning{font-size:.875rem}.guidelines-layout{align-items:start}.guidelines-view ul{margin:0 0 var(--space-4);padding-left:var(--space-5)}.guidelines-text{white-space:pre-wrap;overflow-wrap:anywhere}.guidelines-order{gap:var(--space-2);margin:0 0 var(--space-4);padding-left:var(--space-5);display:grid}.muted{color:var(--text-muted)}.report-controls{align-items:flex-end}.segmented{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);margin:0;padding:3px;display:inline-flex}.segment{min-height:2.25rem;padding:0 var(--space-3);border-radius:calc(var(--radius-sm) - 3px);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;align-items:center;font-weight:600;display:inline-flex;position:relative}.segment input{opacity:0;pointer-events:none;position:absolute}.segment.active{background:var(--surface);box-shadow:var(--shadow);color:var(--text)}.segment:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:1px}.report-section{margin-top:var(--space-6)}.report-section-title{margin:0 0 var(--space-3);padding-left:var(--space-3);border-left:4px solid #009fe3;font-size:1.125rem}.report-section>.kpis{margin-bottom:0}.report-figure{margin:0;font-size:2rem;font-weight:700;line-height:1.1}.report-figure .muted{font-size:1rem;font-weight:500}.report-internal-block{gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3);border:1px dashed var(--border);border-radius:var(--radius);display:grid}.report-internal-title{margin:0;font-size:.875rem}.report-internal{margin:var(--space-4) 0 0;padding:var(--space-3);border:1px dashed var(--border);border-radius:calc(var(--radius) / 2);font-size:.875rem}.report-footer{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border)}.report-note{margin:0;font-size:.875rem}.report-signature{align-items:center;gap:var(--space-3);margin:var(--space-4) 0 0;color:var(--text);font-size:.8125rem;display:flex}.doc{max-width:1100px}.doc-cover{gap:var(--space-5);border:1px solid var(--border);border-radius:var(--radius);background:var(--cover);color:var(--text);padding:clamp(1.5rem,5vw,3.5rem);display:grid;position:relative;overflow:hidden}.doc-cover-facets{pointer-events:none;width:min(680px,90%);height:auto;position:absolute;top:-40px;right:-120px}.doc-cover-facets polygon:nth-child(3n+1){fill:var(--facet-1)}.doc-cover-facets polygon:nth-child(3n+2){fill:var(--facet-2)}.doc-cover-facets polygon:nth-child(3n){fill:var(--facet-3)}.doc-cover-body{gap:var(--space-5);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;position:relative}.doc-cover-copy{justify-items:start;gap:var(--space-3);min-width:0;display:grid}.doc-cover-logo{margin-bottom:var(--space-3);color:var(--text);display:block}.doc-cover-kicker{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.doc-cover-title{letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;line-height:1.1}.doc-cover-subtitle{color:var(--accent);margin:0;font-size:1.25rem;font-weight:700}.doc-cover-chips{gap:var(--space-2);margin:var(--space-2) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.doc-chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.4rem .85rem;font-size:.875rem}.doc-chip strong{font-variant-numeric:tabular-nums}.doc-cover-meta{color:var(--text-muted);margin:0;font-size:.875rem}.doc-cover-mark{line-height:0}.doc-cover-foot{padding-top:var(--space-3);color:var(--text-muted);border-top:4px solid #009fe3;border-image:linear-gradient(90deg,#07a,#009fe3) 1;margin:0;font-size:.8125rem;position:relative}.doc-running{display:none}@media (max-width:720px){.doc-cover-body{grid-template-columns:minmax(0,1fr)}.doc-cover-mark{display:none}}@page{size:A4;margin:14mm 12mm 16mm;@bottom-right{content:"Página " counter(page) " de " counter(pages);font-family:Inter,system-ui,sans-serif;font-size:9pt;color:#55627a}@bottom-left{content:"Tuc, el asistente virtual de Serac";font-family:Inter,system-ui,sans-serif;font-size:9pt;color:#55627a}}@page cover{margin:0;@bottom-right{content:none}@bottom-left{content:none}}@page report{margin:10mm 12mm 16mm;@bottom-left{content:"Informe preparado por Serac, estudi digital"}}@page quote{margin:10mm 12mm 16mm;@bottom-left{content:"Serac, estudi digital · Presupuesto"}}@media print{html:root:not([data-print]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--surface:#fff;--surface-2:#edf1f6;--border:#d5dce6;--text:#0e1a2b;--text-muted:#55627a;--accent:#006d9c;--accent-strong:#005a87;--accent-soft:#f0f8fc;--cover:#f5f8fb;--facet-1:#dcebf5;--facet-2:#cfe5f3;--facet-3:#e8f2f9}.sidebar,.appbar,.tabs,.page-header,.back,.no-print{display:none!important}body,.layout,.shell,.main,.content{color:#000;background:#fff;margin:0;padding:0;display:block}.doc{-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact;max-width:none}.doc-cover{page:cover;break-after:page;border:0;border-radius:0;grid-template-rows:minmax(0,1fr) auto;height:296mm;padding:22mm 20mm 16mm}.doc-cover-facets{width:160mm;top:-8mm;right:-36mm}.doc-cover-body{align-self:center}.doc-cover-title{font-size:30pt}.doc-pages{table-layout:fixed;width:100%;display:table}.doc-report .doc-pages{page:report}.doc-quote .doc-pages{page:quote}.doc-running{break-inside:avoid;display:table-header-group}.doc-running-inner{color:#0e1a2b;border-bottom:2px solid #009fe3;border-image:linear-gradient(90deg,#07a,#009fe3) 1;justify-content:space-between;align-items:center;gap:6mm;margin-bottom:5mm;padding-bottom:2.5mm;font-size:9pt;display:flex}.doc-running-text{color:#55627a;text-align:right}.doc-body{display:table-row-group}.report-section{margin-top:6mm}.doc-body>.report-section:first-child{margin-top:0}.report-section-title{break-after:avoid}.card,.kpi{box-shadow:none;break-inside:avoid}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.chart .uplot,.chart .u-wrap{width:100%!important;height:auto!important}.chart canvas{max-width:100%;width:100%!important;height:auto!important}.chart .u-over,.chart .u-under,.chart .u-axis{display:none}.chart .u-wrap{overflow:hidden}.report-footer{break-inside:avoid}}.badge.q-sent{background:var(--accent-soft);color:var(--accent)}.badge.q-accepted{background:var(--success-soft);color:var(--success)}.badge.q-rejected{background:var(--danger-soft);color:var(--danger)}.quote-templates{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:760px){.quote-templates{grid-template-columns:repeat(3,minmax(0,1fr))}}.quote-template{align-content:start;justify-items:start;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);display:grid}.quote-template h3,.quote-template p{margin:0}.quote-template h3{font-size:1rem}.quote-template-price{font-variant-numeric:tabular-nums;font-weight:700}.quote-actions{justify-content:flex-end}.quote-editor{gap:var(--space-5);margin-top:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.quote-form{gap:var(--space-4);min-width:0;display:grid}.quote-preview{min-width:0}@media (min-width:1280px){.quote-editor{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}.quote-preview{top:calc(var(--appbar-height) + var(--space-4));max-height:calc(100vh - var(--appbar-height) - 2rem);position:sticky;overflow:auto}}.quote-preview .doc-cover-mark svg{width:140px;height:140px}.quote-preview-label{margin:0 0 var(--space-2);color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.quote-item{gap:var(--space-2);min-width:0;margin:0 0 var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);display:grid}.quote-item legend{padding:0 var(--space-1);color:var(--text-muted);font-size:var(--text-sm);font-weight:600}.quote-item input:not([type=checkbox]),.quote-item select,.quote-item textarea,.quote-line input{width:100%;min-height:2.5rem;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:1rem}.quote-item textarea{resize:vertical}.quote-item-numbers{align-items:end;gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quote-item-numbers label{gap:var(--space-1);color:var(--text-muted);font-size:var(--text-xs);font-weight:600;display:grid}.quote-item-numbers .checkbox{align-items:center;gap:var(--space-2);min-height:2.5rem;color:var(--text);font-size:var(--text-sm);display:flex}.quote-row-actions{justify-content:flex-end}.quote-row-actions .btn{min-height:2rem;padding:0 var(--space-2);font-size:var(--text-sm)}.quote-line{margin-bottom:var(--space-2);flex-wrap:nowrap}.quote-line input{flex:1}.quote-phase-fields{gap:var(--space-2);grid-template-columns:minmax(0,1fr) 7rem;display:grid}.quote-text p{max-width:70ch;margin:0 0 var(--space-3)}.quote-checks{gap:var(--space-2);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}@media (min-width:900px){.quote-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}.quote-checks li{padding-left:1.75rem;position:relative}.quote-checks li:before{content:"";background:var(--accent-soft);border-radius:50%;width:1.15rem;height:1.15rem;position:absolute;top:.15rem;left:0}.quote-checks li:after{content:"";border:solid var(--accent);border-width:0 2px 2px 0;width:.3rem;height:.55rem;position:absolute;top:.38rem;left:.42rem;transform:rotate(45deg)}.quote-table-scroll{margin-bottom:var(--space-3);overflow-x:auto}.quote-table-scroll .quote-table{min-width:34rem;margin-bottom:0}.quote-table{width:100%;margin-bottom:var(--space-3);border-collapse:collapse;font-size:var(--text-sm)}.quote-table th,.quote-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.quote-table thead th{color:var(--accent);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;border-bottom:2px solid #009fe3}.quote-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.quote-line-note{color:var(--text-muted);margin-top:.2rem;display:block}.quote-totals{max-width:34rem;margin-left:auto}.quote-totals th{font-weight:500}.quote-totals td.num{white-space:normal}.quote-sum th,.quote-sum td{background:var(--accent-soft);font-size:1rem;font-weight:800}.quote-fine{font-size:var(--text-xs);text-align:right;margin:0}.quote-phases{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.quote-phases li{gap:var(--space-3);grid-template-columns:2.5rem minmax(0,1fr);display:grid}.quote-phases p{color:var(--text-muted);margin:.25rem 0 0}.quote-phase-num{color:#fff;width:2.25rem;height:2.25rem;font-size:var(--text-sm);background:linear-gradient(135deg,#005a87,#07a);border-radius:50%;place-items:center;font-weight:700;display:grid}.quote-phase-when{color:var(--text-muted);font-size:var(--text-sm)}.quote-terms{gap:0 var(--space-5);grid-template-columns:minmax(0,1fr);margin:0;display:grid}@media (min-width:900px){.quote-terms{grid-template-columns:repeat(2,minmax(0,1fr))}}.quote-terms div{padding:var(--space-3) 0;border-top:1px solid var(--border)}.quote-terms dt{font-weight:700}.quote-terms dd{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-sm)}@media print{.quote-editor{margin:0;display:block}.quote-preview{max-height:none;position:static;overflow:visible}.quote-preview .doc-cover-mark svg{width:200px;height:200px}.quote-checks,.quote-terms{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-table-scroll{overflow:visible}.quote-table-scroll .quote-table{min-width:0}.quote-totals-block{break-inside:avoid}.doc-quote .report-footer{break-before:avoid}.doc .report-footer{margin-top:5mm;padding-top:3mm}.quote-table tr,.quote-terms div,.quote-phases li{break-inside:avoid}}.instructions{margin:0 0 var(--space-3);padding-left:var(--space-5);font-size:var(--text-sm);line-height:1.55}.instructions li+li{margin-top:var(--space-2)}.knowledge-detail,.knowledge-try{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.knowledge-detail-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.knowledge-detail h4{margin:var(--space-4) 0 var(--space-2)}.knowledge-text{max-height:18rem;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm,6px);background:var(--surface-2);font-family:inherit;font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.55;overflow:auto}.knowledge-chunks{padding-left:var(--space-5);margin:0}.knowledge-chunks li+li{margin-top:var(--space-3)}.knowledge-chunks p{margin:0 0 var(--space-1)}.boost-history{padding-left:var(--space-5);font-size:var(--text-sm);margin:0;line-height:1.55}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.small{font-size:var(--text-sm)}.language-switch{justify-content:center;gap:var(--space-2);margin:0 0 var(--space-4);border:0;padding:0;display:flex}.language-option{font:inherit;font-size:var(--text-sm);color:var(--text-muted);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);cursor:pointer;background:0 0;border:1px solid #0000}.language-option[aria-pressed=true]{color:var(--text);border-color:var(--accent);background:var(--surface);font-weight:600}.language-option:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.appbar-site{color:var(--text-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;max-width:16rem;overflow:hidden}@media (max-width:640px){.appbar-site{display:none}}.narrow.invitation{max-width:560px}.step-title{margin:var(--space-4) 0 var(--space-1);font-size:var(--text-md)}.app-steps{margin:0 0 var(--space-3);padding-left:var(--space-5)}.qr-box{margin:var(--space-3) 0;justify-content:center;display:flex}.qr-canvas{width:220px;height:220px;image-rendering:pixelated;border-radius:var(--radius-sm)}.secret-key{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.secret-key code{font-family:var(--font-mono);font-size:var(--text-md);letter-spacing:.04em;overflow-wrap:anywhere}.read-only-band{z-index:30;justify-content:center;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-4);background:var(--warning-soft);color:var(--text);border-bottom:1px solid var(--warning);text-align:center;flex-wrap:wrap;font-weight:600;display:flex;position:sticky;top:0}@media (min-width:900px){.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}}.link-list,.plain-list{padding-left:var(--space-5);gap:var(--space-2);flex-direction:column;margin:0;display:flex}.team-list{margin:0;padding:0;list-style:none}.team-row{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.team-row:first-child{border-top:0}.team-who{align-items:baseline;gap:var(--space-1) var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.team-who strong{overflow-wrap:anywhere}.team-who .small{flex-basis:100%}.team-actions{align-items:center;gap:var(--space-2);display:flex}.invite-link{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.nav-help{padding-top:var(--space-3);border-top:1px solid var(--border);margin-top:auto}.team-role-select{width:auto;min-width:9rem}.delivery-status{align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);color:var(--text-muted);font-size:var(--text-sm);display:flex}.delivery-status .icon{flex:none}.delivery-status.delivered .icon{color:var(--success)}.delivery-status.never{color:var(--warning)}.save-bar{bottom:var(--space-3);z-index:20;align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-5);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);flex-wrap:wrap;display:flex;position:sticky}.save-bar.conflict{background:var(--warning-soft);border-color:var(--warning)}.save-bar-text{margin:0;font-weight:600}.save-bar-error{color:var(--danger);font-size:var(--text-sm);flex-basis:100%;order:1;margin:0}.save-bar-actions{gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.page-picker{gap:var(--space-3);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.page-picker legend{margin-bottom:var(--space-2);padding:0;font-weight:600}.page-picker p{margin:0}.page-chosen{font-size:var(--text-sm);font-weight:600}.page-list{margin:0;padding:0;list-style:none}.page-list li{align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.page-list li:first-child{border-top:0}.page-title{overflow-wrap:anywhere;flex:12rem;min-width:0}.preview-frame{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.preview-frame iframe{border:0;width:100%;height:640px;display:block}.with-preview{gap:var(--space-5);align-items:start;display:grid}@media (min-width:1100px){.with-preview{grid-template-columns:minmax(0,1fr) minmax(320px,400px)}.with-preview>.preview-frame{top:calc(var(--appbar-height) + var(--space-4));position:sticky}}.fields{gap:var(--space-4);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.fields .checkbox{align-items:center;gap:var(--space-2);font-weight:600;display:flex}.fields .field-hint{margin:0}.color-field{align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.color-field .field:last-child{flex:12rem}.color-picker{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;width:4rem;height:2.5rem;padding:0}.field-error{color:var(--danger);font-weight:600}.field-group{gap:var(--space-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.field-group>legend{margin-bottom:var(--space-2);padding:0;font-weight:600}.fields .field-group .checkbox{font-weight:400}.field-group.day-list{gap:var(--space-2) var(--space-4);flex-flow:wrap}.contact-list{gap:var(--space-3);flex-direction:column;display:flex}.contact-button{gap:var(--space-3);min-width:0;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;margin:0;display:flex}.contact-button>legend{padding:0 var(--space-1);font-size:var(--text-sm);font-weight:600}.contact-button-fields,.consent-point{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:640px){.contact-button-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.consent-point{grid-template-columns:minmax(9rem,12rem) minmax(0,1fr)}}.contact-button-actions,.time-range{gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.time-range .field{flex:0 10rem}.tab-save,.tab-conflict{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.tab-save p,.tab-conflict p{margin:0}.tab-save .btn{margin-left:auto}.welcome-step h2{margin:0 0 var(--space-1);font-size:var(--text-lg)}.welcome-step h2:focus:not(:focus-visible){outline:none}.welcome-step>.muted{margin:0 0 var(--space-4)}.welcome-progress{color:var(--text-muted);font-size:var(--text-sm);margin:0}.welcome-step .language-switch{justify-content:flex-start;margin:0}.welcome-messages{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}.welcome-messages p{margin:0}.welcome-messages:empty{display:none}.welcome-actions{align-items:center;gap:var(--space-2) var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.welcome-actions .btn.primary{margin-left:auto}.home-welcome{margin:0 0 var(--space-4)}
/*$vite$:1*/