.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.chip .ico{font-weight:700}.chip.info{border-style:solid}.chip.attention{border:2px dashed var(--plum);background:color-mix(in srgb, var(--lilac) 30%, transparent)}.chip.stop{border:3px solid var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent);font-weight:650}.chip small{color:var(--muted);font-weight:400}.badge.emergency{background:var(--danger);color:#fff;font-weight:700}.badge.high{background:color-mix(in srgb, var(--danger) 22%, transparent);color:var(--danger);font-weight:600}.badge.waiting,.badge.escalated{background:color-mix(in srgb, var(--plum) 18%, transparent);color:var(--plum-dark)}.timeline{flex-direction:column;gap:8px;display:flex}.timeline .ev{border-left:3px solid var(--border);padding-left:10px}.timeline .ev .when{color:var(--muted);font-size:12px}.timeline .ev.note,.timeline .ev.recommendation,.timeline .ev.comment{border-left-color:var(--plum)}.timeline .ev.emergency_flagged,.timeline .ev.emergency_confirmed,.timeline .ev.emergency_approved{border-left-color:var(--danger)}.toolbar-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.day{border-bottom:1px solid var(--border);padding:8px 0 2px;font-weight:650}.appt{align-items:flex-start;gap:10px;padding:6px 0;display:flex}.appt .time{min-width:110px;color:var(--muted)}.tech{max-width:720px;margin:0 auto}.tech button,.tech input,.tech select,.tech textarea{min-height:44px;font-size:16px}.tech button.big{width:100%;min-height:56px;font-size:17px;font-weight:650}.tech .jobcard{text-align:left;border-radius:12px;width:100%;padding:14px;line-height:1.35;display:block}.tech .jobcard.emergency{border:3px solid var(--danger)}.tech a.action{border:1px solid var(--border);border-radius:8px;align-items:center;min-height:44px;padding:0 12px;text-decoration:none;display:inline-flex}@media (width<=767px){.appt{flex-direction:column;gap:2px}.appt .time{min-width:0}}:root{--plum:#74498b;--plum-dark:#5a3670;--lilac:#f4cbff;--ink:#1d1622;--bg:#f7f4f8;--surface:#fff;--border:#e6dcea;--muted:#6f6776;--ok:#2f7a52;--danger:#b3261e;--shadow:0 8px 28px #1d16222e;--desk:#ece5f0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#f1ecf4;--bg:#14111a;--surface:#1d1622;--border:#3a2f45;--muted:#a99fb2;--desk:#0d0a11;--plum:#a77bc0;--plum-dark:#c79be0;--ok:#5fc08a;--danger:#ff8a80;--shadow:0 8px 28px #0000008c}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--ink);background:var(--bg);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{margin:0;font-weight:650}a{color:var(--plum)}.muted{color:var(--muted)}.row{align-items:center;gap:8px;display:flex}.grow{flex:1;min-width:0}.stack{flex-direction:column;gap:10px;display:flex}button{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:6px 12px}button:hover:not(:disabled){border-color:var(--plum)}button.primary{background:var(--plum);border-color:var(--plum);color:#fff}button.primary:hover:not(:disabled){background:var(--plum-dark);border-color:var(--plum-dark)}button.danger{color:var(--danger)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--plum);outline-offset:1px}input,select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;padding:6px 10px}label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}label>input,label>select,label>textarea{color:var(--ink);font-size:14px}.err{color:var(--danger);font-size:13px}.badge{background:var(--lilac);color:#3a1f4a;border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.badge.archived,.badge.inactive,.badge.disabled{background:var(--border);color:var(--muted)}.badge.active{background:color-mix(in srgb, var(--ok) 22%, transparent);color:var(--ok)}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:6px 8px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border);vertical-align:top;padding:7px 8px}tr.clickable{cursor:pointer}tr.clickable:hover td,tr.selected td{background:color-mix(in srgb, var(--lilac) 28%, transparent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px}.tabs{border-bottom:1px solid var(--border);gap:4px;display:flex}.tabs button{background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0}.tabs button.on{border-bottom-color:var(--plum);color:var(--plum);font-weight:600}.login{background:linear-gradient(160deg, var(--bg), var(--desk));place-items:center;min-height:100%;padding:16px;display:grid}.login .card{text-align:center;width:min(420px,100%);padding:28px}.login img.lockup{height:56px;margin-bottom:14px}.shell{grid-template-rows:48px 1fr 44px;height:100%;display:grid}.topbar{background:var(--plum-dark);color:#fff;align-items:center;gap:12px;padding:0 12px;display:flex}.topbar img{height:26px}.topbar .brand{letter-spacing:.12em;font-weight:700}.topbar button{color:#fff;background:#ffffff1f;border-color:#ffffff40}.topbar button:hover{border-color:#fff}.cmd{flex:1;max-width:440px;position:relative}.cmd input{color:#fff;background:#ffffff24;border-color:#ffffff47}.cmd input::placeholder{color:#ffffffb3}.cmd-results{background:var(--surface);color:var(--ink);border:1px solid var(--border);box-shadow:var(--shadow);z-index:100000;border-radius:10px;max-height:360px;position:absolute;top:38px;left:0;right:0;overflow:auto}.cmd-results button{text-align:left;border:0;border-radius:0;gap:8px;width:100%;padding:8px 12px;display:flex}.cmd-results button:hover,.cmd-results button.hot{background:color-mix(in srgb, var(--lilac) 35%, transparent)}.desktop{background:var(--desk);position:relative;overflow:hidden}.empty-desk{color:var(--muted);text-align:center;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.taskbar{background:var(--surface);border-top:1px solid var(--border);align-items:center;gap:6px;padding:0 8px;display:flex;overflow-x:auto}.taskbar .task{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.taskbar .task.on{border-color:var(--plum);color:var(--plum);font-weight:600}.taskbar .spacer{flex:1}.launcher{background:var(--surface);border:1px solid var(--border);width:280px;box-shadow:var(--shadow);z-index:100000;border-radius:12px;padding:6px;position:absolute;bottom:48px;left:8px}.launcher button{text-align:left;border:0;flex-direction:column;align-items:flex-start;gap:0;width:100%;display:flex}.launcher button:hover{background:color-mix(in srgb, var(--lilac) 35%, transparent)}.launcher small{color:var(--muted)}.win{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;display:flex;position:absolute;overflow:hidden}.win.focused{border-color:var(--plum)}.win-title{background:var(--bg);border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;align-items:center;gap:8px;padding:6px 8px 6px 12px;display:flex}.win-title .t{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.win-title button{padding:0 8px;line-height:22px}.win-body{flex:1;min-height:0;padding:12px;overflow:auto}.win .grip{z-index:2;touch-action:none;background:0 0;position:absolute}.win .grip.e{cursor:ew-resize;width:6px;top:0;bottom:0;right:0}.win .grip.s{cursor:ns-resize;height:6px;bottom:0;left:0;right:0}.win .grip.se{cursor:nwse-resize;z-index:3;width:16px;height:16px;bottom:0;right:0}.split{grid-template-columns:minmax(240px,1fr) minmax(280px,1.3fr);gap:14px;height:100%;display:grid}.split>div{min-height:0;overflow:auto}.footer-badge{justify-content:center;padding:2px 0;display:flex}@media (width<=767px){.win{box-shadow:none;border-radius:0;width:auto!important;height:auto!important;position:absolute!important;inset:0!important}.win .grip{display:none}.win-title{cursor:default}.split{grid-template-columns:1fr;height:auto}.topbar .brand{display:none}}
