:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#09090b;--panel:#111114;--panel-edge:#ffffff14;--text:#f5f5f7;--muted:#ffffff8c;--accent:#fff;--ok:#34d399;--danger:#fb7185;--radius:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--text);margin:0}button:not(:disabled),[role=button]:not([aria-disabled=true]){cursor:pointer}button:disabled{cursor:not-allowed}.mono{font-family:Share Tech Mono,ui-monospace,monospace}.platform-shell{grid-template-columns:240px 1fr;height:100vh;min-height:100vh;display:grid}.platform-boot{background:var(--bg);min-height:100vh}.platform-sidebar{border-right:1px solid var(--panel-edge);background:#0d0d10;flex-direction:column;gap:24px;padding:18px 8px 24px;display:flex}.platform-brand,.login-brand{flex-direction:column;gap:4px;display:flex}.platform-sidebar .platform-brand{padding:0 10px}.platform-mark{letter-spacing:normal;font-size:16px;font-weight:600}.platform-sub{color:var(--muted);font-size:13px}.platform-nav{flex-direction:column;gap:1px;display:flex}.platform-nav-link{color:var(--muted);border-radius:10px;padding:10px;font-size:14px;text-decoration:none}.platform-nav-link.active,.platform-nav-link:hover{color:var(--text);background:#ffffff0f}.platform-user{margin-top:auto}.profile-menu{margin-top:auto;position:relative}.profile-menu-trigger{border:1px solid var(--panel-edge);width:40px;height:40px;color:var(--text);cursor:pointer;background:#ffffff0a;border-radius:999px;justify-content:center;align-items:center;padding:0;display:flex}.profile-menu-trigger:hover,.profile-menu-trigger[aria-expanded=true]{background:#ffffff14;border-color:#ffffff47}.profile-menu-avatar{letter-spacing:.04em;font-size:12px;font-weight:600}.profile-menu-dropdown{border:1px solid var(--panel-edge);z-index:20;background:#111114;border-radius:12px;min-width:200px;padding:8px;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 12px 40px #00000073}.profile-menu-divider{background:var(--panel-edge);height:1px;margin:6px 4px}.profile-menu-item{width:100%;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 12px;text-decoration:none;display:block}.profile-menu-item:hover{background:#ffffff0f}.platform-main{flex-direction:column;min-height:0;padding:32px;display:flex;overflow:hidden}.platform-page--calendar{flex-direction:column;flex:1;min-height:0;display:flex}.platform-page--calendar .platform-page-header{flex-shrink:0}.task-calendar{flex-direction:column;flex:1;min-height:0;display:flex}.task-calendar-scroll{border:1px solid var(--panel-edge);border-radius:var(--radius);background:var(--panel);flex:1;min-height:0;overflow-y:auto}.task-calendar-weekdays{z-index:2;border-bottom:1px solid var(--panel-edge);background:var(--panel);color:var(--muted);text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;padding:10px 0;font-size:12px;display:grid;position:sticky;top:0}.task-calendar-month{padding:16px 0 8px}.task-calendar-month-label{color:var(--text);margin:0 0 8px;padding:0 12px;font-size:14px;font-weight:600}.task-calendar-grid{border-top:1px solid var(--panel-edge);border-left:1px solid var(--panel-edge);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.task-calendar-cell{border-right:1px solid var(--panel-edge);border-bottom:1px solid var(--panel-edge);flex-direction:column;gap:4px;min-height:96px;padding:6px 8px 8px;display:flex}.task-calendar-cell--muted{color:var(--muted);background:#ffffff05}.task-calendar-cell--today .task-calendar-date{color:var(--text);font-weight:600}.task-calendar-date{color:var(--muted);font-size:12px}.task-calendar-tasks{flex-direction:column;flex:1;gap:2px;min-height:0;margin:0;padding:0;list-style:none;display:flex}.task-calendar-chip{border:1px solid var(--panel-edge);color:var(--text);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:2px 6px;font-size:11px;line-height:1.3;overflow:hidden}.task-calendar-more{color:var(--muted);padding:0 4px;font-size:11px}.platform-page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.platform-page-header button svg{flex-shrink:0;width:22px;height:22px}.platform-page-header h1{margin:0;font-size:28px}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card,.panel,.fleet-card,.login-card{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius)}.stat-card{padding:18px}.stat-label{color:var(--muted);margin-bottom:8px;font-size:13px;display:block}.stat-value{font-size:28px}.panel{margin-bottom:20px;padding:20px}.panel-plain{background:0 0;border:none;border-radius:0;padding:0}.panel-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.panel-head h2{margin:0;font-size:18px}.panel-meta{color:var(--muted);font-size:13px}.panel-head-actions{align-items:center;gap:12px;display:flex}.fleet-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.fleet-card{color:inherit;cursor:pointer;flex-direction:column;padding:0;text-decoration:none;display:flex;overflow:hidden}a.fleet-card:hover{border-color:#ffffff38}.fleet-card.offline{opacity:.72}.fleet-card-image{aspect-ratio:3/4;border-bottom:1px solid var(--panel-edge);background:#d4d4d8;justify-content:center;align-items:center;display:flex;overflow:hidden}.fleet-card-image img{object-fit:contain;object-position:center;width:100%;height:100%}.fleet-card-body{flex-direction:column;gap:8px;padding:14px 16px 16px;display:flex}.fleet-card-body h3{margin:0;font-size:16px}.fleet-card-id{color:var(--muted);margin:0;font-size:12px}.fleet-card-top,.fleet-card-meta,.fleet-card-stats{justify-content:space-between;align-items:center;gap:8px;display:flex}.fleet-card-meta,.fleet-card-stats{color:var(--muted);font-size:12px}.fleet-card-meta{flex-direction:column;align-items:flex-start}.robot-home{max-height:calc(100vh - 64px);overflow-y:auto}.robot-home-back{color:var(--muted);margin-bottom:8px;font-size:13px;text-decoration:none;display:inline-block}.robot-home-back:hover{color:var(--text)}.robot-home-layout{grid-template-columns:minmax(180px,280px) minmax(0,1fr);gap:16px;margin-bottom:24px;display:grid}.robot-home-hero{border:1px solid var(--panel-edge);border-radius:var(--radius);background:#d4d4d8;overflow:hidden}.robot-home-hero img{aspect-ratio:3/4;object-fit:cover;object-position:center;width:100%;display:block}.robot-home-facts{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:16px;display:grid}.robot-home-facts .stat-card strong{word-break:break-all;font-size:16px;display:block}.robot-home-jobs{margin:0;padding:0;list-style:none}.robot-home-jobs li{border-bottom:1px solid var(--panel-edge);justify-content:space-between;gap:12px;padding:12px 0;font-size:14px;display:flex}.robot-home-jobs li:last-child{border-bottom:0}.robot-home-jobs span{color:var(--muted)}@media (max-width:800px){.robot-home-layout{grid-template-columns:1fr}}.pill{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;display:inline-flex}.pill.ok{color:var(--text);background:#ffffff1a}.pill.dim{color:var(--muted);background:#ffffff0f}.inline-form{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.operator-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.panel-actions{align-items:center;gap:10px;display:flex}.panel-actions input,.panel-actions select{appearance:none;border-radius:999px;padding-inline:16px}.panel-actions select{field-sizing:content;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:14px 14px;flex:none;width:auto;padding-right:36px}.panel-actions input{flex:auto;min-width:12rem}.table-input,.operator-form select{border:1px solid var(--panel-edge);width:100%;color:var(--text);font:inherit;background:#0a0a0d;border-radius:10px;padding:10px 12px}.table-input{min-width:90px;padding:8px 10px}.operator-name-cell{flex-direction:column;gap:4px;display:flex}.operator-id{color:var(--muted);font-size:12px}.inline-form input{border:1px solid var(--panel-edge);width:100%;color:var(--text);font:inherit;background:#0a0a0d;border-radius:10px;padding:10px 12px}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th,.data-table td{border-bottom:1px solid var(--panel-edge);text-align:left;padding:12px 10px}.data-table th{color:var(--muted);letter-spacing:normal;font-size:12px;font-weight:600}.empty-copy{color:var(--muted)}.apps-catalog{flex-flow:wrap;align-items:flex-start;gap:8px 28px;margin:0 0 28px;display:flex}.app-kind-btn{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;flex-direction:column;flex:none;align-items:center;gap:8px;padding:0;font-size:12px;line-height:1.2;display:inline-flex}.app-kind-btn svg{width:22px;height:22px}.app-kind-btn.selected,.app-kind-btn:hover{color:var(--text)}.apps-list{flex-direction:column;gap:12px;display:flex}.app-row{border-bottom:1px solid var(--panel-edge);grid-template-columns:minmax(0,1.2fr) 90px minmax(0,1.4fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.app-row.dim{opacity:.72}.app-row-main{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.app-row-kind{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:12px}.app-row-actions{gap:8px;display:flex}.login-screen{background:var(--bg);min-height:100vh;color:var(--text);place-items:center;padding:24px;display:grid}.login-card{flex-direction:column;gap:16px;width:min(420px,100%);padding:28px;display:flex}.login-brand h1{margin:0;font-size:24px}.login-brand p{color:var(--muted);margin:0}.login-error{color:var(--danger);font-size:14px}.login-hint{color:var(--muted);margin:0;font-size:13px}.login-actions{flex-direction:column;gap:4px;display:flex}.login-switch{color:var(--muted);height:auto;min-height:32px;font-size:13px}.login-switch:hover{color:var(--text);background:0 0}.split-panels{grid-template-columns:1.2fr .8fr;gap:20px;display:grid}.mission-form,.assignment-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.mission-form label,.assignment-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.mission-form textarea,.assignment-form select{border:1px solid var(--panel-edge);width:100%;color:var(--text);font:inherit;background:#0a0a0d;border-radius:10px;padding:10px 12px}.full-width{grid-column:1/-1}.task-editor{flex-direction:column;gap:10px;display:flex}.task-row{grid-template-columns:1fr 1.2fr 1.2fr auto;gap:8px;display:grid}.task-actions{gap:6px;display:flex}.mission-list{flex-direction:column;gap:12px;display:flex}.mission-card{border:1px solid var(--panel-edge);border-radius:var(--radius);background:#ffffff05;padding:16px}.mission-card.selected{border-color:#ffffff47}.mission-briefing{color:var(--muted);font-size:14px}.mission-card-actions{gap:8px;margin-top:12px;display:flex}.progress-cell{align-items:center;gap:10px;display:flex}.progress-bar{background:#ffffff14;border-radius:999px;width:120px;height:8px;overflow:hidden}.progress-bar span{background:#ffffffb8;height:100%;display:block}.task-card-badges{gap:6px;display:flex}.task-active-row{border-top:1px solid var(--panel-edge);grid-template-columns:1fr 1fr 1.4fr auto;align-items:center;gap:10px;margin-top:12px;padding-top:12px;font-size:14px;display:grid}.task-assign-inline{grid-template-columns:1fr 1fr auto;gap:10px;margin-top:12px;display:grid}.task-assign-inline select{border:1px solid var(--panel-edge);width:100%;color:var(--text);font:inherit;background:#0a0a0d;border-radius:10px;padding:10px 12px}.task-editor-panel{border-bottom:1px solid var(--panel-edge);margin-bottom:16px;padding-bottom:16px}.task-editor-actions{grid-column:1/-1;gap:10px;display:flex}.kanban-page{flex-direction:column;height:calc(100vh - 64px);min-height:0;display:flex}.kanban-page-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.kanban-board{flex:1;gap:16px;min-height:0;padding-bottom:8px;display:flex;overflow:auto hidden}.kanban-column{background:#15161a;border:1px solid #ffffff0f;border-radius:14px;flex-direction:column;flex:0 0 300px;max-height:100%;display:flex}.kanban-column-header{justify-content:space-between;align-items:center;gap:8px;padding:12px 12px 10px;display:flex}.kanban-column-header h2{letter-spacing:.02em;margin:0;font-size:14px;font-weight:600}.kanban-column-count{color:var(--muted);background:#ffffff0f;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.kanban-column-cards{flex-direction:column;gap:10px;min-height:48px;padding:0 10px;display:flex;overflow-y:auto}.kanban-add-card{color:var(--muted);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:10px;margin:8px 10px 10px;padding:8px 10px}.kanban-add-card:hover{color:var(--text);background:#ffffff0f}.kanban-card{width:100%;color:var(--text);text-align:left;cursor:pointer;font:inherit;background:#1f2128;border:0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;display:flex;box-shadow:0 1px 1px #0003,0 8px 16px #0000002e}.kanban-card:hover{background:#252830}.kanban-card-labels{flex-wrap:wrap;gap:6px;display:flex}.kanban-label{letter-spacing:.04em;text-transform:uppercase;border-radius:6px;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.kanban-label-draft{color:#cbd5e1;background:#94a3b833}.kanban-label-ready{color:var(--text);background:#ffffff1a}.kanban-label-progress{color:var(--muted);background:#ffffff14}.kanban-label-done{color:var(--text);background:#ffffff1f}.kanban-card-title{font-size:14px;line-height:1.35}.kanban-card-excerpt{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.kanban-card-meta{color:var(--muted);font-size:11px}.kanban-card-progress{align-items:center;gap:8px;width:100%;display:flex}.kanban-card-progress .progress-bar{flex:1;width:auto;height:6px}.kanban-steps-head,.kanban-assign-block h3{justify-content:space-between;align-items:center;margin:0 0 10px;font-size:14px;display:flex}.kanban-steps{flex-direction:column;gap:8px;display:flex}.kanban-step-row{grid-template-columns:.9fr 1.2fr 1.2fr auto;gap:8px;display:grid}.kanban-checklist{flex-direction:column;gap:10px;margin:0;padding-left:18px;display:flex}.kanban-checklist li{color:var(--text)}.kanban-checklist small{color:var(--muted);margin-top:2px;display:block}.kanban-assign-block{border-top:1px solid var(--panel-edge);padding-top:8px}.kanban-assign-row{grid-template-columns:1fr 1fr auto;gap:10px;display:grid}@media (max-width:960px){.platform-shell{grid-template-columns:1fr}.platform-sidebar{border-right:0;border-bottom:1px solid var(--panel-edge)}.inline-form,.operator-form,.mission-form,.assignment-form,.task-assign-inline,.task-active-row,.split-panels,.task-row,.kanban-step-row,.kanban-assign-row,.app-row{grid-template-columns:1fr}.kanban-column{flex-basis:260px}.stat-grid{grid-template-columns:1fr}}.platform-kv-list{margin:0;padding:0;list-style:none}.platform-kv-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.platform-kv-list li:last-child{border-bottom:none}.fleet-card-link{color:inherit;text-decoration:none;display:block}.operator-home{flex-direction:column;min-height:calc(100vh - 64px);display:flex}.operator-home .platform-page-header{flex-shrink:0;margin-bottom:0}.operator-robot-stage{min-height:28rem;color:inherit;flex-direction:column;flex:1;justify-content:center;align-items:center;text-decoration:none;display:flex}a.operator-robot-stage{cursor:pointer}a.operator-robot-stage:hover .operator-robot-meta h2{color:#fff}.operator-spark-canvas{pointer-events:none;width:min(720px,92%);height:min(58vh,560px);position:relative}.operator-spark-canvas canvas{pointer-events:none;display:block}.operator-spark-canvas--loading{background:radial-gradient(at 50% 58%,#ffffff0d,#0000 64%)}.operator-robot-meta{z-index:1;text-align:center;margin-top:-1.25rem}.operator-robot-meta h2{margin:0;font-size:22px;font-weight:600}.operator-robot-meta p{color:var(--muted);margin:8px 0 0;font-size:14px}.operator-robot-empty{text-align:center;max-width:28rem}
