:root{--ink: #0b1426;--ink-2: #33415c;--muted: #64748b;--line: #e3e8f0;--bg: #f4f6fb;--card: #fff;--navy: #070d1a;--navy-2: #0e1830;--teal: #14b8a6;--teal-d: #0d9488;--teal-l: #2dd4bf;--amber: #f5b942;--red: #e5484d;--green: #16a34a;--blue: #3b6ff5;--r: 14px;--r-sm: 9px;--shadow: 0 1px 2px rgba(16,24,40,.05), 0 6px 22px rgba(16,24,40,.06);font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;letter-spacing:-.02em}.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.82em;letter-spacing:.02em}.muted{color:var(--muted)}.small{font-size:.88rem}.tiny{font-size:.76rem}.center{text-align:center}.row{display:flex;align-items:center}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.gap{gap:12px}.gap-sm{gap:8px}.gap-xs{gap:4px}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nowrap{white-space:nowrap}.prewrap{white-space:pre-wrap;line-height:1.6}.ico{flex:none;vertical-align:middle}.hp{position:absolute;left:-9999px;opacity:0;height:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:#fff;padding:10px 16px;border-radius:11px;font-weight:600;cursor:pointer;transition:.15s;white-space:nowrap;font-size:.93rem}.btn:hover{border-color:#c9d2e0;transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.primary{background:linear-gradient(135deg,#14b8a6,#0d9488);border-color:transparent;color:#fff;box-shadow:0 6px 18px #0d948852}.btn.primary:hover{box-shadow:0 8px 24px #0d94886b}.btn.ghost{background:transparent}.btn.danger{color:var(--red)}.btn.sm{padding:7px 12px;font-size:.85rem;border-radius:9px}.btn.xs{padding:4px 9px;font-size:.78rem;border-radius:7px}.btn.lg{padding:14px 20px;font-size:1rem}.btn.block{width:100%}.btn.ghost-dark{background:#ffffff0f;border-color:#ffffff1f;color:#dbe7ff}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;border:1px solid transparent;background:transparent;cursor:pointer;color:inherit}.icon-btn:hover{background:#7f8caa24}.icon-btn.xs{width:24px;height:24px;border-radius:6px}.icon-btn:disabled{opacity:.3}.link{background:none;border:0;color:var(--teal-l);cursor:pointer;text-decoration:underline;padding:0 4px}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;outline:none;transition:.15s}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px #14b8a626}.row>input,.row>select{width:auto}.row>input.grow{width:100%}.check{display:inline-flex;gap:8px;align-items:center;font-size:.88rem;cursor:pointer}.check input{width:auto}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:.74rem;font-weight:600;white-space:nowrap;border:1px solid transparent}.pill i{width:7px;height:7px;border-radius:50%;background:currentColor}.pill.gray{background:#eef1f6;color:#4b5872}.pill.blue{background:#e8efff;color:#2450c8}.pill.teal{background:#dcf7f2;color:#0b7d71}.pill.amber{background:#fff3d9;color:#9a5b00}.pill.red{background:#ffe7e7;color:#c42b30}.pill.green{background:#def7e6;color:#11793a}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid rgba(45,212,191,.25);border-top-color:var(--teal-l);animation:spin .8s linear infinite;display:inline-block}.spinner.sm{width:16px;height:16px;border-width:2px;border-color:#ffffff59;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.fullscreen-loader{min-height:100vh;display:grid;place-items:center;background:var(--navy)}.fullscreen-loader.light{background:transparent;min-height:60vh}.alert{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:10px;font-size:.9rem;margin:6px 0 14px}.alert.error{background:#e5484d1f;color:#ffb4b6;border:1px solid rgba(229,72,77,.35)}.alert.warn{background:#f5b9421f;color:#ffd98a;border:1px solid rgba(245,185,66,.35)}.empty-state{text-align:center;padding:50px 20px;color:var(--muted)}.public{position:relative;min-height:100vh;background:radial-gradient(1200px 700px at 80% 20%,#10264a 0%,transparent 60%),radial-gradient(900px 600px at 0% 100%,#0b2d33 0%,transparent 60%),var(--navy);color:#e8eefc;overflow-x:hidden}.public .muted{color:#93a3c4}.scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.scene canvas{width:100%!important;height:100%!important;display:block}.public-glow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,#070d1a8c,#070d1a00 40%),radial-gradient(700px 500px at 75% 50%,rgba(7,13,26,.55),transparent 70%)}.public-top,.public-main,.track-main,.login-main,.public-foot{position:relative;z-index:1}.public-top{display:flex;justify-content:space-between;align-items:center;padding:22px clamp(18px,4vw,56px)}.brand{display:flex;align-items:center;gap:11px}.brand b{display:block;font-size:1rem;letter-spacing:-.01em}.brand small{display:block;font-size:.72rem;opacity:.65}.ghost-link{display:inline-flex;gap:8px;align-items:center;padding:9px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;font-weight:600;font-size:.88rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ghost-link:hover{background:#ffffff1a}.public-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:clamp(24px,4vw,64px);align-items:start;padding:20px clamp(18px,4vw,56px) 40px;max-width:1360px;margin:0 auto}.hero-copy{padding-top:40px}.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-l);padding:6px 12px;border-radius:999px;background:#2dd4bf1a;border:1px solid rgba(45,212,191,.25)}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--teal-l);box-shadow:0 0 #2dd4bfb3;animation:pulse 2s infinite}@keyframes pulse{70%{box-shadow:0 0 0 10px #2dd4bf00}to{box-shadow:0 0 #2dd4bf00}}.hero-copy h1{font-size:clamp(2.3rem,5vw,4rem);line-height:1.04;margin:22px 0 18px;font-weight:800}.grad{background:linear-gradient(100deg,#2dd4bf 10%,#9ee8ff,#f5b942 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.lead{font-size:1.08rem;line-height:1.65;color:#b9c6e2;max-width:520px;margin:0 0 10px}.lead.ms{font-size:.95rem;color:#8a9abb;font-style:italic}.steps-row{list-style:none;padding:0;margin:30px 0 0;display:flex;gap:12px;flex-wrap:wrap}.steps-row li{display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);font-size:.88rem;font-weight:600}.steps-row b{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#2dd4bf,#0d9488);color:#032;font-size:.8rem}.recent{margin-top:30px;max-width:460px}.recent h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#8a9abb;margin-bottom:8px}.recent-item{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);margin-bottom:6px;font-size:.9rem}.recent-item:hover{background:#ffffff17}.recent-item .mono{color:var(--teal-l)}.recent-item .ellipsis{flex:1}.glass{background:linear-gradient(180deg,#14203ac7,#0c1426d1);border:1px solid rgba(148,170,220,.16);border-radius:22px;box-shadow:0 30px 80px #00000073,inset 0 1px #ffffff0f;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}.form-card{padding:clamp(20px,3vw,32px)}.form-card h2{font-size:1.45rem;margin-bottom:4px}.public .field{display:block;margin-top:16px}.field-label{display:block;font-weight:600;font-size:.86rem;margin-bottom:7px;color:#d5def3}.field-label em{font-style:normal;font-weight:500;color:#7f90b3;margin-left:4px;font-size:.8rem}.public input,.public select,.public textarea{background:#050a168c;border-color:#94aadc33;color:#eef3ff}.public input::placeholder,.public textarea::placeholder{color:#6a7a9c}.public select option{background:#0e1830}.public input[type=date]{color-scheme:dark}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.seg{display:inline-flex;padding:4px;border-radius:11px;background:#050a168c;border:1px solid rgba(148,170,220,.18);gap:2px;margin-bottom:10px;flex-wrap:wrap}.seg button{border:0;background:transparent;padding:7px 13px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.84rem;color:#9fb0d2;display:inline-flex;gap:6px;align-items:center}.seg button.on{background:#2dd4bf29;color:#fff;box-shadow:inset 0 0 0 1px #2dd4bf66}.seg.light{background:#fff;border-color:var(--line);margin:0}.seg.light button{color:var(--muted)}.seg.light button.on{background:var(--ink);color:#fff;box-shadow:none}.drop{display:flex;gap:12px;align-items:center;padding:18px;border-radius:12px;border:1.5px dashed rgba(148,170,220,.35);cursor:pointer;color:#a8b7d6;font-size:.9rem;transition:.15s}.drop:hover,.drop.has{border-color:var(--teal-l);background:#2dd4bf0f;color:#e6fffb}.deadline-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.deadline-row input{max-width:190px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid rgba(148,170,220,.25);background:transparent;color:#b6c4e2;padding:7px 12px;border-radius:999px;cursor:pointer;font-size:.82rem;font-weight:600}.chip.on,.chip:hover{border-color:var(--teal-l);color:#fff;background:#2dd4bf1f}.form-card .btn.block{margin-top:18px}.public-foot{text-align:center;padding:20px;font-size:.78rem;color:#63759a}.success{text-align:center;padding:10px 0}.success-icon{width:74px;height:74px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#2dd4bf59,#2dd4bf0d);color:var(--teal-l);box-shadow:0 0 0 8px #2dd4bf14;animation:pop .5s cubic-bezier(.2,1.4,.4,1)}.success-icon .ico{width:36px;height:36px}@keyframes pop{0%{transform:scale(.4);opacity:0}}.success h2{font-size:1.6rem}.code-badge{font-family:JetBrains Mono,monospace;font-size:2rem;letter-spacing:.08em;margin:18px auto 22px;padding:12px 20px;border-radius:14px;display:inline-block;background:#f5b9421a;color:var(--amber);border:1px solid rgba(245,185,66,.3)}.success .field-label{text-align:left}.copybox{display:flex;gap:8px;margin-bottom:16px}.copybox input{font-family:JetBrains Mono,monospace;font-size:.8rem}.success .row .btn{padding:12px 16px}.public .btn:not(.primary){background:#ffffff0f;border-color:#94aadc38;color:#e2e9f8}.track-main{max-width:820px;margin:0 auto;padding:10px 18px 60px}.track-card{padding:clamp(20px,3.5vw,36px)}.track-card.center{text-align:center;display:grid;gap:14px;justify-items:center;padding:50px}.track-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.track-head h1{font-size:clamp(1.4rem,3vw,1.9rem);margin:10px 0 6px}.code-chip{display:inline-block;padding:4px 10px;border-radius:8px;background:#f5b9421f;color:var(--amber);border:1px solid rgba(245,185,66,.3)}.code-chip.dark{background:#fff6e0;color:#8a5300;border-color:#f5dca0}.stepper{list-style:none;padding:0;margin:30px 0 22px;display:grid;grid-template-columns:repeat(4,1fr);position:relative}.stepper li{position:relative;text-align:center;display:grid;justify-items:center;gap:6px;font-size:.86rem;color:#7f90b3}.stepper li:before{content:"";position:absolute;top:17px;left:-50%;width:100%;height:2px;background:#94aadc33;z-index:0}.stepper li:first-child:before{display:none}.stepper li.on:before{background:linear-gradient(90deg,#2dd4bf,#0d9488)}.stepper .bullet{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#0b1426;border:2px solid rgba(148,170,220,.3);font-weight:700}.stepper li.on{color:#e8eefc}.stepper li.on .bullet{background:linear-gradient(135deg,#2dd4bf,#0d9488);border-color:transparent;color:#032;box-shadow:0 0 22px #2dd4bf80}.stepper.cancelled li.on:last-child .bullet{background:#4b5872;box-shadow:none}.stepper small{font-size:.72rem;color:#7f90b3;min-height:1em}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.facts>div{padding:12px 14px;border-radius:12px;background:#050a1673;border:1px solid rgba(148,170,220,.12);display:grid;gap:4px;align-content:start}.facts>div>span:first-child{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#7f90b3;font-weight:700}.facts b{font-size:.92rem}.facts small{color:var(--muted);font-size:.76rem}.facts .pill{justify-self:start}.desc{margin:4px 0 20px;padding:12px 14px;border-radius:12px;background:#050a1659;border:1px solid rgba(148,170,220,.12)}.desc summary{cursor:pointer;font-weight:600;font-size:.9rem}.desc p{white-space:pre-wrap;color:#b9c6e2;line-height:1.6}.track-card h3{font-size:1rem;margin:10px 0 12px}.timeline{list-style:none;padding:0;margin:0;position:relative}.timeline li{display:flex;gap:14px;padding:0 0 16px;position:relative}.timeline li:before{content:"";position:absolute;left:6px;top:16px;bottom:0;width:2px;background:#94aadc2e}.timeline li:last-child:before{display:none}.tl-dot{flex:none;width:14px;height:14px;margin-top:3px;border-radius:50%;background:#0b1426;border:3px solid var(--teal-l);z-index:1}.timeline li.comment .tl-dot{border-color:var(--amber)}.timeline li.private .tl-dot{border-color:#94a3b8;border-style:dashed}.timeline p{margin:0 0 3px;line-height:1.5;white-space:pre-wrap;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.timeline li.comment p{padding:10px 12px;border-radius:10px;background:#f5b94214;border:1px solid rgba(245,185,66,.2)}.timeline small{font-size:.76rem;color:#7f90b3}.track-foot{display:flex;gap:12px;align-items:flex-end;margin-top:18px;padding-top:18px;border-top:1px solid rgba(148,170,220,.14)}.track-foot .copybox{margin:0}.login-main{display:grid;place-items:center;padding:30px 18px 60px;min-height:calc(100vh - 100px)}.login-card{width:min(440px,100%);padding:32px;display:grid;gap:4px}.login-card h2{margin-top:16px;font-size:1.6rem}.login .public-glow{background:radial-gradient(circle at 50% 50%,#070d1ab3,#070d1a4d)}.app{display:grid;grid-template-columns:252px 1fr;min-height:100vh}.side{position:sticky;top:0;height:100vh;background:radial-gradient(500px 300px at 0 0,#11284a,transparent),var(--navy);color:#dbe5fb;padding:22px 16px;display:flex;flex-direction:column;gap:22px}.side nav{display:grid;gap:4px}.side nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:11px;font-weight:600;font-size:.92rem;color:#9fb0d2;transition:.15s}.side nav a:hover{background:#ffffff0f;color:#fff}.side nav a.active{background:linear-gradient(90deg,#2dd4bf33,#2dd4bf0a);color:#fff;box-shadow:inset 2px 0 0 var(--teal-l)}.count{margin-left:auto;background:var(--amber);color:#3b2500;font-size:.72rem;padding:2px 8px;border-radius:999px;font-weight:800}.side-card{margin-top:auto;padding:14px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);display:grid;gap:8px;font-size:.8rem}.side-card span{color:#8a9abb}.side-card a{color:var(--teal-l);font-weight:600;display:flex;gap:6px;align-items:center}.me{display:flex;align-items:center;gap:10px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}.me b{display:block;font-size:.88rem}.me small{font-size:.74rem;color:#8a9abb}.avatar{display:inline-grid;place-items:center;border-radius:50%;color:#08121f;font-weight:800;flex:none;box-shadow:0 0 0 2px #fff}.avatar.empty{background:#eef1f6;color:#94a3b8;border:1.5px dashed #c5cede;box-shadow:none}.main{min-width:0;position:relative}.mobile-menu{display:none}.page{padding:28px clamp(16px,3vw,36px) 60px;max-width:1500px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head h1{font-size:1.7rem}.page-head p{margin:4px 0 0}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat{text-align:left;border:1px solid var(--line);background:#fff;border-radius:var(--r);padding:14px 16px;display:grid;gap:2px;cursor:pointer;box-shadow:var(--shadow);position:relative;overflow:hidden}.stat:disabled{cursor:default}.stat:after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.stat.blue:after{background:var(--blue)}.stat.red:after{background:var(--red)}.stat.amber:after{background:var(--amber)}.stat.teal:after{background:var(--teal)}.stat b{font-size:1.7rem;letter-spacing:-.03em}.stat span{color:var(--muted);font-size:.84rem;font-weight:600}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;align-items:center}.toolbar select{width:auto;min-width:160px}.search{position:relative;flex:1;min-width:220px;max-width:420px}.search .ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted)}.search input{padding-left:38px}.board{display:grid;grid-template-columns:repeat(4,minmax(250px,1fr));gap:14px;overflow-x:auto;padding-bottom:8px}.col{background:#eaeef5;border-radius:16px;padding:10px;min-height:300px;transition:.15s;border:2px solid transparent}.col.over{border-color:var(--teal);background:#e3f5f2}.col header{display:flex;align-items:center;gap:8px;padding:4px 6px 10px;font-size:.85rem;font-weight:700}.col header small{margin-left:auto;font-size:.72rem}.col-body{display:grid;gap:9px}.col-empty{text-align:center;color:var(--muted);font-size:.84rem;padding:26px 10px;border:1.5px dashed #ccd5e3;border-radius:12px}.card{background:#fff;border-radius:12px;padding:12px 13px;border:1px solid #e1e6ef;cursor:pointer;display:grid;gap:6px;box-shadow:0 1px 2px #1018280d;transition:.15s;border-left:3px solid transparent}.card:hover{box-shadow:0 8px 24px #1018281a;transform:translateY(-1px)}.card.pri-urgent{border-left-color:var(--red)}.card.pri-high{border-left-color:var(--amber)}.card.overdue{background:linear-gradient(180deg,#fff,#fff6f6)}.card-top{display:flex;align-items:center;gap:8px}.card-top .mono{color:var(--muted);font-weight:600}.card h4{font-size:.93rem;line-height:1.35;font-weight:700}.card p{margin:0}.card-foot{display:flex;align-items:center;gap:6px;margin-top:2px;flex-wrap:wrap}.card-foot .pill{white-space:normal}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.panel .table-wrap{box-shadow:none}.table{width:100%;border-collapse:collapse;font-size:.87rem}.table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:11px 14px;border-bottom:1px solid var(--line);background:#f8fafc;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sorted{color:var(--ink)}.table td{padding:11px 14px;border-bottom:1px solid #eef1f6;vertical-align:middle}.table tbody tr{cursor:pointer}.table tbody tr:hover{background:#f7fafc}.table tbody tr:last-child td{border-bottom:0}.ellipsis-cell{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.workload tbody tr{cursor:default}.workload td:first-child{min-width:210px}.workload td:first-child b{white-space:nowrap}.workload td.neg{color:var(--red);font-weight:700}.workload th{cursor:default}.loadbar{display:flex;align-items:center;gap:8px;min-width:120px}.loadbar i{display:block;height:8px;border-radius:4px;background:var(--teal-d);min-width:2px}.loadbar b{font-variant-numeric:tabular-nums}.drawer-wrap{position:fixed;top:0;right:0;bottom:0;left:0;background:#070d1a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;display:flex;justify-content:flex-end;animation:fade .15s}@keyframes fade{0%{opacity:0}}.drawer{width:min(680px,100%);height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:-20px 0 60px #0003;animation:slide .22s cubic-bezier(.2,.8,.2,1)}@keyframes slide{0%{transform:translate(40px);opacity:.4}}.drawer-head{display:flex;justify-content:space-between;gap:12px;padding:22px 24px 16px;border-bottom:1px solid var(--line)}.drawer-head h2{font-size:1.3rem;margin:10px 0 4px}.drawer-head p{margin:0;font-size:.88rem}.drawer-body{flex:1;overflow-y:auto;padding:18px 24px}.drawer-foot{padding:14px 24px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}.status-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.status-btn{padding:8px 13px;border-radius:10px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:.84rem;cursor:pointer;color:var(--ink-2)}.status-btn:hover{border-color:#b8c3d6}.status-btn.on.blue{background:var(--blue);color:#fff;border-color:var(--blue)}.status-btn.on.teal{background:var(--teal-d);color:#fff;border-color:var(--teal-d)}.status-btn.on.amber{background:#f0a215;color:#2b1900;border-color:#f0a215}.status-btn.on.green{background:var(--green);color:#fff;border-color:var(--green)}.status-btn.on.gray{background:#64748b;color:#fff;border-color:#64748b}.props{display:grid;gap:12px;padding:14px;border-radius:12px;background:#f7f9fc;border:1px solid var(--line)}.props label{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:10px;font-size:.86rem}.props label>span{color:var(--muted);font-weight:600}.props select,.props input{width:auto;padding:7px 10px}.facts.light>div{background:#fff;border-color:var(--line)}.facts.light>div>span:first-child{color:var(--muted)}.block{margin-top:18px}.block h3{font-size:.95rem;margin-bottom:8px}.block p{margin:0;color:var(--ink-2)}.attach{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.note-form{display:grid;gap:8px;margin-bottom:18px}.timeline.light li:before{background:var(--line)}.timeline.light .tl-dot{background:#fff;border-color:var(--teal)}.timeline.light li.comment .tl-dot{border-color:#f0a215}.timeline.light li.private .tl-dot{border-color:#94a3b8}.timeline.light li.comment p{background:#fffaf0;border-color:#f7e2b3;color:var(--ink)}.timeline.light li.private p{background:#f4f6fa;border-color:var(--line)}.timeline.light small{color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:12px;margin-bottom:18px}.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;display:grid;gap:4px;box-shadow:var(--shadow)}.kpi span{font-size:.78rem;color:var(--muted);font-weight:700}.kpi b{font-size:1.75rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.kpi small{color:var(--muted);font-size:.76rem}.kpi.alert{border-color:#f6c3c4;background:linear-gradient(180deg,#fff,#fff5f5)}.kpi.alert b{color:var(--red)}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);margin-bottom:18px}.panel>header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:14px}.panel h3{font-size:1.02rem}.panel h4{font-size:.92rem;margin-bottom:10px}.grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.grid-2 .panel{margin:0}.legend{display:flex;gap:14px;font-size:.8rem;color:var(--ink-2)}.legend span,.tip span{display:inline-flex;align-items:center;gap:6px}.legend i,.tip i{width:10px;height:10px;border-radius:3px;display:inline-block}.chart{position:relative}.chart svg{width:100%;height:auto;display:block}.chart .grid{stroke:#edf0f5}.chart .axis{fill:#8592a8;font-size:11px;font-family:inherit}.chart .hover-band{fill:#f1f4f9}.tip{position:absolute;top:0;transform:translate(-50%);background:var(--ink);color:#fff;padding:9px 11px;border-radius:10px;font-size:.78rem;display:grid;gap:4px;pointer-events:none;white-space:nowrap;box-shadow:0 8px 20px #0003}.tip b{font-weight:700}.tip span b{margin-left:auto;padding-left:10px}.hbars{display:grid;gap:10px}.hbar{display:grid;grid-template-columns:minmax(90px,40%) 1fr 30px;gap:10px;align-items:center;font-size:.84rem}.hbar>div{background:#f1f4f9;border-radius:4px;height:12px}.hbar i{display:block;height:100%;background:var(--teal-d);border-radius:0 4px 4px 0;min-width:3px}.hbar b{text-align:right;font-variant-numeric:tabular-nums}.dept-list,.staff-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:6px}.dept-list li,.staff-list li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:11px;border:1px solid var(--line);flex-wrap:wrap}.dept-list li.off,.staff-list li.off{background:#f7f8fb;color:var(--muted)}.order{display:flex;flex-direction:column}.staff-list b{display:block;font-size:.92rem}.staff-list small{font-size:.8rem}.swatches{display:flex;gap:3px;margin-right:6px}.swatches button{width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0}.swatches button.on{box-shadow:0 0 0 2px var(--ink)}.add-staff{margin-top:18px;padding:16px;border-radius:12px;background:#f7f9fc;border:1px dashed #cfd8e6;display:grid;gap:10px;justify-items:start}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%}.toasts{position:fixed;right:18px;bottom:18px;display:grid;gap:8px;z-index:80}.toast{background:var(--ink);color:#fff;padding:12px 16px;border-radius:12px;font-size:.88rem;font-weight:600;box-shadow:0 12px 30px #00000040;border-left:4px solid var(--teal-l);animation:slide .2s;max-width:380px}.toast.red{border-left-color:var(--red)}@media (max-width: 1100px){.public-main{grid-template-columns:1fr}.hero-copy{padding-top:0;text-align:center}.hero-copy .lead{margin-left:auto;margin-right:auto}.steps-row{justify-content:center}.recent{margin:20px auto 0;text-align:left}.public-glow{background:linear-gradient(180deg,#070d1a33,#070d1acc 45%)}.form-card{max-width:620px;width:100%;margin:0 auto}.grid-2{grid-template-columns:1fr}.grid4{grid-template-columns:1fr 1fr}}@media (max-width: 860px){.app{grid-template-columns:1fr}.side{position:fixed;z-index:60;width:270px;transform:translate(-100%);transition:.2s}.app.menu-open .side{transform:none;box-shadow:20px 0 60px #00000059}.mobile-menu{display:inline-grid;position:absolute;top:18px;right:14px;z-index:5;background:#fff;border:1px solid var(--line)}.page{padding-top:22px}.page-head{padding-right:46px}.stat-strip{grid-template-columns:1fr 1fr}.board{grid-template-columns:repeat(4,82vw);scroll-snap-type:x mandatory}.col{scroll-snap-align:start}.facts{grid-template-columns:1fr 1fr}.props label{grid-template-columns:1fr}}@media (max-width: 560px){.grid2,.grid4{grid-template-columns:1fr}.stepper small{display:none}.track-head{flex-direction:column}.track-foot{flex-direction:column;align-items:stretch}.public-top .brand small{display:none}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
