:root {
  --ink:#212b42; --muted:#6b768c; --line:#e1e6ef; --brand:#414b9b;
  --brand-dark:#313a7b; --brand-light:#eef0fb; --bg:#f5f7fb; --orange:#bd552d;
  --orange-bg:#fff0e8; --green:#277259; --red:#b33e48;
  color-scheme:light;
  font-family:'Malgun Gothic','Apple SD Gothic Neo','Segoe UI',sans-serif;
  font-size:16px; color:var(--ink); background:var(--bg);
}
* { box-sizing:border-box; }
body { margin:0; }
button,input,textarea,select { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; border:0; background:none; color:inherit; }
button:disabled { cursor:not-allowed; opacity:.48; }
a { color:var(--brand); text-decoration:none; }
a:hover { color:var(--brand-dark); }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid #9aa5e0; outline-offset:3px; }
button,input,textarea { border-radius:6px; }
input:not([type=checkbox]),textarea { width:100%; border:1px solid #d5dcea; background:#fff; padding:12px 14px; color:var(--ink); line-height:1.5; }
input:not([type=checkbox]):focus,textarea:focus { border-color:var(--brand); }
input[type=checkbox] { width:18px; height:18px; accent-color:var(--brand); flex-shrink:0; cursor:pointer; }
textarea { resize:vertical; min-height:84px; }
h1,h2,h3,p { margin:0; }
button .icon,a .icon { pointer-events:none; }
.icon { width:21px; height:21px; stroke:currentColor; stroke-width:1.65; fill:none; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; vertical-align:middle; }
[hidden] { display:none!important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:-70px; left:12px; padding:12px; z-index:100; background:white; }
.skip-link:focus { top:8px; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:9px; border:1px solid var(--line); border-radius:7px; background:#fff; padding:10px 17px; min-height:43px; font-size:.9rem; font-weight:700; line-height:1.4; white-space:nowrap; }
.button:hover { background:#f1f3fa; color:var(--brand); }
.button.primary { background:var(--brand); color:#fff; border-color:var(--brand); }
.button.primary:hover { background:var(--brand-dark); }
.button.subtle { background:transparent; border-color:transparent; color:var(--muted); }
.button.subtle:hover { color:var(--brand); background:var(--brand-light); }
.button.large { padding:16px 29px; font-size:1.03rem; min-width:195px; }
.system-entry { transition:box-shadow 180ms ease,transform 180ms ease,background-color 180ms ease; }
.system-entry .icon { transition:transform 180ms ease; }
.system-entry:hover,.system-entry:focus-visible { box-shadow:0 6px 20px #414b9b28; }
.system-entry:hover .icon,.system-entry:focus-visible .icon { transform:translateX(5px); }
.system-entry:active { transform:scale(.97); }
.icon-button { display:inline-flex; justify-content:center; align-items:center; width:40px; height:40px; color:var(--muted); border-radius:7px; flex-shrink:0; }
.icon-button:hover { background:var(--brand-light); color:var(--brand); }
.text-button { color:var(--brand); padding:7px 0; font-size:.88rem; }
.text-button:hover { text-decoration:underline; }
.topbar { height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 34px; border-bottom:1px solid var(--line); background:#fff; position:sticky; top:0; z-index:30; }
.brand { display:inline-flex; align-items:center; gap:11px; color:var(--ink); font-family:'Segoe UI','Malgun Gothic',sans-serif; font-size:1.55rem; font-weight:800; letter-spacing:-.9px; flex-shrink:0; }
.brand-symbol { display:flex; align-items:center; justify-content:center; width:35px; height:35px; border-radius:9px; background:var(--brand); color:white; font-size:1.5rem; position:relative; letter-spacing:0; }
.brand-symbol span { width:6px; height:6px; border-radius:50%; background:#f3bd93; position:absolute; right:5px; top:6px; }
.brand-number { color:var(--brand); margin-left:3px; }
.topbar-title { color:var(--muted); font-size:.88rem; margin-right:auto; padding-left:24px; border-left:1px solid var(--line); }
.topbar-actions { display:flex; align-items:center; gap:17px; }
.team-label { font-size:.85rem; color:var(--muted); }
.signed-user { display:flex; align-items:center; gap:10px; font-size:.9rem; font-weight:700; }
.signed-user small { display:block; margin-top:3px; font-weight:400; font-size:.75rem; color:var(--muted); }
.avatar { width:37px; height:37px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:var(--brand); background:var(--brand-light); border:1px solid #e0e3f3; flex-shrink:0; font-size:.86rem; font-weight:700; }
.avatar.small { width:32px; height:32px; font-size:.8rem; }
.boot-state { min-height:65vh; display:grid; place-content:center; color:var(--muted); padding:24px; text-align:center; }
.login-layout { display:grid; place-items:center; min-height:calc(100vh - 76px); padding:34px 20px; background:linear-gradient(150deg,#f5f7fc 0%,#edf0f9 100%); }
.login-content { width:min(100%,448px); }
.back-link { display:inline-flex; align-items:center; gap:8px; font-size:.86rem; color:var(--muted); padding:5px 0; }
.back-link .icon { width:17px; height:17px; }
.login-card { position:relative; isolation:isolate; margin-top:18px; padding:34px 34px 28px; border:1px solid transparent; border-radius:14px; }
.login-surface { position:absolute; inset:-1px; z-index:-1; pointer-events:none; background:white; border:1px solid #e0e5f0; border-radius:14px; box-shadow:0 16px 50px #28335808; }
.login-symbol { display:flex; align-items:center; justify-content:center; width:49px; height:49px; border-radius:12px; background:var(--brand-light); color:var(--brand); margin-bottom:23px; }
.login-symbol .icon { width:25px; height:25px; }
.login-card h1 { font-size:1.65rem; letter-spacing:-1px; }
.login-heading>p,.login-card>p { font-size:.88rem; line-height:1.6; color:var(--muted); margin-top:12px; }
.login-card form { margin-top:30px; }
form>label { display:block; font-size:.88rem; font-weight:700; margin-bottom:9px; }
.login-field>label { display:block; font-size:.88rem; font-weight:700; margin-bottom:9px; transition:color 180ms ease; }
.login-field+.login-field { margin-top:20px; }
.login-field:focus-within>label { color:var(--brand); }
.login-field input { transition:border-color 180ms ease,box-shadow 180ms ease; }
.login-field input:focus { box-shadow:0 0 0 4px #414b9b0c; }
.login-symbol { transition:background-color 180ms ease,color 180ms ease; }
.login-card:focus-within .login-symbol { background:#414b9b; color:white; }
#login-form>label:not(:first-child),#user-form>label:not(:first-child) { margin-top:20px; }
.password-field { position:relative; }
.password-field input { padding-right:47px; }
.password-field .icon-button { position:absolute; right:5px; top:5px; }
.form-error { color:var(--red); line-height:1.65; font-size:.85rem; margin:12px 0; }
.form-error:empty { display:none; }
.login-submit { width:100%; margin-top:25px; min-height:49px; }
.login-submit.is-loading { opacity:1; cursor:progress; background:var(--brand); }
.login-spinner { width:17px; height:17px; border:2px solid #ffffff59; border-top-color:#fff; border-radius:50%; flex-shrink:0; animation:login-spin .8s linear infinite; }
@keyframes login-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .login-spinner { animation:none; } }
.login-card .login-help { border-top:1px solid var(--line); margin-top:28px; padding-top:20px; font-size:.8rem; text-align:center; }
.login-bottom { font-size:.8rem; color:#8e96a8; text-align:center; margin-top:25px; }
.platform-layout { display:grid; grid-template-columns:306px minmax(0,1fr); min-height:calc(100vh - 76px); max-width:1920px; margin:auto; }
.incident-sidebar { background:white; border-right:1px solid var(--line); padding:27px 23px; height:calc(100vh - 76px); position:sticky; top:76px; overflow-y:auto; scrollbar-width:thin; display:flex; flex-direction:column; }
.sidebar-heading { display:flex; align-items:center; gap:10px; margin-bottom:25px; }
.sidebar-heading h2 { font-size:1.02rem; }
.count { background:#f0f2f7; color:#737f97; padding:3px 8px; font-size:.76rem; font-weight:700; border-radius:5px; }
.start-demo { border:1px solid #cdd3ef; background:var(--brand-light); color:var(--brand); justify-content:center; width:100%; }
.start-demo:hover { background:#e2e6f9; }
.start-demo .icon { width:17px; }
.demo-control { min-width:0; padding-top:2px; }
.demo-control .demo-start-button { min-height:50px; background:var(--brand); border-color:var(--brand); color:#fff; box-shadow:0 4px 12px #414b9b20; animation:demo-start-emphasis 3.2s ease-in-out 3; transition:background-color 160ms ease,transform 160ms ease; }
.demo-control .demo-start-button:hover { background:var(--brand-dark); border-color:var(--brand-dark); }
.demo-control .demo-start-button:active { transform:translateY(1px); }
.demo-control .demo-start-button:focus-visible { outline:3px solid #9aa5e0; outline-offset:4px; }
.demo-control .demo-start-button .icon { width:18px; height:18px; fill:currentColor; stroke-width:1.3; }
.demo-start-help { margin-top:12px; color:#68758b; font-size:.78rem; line-height:1.75; word-break:keep-all; overflow-wrap:anywhere; }
.demo-waiting { min-width:0; flex-shrink:0; padding:17px 15px 16px; border:1px solid #cfd5ed; border-radius:9px; background:#f5f6fd; }
.demo-wait-heading { display:flex; align-items:center; gap:8px; color:var(--brand); }
.demo-wait-heading>.icon { width:18px; height:18px; }
.demo-wait-heading h3 { min-width:0; font-size:.86rem; line-height:1.6; word-break:keep-all; overflow-wrap:anywhere; }
.demo-countdown-line { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 8px; min-height:55px; margin:10px 0 7px; color:var(--brand-dark); }
.demo-countdown-line strong { font-size:2.2rem; font-weight:700; line-height:1.4; font-variant-numeric:tabular-nums; }
.demo-countdown-line>span { font-size:.76rem; color:#68758b; line-height:1.7; }
.demo-waiting[data-demo-phase=confirming] .demo-countdown-line { align-items:center; }
.demo-waiting[data-demo-phase=confirming] .demo-countdown-line strong { font-size:.91rem; line-height:1.7; word-break:keep-all; overflow-wrap:anywhere; }
.demo-progress-track { height:5px; width:100%; overflow:hidden; border-radius:3px; background:#dfe3f3; }
.demo-progress-fill { display:block; width:100%; height:100%; background:var(--brand); border-radius:inherit; transform-origin:left center; }
.demo-wait-message { margin-top:12px; font-size:.78rem; line-height:1.8; color:#68758b; word-break:keep-all; overflow-wrap:anywhere; }
.demo-requesting .demo-progress-track { margin-top:17px; }
.demo-requesting .demo-progress-fill { width:35%; animation:demo-request-wait 1.8s ease-in-out infinite alternate; }
[data-demo-motion-paused] .demo-start-button,[data-demo-motion-paused] .demo-progress-fill { animation-play-state:paused; }
@keyframes demo-start-emphasis { 0%,100% { box-shadow:0 0 0 0 #414b9b00,0 4px 12px #414b9b20; } 45%,60% { box-shadow:0 0 0 5px #414b9b16,0 5px 16px #414b9b30; } }
@keyframes demo-request-wait { from { transform:translateX(0); } to { transform:translateX(185%); } }
@media(prefers-reduced-motion:reduce) { .demo-control .demo-start-button,.demo-requesting .demo-progress-fill { animation:none; transition:none; } }
.tutorial-sidebar { min-width:0; }
.tutorial-step-caption { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:11px; color:#657088; font-size:.78rem; }
.tutorial-step-caption>strong { color:var(--brand); font-size:.9rem; font-variant-numeric:tabular-nums; }
.tutorial-step-caption>strong>span { color:#8a94a6; font-size:.75rem; font-weight:400; }
.tutorial-step-rail { display:flex; gap:5px; margin-bottom:24px; }
.tutorial-step-rail>span { flex:1; height:3px; border-radius:2px; background:#e6e9f1; }
.tutorial-step-rail>.is-reached { background:#8993c5; }
.tutorial-sidebar-note,.tutorial-personal-note { font-size:.76rem; line-height:1.8; color:#68758b; word-break:keep-all; overflow-wrap:anywhere; }
.tutorial-sidebar-note { margin-top:13px; }
.tutorial-personal-note { margin-top:23px; padding-top:15px; border-top:1px solid #edf0f5; color:#7a859a; }
.tutorial-receipt-status { font-size:.79rem; line-height:1.7; margin-bottom:12px; color:var(--brand-dark); }
.tutorial-sidebar .tutorial-received { padding:17px 15px 0; margin:0; border:1px solid #8b97d0; background:#f6f7fe; box-shadow:0 3px 12px #414b9b0d; animation:tutorial-receipt-arrival 320ms ease-out; }
.tutorial-sidebar .tutorial-received:hover { border-color:var(--brand); background:#eef0fc; }
.tutorial-sidebar .tutorial-received:focus-visible { outline:3px solid #9aa5e0; outline-offset:4px; }
.tutorial-sidebar .tutorial-received:disabled { opacity:1; cursor:progress; }
.tutorial-sidebar .tutorial-received .tutorial-received-top { display:flex; gap:7px; align-items:center; color:var(--brand); margin:0 0 13px; font-size:.77rem; font-weight:700; }
.tutorial-received-top>.icon { width:17px; height:17px; }
.tutorial-sidebar .tutorial-received-top>span { display:inline; margin:0; color:inherit; font-size:inherit; }
.tutorial-sidebar .tutorial-received>strong { font-size:.96rem; line-height:1.7; word-break:keep-all; overflow-wrap:anywhere; }
.tutorial-sidebar .tutorial-received .tutorial-received-address { font-size:.77rem; line-height:1.8; color:#67728a; margin-top:6px; }
.tutorial-sidebar .tutorial-received .tutorial-received-action { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:15px -15px 0; padding:13px 14px; background:var(--brand); color:#fff; border-radius:0 0 7px 7px; font-size:.78rem; line-height:1.65; font-weight:700; white-space:normal; }
.tutorial-received-action>.icon { width:16px; height:16px; }
.tutorial-workspace { min-width:0; padding:35px 32px 28px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.tutorial-introduction { max-width:640px; }
.tutorial-guide-label { display:block; color:#6d7890; font-size:.77rem; margin-bottom:12px; }
.tutorial-introduction h2 { font-size:1.55rem; letter-spacing:-.8px; line-height:1.5; word-break:keep-all; }
.tutorial-introduction>p { margin-top:10px; color:var(--muted); font-size:.86rem; line-height:1.85; word-break:keep-all; }
.tutorial-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:36px 0 0; padding:0; list-style:none; }
.tutorial-flow-step { min-width:0; position:relative; padding:0 22px 0 0; }
.tutorial-flow-step:not(:last-child)::before { content:''; position:absolute; top:17px; left:43px; right:10px; height:1px; background:#e1e6ef; }
.tutorial-flow-marker { position:relative; display:flex; justify-content:center; align-items:center; width:35px; height:35px; border:1px solid #dde2eb; border-radius:50%; background:#f6f7fa; color:#7d879a; font-size:.85rem; font-weight:700; }
.tutorial-flow-marker>.icon { width:17px; height:17px; }
.tutorial-flow-step.is-current .tutorial-flow-marker { color:var(--brand); border-color:#a7b0d8; background:var(--brand-light); }
.tutorial-flow-step.is-done .tutorial-flow-marker { color:#6575a9; border-color:#d4dbea; background:#f0f3fa; }
.tutorial-flow-text { padding-top:16px; }
.tutorial-flow-state { display:block; margin-bottom:7px; color:#8993a5; font-size:.69rem; }
.tutorial-flow-step.is-current .tutorial-flow-state { color:var(--brand); font-weight:700; }
.tutorial-flow-text h3 { color:#657087; font-size:.94rem; font-weight:600; line-height:1.6; }
.tutorial-flow-step.is-current h3 { color:var(--ink); font-weight:700; }
.tutorial-flow-text p { max-width:190px; margin-top:6px; color:#7a8599; font-size:.76rem; line-height:1.85; word-break:keep-all; }
.tutorial-direction { display:flex; align-items:center; gap:11px; margin-top:30px; padding:16px 0; border-top:1px solid #edf0f5; color:var(--brand-dark); }
.tutorial-direction-icon { display:inline-flex; flex-shrink:0; }
.tutorial-direction-icon>.icon { width:19px; height:19px; }
.tutorial-direction p { font-size:.85rem; line-height:1.8; word-break:keep-all; }
.tutorial-shared-note { display:flex; gap:11px; align-items:flex-start; margin-top:5px; padding-top:17px; border-top:1px solid #edf0f5; }
.tutorial-shared-note>.icon { width:18px; height:18px; margin-top:2px; color:#8a95a8; }
.tutorial-shared-note p { color:#7a8599; font-size:.76rem; line-height:1.85; word-break:keep-all; }
.tutorial-shared-note strong { color:#66738a; font-weight:600; }
@keyframes tutorial-receipt-arrival { from { opacity:.3; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1150px) {
  .tutorial-workspace { padding:27px 23px 23px; }
  .tutorial-introduction h2 { font-size:1.3rem; }
  .tutorial-flow-step { padding-right:14px; }
}
@media(max-width:950px) {
  .tutorial-flow { grid-template-columns:1fr; gap:23px; margin-top:28px; }
  .tutorial-flow-step { display:flex; gap:13px; padding:0; }
  .tutorial-flow-step:not(:last-child)::before { top:43px; left:17px; right:auto; bottom:-15px; height:auto; width:1px; }
  .tutorial-flow-marker { flex-shrink:0; }
  .tutorial-flow-text { padding-top:0; }
  .tutorial-flow-state { margin-bottom:3px; }
  .tutorial-flow-text p { max-width:none; margin-top:3px; }
  .tutorial-direction { margin-top:23px; }
}
@media(max-width:600px) {
  .tutorial-step-rail { margin-bottom:19px; }
  .tutorial-personal-note { margin-top:17px; padding-top:12px; }
  .tutorial-workspace { padding:24px 20px 21px; }
  .tutorial-introduction h2 { font-size:1.25rem; }
  .tutorial-direction-icon:not(.is-waiting)>.icon { transform:rotate(90deg); }
}
@media(prefers-reduced-motion:reduce) { .tutorial-sidebar .tutorial-received { animation:none; } }
.sidebar-empty { display:flex; flex-direction:column; align-items:center; text-align:center; padding:47px 0; color:#8a95a8; }
.sidebar-empty>.icon { width:29px; height:29px; margin-bottom:19px; color:#aeb7cb; }
.sidebar-empty strong { color:#66748d; font-size:.9rem; font-weight:500; }
.sidebar-empty p { font-size:.83rem; line-height:1.85; margin-top:12px; }
.sidebar-bottom { margin-top:auto; padding-top:28px; display:flex; flex-direction:column; gap:12px; border-top:1px solid #eff1f5; font-size:.8rem; color:var(--muted); }
.sidebar-bottom>span { display:flex; justify-content:space-between; }
.sidebar-bottom .text-button { align-self:flex-start; }
.incident-card { display:block; text-align:left; padding:17px 15px; width:100%; border:1px solid #dce1ee; background:#fafbfe; border-radius:9px; margin-bottom:16px; }
.incident-card:hover { border-color:#939ecd; background:#f3f5fc; }
.incident-card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.incident-label { display:inline-flex; align-items:center; gap:5px; color:var(--orange); background:var(--orange-bg); border-radius:5px; padding:4px 7px; font-size:.76rem; font-weight:700; align-self:flex-start; }
.incident-label .icon { width:15px; height:15px; }
.new-badge { background:#eb5b3f; color:white; padding:3px 6px; border-radius:4px; font-size:.74rem; font-weight:700; }
.seen-badge { color:var(--muted); font-size:.75rem; }
.incident-card>strong { display:block; font-size:.98rem; line-height:1.65; }
.incident-card>span:not(.incident-card-top) { display:block; color:var(--muted); font-size:.83rem; line-height:1.7; margin-top:9px; }
.incident-card>small { display:block; color:#9099aa; font-size:.75rem; margin-top:14px; }
.sidebar-back { margin-top:-6px; margin-bottom:22px; align-self:flex-start; }
.incident-title { font-size:1.45rem; line-height:1.55; letter-spacing:-.8px; margin-top:14px; word-break:keep-all; }
.incident-number { color:#8791a4; font-size:.74rem; margin-top:8px; overflow-wrap:anywhere; }
.incident-situation { flex-shrink:0; margin:21px 0 2px; border:1px solid var(--line); border-radius:9px; overflow:hidden; background:#fff; }
.situation-row { padding:13px 12px; }
.situation-row+.situation-row { border-top:1px solid #edf0f5; }
.situation-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:.78rem; color:#68758b; }
.situation-value { display:inline-flex; align-items:center; gap:6px; color:#5c6980; background:#f0f3f8; padding:5px 8px; border-radius:5px; font-size:.88rem; line-height:1.4; white-space:nowrap; }
.situation-value::before { content:''; width:5px; height:5px; border-radius:50%; background:currentColor; flex-shrink:0; }
.situation-heading label { margin:0; color:inherit; font:inherit; }
.situation-select { display:block; width:116px; max-width:100%; min-height:34px; border:1px solid #d9dfea; padding:6px 8px; font:inherit; font-weight:600; cursor:pointer; }
.situation-select:hover { border-color:#909bc2; }
.situation-select:focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
.situation-select:disabled { cursor:wait; opacity:.7; }
.situation-feedback { margin:0; padding:10px 12px; border-top:1px solid var(--line); font-size:.74rem; line-height:1.6; color:var(--brand); }
.situation-feedback.is-error { color:#a6382b; }
.situation-value[data-tone=enroute],.status-badge[data-tone=enroute] { color:#3d5796; background:#edf2fc; }
.situation-value[data-tone=active],.situation-value[data-tone=response],.status-badge[data-tone=active] { color:#a64526; background:#fff0e7; }
.situation-value[data-tone=contained],.status-badge[data-tone=contained] { color:#7e6221; background:#faf5e5; }
.situation-value[data-tone=complete],.status-badge[data-tone=complete] { color:#28664f; background:#edf6f1; }
.status-badge[data-tone=neutral] { color:#5c6980; background:#f0f3f8; }
.situation-asof { display:flex; justify-content:space-between; flex-wrap:wrap; gap:5px 10px; margin-top:9px; font-size:.72rem; color:#7d8799; line-height:1.5; }
.situation-asof time { color:#68758b; font-variant-numeric:tabular-nums; white-space:nowrap; }
.situation-unconfirmed { color:#7d8799; }
.situation-updated { animation:situation-update 700ms ease-out; }
@keyframes situation-update { from { background:#e9edfc; } to { background:#fff; } }
.incident-details { margin:23px 0 7px; }
.incident-details>div { margin-bottom:24px; }
.incident-details dt { display:flex; align-items:center; gap:7px; font-size:.78rem; color:#8993a6; margin-bottom:7px; }
.incident-details dt .icon { width:16px; height:16px; }
.incident-details dd { margin:0; font-size:.9rem; line-height:1.8; overflow-wrap:anywhere; }
.sidebar-related { border-top:1px solid var(--line); margin:3px 0 24px; padding-top:19px; }
.sidebar-related>strong { font-size:.85rem; }
.resource-link { display:flex; align-items:center; gap:8px; font-size:.86rem; padding:14px 0 0; color:var(--muted); }
.resource-link .icon:last-child { margin-left:auto; width:16px; }
.workspace { padding:25px 36px 0; min-width:0; }
.workspace-breadcrumb { color:#8d96a8; font-size:.78rem; margin:0 0 23px; }
.workspace-breadcrumb span { padding:0 8px; color:#b4bbca; }
.workspace-title { display:flex; justify-content:space-between; align-items:center; gap:22px; margin-bottom:31px; }
.workspace-title h1 { font-size:1.7rem; line-height:1.55; letter-spacing:-1px; }
.workspace-title p { color:var(--muted); font-size:.9rem; line-height:1.7; margin-top:8px; }
.status-badge { color:var(--orange); background:var(--orange-bg); padding:8px 11px; border-radius:6px; font-size:.8rem; white-space:nowrap; }
.task-tabs { display:flex; border-bottom:1px solid #dce1ed; gap:3px; }
.task-tab { min-width:0; flex:1; display:flex; align-items:center; justify-content:center; gap:9px; padding:18px 7px; border-radius:0; border-bottom:3px solid transparent; color:#7b879a; position:relative; font-size:.94rem; white-space:nowrap; }
.task-tab .icon { width:19px; height:19px; }
.task-tab:hover:not(:disabled) { background:#eff2fa; }
.task-tab[aria-selected=true] { border-bottom-color:var(--brand); color:var(--brand); font-weight:700; }
.tab-lock { display:inline-flex; opacity:.62; }
.tab-lock .icon { width:13px; height:13px; }
.task-workspace { border:1px solid var(--line); background:white; border-radius:0 0 10px 10px; border-top:0; min-height:370px; overflow:hidden; }
.module-slot { min-height:370px; background:white; }
.module-loading { color:var(--muted); font-size:.85rem; padding:24px; }
.workspace-empty,.access-denied { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; min-height:370px; padding:32px; }
.empty-symbol { width:64px; height:64px; border-radius:16px; background:#f3f5fa; color:#8d99b2; display:flex; justify-content:center; align-items:center; margin-bottom:20px; }
.empty-symbol .icon { width:28px; height:28px; }
.workspace-empty h2,.access-denied h2 { font-size:1.17rem; letter-spacing:-.5px; font-weight:600; }
.workspace-empty p,.access-denied p { font-size:.88rem; color:var(--muted); line-height:1.9; margin-top:11px; }
.workspace-empty .button { margin-top:20px; }
.access-denied .locked { background:var(--brand-light); color:#6873af; margin-bottom:13px; }
.denied-task { font-size:.8rem; color:var(--brand); margin-bottom:11px; }
.access-denied small { font-size:.78rem; color:#9aa2b0; margin-top:20px; }
.shared-section { background:white; border:1px solid var(--line); border-radius:10px; margin-top:23px; padding:23px 25px; }
.shared-heading { display:flex; align-items:center; justify-content:space-between; }
.shared-heading h2 { font-size:1.03rem; }
.shared-heading p { font-size:.82rem; line-height:1.65; color:var(--muted); margin-top:7px; }
.small-chip { border:1px solid var(--line); padding:4px 9px; border-radius:5px; color:var(--muted); font-size:.75rem; white-space:nowrap; }
.notes-list { margin:19px 0 18px; max-height:350px; overflow-y:auto; }
.notes-empty { color:#949cad; font-size:.85rem; line-height:1.75; padding:8px 0; }
.note-item { display:flex; align-items:flex-start; gap:11px; border-top:1px solid #edf0f5; padding:16px 0; }
.note-item>div { flex:1; min-width:0; }
.note-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.note-meta strong { font-size:.83rem; }
.note-meta time { color:#9aa2b0; font-size:.73rem; white-space:nowrap; }
.note-item p { font-size:.9rem; color:#5f6b81; line-height:1.8; margin-top:6px; white-space:pre-wrap; overflow-wrap:anywhere; }
#note-body { font-size:.9rem; background:#fcfcfe; }
#note-body:disabled { background:#f8f9fc; }
.note-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; }
.note-actions>span { font-size:.77rem; color:#939bad; }
.note-actions .button { font-size:.82rem; padding:9px 13px; }
.workspace-footer { display:flex; justify-content:space-between; padding:23px 0; color:#97a0b0; font-size:.75rem; }
.notification { position:fixed; top:89px; right:25px; width:min(550px,calc(100vw - 32px)); display:flex; align-items:center; gap:15px; z-index:50; border:1px solid #d4dbef; border-left:4px solid #e26745; background:white; border-radius:9px; padding:17px 13px 17px 19px; box-shadow:0 12px 40px #20305020; }
.notification-icon { color:#d46941; flex-shrink:0; }
.notification-open { display:block; padding:0; text-align:left; flex:1; min-width:0; }
.notification-open strong { font-size:.95rem; line-height:1.6; }
.notification-open span { display:block; font-size:.8rem; line-height:1.7; color:var(--muted); margin-top:5px; }
.message { position:fixed; bottom:25px; left:50%; transform:translateX(-50%); background:#293552; color:white; box-shadow:0 5px 25px #18203920; border-radius:8px; padding:15px 23px; font-size:.9rem; max-width:calc(100vw - 36px); z-index:100; line-height:1.7; }
.message.error { background:#8d3540; }
.connection-note { border:1px solid #e4cba8; background:#fffaef; color:#917142; padding:12px 16px; border-radius:7px; font-size:.86rem; margin-bottom:17px; }
.admin-page { max-width:1340px; padding:29px 35px 50px; margin:auto; }
.admin-title { display:flex; align-items:center; justify-content:space-between; gap:25px; margin:26px 0 30px; }
.section-label { font-size:.85rem; color:var(--brand); margin-bottom:9px; }
.admin-title h1 { font-size:1.85rem; letter-spacing:-1px; }
.admin-title h1+p { color:var(--muted); font-size:.91rem; margin-top:11px; line-height:1.7; }
.admin-grid { display:grid; grid-template-columns:minmax(0,1fr) 365px; gap:24px; align-items:start; }
.members-panel,.member-editor,.audit-panel { background:white; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.panel-title { display:flex; justify-content:space-between; align-items:center; padding:22px 24px; border-bottom:1px solid var(--line); }
.panel-title h2 { font-size:1rem; }
.panel-title h2 span { color:var(--brand); margin-left:7px; font-size:.85rem; }
.member-list { padding:7px 10px; }
.member-row { display:flex; align-items:center; gap:12px; width:100%; padding:17px 14px; text-align:left; border-radius:6px; border-left:3px solid transparent; }
.member-row+.member-row { border-top:1px solid #f0f2f7; }
.member-row:hover { background:#f7f8fc; }
.member-row.selected { border-left-color:var(--brand); background:#f1f3fb; }
.member-info { flex:1; min-width:0; }
.member-info>strong { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:.93rem; line-height:1.6; }
.member-permissions { display:block; color:#8b95a6; font-size:.8rem; line-height:1.7; margin-top:4px; }
.admin-tag { font-size:.66rem; font-weight:500; color:var(--brand); background:#e6eafa; padding:2px 5px; border-radius:4px; }
.account-state { font-size:.73rem; color:var(--green); background:#edf7f2; padding:5px 8px; border-radius:5px; white-space:nowrap; }
.account-state.inactive { color:#9c7176; background:#fbf1f2; }
.permission-legend { display:flex; align-items:center; gap:7px; border-top:1px solid var(--line); padding:17px 23px; color:#8993a4; font-size:.77rem; line-height:1.7; }
.permission-legend .icon { width:16px; height:16px; }
.member-editor { padding:24px; }
.editor-heading { display:flex; align-items:center; gap:12px; margin-bottom:26px; }
.editor-heading h2 { font-size:1rem; line-height:1.6; }
.editor-heading p { font-size:.77rem; color:var(--muted); margin-top:4px; }
.editor-icon { width:36px; height:40px; color:var(--brand); display:flex; align-items:center; }
.editor-icon .icon { width:25px; height:25px; }
#user-form input:not([type=checkbox]) { padding:10px 12px; font-size:.9rem; }
.member-options { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:14px 0; margin:22px 0; }
.checkbox-row { display:flex; align-items:center; gap:9px; font-size:.85rem; line-height:1.6; padding:5px 0; cursor:pointer; }
.permission-options { border:0; padding:0; margin:0; }
.permission-options legend { font-size:.9rem; font-weight:700; margin-bottom:12px; }
.permission-option { display:flex; justify-content:space-between; align-items:center; border:1px solid #e3e7f0; padding:10px 12px; border-radius:6px; cursor:pointer; margin-bottom:8px; }
.permission-option:has(input:checked) { background:#f5f6fe; border-color:#ccd2eb; }
.permission-option span { display:flex; align-items:center; gap:9px; font-size:.86rem; }
.permission-option .icon { width:18px; height:18px; color:#7885a2; }
.save-user { width:100%; margin-top:20px; }
.audit-panel { margin-top:24px; padding:23px 25px; }
.audit-panel h2 { font-size:1rem; margin-bottom:15px; }
.audit-row { display:grid; grid-template-columns:1.3fr 1fr auto; gap:15px; border-top:1px solid #edf0f4; padding:13px 0; font-size:.81rem; line-height:1.6; }
.audit-row span:not(:first-child),.audit-row time { color:var(--muted); }
.panel-loading { color:var(--muted); padding:25px; }
.error-state { text-align:center; }
.error-state>.icon { margin-bottom:20px; width:32px; height:32px; }
.error-state h1 { font-size:1.4rem; }
.error-state p { margin:15px 0 22px; line-height:1.8; }
dialog { border:1px solid var(--line); border-radius:13px; padding:30px; max-width:470px; width:calc(100vw - 36px); color:var(--ink); box-shadow:0 20px 70px #18254230; }
dialog::backdrop { background:#202b4660; }
dialog h2 { font-size:1.25rem; }
dialog p { color:var(--muted); font-size:.91rem; line-height:1.9; margin-top:15px; }
.dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:27px; }
.account-password-button { font-size:.82rem; white-space:nowrap; }
.account-password-dialog { max-height:calc(100dvh - 40px); overflow:auto; }
.account-password-dialog h2 { margin:0; }
.account-password-dialog form { display:grid; gap:9px; }
.account-password-dialog label { margin-top:9px; font-size:.87rem; font-weight:700; }
.account-password-dialog input { width:100%; min-width:0; padding:11px 12px; border:1px solid var(--line); background:#fff; }
.account-password-dialog small { font-size:.76rem; color:var(--muted); }
.account-password-dialog .form-error { margin:0; color:var(--red); }
.account-password-dialog .dialog-actions { margin-top:12px; }
.login-notice { padding:12px 14px; border-radius:8px; background:#edf7f0; color:var(--green); font-size:.84rem; line-height:1.7; }
@media(max-width:600px) {
  .account-password-button { max-width:67px; padding:6px; white-space:normal; font-size:.72rem; line-height:1.4; }
  .account-password-dialog { padding:23px; }
  .account-password-dialog .dialog-actions { gap:6px; }
  .account-password-dialog .dialog-actions .button { padding:10px; font-size:.83rem; }
}
@media(min-width:1600px) {
  .workspace { padding:34px 48px 0; }
  .task-workspace,.module-slot,.workspace-empty,.access-denied { min-height:440px; }
}
@media(max-width:1150px) {
  .topbar-title { display:none; }
  .workspace { padding:25px 22px 0; }
  .platform-layout { grid-template-columns:275px minmax(0,1fr); }
  .task-tab { flex-direction:column; gap:7px; font-size:.82rem; }
  .tab-lock { position:absolute; top:11px; right:10px; }
  .workspace-title h1 { font-size:1.45rem; }
  .status-badge { display:none; }
  .admin-grid { grid-template-columns:minmax(0,1fr) 330px; gap:19px; }
  .member-editor { padding:21px; }
}
@media(max-width:800px) {
  .topbar { height:66px; padding:0 20px; gap:12px; }
  .topbar-actions { gap:8px; }
  .brand { font-size:1.3rem; gap:8px; }
  .brand-symbol { width:31px; height:31px; font-size:1.3rem; }
  .team-label,.signed-user .avatar { display:none; }
  .admin-link { font-size:.78rem; padding:7px; }
  .admin-link .icon { width:17px; }
  .signed-user { font-size:.8rem; }
  .platform-layout { grid-template-columns:235px minmax(0,1fr); }
  .incident-sidebar { height:calc(100vh - 66px); top:66px; padding:23px 17px; }
  .workspace { padding:23px 16px 0; }
  .workspace-title h1 { font-size:1.3rem; }
  .workspace-title p { font-size:.8rem; }
  .task-tab { font-size:.75rem; padding:16px 3px; }
  .tab-lock { top:7px; right:2px; }
  .shared-section { padding:20px 17px; }
  .note-actions { align-items:flex-end; }
  .note-actions>span { font-size:.72rem; line-height:1.7; }
  .admin-page { padding:24px 20px 35px; }
  .admin-grid { grid-template-columns:1fr; }
  .member-editor { padding:26px; }
  .audit-row { grid-template-columns:1fr auto; }
  .audit-row span:nth-child(2) { grid-row:2; }
}
@media(max-width:600px) {
  .topbar { padding:0 15px; }
  .brand { font-size:1.2rem; }
  .topbar-actions .icon-button { width:32px; }
  .signed-user small { font-size:.66rem; }
  .admin-link { gap:5px; }
  .admin-link .icon { display:none; }
  .login-layout { padding:24px 18px; min-height:calc(100vh - 66px); }
  .login-card { padding:28px 24px; }
  .login-card h1 { font-size:1.5rem; }
  .platform-layout { display:block; }
  .incident-sidebar { position:relative; height:auto; top:0; border-right:0; border-bottom:1px solid var(--line); padding:22px 20px; }
  .sidebar-heading { margin-bottom:18px; }
  .sidebar-empty { padding:25px 0; }
  .sidebar-empty p { display:none; }
  .sidebar-bottom { padding-top:15px; margin-top:16px; }
  .sidebar-bottom .text-button { font-size:.8rem; padding:0; }
  .sidebar-bottom { flex-direction:row; align-items:center; justify-content:space-between; gap:20px; }
  .sidebar-bottom>span { gap:14px; }
  .incident-details { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin:20px 0 0; }
  .incident-details>div { margin-bottom:0; }
  .incident-details>div:last-child { grid-column:1/-1; }
  .incident-details dd { font-size:.84rem; }
  .incident-title { font-size:1.3rem; }
  .sidebar-related { display:none; }
  .workspace { padding:20px 13px 0; }
  .workspace-breadcrumb { margin-bottom:14px; }
  .workspace-title { margin-bottom:20px; }
  .workspace-title h1 { font-size:1.32rem; }
  .task-tabs { position:sticky; top:66px; z-index:10; background:var(--bg); }
  .task-tab { font-size:.75rem; padding:14px 2px; }
  .task-workspace,.module-slot,.workspace-empty,.access-denied { min-height:310px; }
  .workspace-empty,.access-denied { padding:25px 19px; }
  .workspace-empty h2,.access-denied h2 { font-size:1.07rem; }
  .access-denied small { font-size:.72rem; }
  .notification { top:77px; right:12px; gap:10px; padding:14px 9px 14px 13px; }
  .notification-open strong { font-size:.86rem; }
  .notification-open span { font-size:.75rem; }
  .notification .icon-button { width:31px; }
  .admin-title { align-items:flex-start; gap:13px; }
  .admin-title h1 { font-size:1.5rem; }
  .admin-title .button { font-size:.78rem; padding:8px 11px; }
  .admin-title .button .icon { width:16px; }
  .admin-title h1+p { font-size:.82rem; }
  .admin-page { padding:22px 14px 35px; }
  .panel-title { padding:19px 18px; }
  .member-row { padding:15px 8px; gap:10px; }
  .member-permissions { font-size:.72rem; }
  .permission-legend { padding:14px 17px; font-size:.72rem; }
  .audit-panel { padding:21px 18px; }
  .audit-row { font-size:.74rem; }
  .member-editor { padding:23px; }
  .note-meta { align-items:flex-start; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
