*{box-sizing:border-box;margin:0;padding:0}:root{--color-bg-gradient: linear-gradient(150deg, #0f172a 0%, #1a3050 45%, #0f4c8a 100%);--color-bg: #0f172a;--color-surface: rgba(255, 255, 255, .07);--color-surface-hover: rgba(255, 255, 255, .11);--color-text: rgba(255, 255, 255, .92);--color-text-muted: rgba(255, 255, 255, .5);--color-border: rgba(255, 255, 255, .12);--color-primary: #3b82f6;--color-primary-dim: rgba(59, 130, 246, .25);--color-success: #22c55e;--color-danger: #ef4444;--color-warning: #f97316;--spacing-unit: 1rem;--radius: 6px;--sidebar-width: 240px}select option{background:var(--color-bg);color:var(--color-text)}:root[data-theme=light]{--color-bg-gradient: linear-gradient(150deg, #c5d8f8 0%, #daeaff 45%, #b8cff5 100%);--color-bg: #daeaff;--color-surface: rgba(255, 255, 255, .55);--color-surface-hover: rgba(255, 255, 255, .75);--color-text: rgba(10, 25, 60, .9);--color-text-muted: rgba(10, 25, 60, .5);--color-border: rgba(10, 25, 60, .12);--color-primary: #1a56db;--color-primary-dim: rgba(26, 86, 219, .15)}@media(prefers-color-scheme:light){:root[data-theme=auto]{--color-bg-gradient: linear-gradient(150deg, #c5d8f8 0%, #daeaff 45%, #b8cff5 100%);--color-bg: #daeaff;--color-surface: rgba(255, 255, 255, .55);--color-surface-hover: rgba(255, 255, 255, .75);--color-text: rgba(10, 25, 60, .9);--color-text-muted: rgba(10, 25, 60, .5);--color-border: rgba(10, 25, 60, .12);--color-primary: #1a56db;--color-primary-dim: rgba(26, 86, 219, .15)}}body{font-family:system-ui,-apple-system,sans-serif;line-height:1.5;min-block-size:100dvh;background:var(--color-bg-gradient);color:var(--color-text);display:flex;flex-direction:column;position:relative}body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0}body>*{position:relative;z-index:1}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}a[target=_blank]:after{content:" ↗";font-size:.7em;vertical-align:super;opacity:.6}pre{background:#00000040;border:1px solid var(--color-border);padding:var(--spacing-unit);border-radius:var(--radius);overflow-x:auto;font-size:.85rem;color:var(--color-text)}details{margin-block-end:var(--spacing-unit)}details:last-child{margin-block-end:0}details summary{cursor:pointer;padding-block:calc(var(--spacing-unit) * .5);padding-inline:var(--spacing-unit);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);font-weight:600;font-size:.9rem;color:var(--color-text)}details summary:hover{background:var(--color-surface-hover)}details summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}details[open] summary{margin-block-end:var(--spacing-unit);border-radius:var(--radius) var(--radius) 0 0}details p{padding-inline-start:var(--spacing-unit);margin-block-end:calc(var(--spacing-unit) * .5);opacity:.8}.skip-link{position:absolute;inset-block-start:-999px;inset-inline-start:-999px;background:var(--color-primary);color:#fff;padding:var(--spacing-unit) calc(var(--spacing-unit) * 2);text-decoration:none;border-radius:var(--radius);z-index:9999}.skip-link:focus{inset-block-start:var(--spacing-unit);inset-inline-start:var(--spacing-unit)}b-app-shell{display:contents}header{background:#0a1432a6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-block-end:1px solid var(--color-border);color:#fff;padding-block:calc(var(--spacing-unit) * .75);padding-inline:var(--spacing-unit);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-unit);position:sticky;inset-block-start:0;z-index:1002}header h1{font-size:clamp(1.1rem,3vw,1.35rem);font-weight:700;letter-spacing:-.02em;color:#fff}@media(max-width:1023px){header h1{margin-inline-start:calc(var(--spacing-unit) * 4)}}.auth-box,.auth-status{display:flex;align-items:center;gap:var(--spacing-unit);font-size:.9rem;color:#fffc}:is(.auth-box,.auth-status) strong{color:#fff}.theme-toggle{padding:calc(var(--spacing-unit) * .4);background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;inline-size:2.25rem;block-size:2.25rem;transition:background .2s}.theme-toggle:hover{background:#ffffff29}.theme-toggle span{inline-size:18px;block-size:18px;display:block}.theme-toggle span svg{inline-size:100%;block-size:100%}.primary-button,.secondary-button{padding-block:calc(var(--spacing-unit) * .45);padding-inline:calc(var(--spacing-unit) * 1.1);border-radius:var(--radius);cursor:pointer;font:inherit;font-size:.9rem;font-weight:600;transition:opacity .2s,background .2s}:is(.primary-button,.secondary-button):hover{opacity:.88}:is(.primary-button,.secondary-button):focus-visible{outline:2px solid white;outline-offset:2px}.primary-button{background:var(--color-primary);color:#fff;border:none}.secondary-button{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}.secondary-button:hover{background:#ffffff14}.small-button{padding-block:calc(var(--spacing-unit) * .2);padding-inline:calc(var(--spacing-unit) * .65);font-size:.82rem;font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:calc(var(--radius) * .75);cursor:pointer;transition:background .2s}.small-button:hover{background:var(--color-surface-hover)}.small-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}main{flex:1;inline-size:100%;display:flex;position:relative}.view{flex:1;min-inline-size:0;padding-block:calc(var(--spacing-unit) * 2);padding-inline:calc(var(--spacing-unit) * 1.5);max-width:calc(var(--spacing-unit) * 65)}.menu-toggle{display:none}.menu-icon{position:fixed;inset-block-start:calc(var(--spacing-unit) * 1.1);inset-inline-start:var(--spacing-unit);z-index:1003;display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:calc(var(--spacing-unit) * .45);background:#0a1432a6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius);border:1px solid var(--color-border)}.menu-icon span{display:block;inline-size:22px;block-size:2px;background:#fff;transition:transform .3s,opacity .3s}.menu-toggle:checked~.menu-icon span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.menu-toggle:checked~.menu-icon span:nth-child(2){opacity:0}.menu-toggle:checked~.menu-icon span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.sidebar{position:fixed;inset-block-start:0;inset-inline-start:calc(var(--sidebar-width) * -1);inline-size:var(--sidebar-width);block-size:100dvh;background:#0a143299;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-inline-end:1px solid var(--color-border);padding-block-start:calc(var(--spacing-unit) * 5.5);padding-inline:calc(var(--spacing-unit) * .75);transition:inset-inline-start .3s ease;z-index:1000;overflow-y:auto}.sidebar ul{list-style:none;display:flex;flex-direction:column;gap:2px}.sidebar a{display:flex;align-items:center;gap:calc(var(--spacing-unit) * .5);padding-block:calc(var(--spacing-unit) * .6);padding-inline:calc(var(--spacing-unit) * .75);border-radius:var(--radius);border-inline-start:3px solid transparent;color:#ffffffbf;text-decoration:none;font-size:.92rem;transition:background .2s,color .2s,border-color .2s}.sidebar a:hover{background:var(--color-surface-hover);color:#fff;text-decoration:none}.sidebar a.active{background:var(--color-primary-dim);color:#fff;border-inline-start-color:var(--color-primary)}.menu-toggle:checked~.sidebar{inset-inline-start:0}.sidebar a.nav-section{font-weight:600;color:#fffffff2;margin-block-start:calc(var(--spacing-unit) * .5)}.sidebar li:first-child a.nav-section{margin-block-start:0}.sidebar a.nav-sub{padding-inline-start:calc(var(--spacing-unit) * 1.75);font-size:.875rem}.overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-unit);padding:calc(var(--spacing-unit) * 1.5)}.overview-card{display:flex;align-items:flex-start;gap:calc(var(--spacing-unit) * .75);padding:calc(var(--spacing-unit) * 1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-decoration:none;color:var(--color-text);transition:background .2s,border-color .2s}.overview-card:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.overview-card-icon{font-size:2rem;line-height:1;flex-shrink:0}.overview-card-title{font-weight:600;margin-block-end:calc(var(--spacing-unit) * .25)}.overview-card-desc{font-size:.875rem;color:var(--color-text-muted)}@media(min-width:1024px){.menu-icon{display:none}.sidebar{position:sticky;inset-block-start:0;inset-inline-start:0;block-size:calc(100dvh - 1px);align-self:flex-start;padding-block-start:calc(var(--spacing-unit) * 1.25);flex-shrink:0}}footer{background:#0a143280;border-block-start:1px solid var(--color-border);padding-block:calc(var(--spacing-unit) * .5);padding-inline:var(--spacing-unit);text-align:end;font-size:.8rem;color:var(--color-text-muted)}.config-section{background:var(--color-surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:calc(var(--radius) * 2.5);padding:calc(var(--spacing-unit) * 1.75);margin-block-end:calc(var(--spacing-unit) * 1.5)}.config-section h2{font-size:1.1rem;font-weight:700;letter-spacing:-.015em;margin-block-end:calc(var(--spacing-unit) * 1.25);color:var(--color-text);padding-block-end:calc(var(--spacing-unit) * .75);border-block-end:1px solid var(--color-border)}.status-page{background:var(--color-surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:calc(var(--radius) * 2.5);padding:calc(var(--spacing-unit) * 1.75)}.status-header{text-align:center;padding-block:calc(var(--spacing-unit) * 1.5);border-block-end:1px solid var(--color-border);margin-block-end:calc(var(--spacing-unit) * 1.5)}.status-badge{display:inline-flex;align-items:center;gap:calc(var(--spacing-unit) * .6);padding-block:calc(var(--spacing-unit) * .6);padding-inline:calc(var(--spacing-unit) * 1.4);border-radius:100vw;font-weight:700;font-size:1rem;border:1px solid}.status-badge.up{background:#22c55e26;color:#4ade80;border-color:#22c55e4d}.status-badge.down{background:#ef444426;color:#f87171;border-color:#ef44444d}.status-badge.loading{background:var(--color-surface);color:var(--color-text-muted);border-color:var(--color-border)}.status-icon{font-size:.75rem}.services-list{display:flex;flex-direction:column;gap:2px}.service-item{display:flex;align-items:center;gap:var(--spacing-unit);padding:calc(var(--spacing-unit) * .85) var(--spacing-unit);border-radius:var(--radius);transition:background .2s}.service-item:hover{background:var(--color-surface-hover)}.service-item h3{font-size:.95rem;font-weight:600;margin-block-end:2px;color:var(--color-text)}.service-item p{font-size:.82rem;color:var(--color-text-muted)}.service-icon{font-size:1.3rem;flex-shrink:0;inline-size:2rem;text-align:center}.service-info{flex:1}.service-status{padding-block:calc(var(--spacing-unit) * .3);padding-inline:calc(var(--spacing-unit) * .9);border-radius:100vw;font-weight:600;font-size:.8rem;white-space:nowrap;min-inline-size:7rem;text-align:center;border:1px solid}.service-status.up{background:#22c55e1f;color:#4ade80;border-color:#22c55e40}.service-status.down{background:#ef44441f;color:#f87171;border-color:#ef444440}.service-status.loading,.service-status.unknown{background:var(--color-surface);color:var(--color-text-muted);border-color:var(--color-border)}.status-details{margin-block-start:calc(var(--spacing-unit) * 1.5);padding-block-start:calc(var(--spacing-unit) * 1.5);border-block-start:1px solid var(--color-border)}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-unit);margin-block-end:var(--spacing-unit)}.health-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-unit)}.health-card h3{font-size:.875rem;margin-block-end:calc(var(--spacing-unit) * .5);color:var(--color-text-muted);font-weight:500}.status-indicator{font-weight:700;font-size:.85rem;padding-block:calc(var(--spacing-unit) * .35);padding-inline:calc(var(--spacing-unit) * .75);border-radius:100vw;text-align:center;border:1px solid}.status-indicator.up{background:#22c55e1f;color:#4ade80;border-color:#22c55e40}.status-indicator.down{background:#ef44441f;color:#f87171;border-color:#ef444440}.status-indicator.loading{background:var(--color-surface);color:var(--color-text-muted);border-color:var(--color-border)}nav ul{list-style:none;display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * .35)}@media(min-width:768px){nav ul{flex-direction:row;flex-wrap:wrap}}.nav-icon{inline-size:18px;block-size:18px;display:inline-block;vertical-align:middle;margin-inline-end:calc(var(--spacing-unit) * .35)}.nav-icon svg{inline-size:100%;block-size:100%;display:block}.data-table{inline-size:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:start;padding-block:calc(var(--spacing-unit) * .7);padding-inline:var(--spacing-unit);border-block-end:1px solid var(--color-border);font-size:.9rem}.data-table th{background:#ffffff0a;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:var(--color-surface-hover)}.data-table tbody tr:last-child td{border-block-end:none}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-unit);padding-block:calc(var(--spacing-unit) * 1.25);font-size:.85rem;color:var(--color-text-muted)}.pagination button{padding-block:calc(var(--spacing-unit) * .3);padding-inline:calc(var(--spacing-unit) * .8);font:inherit;font-size:.82rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius);cursor:pointer;transition:background .2s}.pagination button:hover:not(:disabled){background:var(--color-surface-hover)}.pagination button:disabled{opacity:.35;cursor:default}.pagination button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pagination-info{white-space:nowrap}.list-controls{display:flex;align-items:center;gap:calc(var(--spacing-unit) * .5);margin-block-end:var(--spacing-unit);font-size:.88rem;color:var(--color-text-muted)}.list-controls label{display:flex;align-items:center;gap:calc(var(--spacing-unit) * .4);cursor:pointer}.list-controls input[type=checkbox]{accent-color:var(--color-primary)}.data-table tr.deleted{opacity:.45}.badge-deleted,.badge-active,.badge-pending,.badge-warning,.badge-info,.badge-success{display:inline-block;margin-inline-start:calc(var(--spacing-unit) * .4);padding-block:1px;padding-inline:calc(var(--spacing-unit) * .45);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:100vw;border:1px solid}.badge-deleted{background:#ef444426;color:#f87171;border-color:#ef444440}.badge-active,.badge-success{background:#22c55e26;color:#4ade80;border-color:#22c55e40}.badge-warning{background:#fb923c26;color:#fb923c;border-color:#fb923c40}.badge-info{background:#60a5fa26;color:#60a5fa;border-color:#60a5fa40}.badge-pending{background:var(--color-surface);color:var(--color-text-muted);border-color:var(--color-border)}.tab-bar{display:flex;gap:calc(var(--spacing-unit) * .5);margin-block-end:calc(var(--spacing-unit) * 1.25);border-block-end:1px solid var(--color-border);padding-block-end:calc(var(--spacing-unit) * .5)}.tab-button{background:none;border:1px solid transparent;border-radius:var(--radius) var(--radius) 0 0;padding-block:calc(var(--spacing-unit) * .5);padding-inline:var(--spacing-unit);font-size:.9rem;color:var(--color-text-muted);cursor:pointer}.tab-button.active{color:var(--color-text);border-color:var(--color-border);border-block-end-color:transparent;background:var(--color-bg)}.tab-button:hover:not(.active){color:var(--color-text)}.action-bar{display:flex;gap:calc(var(--spacing-unit) * .75);margin-block-start:calc(var(--spacing-unit) * 1.25);padding-block-start:calc(var(--spacing-unit) * 1);border-block-start:1px solid var(--color-border)}.success-message{color:#4ade80;font-size:.9rem;margin-block-end:var(--spacing-unit)}.error-message{color:#f87171;font-size:.9rem;margin-block-end:var(--spacing-unit)}.small-button.danger{color:#f87171;border-color:#ef44444d}.small-button.danger:hover{background:#ef444426}.status-badge{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.empty-state{text-align:center;padding-block:calc(var(--spacing-unit) * 2);color:var(--color-text-muted);font-size:.9rem}.task-list-header,.task-row-summary{display:grid;grid-template-columns:2rem 8rem 7rem 7rem 1fr 1fr;gap:calc(var(--spacing-unit) * .75);align-items:center;padding-block:calc(var(--spacing-unit) * .5);padding-inline:calc(var(--spacing-unit) * .75)}.task-list-header{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-block-end:1px solid var(--color-border);margin-block-end:calc(var(--spacing-unit) * .25)}annotation-task-row{display:block}.task-row{border:1px solid var(--color-border);border-radius:var(--radius);margin-block-end:calc(var(--spacing-unit) * .5);overflow:hidden}.task-row:hover>.task-row-summary{background:var(--color-surface)}.task-row--expanded>.task-row-summary{background:var(--color-surface);border-block-end:1px solid var(--color-border)}.task-row-detail{padding:var(--spacing-unit)}.expand-btn{width:1.8rem;text-align:center;padding-inline:0}.status-note{font-size:.82rem;color:var(--color-text-muted);margin-block-start:var(--spacing-unit)}.upload-form{margin-block-end:calc(var(--spacing-unit) * 1.25)}.upload-form summary{cursor:pointer;padding-block:calc(var(--spacing-unit) * .5);padding-inline:var(--spacing-unit);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);font-weight:600;font-size:.9rem;color:var(--color-text)}.upload-form summary:hover{background:var(--color-surface-hover)}.upload-form[open] summary{margin-block-end:var(--spacing-unit);border-radius:var(--radius) var(--radius) 0 0}.upload-form form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--spacing-unit);padding-inline:calc(var(--spacing-unit) * .25)}.upload-form label{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * .3);font-weight:600;font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;flex:1;min-inline-size:140px}.upload-form input{padding-block:calc(var(--spacing-unit) * .5);padding-inline:calc(var(--spacing-unit) * .75);border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;font-size:.9rem;background:var(--color-surface);color:var(--color-text);transition:border-color .2s}.upload-form input:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface-hover)}.upload-form input[type=file]{font-size:.82rem}.upload-form button[type=submit]{align-self:flex-end}.auth-message{text-align:center;padding-block:calc(var(--spacing-unit) * 3);color:var(--color-text-muted)}.error{color:#f87171;padding-block:calc(var(--spacing-unit) * .5);font-size:.9rem}.app-download{display:flex;align-items:center;gap:var(--spacing-unit);padding:var(--spacing-unit);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-block-end:calc(var(--spacing-unit) * 1.5)}.app-download .app-icon{inline-size:44px;block-size:44px;flex-shrink:0;color:var(--color-primary)}.app-download .app-icon svg{inline-size:100%;block-size:100%}.app-download .app-info{flex:1}.app-download .app-info h3{margin-block-end:2px;font-size:.95rem}.app-download .app-info p{font-size:.82rem;color:var(--color-text-muted);margin-block-end:calc(var(--spacing-unit) * .4)}.app-download .download-button{display:inline-block;padding-block:calc(var(--spacing-unit) * .45);padding-inline:calc(var(--spacing-unit) * 1.1);background:var(--color-primary);color:#fff;text-decoration:none;border-radius:var(--radius);font-weight:600;font-size:.88rem;transition:opacity .2s}.app-download .download-button:hover{opacity:.85;text-decoration:none}.app-download-page{text-align:center;padding-block:calc(var(--spacing-unit) * 2.5)}.app-download-page h2{margin-block-end:var(--spacing-unit);font-size:1.4rem;color:var(--color-text)}.app-download-page p{margin-block-end:calc(var(--spacing-unit) * 2);max-inline-size:520px;margin-inline:auto;color:var(--color-text-muted);line-height:1.6}.app-download-page .download-button-large{display:inline-block;padding-block:calc(var(--spacing-unit) * .7);padding-inline:calc(var(--spacing-unit) * 2);background:var(--color-primary);color:#fff;text-decoration:none;border-radius:100vw;font-weight:700;font-size:1rem;transition:opacity .2s,transform .2s;box-shadow:0 4px 18px #3b82f659}.app-download-page .download-button-large:hover{opacity:.88;transform:translateY(-2px);text-decoration:none}.app-download-page .app-note{margin-block-start:calc(var(--spacing-unit) * 2.5);padding:var(--spacing-unit);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);max-inline-size:520px;margin-inline:auto}.app-download-page .app-note p{margin:0;font-size:.875rem;color:var(--color-text-muted)}.dialog-overlay{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000}.dialog{background:#0f1c3cf2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border);border-radius:calc(var(--radius) * 2.5);padding:calc(var(--spacing-unit) * 2);max-inline-size:480px;inline-size:90%}.dialog h3{margin-block-end:calc(var(--spacing-unit) * 1.25);font-size:1.1rem;font-weight:700;color:#fff;padding-block-end:calc(var(--spacing-unit) * .75);border-block-end:1px solid var(--color-border)}.dialog form{display:flex;flex-direction:column;gap:var(--spacing-unit)}.dialog label{font-weight:600;font-size:.85rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.dialog input{padding-block:calc(var(--spacing-unit) * .55);padding-inline:var(--spacing-unit);border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;font-size:.95rem;background:#ffffff0f;color:#fff;transition:border-color .2s}.dialog input:focus{outline:none;border-color:var(--color-primary);background:#ffffff17}.dialog-actions{display:flex;gap:var(--spacing-unit);margin-block-start:calc(var(--spacing-unit) * .5)}.content-area{flex:1;padding-block:calc(var(--spacing-unit) * 2);padding-inline:var(--spacing-unit)}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}b-landing-page{display:flex;flex:1;flex-direction:column}.landing{flex:1;display:flex;flex-direction:column;min-block-size:100dvh;background:linear-gradient(150deg,#0f172a,#1a3050 45%,#0f4c8a);color:#fff;position:relative;overflow:hidden}.landing-grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.landing-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(var(--spacing-unit) * 5) calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);gap:calc(var(--spacing-unit) * 2.5);position:relative}.landing-brand{display:flex;flex-direction:column;align-items:center;gap:calc(var(--spacing-unit) * 1.25);max-inline-size:560px}.landing-logo{inline-size:72px;block-size:72px;color:#ffffffeb;animation:landing-pulse 4s ease-in-out infinite;filter:drop-shadow(0 0 16px rgba(0,150,255,.5))}.landing-logo svg{inline-size:100%;block-size:100%;display:block}@keyframes landing-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(.96)}}.landing-hero h1{font-size:clamp(2rem,5vw,3.25rem);font-weight:700;letter-spacing:-.025em;line-height:1.15;text-shadow:0 2px 24px rgba(0,0,0,.35)}.landing-tagline{font-size:clamp(.95rem,2vw,1.15rem);line-height:1.65;opacity:.78;max-inline-size:480px}.landing-login-btn{display:inline-flex;align-items:center;gap:calc(var(--spacing-unit) * .6);padding:calc(var(--spacing-unit) * .85) calc(var(--spacing-unit) * 2.25);background:#fff;color:#0f4c8a;border:none;border-radius:100vw;font-size:1.05rem;font-weight:700;font-family:inherit;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 24px #0000004d}.landing-login-btn svg{inline-size:18px;block-size:18px;transition:transform .2s ease}.landing-login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 36px #0006}.landing-login-btn:hover:not(:disabled) svg{transform:translate(3px)}.landing-login-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 16px #00000040}.landing-login-btn:disabled{opacity:.6;cursor:wait}.landing-login-btn:focus-visible{outline:3px solid rgba(255,255,255,.8);outline-offset:3px}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:calc(var(--spacing-unit) * 1.25);padding-block-end:calc(var(--spacing-unit) * 3);padding-inline:calc(var(--spacing-unit) * 2);max-inline-size:920px;margin-inline:auto;inline-size:100%;position:relative}.landing-feature-card{background:#ffffff12;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);border-radius:calc(var(--radius) * 3);padding:calc(var(--spacing-unit) * 1.5);text-align:center;transition:background .25s ease,transform .25s ease,border-color .25s ease}.landing-feature-card:hover{background:#ffffff1f;border-color:#ffffff40;transform:translateY(-3px)}.landing-feature-card .feature-icon{inline-size:44px;block-size:44px;margin:0 auto calc(var(--spacing-unit) * .75);opacity:.88}.landing-feature-card .feature-icon svg{inline-size:100%;block-size:100%;display:block}.landing-feature-card h2{font-size:1rem;font-weight:600;margin-block-end:calc(var(--spacing-unit) * .5);letter-spacing:-.01em}.landing-feature-card p{font-size:.875rem;opacity:.72;line-height:1.55}.landing-footer{text-align:center;padding:calc(var(--spacing-unit) * .75) var(--spacing-unit);opacity:.4;font-size:.8rem;position:relative}.thumbnail-wrapper{width:56px;height:56px;border-radius:4px;overflow:hidden;background:transparent}.thumbnail-wrapper.loading{background:var(--color-border, #e0e0e0);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}toast-container{position:fixed;inset-block-start:calc(var(--spacing-unit) * 1.5);inset-inline-end:calc(var(--spacing-unit) * 1.5);z-index:3000;display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * .5);pointer-events:none;max-inline-size:380px}.toast-stack{display:contents}.toast{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;border-radius:calc(var(--radius) * 2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border);pointer-events:all;animation:toast-in .2s ease-out}.toast--success{background:#22c55e40;border-color:#22c55ebf}.toast--error{background:#ef444440;border-color:#ef4444bf}.toast__body{flex:1;display:flex;flex-direction:column;gap:.2rem}.toast__title{font-size:.88rem;font-weight:600;color:var(--color-text)}.toast--success .toast__title{color:#4ade80}.toast--error .toast__title{color:#f87171}.toast--warning .toast__title{color:#fb923c}.toast--warning{background:#fb923c26;border-color:#fb923c80}.toast__detail{font-size:.8rem;color:var(--color-text-muted)}.toast__close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.75rem;padding:0;line-height:1;flex-shrink:0}.toast__close:hover{color:var(--color-text)}.toast__action{background:var(--color-primary);border:none;border-radius:calc(var(--radius) * .75);color:#fff;cursor:pointer;font:inherit;font-size:.78rem;font-weight:600;padding:.35rem .75rem;flex-shrink:0;align-self:center;transition:opacity .2s,background .2s}.toast__action:hover{opacity:.88}.toast__action:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.drop-zone{border:2px dashed var(--color-border);border-radius:calc(var(--radius) * 2.5);padding:calc(var(--spacing-unit) * 2);text-align:center;margin-block:var(--spacing-unit);transition:border-color .15s}.drop-zone:hover{border-color:var(--color-primary)}.file-count{color:var(--color-text-muted);font-size:.85rem;margin-block-start:calc(var(--spacing-unit) * .5)}.error-text{color:#f87171;font-size:.85rem;margin-block-start:calc(var(--spacing-unit) * .25)}.form-row{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * .25);margin-block-end:var(--spacing-unit)}.form-row label{font-size:.85rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.form-row input,.form-row textarea{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);padding:calc(var(--spacing-unit) * .5) calc(var(--spacing-unit) * .75);font-size:.9rem;font-family:inherit}.thumbnail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--spacing-unit);margin-block-start:var(--spacing-unit)}.thumbnail-cell{background:var(--color-surface);border-radius:calc(var(--radius) * 2.5);padding:calc(var(--spacing-unit) * .5);text-align:center;font-size:.78rem;color:var(--color-text-muted)}.thumbnail-cell img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius);display:block;margin-block-end:calc(var(--spacing-unit) * .25)}.thumbnail-placeholder{width:100%;aspect-ratio:1;background:var(--color-surface-hover);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-block-end:calc(var(--spacing-unit) * .25)}.detail-grid{display:grid;grid-template-columns:auto 1fr;gap:calc(var(--spacing-unit) * .5) var(--spacing-unit);margin-block:var(--spacing-unit);font-size:.9rem}.detail-grid dt{font-weight:600;color:var(--color-text-muted);text-transform:uppercase;font-size:.78rem;letter-spacing:.04em;align-self:center}.back-link{display:inline-block;margin-inline-start:var(--spacing-unit);color:var(--color-primary);font-size:.9rem}.danger-button{background:#ef444426;color:#f87171;border-color:#ef444440}.danger-button:hover:not(:disabled){background:#ef444440}.pipeline-dag{margin-block-end:calc(var(--spacing-unit) * 2);overflow-x:auto}.pipeline-dag__container{display:flex;align-items:flex-start;gap:0;min-width:max-content;padding-block:calc(var(--spacing-unit) * .5)}.pipeline-dag__stage{display:flex;align-items:flex-start}.pipeline-dag__connector{width:2rem;height:2px;background:var(--color-border);align-self:center;flex-shrink:0;margin-block-start:calc(-1 * var(--spacing-unit) * .25)}.stage-tile__header{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing-unit) * .25)}.stage-tile__add-button{background:none;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 calc(var(--spacing-unit) * .4);flex-shrink:0;transition:color .15s,border-color .15s}.stage-tile__add-button:hover{color:var(--color-text);border-color:var(--color-text-muted)}.pipeline-view h2{font-size:1.1rem;font-weight:700;letter-spacing:-.015em;margin-block-end:0}.pipeline-view__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-unit);flex-wrap:wrap;margin-block-end:calc(var(--spacing-unit) * 1.5);border-block-end:1px solid var(--color-border);padding-block-end:calc(var(--spacing-unit) * .75)}.pipeline-view__role-switcher{display:flex;gap:calc(var(--spacing-unit) * .25);flex-wrap:wrap}.pipeline-view__role-tab{background:none;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;font-size:.78rem;padding:calc(var(--spacing-unit) * .3) calc(var(--spacing-unit) * .75);transition:color .15s,border-color .15s,background .15s}.pipeline-view__role-tab:hover{color:var(--color-text);border-color:var(--color-text-muted)}.pipeline-view__role-tab--active{background:var(--color-text);color:var(--color-surface);border-color:var(--color-text)}.pipeline-view__lanes{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 1.5)}.role-lane{background:var(--color-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:calc(var(--radius) * 2.5);padding:calc(var(--spacing-unit) * 1.75)}.role-lane__title{font-size:1rem;font-weight:700;letter-spacing:-.015em;margin-block-end:var(--spacing-unit);color:var(--color-text)}.role-lane__stages{display:grid;grid-template-columns:repeat(5,1fr);gap:calc(var(--spacing-unit) * .75)}@container (max-width: 700px){.role-lane__stages{grid-template-columns:repeat(2,1fr)}}.stage-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--radius) * 1.5);padding:var(--spacing-unit);display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * .5)}.stage-tile__title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.stage-tile__count{font-size:1.5rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.stage-tile--loading .stage-tile__count{opacity:.5}.stage-tile__skeleton{height:3rem;border-radius:var(--radius);background:linear-gradient(90deg,var(--color-border) 25%,var(--color-surface-alt, var(--color-surface)) 50%,var(--color-border) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.stage-tile__recent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * .25);font-size:.75rem;color:var(--color-text-muted);border-top:1px solid var(--color-border);padding-top:calc(var(--spacing-unit) * .5);margin-top:calc(var(--spacing-unit) * .25)}.stage-tile__recent-item{display:flex;justify-content:space-between;gap:calc(var(--spacing-unit) * .5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-tile__recent-id{color:var(--color-text);font-weight:500;overflow:hidden;text-overflow:ellipsis}.stage-tile__recent-time{color:var(--color-text-muted);flex-shrink:0}.stage-tile__error{display:flex;align-items:center;gap:calc(var(--spacing-unit) * .25)}.stage-tile__error-dot{color:var(--color-error, #e05252);font-size:.6rem;cursor:help}.stage-tile__empty{font-size:.78rem;color:var(--color-text-muted);font-style:italic;padding-block:calc(var(--spacing-unit) * .25)}.stage-tile__lifetime-link{display:inline-block;margin-block-start:calc(var(--spacing-unit) * .5);font-size:.78rem;color:var(--color-text-muted);text-decoration:underline}.role-lane__tile-with-action{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * .5)}.role-lane__snapshot-actions{margin-block-start:calc(var(--spacing-unit) * .75);display:flex;gap:calc(var(--spacing-unit) * .5)}.snapshot-drilldown{margin-block-start:calc(var(--spacing-unit) * 1.25);border-block-start:1px solid var(--color-border);padding-block-start:var(--spacing-unit)}.snapshot-drilldown__heading{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-block-end:calc(var(--spacing-unit) * .75)}.snapshot-drilldown__classes{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;color:var(--color-text-muted)}.pipeline-dag__head{display:flex;align-items:flex-start}.pipeline-dag__lanes{display:flex;flex-direction:column;gap:1.5rem}.pipeline-dag__fanout{width:2px;height:1.5rem;margin:0 auto;background:var(--color-border)}
