@import"https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;800;900&family=IBM+Plex+Mono:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap";:root{--page:210 14% 94%;--surface:0 0% 100%;--surface-hover:210 14% 92%;--surface-elevated:210 12% 96%;--surface-muted:210 12% 90%;--app-bg:210 14% 95%;--surface-border:210 13% 79%;--text-primary:210 18% 13%;--text-secondary:210 10% 36%;--text-muted:210 8% 48%;--brand:207 38% 30%;--brand-hover:207 44% 23%;--brand-light:207 30% 87%;--brand-soft:207 33% 93%;--accent:200 68% 38%;--accent-hover:200 74% 31%;--accent-light:200 55% 90%;--success:152 45% 33%;--success-light:152 40% 90%;--warning:43 96% 45%;--warning-light:43 92% 87%;--danger:0 65% 44%;--danger-light:0 65% 92%;--sidebar:207 40% 20%;--sidebar-muted:207 18% 68%;--sidebar-active:0 0% 100%;--sidebar-hover:207 32% 30%;--chart-1:207 38% 38%;--chart-2:200 68% 42%;--chart-3:152 45% 38%;--chart-4:262 35% 48%;--chart-5:0 65% 48%;--chart-6:187 55% 36%;--chart-7:210 12% 50%;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--shadow-sm:0 1px 2px rgba(18,32,46,.07),0 0 0 1px rgba(18,32,46,.03);--shadow-md:0 3px 8px rgba(18,32,46,.09),0 0 0 1px rgba(18,32,46,.03);--shadow-lg:0 8px 20px rgba(18,32,46,.12);--shadow-xl:0 14px 34px rgba(18,32,46,.16);--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-smooth:cubic-bezier(.22,1,.36,1);--font-family:"Tajawal",system-ui,-apple-system,sans-serif;--font-mono:"IBM Plex Mono","Inter",monospace;--safety:hsl(43 96% 45%);--safety-ink:hsl(43 90% 22%);--bg:hsl(var(--page));--card:hsl(var(--surface));--ink:hsl(var(--text-primary));--muted:hsl(var(--text-secondary));--line:hsl(var(--surface-border));--orange:hsl(var(--brand));--orange-d:hsl(var(--brand-hover));--green:hsl(var(--success));--red:hsl(var(--danger));--amber:hsl(40 92% 36%);--radius:var(--radius-lg)}.dark{--page:210 18% 8%;--surface:210 16% 12%;--surface-hover:210 15% 17%;--surface-elevated:210 15% 15%;--surface-muted:210 14% 18%;--app-bg:210 18% 9%;--surface-border:210 13% 26%;--text-primary:210 14% 92%;--text-secondary:210 10% 66%;--text-muted:210 9% 58%;--brand:207 48% 52%;--brand-hover:207 52% 60%;--brand-light:207 32% 20%;--brand-soft:207 30% 15%;--accent:200 70% 52%;--accent-hover:200 74% 58%;--accent-light:200 38% 18%;--success:152 48% 48%;--success-light:152 30% 16%;--warning:43 96% 52%;--warning-light:43 42% 17%;--danger:0 66% 56%;--danger-light:0 40% 18%;--sidebar:210 20% 10%;--sidebar-muted:210 12% 55%;--sidebar-active:0 0% 100%;--sidebar-hover:210 16% 16%;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 12px rgba(0,0,0,.4);--shadow-lg:0 8px 24px rgba(0,0,0,.5);--shadow-xl:0 16px 40px rgba(0,0,0,.55);--safety:hsl(43 96% 52%);--safety-ink:hsl(43 92% 78%)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}html,body{overflow-x:clip}body{margin:0;font-family:var(--font-family);background:hsl(var(--page));color:hsl(var(--text-primary));line-height:1.6;font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,.brand-name{font-family:var(--font-family);font-weight:800}::selection{background:hsl(var(--brand-light));color:hsl(var(--brand-hover))}*{scrollbar-width:thin}button{font-family:inherit;cursor:pointer;touch-action:manipulation}input,select,textarea{font-family:inherit;font-size:.95rem;padding:.55rem .7rem;border:1px solid hsl(var(--surface-border));border-radius:var(--radius-md);background:hsl(var(--surface));color:hsl(var(--text-primary));width:100%}input:focus,select:focus,textarea:focus{outline:2px solid hsl(var(--brand) / .35);border-color:hsl(var(--brand))}:where(button,a,[role=button]):focus-visible{outline:2px solid hsl(var(--brand));outline-offset:2px}@media (max-width: 767px){input[type=text],input[type=number],input[type=email],input[type=tel],input[type=password],input[type=search],input[type=url],input:not([type]),select,textarea{font-size:16px!important}}@media (max-width:767px){.btn{min-height:44px}.btn.sm{min-height:38px}}label{font-size:.82rem;font-weight:700;color:hsl(var(--text-secondary));display:block;margin-bottom:.3rem}a{color:hsl(var(--brand-hover))}.num,.kpi .num,.stat-value,.band-time,.board-clock,.board-num,.login-pin,.job-num,.kb-num,.tech-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.job-num{font-weight:700;color:hsl(var(--brand-hover))}.dark .job-num{color:hsl(var(--brand))}.app{display:flex;flex-direction:column;min-height:100vh;background:hsl(var(--page))}.toolbar{background:linear-gradient(180deg,#254056,#1c3245);color:#fff;border-bottom:3px solid hsl(var(--brand));box-shadow:0 2px 10px #12202e40}.dark .toolbar{background:linear-gradient(180deg,#1a2128,#131a20);border-bottom-color:hsl(var(--brand))}.toolbar-main{display:flex;align-items:center;gap:1rem;padding:.55rem 1.4rem;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:.65rem}.brand img{width:44px;height:44px;border-radius:8px;background:#fff;padding:4px;border:1px solid rgba(255,255,255,.35);object-fit:contain;flex-shrink:0}.brand-name{font-size:1.18rem;font-weight:900;line-height:1.15;color:#fff;letter-spacing:.01em}.brand-sub{font-size:.72rem;color:#b6c9d8}.toolbar-title{display:flex;flex-direction:column;line-height:1.3;margin-inline-start:.4rem;padding-inline-start:1rem;border-inline-start:1px solid rgba(255,255,255,.22)}.toolbar-title b{font-size:.98rem;font-weight:800;color:#fff}.toolbar-title span{color:#b1c4d3;font-size:.74rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.topbar-actions{display:flex;align-items:center;gap:.55rem;margin-inline-start:auto}.toolbar .icon-btn{background:#ffffff14;border-color:#ffffff40;color:#fff}.toolbar .icon-btn:hover{border-color:var(--safety);color:var(--safety)}.toolbar .user-chip{background:#ffffff1a;border-color:#ffffff38;color:#fff}.toolbar .user-chip-text small{color:#b7c8d7}.toolbar-nav{display:flex;align-items:center;gap:.3rem;padding:0 1.4rem .55rem;flex-wrap:wrap}.tool-btn{display:inline-flex;align-items:center;gap:.45rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.16);color:#d3dce4;padding:.42rem .8rem;border-radius:6px;font-size:.88rem;font-weight:700;transition:all .15s var(--ease-smooth)}.tool-btn:hover{background:#ffffff24;color:#fff}.tool-btn.active{background:#fff;color:#213d54;border-color:#fff;box-shadow:inset 0 -3px 0 var(--safety)}.tool-btn svg{flex-shrink:0}.nav-badge{margin-inline-start:.15rem;font-size:.68rem;padding:.05rem .45rem}.nav-count{background:#ffffff2e;color:#fff;font-family:var(--font-mono);font-size:.7rem;font-weight:700;border-radius:5px;padding:.02rem .4rem}.tool-btn.active .nav-count{background:hsl(var(--brand-soft));color:hsl(var(--brand-hover))}.toolbar-note{margin-inline-start:auto;font-size:.72rem;color:#a5b9ca;max-width:340px;text-align:end;line-height:1.5}.sidebar{display:none}.shell{flex:1;display:flex;flex-direction:column;min-width:0}.main{flex:1;padding:1.3rem 1.4rem 5rem;width:100%;max-width:1280px;margin-inline:auto}.topbar{position:sticky;top:0;z-index:25;background:hsl(var(--surface) / .92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid hsl(var(--surface-border));display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1.4rem}.topbar-title{display:flex;flex-direction:column;line-height:1.35}.topbar-title b{font-size:1.02rem;font-weight:800}.user-chip{display:flex;align-items:center;gap:.5rem;background:hsl(var(--surface-muted));border:1px solid hsl(var(--surface-border));border-radius:999px;padding:.28rem .7rem .28rem .35rem}.user-chip-text{display:flex;flex-direction:column;line-height:1.2}.user-chip-text b{font-size:.83rem}.user-chip-text small{color:hsl(var(--text-muted));font-size:.68rem}.icon-btn{background:hsl(var(--surface));border:1px solid hsl(var(--surface-border));color:hsl(var(--text-primary));width:38px;height:38px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;transition:all .15s var(--ease-smooth)}.icon-btn:hover{border-color:hsl(var(--brand));color:hsl(var(--brand-hover))}.btn{background:hsl(var(--brand));color:#fff;border:0;border-radius:var(--radius-md);padding:.6rem 1.1rem;font-weight:700;font-size:.92rem;display:inline-flex;align-items:center;gap:.4rem;justify-content:center;box-shadow:0 1px 2px hsl(var(--brand) / .25);transition:all .15s var(--ease-smooth)}.btn:hover{background:hsl(var(--brand-hover));box-shadow:0 3px 8px hsl(var(--brand) / .3)}.btn:active{transform:scale(.97)}.btn.ghost{background:hsl(var(--surface));color:hsl(var(--text-primary));border:1px solid hsl(var(--surface-border));box-shadow:none}.btn.ghost:hover{background:hsl(var(--surface-hover))}.btn.navy{background:#243542;color:#fff;box-shadow:none}.btn.navy:hover{background:#2f475b}.dark .btn.navy{background:#dce0e5;color:#181f25}.dark .btn.navy:hover{background:#b9c2ca}.btn.sm{padding:.35rem .7rem;font-size:.82rem;border-radius:6px}.btn.danger{background:hsl(var(--danger-light));color:hsl(var(--danger))}.btn.danger:hover{background:hsl(var(--danger) / .18);box-shadow:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-lg{padding:.8rem 1.3rem;font-size:1rem}.btn-block{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem}.wa{background:hsl(var(--success));color:#fff;border:0;border-radius:var(--radius-md);padding:.55rem 1rem;font-weight:700;font-size:.9rem;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;transition:all .15s var(--ease-smooth)}.wa:hover{opacity:.92;color:#fff}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.1rem}.page-head h1{font-size:1.55rem;margin:0}.page-head p{margin:.2rem 0 0;color:hsl(var(--text-secondary));font-size:.9rem}.page-title{display:flex;align-items:center;gap:.75rem}.page-title h2{margin:0;font-size:1.45rem}.page-title .muted{margin:.15rem 0 0}.page-icon{width:48px;height:48px;border-radius:var(--radius-lg);background:hsl(var(--brand));color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 3px 8px hsl(var(--brand) / .3)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;margin-bottom:1.1rem}.kpi{background:hsl(var(--surface));border:1px solid hsl(var(--surface-border));border-radius:var(--radius-lg);padding:1rem 1.1rem;box-shadow:var(--shadow-sm)}.kpi .num{font-size:1.7rem;font-weight:700}.kpi .lbl{color:hsl(var(--text-secondary));font-size:.85rem;margin-top:.15rem}.kpi.alert{border-color:hsl(var(--danger) / .4);background:hsl(var(--danger) / .05)}.kpi.alert .num{color:hsl(var(--danger))}.panel{background:hsl(var(--surface));border:1px solid hsl(var(--surface-border));border-radius:var(--radius-lg);padding:1.1rem;margin-bottom:1.1rem;box-shadow:var(--shadow-sm)}.panel h3{margin:0 0 .8rem;font-size:1.05rem}.panel h3 svg{vertical-align:-4px}.panel-danger{border-color:hsl(var(--danger) / .4);background:hsl(var(--danger) / .04)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th{text-align:start;color:#fff;background:#2d4458;font-size:.78rem;font-weight:800;padding:.5rem .6rem;border-bottom:3px solid hsl(var(--brand));white-space:nowrap}.dark .table th{background:#252e37;color:hsl(var(--text-primary))}.table td{padding:.55rem .6rem;border-bottom:1px solid hsl(var(--surface-border));vertical-align:top}.table tbody tr:nth-child(2n) td{background:hsl(var(--surface-elevated))}.table tr:hover td{background:hsl(var(--brand-soft))}.table tr.row-low td{background:hsl(var(--warning) / .13)}.table tr.row-low td:first-child{box-shadow:inset 4px 0 0 var(--safety)}html[dir=rtl] .table tr.row-low td:first-child{box-shadow:inset -4px 0 0 var(--safety)}.table-wrap{overflow-x:auto}.badge{display:inline-block;padding:.15rem .6rem;border-radius:5px;font-size:.75rem;font-weight:700;color:#fff;white-space:nowrap}.badge.soft{background:hsl(var(--surface-muted));color:hsl(var(--text-primary))}.badge-over{background:hsl(var(--danger));color:#fff}.chip{display:inline-block;padding:.2rem .65rem;border-radius:6px;border:1px solid hsl(var(--surface-border));background:hsl(var(--surface));color:hsl(var(--text-primary));font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s var(--ease-smooth)}.chip:hover{border-color:hsl(var(--brand))}.chip.active{background:hsl(var(--brand));color:#fff;border-color:hsl(var(--brand))}.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.spread{display:flex;justify-content:space-between;align-items:center;gap:.7rem;flex-wrap:wrap}.muted{color:hsl(var(--text-secondary));font-size:.85rem}.small{font-size:.8rem}.list-row{padding:.55rem 0;border-bottom:1px solid hsl(var(--surface-border));cursor:pointer}.list-row:last-child{border-bottom:0}.list-row-wrap{padding:.6rem 0;border-bottom:1px solid hsl(var(--surface-border))}.bar-track{background:hsl(var(--surface-muted));border-radius:4px;height:10px;margin-top:4px;overflow:hidden}.bar-fill{height:100%;border-radius:4px;transition:width .5s var(--ease-smooth)}.sla-over{color:hsl(var(--danger));font-weight:700}.tag-part{display:inline-block;margin-inline-start:6px;font-size:.66rem;font-weight:700;color:hsl(var(--accent-hover));background:hsl(var(--accent-light));border-radius:4px;padding:.05rem .4rem;vertical-align:2px}.tech-strip{display:flex;flex-wrap:wrap;background:hsl(var(--surface));border:1px solid hsl(var(--surface-border));border-top:4px solid hsl(var(--brand));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.1rem;overflow:hidden}.tech-cell{flex:1 1 150px;padding:.7rem 1rem;border-inline-end:1px dashed hsl(var(--surface-border))}.tech-cell:last-child{border-inline-end:0}.tech-cell .tc-label{font-size:.76rem;font-weight:700;color:hsl(var(--text-secondary))}.tech-cell .tc-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:700;line-height:1.25;color:hsl(var(--text-primary))}.tech-cell .tc-sub{font-size:.74rem;color:hsl(var(--text-muted))}.tech-cell.alert{background:hsl(var(--warning) / .12)}.tech-cell.alert .tc-value{color:var(--safety-ink)}.tech-head{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:.9rem}.tech-head h2{margin:0;font-size:1.3rem}.tech-head .th-clock{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700;color:hsl(var(--brand-hover));font-size:1.05rem}.dark .tech-head .th-clock{color:hsl(var(--brand))}.tech-head .th-live{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;color:hsl(var(--success))}.tech-head .th-live:before{content:"";width:9px;height:9px;border-radius:50%;background:hsl(var(--success));box-shadow:0 0 0 4px hsl(var(--success) / .2);animation:pulse-dot 2s infinite}.flow-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:.7rem;margin-bottom:1.1rem}.flow-col{background:hsl(var(--surface-elevated));border:1px solid hsl(var(--surface-border));border-top:4px solid var(--col,hsl(var(--brand)));border-radius:var(--radius-lg);padding:.65rem .65rem .5rem;min-height:120px}.flow-col-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.55rem}.flow-col-head b{font-size:.86rem}.flow-col-count{font-family:var(--font-mono);font-weight:700;background:hsl(var(--surface));border:1px solid hsl(var(--surface-border));border-radius:5px;padding:.02rem .45rem;font-size:.8rem}.mini-job{background:hsl(var(--surface));border:1px solid hsl(var(--surface-border));border-radius:6px;padding:.45rem .55rem;margin-bottom:.45rem;cursor:pointer;transition:border-color .15s var(--ease-smooth)}.mini-job:hover{border-color:hsl(var(--brand))}.mini-job .mj-top{display:flex;justify-content:space-between;align-items:center;gap:.4rem}.mini-job .mj-dev{font-weight:700;font-size:.85rem;margin-top:.15rem}.mini-job .mj-meta{font-size:.74rem;color:hsl(var(--text-secondary));line-height:1.5}.flow-col .fc-more{font-size:.75rem;color:hsl(var(--brand-hover));font-weight:700;cursor:pointer;padding:.15rem .2rem}.load-row{margin-bottom:.7rem}.load-row .spread{margin-bottom:.1rem}.alert-safety{display:flex;align-items:center;gap:.7rem;background:hsl(var(--warning) / .13);border:1px solid hsl(var(--warning) / .55);border-inline-start:6px solid var(--safety);color:hsl(var(--text-primary));border-radius:var(--radius-lg);padding:.75rem 1rem;margin-bottom:1.1rem;font-size:.92rem;flex-wrap:wrap}.alert-safety svg{color:var(--safety-ink);flex-shrink:0}.view-toggle{display:inline-flex;border:1px solid hsl(var(--surface-border));border-radius:6px;overflow:hidden}.view-toggle button{background:hsl(var(--surface));border:0;color:hsl(var(--text-secondary));font-weight:700;font-size:.85rem;padding:.45rem .95rem;display:inline-flex;align-items:center;gap:.4rem}.view-toggle button.active{background:hsl(var(--brand));color:#fff}.kanban{display:flex;gap:.7rem;overflow-x:auto;padding-bottom:.8rem;align-items:flex-start}.kb-col{flex:0 0 272px;max-width:272px;background:hsl(var(--surface-elevated));border:1px solid hsl(var(--surface-border));border-top:4px solid var(--col,hsl(var(--brand)));border-radius:var(--radius-lg);padding:.6rem;max-height:calc(100vh - 240px);overflow-y:auto}.kb-col-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.1rem .25rem .55rem;position:sticky;top:-.6rem;background:hsl(var(--surface-elevated));z-index:1}.kb-col-head b{font-size:.88rem}.kb-card{background:hsl(var(--surface));border:1px solid hsl(var(--surface-border));border-radius:6px;padding:.6rem .65rem;margin-bottom:.55rem;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .15s var(--ease-smooth)}.kb-card:hover{border-color:hsl(var(--brand))}.kb-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.kb-num{font-size:1.12rem;font-weight:700;color:hsl(var(--brand-hover))}.dark .kb-num{color:hsl(var(--brand))}.kb-since{font-size:.72rem;color:hsl(var(--text-muted));font-family:var(--font-mono);font-variant-numeric:tabular-nums}.kb-since.over{color:hsl(var(--danger));font-weight:700}.kb-dev{font-weight:800;font-size:.92rem;margin-top:.25rem}.kb-fault{font-size:.82rem;color:hsl(var(--text-secondary));line-height:1.5}.kb-meta{font-size:.78rem;color:hsl(var(--text-secondary));line-height:1.6;margin-top:.3rem}.kb-meta b{color:hsl(var(--text-primary))}.kb-foot{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.45rem;padding-top:.45rem;border-top:1px dashed hsl(var(--surface-border));font-size:.8rem}.kb-actions{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.5rem}.kb-actions .chip{font-size:.72rem;padding:.14rem .5rem}.kb-empty{font-size:.8rem;color:hsl(var(--text-muted));text-align:center;padding:.8rem .3rem;border:1.5px dashed hsl(var(--surface-border));border-radius:6px}.searchbar{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem;position:relative;align-items:center}.searchbar input{max-width:320px;padding-inline-start:2.3rem}.search-ic{position:absolute;inset-inline-start:.7rem;top:50%;transform:translateY(-50%);color:hsl(var(--text-muted));display:flex;pointer-events:none}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:50;display:flex;align-items:flex-end;justify-content:center;padding:0;animation:fade-in .2s var(--ease-smooth)}.dark .modal-bg{background:#0009}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:hsl(var(--surface));color:hsl(var(--text-primary));width:100%;max-width:620px;max-height:92vh;overflow:auto;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:1.3rem;box-shadow:var(--shadow-xl)}@media (min-width:700px){.modal-bg{align-items:center;padding:1rem}.modal{border-radius:var(--radius-xl)}}.modal h2{margin:0 0 1rem;font-size:1.2rem}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.modal-head h2{margin:0}.modal-wide{max-width:860px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.form-grid .full{grid-column:1/-1}.form-label{font-size:.82rem;font-weight:700;color:hsl(var(--text-secondary));display:block;margin-bottom:.4rem}.form-error{color:hsl(var(--danger));font-size:.88rem;font-weight:600;background:hsl(var(--danger) / .08);border:1px solid hsl(var(--danger) / .3);border-radius:var(--radius-md);padding:.5rem .8rem}.toast{position:fixed;bottom:5.5rem;inset-inline-start:50%;transform:translate(50%);background:#1e303e;color:#fff;padding:.6rem 1.2rem;border-radius:6px;font-weight:700;font-size:.9rem;z-index:99;box-shadow:var(--shadow-lg)}.toasts{position:fixed;bottom:5.5rem;inset-inline-start:50%;transform:translate(50%);z-index:99;display:flex;flex-direction:column;gap:.45rem;align-items:center;pointer-events:none}.toasts .toast{position:static;transform:none}@media (min-width:861px){.toast,.toasts{bottom:2rem}}.timeline{border-inline-start:3px solid hsl(var(--surface-border));margin-inline-start:.4rem;padding-inline-start:1.1rem;display:flex;flex-direction:column;gap:.8rem}.timeline .ev{position:relative}.timeline .ev:before{content:"";position:absolute;inset-inline-start:-1.32rem;top:.3rem;width:11px;height:11px;border-radius:50%;background:hsl(var(--brand))}.progress-flow{display:flex;gap:.35rem;flex-wrap:wrap;margin:.6rem 0}.flow-step{flex:1;min-width:86px;text-align:center;font-size:.72rem;font-weight:700;padding:.45rem .2rem;border-radius:6px;background:hsl(var(--surface-muted));color:hsl(var(--text-muted))}.flow-step.done{background:hsl(var(--accent));color:#fff}.flow-step.now{background:hsl(var(--brand));color:#fff}.status-band{position:relative;overflow:hidden;background:hsl(var(--surface));border:1px solid hsl(var(--surface-border));border-top:4px solid hsl(var(--brand));color:hsl(var(--text-primary));border-radius:var(--radius-lg);padding:1.15rem 1.3rem;display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap;margin-bottom:1.1rem;box-shadow:var(--shadow-sm)}.band-aurora{display:none}.band-main{display:flex;align-items:center;gap:.8rem;position:relative;z-index:1}.band-main h2{margin:0;font-size:1.28rem}.status-band .muted{color:hsl(var(--text-secondary))}.band-dot{width:13px;height:13px;border-radius:50%;background:hsl(var(--success));box-shadow:0 0 0 5px hsl(var(--success) / .22);animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%{box-shadow:0 0 hsl(var(--success) / .35)}70%{box-shadow:0 0 0 8px hsl(var(--success) / 0)}to{box-shadow:0 0 hsl(var(--success) / 0)}}.band-clock{display:flex;flex-direction:column;position:relative;z-index:1}.band-time{font-size:1.5rem;font-weight:700;line-height:1.1;color:hsl(var(--brand-hover))}.dark .band-time{color:hsl(var(--brand))}.band-side{margin-inline-start:auto;display:flex;flex-direction:column;gap:.5rem;min-width:220px;position:relative;z-index:1}.band-chips{display:flex;gap:.45rem;flex-wrap:wrap}.band-chip{background:hsl(var(--surface-elevated));border:1px solid hsl(var(--surface-border));border-radius:5px;padding:.22rem .7rem;font-size:.78rem;font-weight:600;color:hsl(var(--text-primary))}.band-meter{height:9px;border-radius:4px;background:hsl(var(--surface-border));overflow:hidden}.band-meter span{display:block;height:100%;background:hsl(var(--brand));border-radius:4px}.band-btn{position:relative;z-index:1}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;margin-bottom:1.1rem}.stat-card{position:relative;background:hsl(var(--surface));border:1px solid hsl(var(--surface-border));border-radius:var(--radius-lg);padding:1rem 1.1rem;box-shadow:var(--shadow-sm)}.stat-tile{position:absolute;top:.85rem;inset-inline-end:.85rem;width:36px;height:36px;border-radius:var(--radius-md);background:hsl(var(--brand-light));color:hsl(var(--brand-hover));display:flex;align-items:center;justify-content:center}.dark .stat-tile{color:hsl(var(--brand))}.stat-label{color:hsl(var(--text-secondary));font-size:.85rem;padding-inline-end:42px}.stat-value{font-size:1.65rem;font-weight:700;margin-top:.15rem}.stat-sub{color:hsl(var(--text-secondary));font-size:.8rem;margin-top:.15rem}.stat-accent{border-top:4px solid hsl(var(--brand))}.avatar{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,hsl(var(--brand)),hsl(var(--accent)));color:#fff;font-weight:700;font-size:.85rem;display:inline-flex;align-items:center;justify-content:center;border:2px solid hsl(var(--brand) / .25);flex-shrink:0}.avatar-sm{width:31px;height:31px;font-size:.7rem}.empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;color:hsl(var(--text-secondary));padding:1.6rem 1rem}.empty p{margin:0;max-width:420px}.empty-mark{width:52px;height:52px;border-radius:8px;background:hsl(var(--brand-light));color:hsl(var(--brand-hover));display:flex;align-items:center;justify-content:center;border:1px solid hsl(var(--brand-light))}.dark .empty-mark{color:hsl(var(--brand))}.stock-alert{display:flex;align-items:center;gap:.7rem;background:hsl(var(--warning) / .12);border:1px solid hsl(var(--warning) / .55);border-inline-start:6px solid var(--safety);color:hsl(var(--text-primary));border-radius:var(--radius-lg);padding:.75rem 1rem;margin-bottom:1.1rem;font-size:.92rem;flex-wrap:wrap}.stock-alert svg{color:var(--safety-ink);flex-shrink:0}.bell-wrap{position:relative}.bell-btn{position:relative;border-radius:999px}.bell-badge{position:absolute;top:-5px;inset-inline-end:-5px;background:hsl(var(--danger));color:#fff;font-size:.62rem;font-weight:800;min-width:19px;height:19px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px}.bell-panel{position:absolute;top:calc(100% + 10px);inset-inline-end:0;width:min(380px,92vw);background:hsl(var(--surface));border:1px solid hsl(var(--surface-border));border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:.9rem;z-index:60;color:hsl(var(--text-primary));text-align:start}.bell-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.bell-list{list-style:none;margin:0;padding:0;max-height:380px;overflow-y:auto;display:flex;flex-direction:column}.bell-item{display:flex;flex-direction:column;gap:2px;padding:.6rem .5rem;border-bottom:1px solid hsl(var(--surface-border));cursor:pointer;border-radius:6px}.bell-item:last-child{border-bottom:0}.bell-item:hover{background:hsl(var(--surface-hover))}.bell-unread{background:hsl(var(--brand-soft))}.bell-time{font-variant-numeric:tabular-nums}.bell-empty{margin:6px 0 2px;line-height:1.8}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(900px 480px at 85% -10%,hsl(207 45% 32% / .5) 0%,transparent 60%),linear-gradient(180deg,#1a2d3d,#121a21);padding:1.2rem}.login-card{background:hsl(var(--surface));border:1px solid hsl(var(--surface-border));border-top:5px solid hsl(var(--brand));border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:520px;width:100%;padding:2rem 1.8rem;text-align:center;color:hsl(var(--text-primary))}.login-logo{width:72px;height:72px;border-radius:10px;object-fit:contain;background:#fff;border:1px solid hsl(var(--surface-border));box-shadow:var(--shadow-md)}.login-card h1{font-size:1.8rem;font-weight:900;margin:.7rem 0 .2rem}.login-card .form{text-align:start;margin-top:1.1rem;display:flex;flex-direction:column;gap:.95rem}.login-users{display:grid;grid-template-columns:1fr 1fr;gap:8px}.login-user{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:hsl(var(--surface-elevated));border:1.5px solid hsl(var(--surface-border));border-radius:8px;padding:.6rem .7rem;cursor:pointer;text-align:start;color:hsl(var(--text-primary));transition:all .15s var(--ease-smooth)}.login-user:hover{border-color:hsl(var(--brand))}.login-user-on{border-color:hsl(var(--brand));background:hsl(var(--brand-soft))}.login-user-top{display:flex;align-items:center;gap:.45rem}.login-pin{font-size:.78rem;color:hsl(var(--brand-hover));font-weight:600}.dark .login-pin{color:hsl(var(--brand))}.login-note{text-align:center;line-height:1.8}.theme-toggle-login{position:absolute;top:1rem;inset-inline-end:1rem;z-index:5}@media (max-width:520px){.login-users{grid-template-columns:1fr}}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:.55rem}.photo-thumb{position:relative;border-radius:8px;overflow:hidden;border:1px solid hsl(var(--surface-border));background:hsl(var(--surface-muted))}.photo-thumb img{width:100%;height:86px;object-fit:cover;display:block;cursor:zoom-in}.photo-del{position:absolute;top:4px;inset-inline-end:4px;background:#0000008c;color:#fff;border:0;border-radius:6px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;cursor:pointer}.photo-meta{position:absolute;bottom:0;inset-inline:0;background:#0000008c;color:#fff;font-size:.62rem;padding:.15rem .4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qc-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .2rem;border-bottom:1px solid hsl(var(--surface-border));cursor:pointer;font-size:.93rem;color:hsl(var(--text-primary));font-weight:500;margin:0}.qc-item input{width:19px;height:19px;accent-color:hsl(var(--brand));flex-shrink:0}.qc-done-text{color:hsl(var(--text-muted));text-decoration:line-through}.qc-item .small{margin-inline-start:auto}.po-card{border:1px solid hsl(var(--surface-border));border-radius:8px;padding:.9rem 1rem;margin-bottom:.9rem;background:hsl(var(--surface-elevated))}.po-card:last-child{margin-bottom:0}.board{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:radial-gradient(1000px 600px at 80% -10%,hsl(207 45% 30% / .45) 0%,transparent 55%),radial-gradient(800px 500px at 10% 110%,hsl(200 60% 35% / .25) 0%,transparent 55%),#0d1216;color:#e8ebed;padding:2rem 2.4rem;overflow:auto}.board-exit{position:absolute;top:1rem;inset-inline-end:1rem;background:#ffffff14;border:1px solid hsl(0 0% 100% / .2);color:#fff;border-radius:var(--radius-md);width:42px;height:42px;display:flex;align-items:center;justify-content:center;cursor:pointer}.board-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.board-brand{display:flex;align-items:center;gap:1rem}.board-brand img{width:64px;height:64px;border-radius:10px;background:#fff;object-fit:contain}.board-brand h1{margin:0;font-size:2rem;color:#fff}.board-brand p{margin:.1rem 0 0;color:#929eaa;font-size:1.05rem}.board-clock{font-size:3rem;font-weight:700;color:#fabc1e}.board-title{font-size:1.5rem;margin:2rem 0 1rem}.board-title-ready{color:#59cf98}.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.1rem}.board-card{background:#ffffff0f;border:1.5px solid hsl(0 0% 100% / .16);border-radius:var(--radius-lg);padding:1.4rem;text-align:center}.board-card-ready{border-color:#3db87e;box-shadow:0 0 0 1px #3db87e66,0 14px 34px #00000073}.board-num{font-size:3.4rem;font-weight:700;line-height:1.05;color:#fff}.board-dev{font-size:1.25rem;font-weight:700;margin-top:.3rem}.board-since{color:#929eaa;margin-top:.25rem}.board-empty{font-size:1.35rem;color:#929eaa;border:1.5px dashed hsl(0 0% 100% / .2);border-radius:var(--radius-lg);padding:2rem;text-align:center}.board-strip{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2.2rem}.board-chip{display:inline-flex;align-items:center;gap:.5rem;background:#ffffff12;border:1px solid hsl(0 0% 100% / .16);border-radius:6px;padding:.55rem 1.1rem;font-size:1.1rem}.board-chip b{color:#fbc02d;font-size:1.25rem;font-family:var(--font-mono)}.board-foot{margin-top:2rem;color:#67737e;font-size:.95rem}.bottom-nav{display:none}.bnav-badge{background:hsl(var(--danger));color:#fff;font-size:.6rem;font-weight:800;min-width:17px;height:17px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.more-sheet{max-width:560px}.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.more-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.95rem .5rem .8rem;border:1px solid hsl(var(--surface-border));border-radius:var(--radius-lg);background:hsl(var(--surface-elevated));color:hsl(var(--text-primary));font-size:.92rem;font-weight:700;transition:all .15s var(--ease-smooth)}.more-item:active{transform:scale(.97)}.more-item.active{background:hsl(var(--brand-soft));border-color:hsl(var(--brand));color:hsl(var(--brand-hover))}.dark .more-item.active{color:hsl(var(--brand))}.more-item .nav-badge{position:absolute;top:.45rem;inset-inline-end:.45rem;margin:0}.bnav-dot{position:absolute;top:4px;inset-inline-end:calc(50% - 18px);width:8px;height:8px;border-radius:50%;background:hsl(var(--danger))}.print-area{display:none}@media print{.app,.bottom-nav{display:none!important}.print-area{display:block!important;font-family:var(--font-family);color:#000}.sidebar,.toolbar,.topbar,.toasts{display:none!important}.shell{margin-inline-start:0}}@media (max-width:860px){.shell{margin-inline-start:0}.main{padding:1rem .9rem 6rem}.toolbar-main{padding:.55rem .9rem}.toolbar-nav{padding:0 .9rem .55rem;flex-wrap:nowrap;overflow-x:auto}.tool-btn{white-space:nowrap}.toolbar-title,.toolbar-note,.user-chip-text{display:none}.user-chip{padding:.28rem}.grid2,.form-grid{grid-template-columns:1fr}.status-band{gap:.9rem;padding:1rem}.band-side{margin-inline-start:0;min-width:0;width:100%}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;width:100%;background:#1b2d3cfa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:2px solid hsl(var(--brand));box-shadow:0 -4px 16px #00000040;z-index:40;padding:.45rem .3rem calc(.45rem + env(safe-area-inset-bottom));justify-content:space-around}.bottom-nav button{position:relative;background:transparent;border:0;color:#a8b9c7;font-size:.72rem;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:2px;padding:.3rem .45rem;border-radius:6px;transition:all .15s var(--ease-smooth)}.bottom-nav button.active{background:#ffffff21;color:#fff;box-shadow:inset 0 -2px 0 var(--safety)}.bnav-badge{position:absolute;top:0;inset-inline-end:2px}.stats-grid,.cards{grid-template-columns:1fr 1fr}.stat-card{padding:.85rem .9rem}.stat-value{font-size:1.35rem}.tech-cell{flex:1 1 44%}.kb-col{flex-basis:236px;max-width:236px;max-height:none}.table-wrap .table{min-width:640px}.table td:first-child b{white-space:nowrap}.board{padding:1.2rem 1rem}.board-clock{font-size:2rem}.board-num{font-size:2.6rem}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sync-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .7rem;border-radius:5px;border:1px solid hsl(var(--surface-border));background:hsl(var(--surface));color:hsl(var(--text-secondary));font-size:.72rem;font-weight:700;white-space:nowrap}.toolbar .sync-badge{background:#ffffff1a;border-color:#ffffff38;color:#d3dce4}.sync-badge .sync-dot{width:8px;height:8px;border-radius:50%;background:hsl(var(--text-muted));flex:none}.sync-badge.synced{color:hsl(var(--success));background:hsl(var(--success-light));border-color:transparent}.toolbar .sync-badge.synced{background:#2e8c5740;color:#90dfba}.sync-badge.synced .sync-dot{background:hsl(var(--success))}.sync-badge.syncing{color:hsl(var(--brand-hover));background:hsl(var(--brand-soft));border-color:transparent}.toolbar .sync-badge.syncing{background:#ffffff24;color:#fff}.sync-badge.syncing .sync-dot{background:hsl(var(--brand));animation:sync-pulse 1s ease-in-out infinite}.sync-badge.error{color:hsl(var(--danger));background:hsl(var(--danger-light));border-color:transparent}.toolbar .sync-badge.error{background:#d1222240;color:#eea0a0}.sync-badge.error .sync-dot{background:hsl(var(--danger))}.sync-badge.grace{color:#936406;background:hsl(var(--warning-light));border-color:transparent}.toolbar .sync-badge.grace{background:#eda11340;color:#f9d476}.sync-badge.grace .sync-dot{background:hsl(var(--warning))}@keyframes sync-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (max-width:760px){.sync-badge{display:none}}.demo-banner{background:#1c3245;color:#fff;text-align:center;font-size:.8rem;font-weight:700;padding:.42rem 1rem;line-height:1.5;border-bottom:2px solid var(--safety)}.top-stack{position:sticky;top:0;z-index:25}.with-banner .login-shell{min-height:calc(100vh - 35px)}
