:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17242d;background:#f2f5f5;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #10202a;--navy: #0b1922;--teal: #0d7b70;--teal-dark: #075d56;--teal-soft: #e1f2ef;--gold: #d2a851;--line: #dce4e5;--muted: #52666f;--surface: #fff;--danger: #a34444}*{box-sizing:border-box}html{background:#f2f5f5;scroll-padding-top:1rem}body{margin:0;min-width:320px;min-height:100vh;line-height:1.5}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.65}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #b17c18;outline-offset:3px}button svg,.status-dot,.mini-dot{flex-shrink:0}input{color:var(--ink);min-width:0}input[type=text],input[type=password],input[type=time],input:not([type]){width:100%;border:1px solid #aebfc2;border-radius:11px;background:#fbfcfc;padding:12px 14px;min-height:48px;font-size:1rem}input:focus{border-color:var(--teal)}input[type=checkbox]{accent-color:var(--teal);width:22px;height:22px;flex-shrink:0}.skip-link{position:fixed;left:12px;top:12px;z-index:50;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;background:#fff;color:var(--ink);border-radius:8px}.skip-link:focus{clip-path:none;width:auto;height:auto;padding:12px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.splash{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:24px;background:var(--navy);color:#b5ded8}.brand-mark{width:56px;height:56px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#0e8276,#0a514d);border-radius:17px 17px 17px 5px;box-shadow:0 12px 28px #086d6426;flex-shrink:0}.brand-mark span{font-family:Georgia,serif;font-size:2rem;font-style:italic}.brand-mark.compact{width:40px;height:40px;border-radius:11px 11px 11px 4px;box-shadow:none}.brand-mark.compact span{font-size:1.5rem}.login-shell{min-height:100svh;background:#fff}.login-art{display:none}.login-panel{min-height:100svh;display:grid;place-items:center;padding:32px 24px}.login-card{width:min(100%,410px);display:grid;gap:24px}.login-card h1{margin:0;color:var(--ink);font-family:Georgia,serif;font-size:2.5rem;font-weight:500}.overline{margin:8px 0;color:var(--teal-dark);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800}.muted{color:var(--muted);margin:8px 0 0}.login-card label,.form-stack>label,.form-grid label{display:grid;gap:8px;color:#42545d;font-size:.9375rem;font-weight:650}.form-error,.error-banner{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #e1aaaa;border-radius:12px;background:#fff2f2;color:#852d2d;font-size:.9375rem;overflow-wrap:anywhere}.form-error svg,.error-banner>svg{flex-shrink:0;margin-top:3px}.error-banner{flex-wrap:wrap;margin-bottom:20px}.error-banner>div{flex:1;min-width:190px}.error-banner p{margin:4px 0 0}.button{min-height:46px;border:0;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 17px;font-weight:700;font-size:.9375rem}.button-primary{color:#fff;background:var(--teal);box-shadow:0 8px 18px #0d7b7026}.button-primary:hover:not(:disabled){background:var(--teal-dark)}.button-ghost{color:#42545d;background:#edf2f2}.button-wide{width:100%;min-height:50px}.secure-note{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:.8125rem;text-align:center}.secure-note svg{flex-shrink:0}.app-shell{min-height:100vh;background:linear-gradient(180deg,#edf3f2,#f6f7f7 450px,#f2f4f4)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:76px;padding:12px 16px;color:#fff;background:var(--navy)}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand>div:last-child{display:grid}.brand strong{font-family:Georgia,serif;font-size:1.2rem;font-weight:500}.brand small{color:#b0c8c6;font-size:.625rem;letter-spacing:.08em;text-transform:uppercase}.top-actions{display:flex;align-items:center;gap:8px}.simulation-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:8px;border:1px solid #d2a85180;color:#efcf88;font-size:.75rem;max-width:118px;line-height:1.3}.user-label{display:none}.icon-button{width:44px;height:44px;flex-shrink:0;border:0;border-radius:10px;background:transparent;color:inherit;display:grid;place-items:center}.icon-button:hover{background:#dce8e526}.icon-button.subtle{color:#50676f}.icon-button.subtle:hover{background:#eaf3f1;color:var(--teal-dark)}.icon-button.add{color:#fff;background:var(--teal)}.icon-button.danger{color:#a34444}.icon-button.danger:hover{background:#fff0f0}.dashboard{max-width:1480px;margin:auto;padding:28px 16px 24px}.welcome-row{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:24px}.welcome-row h1{font-family:Georgia,serif;color:var(--ink);font-size:clamp(2rem,5vw,3.2rem);font-weight:500;line-height:1.12;letter-spacing:-.035em;margin:12px 0}.welcome-row p{margin:0;color:var(--muted);font-size:.9375rem;max-width:55ch}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--teal-dark);font-weight:750;font-size:.75rem;letter-spacing:.09em;text-transform:uppercase}.live-dot{width:7px;height:7px;border-radius:50%;background:#168477;box-shadow:0 0 0 4px #16847718}.timezone-chip{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid #ccd9d8;border-radius:10px;background:#ffffffa6;color:#425a63}.timezone-chip span{display:grid;font-size:.8125rem;font-weight:650}.timezone-chip small{color:var(--muted);font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em}.simulation-banner{display:flex;align-items:flex-start;gap:12px;padding:16px;margin-bottom:20px;border:1px solid #e5d2a5;border-radius:14px;background:linear-gradient(110deg,#fffaec,#fffdf7);color:#604b21}.banner-icon{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;color:#805d17;background:#f7e9c5;border-radius:10px}.simulation-banner strong{font-size:.9375rem}.simulation-banner p{margin:5px 0 0;font-size:.875rem;line-height:1.6}.control-card{display:flex;flex-direction:column;border-radius:18px;color:#fff;background:radial-gradient(circle at 80% 10%,#1d837940,transparent 42%),linear-gradient(110deg,#0b1d27,#10373b);box-shadow:0 16px 38px #08202a1f;margin-bottom:24px;overflow:hidden}.control-copy{padding:24px;min-width:0}.section-kicker{color:var(--teal-dark);font-size:.6875rem;font-weight:800;letter-spacing:.13em}.control-card .section-kicker{color:#ebc77d}.control-card h2{font-family:Georgia,serif;font-weight:500;font-size:1.625rem;line-height:1.25;margin:10px 0}.control-card p{color:#c0d3d4;margin:0;font-size:.9375rem}.control-meta{display:flex;flex-direction:column;gap:10px;margin-top:20px}.control-meta span{display:flex;align-items:flex-start;gap:8px;color:#d1ddde;font-size:.8125rem}.control-meta svg{flex-shrink:0;margin-top:2px}.prepare-button{width:100%;border:0;border-top:1px solid #ffffff1f;padding:22px 24px;display:flex;align-items:center;gap:16px;text-align:left;color:#fff;background:#10766d50}.prepare-button:hover:not(:disabled){background:#13897d80}.prepare-icon{width:46px;height:46px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;color:#0a5b54;background:#f5d98f}.prepare-button>span:nth-child(2){display:grid;flex:1;min-width:0}.prepare-button strong{font-size:1rem}.prepare-button small{color:#c1d6d4;margin-top:4px;font-size:.8125rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:24px}.panel{min-width:0;background:#ffffffed;border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 25px #1e37410a}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 16px;border-bottom:1px solid #e5eceb}.panel-header>div{min-width:0}.panel-header h2{margin:4px 0 0;color:var(--ink);font-size:1.125rem;line-height:1.3}.text-button{min-height:44px;padding:8px 0 8px 8px;display:flex;align-items:center;gap:6px;border:0;background:none;color:var(--teal-dark);font-size:.8125rem;font-weight:750}.device-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:14px}.device-card{min-width:0;display:flex;flex-direction:column;padding:16px;border:1px solid #cfdedb;border-radius:13px;background:#fff}.device-card.disabled{background:#f6f8f8}.device-head{display:grid;grid-template-columns:40px minmax(0,1fr) 44px;align-items:center;gap:10px}.device-icon{width:40px;height:40px;display:grid;place-items:center;color:#0b7065;background:#e5f3f1;border-radius:10px}.device-icon.windows{color:#346e9a;background:#e9f2f9}.device-head h3{margin:0;font-size:1rem;line-height:1.35;overflow-wrap:anywhere}.device-head p{margin:4px 0 0;font-size:.8125rem;color:var(--muted)}.device-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e6edec;margin-top:16px;padding-top:14px}.device-host{color:var(--muted);font-size:.8125rem;overflow-wrap:anywhere;min-width:0}.device-evidence{margin:9px 0 16px;color:var(--muted);font-size:.75rem}.status-badge{display:inline-flex;align-items:center;gap:7px;width:fit-content;max-width:100%;padding:6px 10px;border-radius:999px;font-size:.75rem;line-height:1.4;font-weight:750;background:#eef2f2;color:#52666f;overflow-wrap:anywhere}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.status-simulated{color:#78550d;background-color:#fff4d3}.status-succeeded,.status-online,.status-process_running{color:#0d6656;background-color:#e4f4ef}.status-failed,.status-error{color:#9b3434;background-color:#fce9e9}.status-running,.status-preparing,.status-launching,.status-queued,.status-pending{color:#235b85;background-color:#e9f2f9}.status-offline,.status-stopped{color:#52666f;background-color:#edf1f2}.application-list{flex:1;display:grid;align-content:start}.application-row{display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:start;gap:8px;padding:12px 0;border-top:1px solid #eaf0ee}.mini-dot{margin-top:8px;width:6px;height:6px;border-radius:50%;background:currentColor;color:#778a90}.application-copy{display:grid;gap:4px;min-width:0}.application-copy strong{font-size:.875rem;font-weight:650;overflow-wrap:anywhere}.application-copy>span{font-size:.8125rem;color:var(--muted);overflow-wrap:anywhere}.application-flow{padding:3px 7px;max-width:105px;border-radius:6px;font-size:.6875rem;font-weight:650;overflow-wrap:anywhere}.device-card footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:10px;padding-top:12px;border-top:1px solid #e6edec;color:var(--muted);font-size:.75rem}.device-card footer strong{color:#9b3434}.panel-intro{margin:16px 18px 4px;font-size:.875rem;color:var(--muted)}.schedule-list{padding:8px 16px 16px;display:grid;gap:12px}.schedule-item{display:grid;grid-template-columns:65px minmax(0,1fr);gap:12px;align-items:start;padding:16px 0;border-bottom:1px solid #e5eceb}.schedule-item:last-child{border:0}.schedule-time{display:grid}.schedule-time strong{font-size:1.375rem;line-height:1.3;color:var(--ink)}.schedule-time small{color:var(--teal-dark);font-size:.6875rem;font-weight:700}.schedule-info>strong{display:block;margin-bottom:8px;font-size:.9375rem;overflow-wrap:anywhere}.weekday-row{display:flex;flex-wrap:wrap;gap:4px 6px}.weekday-row span{color:#5f7077;font-size:.75rem}.weekday-row span.active{color:var(--teal-dark);font-weight:800;text-decoration:underline;text-underline-offset:3px}.schedule-actions{grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-end;gap:8px}.schedule-switch{display:flex;align-items:center;gap:8px;min-height:44px;margin-right:auto;font-size:.8125rem;color:var(--muted);cursor:pointer}.run-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:.8125rem;padding:14px 18px;border-bottom:1px solid #e5eceb}.run-devices{padding:22px 16px 8px}.run-device{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;min-height:90px}.run-index{position:relative;z-index:1;width:28px;height:28px;display:grid;place-items:center;border:1px solid #c2d6d0;border-radius:50%;color:var(--teal);background:#fff}.run-line{position:absolute;left:13px;top:28px;bottom:-1px;width:1px;background:#dce6e5}.run-device-content{padding-bottom:22px;min-width:0}.run-device-content>div:first-child{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.run-device-content strong{font-size:.9375rem}.run-device-content p{margin:8px 0 10px;color:var(--muted);font-size:.8125rem;overflow-wrap:anywhere}.run-apps{display:flex;flex-wrap:wrap;gap:6px}.app-chip{padding:4px 8px;border-radius:6px;font-size:.75rem;overflow-wrap:anywhere}.run-summary{display:flex;align-items:flex-start;gap:10px;margin:0 16px 18px;padding:14px;border-radius:10px;color:#70511b;background:#fff8e7;font-size:.875rem}.run-summary svg{flex-shrink:0;margin-top:2px}.history-list{padding:8px}.history-list button{width:100%;min-height:76px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 8px;border:0;border-bottom:1px solid #e5eceb;border-radius:9px;background:transparent;text-align:left;color:var(--ink)}.history-list button:hover,.history-list button.selected{background:#eaf3f0}.history-list button.selected{box-shadow:inset 3px 0 var(--teal)}.history-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px}.history-list button>span:nth-child(2){display:grid;gap:4px;min-width:0}.history-list strong{font-size:.875rem}.history-list small{color:var(--muted);font-size:.75rem}.empty-state{min-height:180px;grid-column:1 / -1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;color:var(--muted);font-size:.875rem;text-align:center}.empty-state strong{color:var(--ink)}.app-footer{display:flex;flex-direction:column;gap:12px;padding:0 4px 12px;color:var(--muted);font-size:.75rem}.app-footer span{display:flex;align-items:flex-start;gap:8px}.app-footer svg{flex-shrink:0;margin-top:2px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:12px;background:#030e14a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(620px,100%);max-height:calc(100dvh - 24px);overflow-y:auto;border-radius:16px;background:#fff;box-shadow:0 30px 80px #0004}.modal-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--line);background:#fff}.modal-header h2{margin:0;font-family:Georgia,serif;font-size:1.375rem;font-weight:500;overflow-wrap:anywhere}.modal-body{padding:20px 16px}.form-stack{display:grid;gap:20px}.form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}fieldset{min-width:0;margin:0;padding:12px;border:1px solid #c4d4d3;border-radius:11px}legend{padding:0 6px;font-size:.875rem;font-weight:700;color:#425a63}.weekday-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.weekday-picker button{min-height:44px;padding:4px;border:1px solid #c2d2d0;border-radius:8px;background:#f6f9f8;color:#425a63;font-weight:700}.weekday-picker button.selected{border-color:var(--teal);color:#fff;background:var(--teal)}.switch-row,.app-toggle{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:12px;min-height:48px;border:1px solid var(--line);border-radius:10px}.switch-row span,.app-toggle span{display:grid;gap:4px;min-width:0}.switch-row small,.app-toggle small{color:var(--muted);font-size:.8125rem;font-weight:500;overflow-wrap:anywhere}.app-toggle-list{display:grid;gap:8px}.app-toggle{border:0;border-bottom:1px solid #e5eceb;padding:12px 0;border-radius:0;font-size:.875rem}.safety-note{display:flex;align-items:flex-start;gap:10px;padding:14px;border-radius:10px;color:#2a5e55;background:#eaf5f3;font-size:.875rem}.safety-note svg{flex-shrink:0;margin-top:2px}.modal-actions{display:flex;flex-wrap:wrap;gap:12px}.modal-actions .button{flex:1}.toast{position:fixed;z-index:30;right:16px;bottom:max(16px,env(safe-area-inset-bottom));left:16px;display:flex;align-items:flex-start;gap:10px;padding:16px;border-radius:12px;color:#fff;background:#18383b;box-shadow:0 15px 40px #0003;font-size:.875rem}.toast svg{flex-shrink:0;margin-top:2px}@media(min-width:600px){.topbar{padding-inline:24px}.user-label{display:block;color:#c0d0d2;font-size:.875rem}.simulation-pill{max-width:none;border-radius:999px;padding:8px 12px}.dashboard{padding:36px 24px}.welcome-row{flex-direction:row;justify-content:space-between;align-items:flex-end}.timezone-chip{flex-shrink:0}.device-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));padding:18px}.panel-header{padding-inline:22px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-body{padding:24px}.weekday-picker{grid-template-columns:repeat(7,minmax(0,1fr))}.modal-actions{justify-content:flex-end}.modal-actions .button{flex:initial}.toast{left:auto;max-width:440px}}@media(min-width:1000px){.login-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(440px,.85fr)}.login-art{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:8vw;color:#fff;background:radial-gradient(circle at 70% 25%,#138b7ea6,transparent 36%),linear-gradient(145deg,#07151d,#0c2c33 55%,#0b4b46)}.art-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.15;background-image:linear-gradient(#fff3 1px,transparent 1px),linear-gradient(90deg,#fff3 1px,transparent 1px);background-size:58px 58px}.art-orbit{position:absolute;border:1px solid #d7b05b59;border-radius:50%}.orbit-one{width:46vw;height:46vw;right:-13vw;top:-10vw}.orbit-two{width:28vw;height:28vw;right:-4vw;top:-1vw}.art-copy{position:relative;max-width:650px}.art-copy h1{font-family:Georgia,serif;font-size:clamp(3rem,5.4vw,6rem);line-height:1;font-weight:400;letter-spacing:-.045em;margin:24px 0}.art-copy p{font-size:1.125rem;line-height:1.7;color:#c4dcda}.eyebrow.light{color:#e4bd6b}.login-panel{padding:48px}.topbar{padding-inline:max(28px,calc((100vw - 1424px)/2))}.control-card{flex-direction:row}.control-copy{flex:1;padding:30px}.control-meta{flex-direction:row;flex-wrap:wrap;gap:20px}.prepare-button{width:340px;border-top:0;border-left:1px solid #ffffff1f}.lower-grid{grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr)}.history-list{max-height:520px;overflow-y:auto}.app-footer{flex-direction:row;justify-content:space-between}}@media(min-width:1280px){.dashboard-grid:not(.lower-grid){grid-template-columns:minmax(0,2fr) minmax(340px,1fr);align-items:start}.device-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
