@font-face{font-family:Vazirmatn;src:url('/fonts/Vazirmatn.woff2') format('woff2');font-display:swap}*{box-sizing:border-box} :root{font-family:Vazirmatn,system-ui,sans-serif;color:#202a24;background:#f4f3ee;font-size:15px;--green:#184c3a;--mint:#e5eee8;--line:#deded5;--muted:#68736c;--orange:#c77727;--paper:#fffefa}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;border-radius:5px;padding:9px 13px;color:inherit}button:hover{border-color:#82988a;background:#f8faf7}button.primary{background:var(--green);color:white;border-color:var(--green)}button.danger{color:#a44427;border-color:#e7b8a7}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{border:1px solid #d4d9d2;border-radius:4px;padding:10px;background:white;width:100%;min-height:42px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #9bc9b1;outline-offset:2px}textarea{min-height:88px;resize:vertical}.shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{background:#e9e9e1;border-left:1px solid var(--line);padding:22px 16px;display:flex;flex-direction:column;gap:18px}.brand{font-weight:800;font-size:20px;color:var(--green);display:flex;gap:10px;align-items:center}.brandmark{width:34px;height:34px;border-radius:8px;background:var(--green);color:white;display:grid;place-items:center}.side-label,.eyebrow{color:var(--muted);font-size:12px}.side-projects{display:grid;gap:7px}.project-pick{width:100%;text-align:right;display:grid;gap:2px}.project-pick.active{border-color:#779482;background:#f6faf6}.userbox{margin-top:auto;border-top:1px solid var(--line);padding-top:14px;display:grid;gap:9px}.workspace{min-width:0;padding:26px clamp(16px,3vw,42px) 48px}.topline{display:flex;justify-content:space-between;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.topline h1{font-size:24px;margin:2px 0 4px}.actions,.row-actions{display:flex;gap:8px;flex-wrap:wrap}.muted{color:var(--muted)}.notice{background:#fff4e5;border:1px solid #f0d2a7;border-right:4px solid var(--orange);padding:12px 15px;margin:18px 0;border-radius:3px;font-size:13px}.alert{background:#fff0ed;color:#852f1e;border:1px solid #e8b9ac;padding:11px 14px;margin:14px 0}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin:20px 0}.metric,.panel{background:var(--paper);border:1px solid var(--line);border-radius:6px}.metric{padding:15px}.metric strong{display:block;font-size:25px;color:var(--green);margin-top:7px}.tabs{display:flex;gap:6px;overflow:auto;border-bottom:1px solid var(--line);margin:20px 0 0}.tab{white-space:nowrap;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent}.tab.active{color:var(--green);border-bottom-color:var(--green);font-weight:700}.panel{padding:18px;margin-top:16px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.panel h2,.panel h3{margin:0 0 12px}.table-wrap{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;min-width:700px;text-align:right}th,td{border-bottom:1px solid #e8e9e3;padding:11px 9px;vertical-align:top}th{font-size:13px;color:#53645a;background:#f6f6f1;white-space:nowrap}.badge{display:inline-flex;padding:3px 8px;border-radius:20px;background:var(--mint);font-size:12px}.badge.warn{background:#fff0db;color:#87500e}.badge.critical{background:#fff0e9;color:#a2491b}.empty{padding:38px 18px;text-align:center;color:var(--muted)}.gantt-wrap{overflow:auto;direction:ltr;border:1px solid var(--line);background:white}.gantt{min-width:940px}.gantt-head,.gantt-row{display:grid;grid-template-columns:250px minmax(680px,1fr);direction:ltr}.gantt-head{position:sticky;top:0;z-index:2;background:#f1f3ed;font-size:12px}.gantt-name{direction:rtl;text-align:right;padding:10px;border-right:1px solid var(--line);position:sticky;left:0;background:inherit;z-index:1}.axis{display:flex;border-bottom:1px solid var(--line);min-height:38px}.axis span{flex:1;text-align:center;border-left:1px solid #ecece6;padding:8px 2px;white-space:nowrap}.gantt-row{min-height:42px;border-bottom:1px solid #f0f0eb;cursor:pointer}.gantt-row:hover{background:#f8faf7}.track{position:relative;min-height:42px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / var(--weeks) - 1px),#eeeeea calc(100% / var(--weeks) - 1px),#eeeeea calc(100% / var(--weeks)))}.bar{position:absolute;top:11px;height:19px;border-radius:3px;background:#6c987d;min-width:3px}.bar.critical{background:#d8903f}.bar-progress{height:100%;background:#286147;border-radius:3px 0 0 3px;opacity:.8}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;margin:11px 0}.swatch{display:inline-block;width:12px;height:12px;border-radius:2px;vertical-align:-2px;margin-left:5px}.swatch.normal,.swatch.critical-swatch,.swatch.progress-swatch{background:#6c987d}.swatch.critical-swatch{background:#d8903f}.swatch.progress-swatch{background:#286147}.task-filter{max-width:320px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field{display:grid;gap:5px}.field.full{grid-column:1/-1}.field small{color:var(--muted)}.dialog{border:1px solid var(--line);border-radius:8px;padding:0;max-width:min(720px,calc(100vw - 28px));width:100%;max-height:90vh;overflow:hidden;background:var(--paper);color:inherit;box-shadow:0 18px 70px #1c302033}.dialog::backdrop{background:#12231a77}.dialog-inner{padding:22px;overflow:auto;max-height:90vh}.dialog-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.wizard-steps{display:flex;gap:8px;margin:12px 0 20px}.step{padding:5px 10px;border-radius:20px;background:#eee}.step.active{background:var(--mint);color:var(--green);font-weight:700}.inline-error{color:#a13d24;min-height:22px}.checkrow{display:flex;align-items:center;gap:8px}.checkrow input{width:auto;min-height:0}.auth-card{max-width:460px;margin:8vh auto;padding:26px;background:var(--paper);border:1px solid var(--line);border-radius:8px}.auth-card h1{color:var(--green)}.auth-card form{display:grid;gap:12px}.link{color:var(--green)}.task-sub{font-size:12px;color:var(--muted)}.loading{opacity:.65;pointer-events:none}.modal-footer{display:flex;position:sticky;bottom:0;z-index:2;justify-content:space-between;gap:8px;margin-top:18px;padding:9px 0 4px;background:var(--paper)}.toast{padding:10px 14px;background:#e4f1e7;color:#214b32;margin:12px 0}.hidden{display:none!important}@media(max-width:850px){.shell{grid-template-columns:1fr}.sidebar{padding:10px 14px;border-left:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:center}.side-projects{grid-column:1/-1;display:flex;overflow:auto}.project-pick{min-width:180px}.side-label{display:none}.userbox{margin:0;border:0;padding:0;display:flex;align-items:center;justify-content:flex-end}.workspace{padding:18px 14px 32px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.topline{align-items:flex-start;flex-direction:column}.actions{width:100%}.actions button{flex:1}.metrics-grid{gap:8px}.metric{padding:12px}.metric strong{font-size:21px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.panel{padding:13px}.userbox span{display:none}}@media print{body{background:white}.sidebar,.actions,.tabs,.notice,.no-print,.metric-grid,.userbox{display:none!important}.shell{display:block}.workspace{padding:0}.panel,.metric{border-color:#aaa;break-inside:avoid}.gantt-wrap{overflow:visible}.gantt{min-width:0}.gantt-head,.gantt-row{grid-template-columns:220px 1fr;break-inside:avoid}.track{print-color-adjust:exact;-webkit-print-color-adjust:exact}.gantt-name{position:static}}
.dhtmlx-gantt-host{width:100%;min-width:760px;height:560px;overflow:hidden;border:1px solid var(--line);--dhx-gantt-font-family:Vazirmatn,system-ui,sans-serif;--dhx-gantt-font-size:12px;--dhx-gantt-base-colors-text:#202a24;--dhx-gantt-base-colors-text-light:#68736c;--dhx-gantt-grid-body-background:#fffefa;--dhx-gantt-task-background:#6c987d;--dhx-gantt-task-color:#fff;--dhx-gantt-task-progress-color:#184c3a}
.dhtmlx-gantt-host .gantt_container{direction:ltr;font-family:Vazirmatn,system-ui,sans-serif;color:#202a24;border:0;background:#fffefa}
.dhtmlx-gantt-host .gantt_container *{font-family:Vazirmatn,system-ui,sans-serif!important}
.dhtmlx-gantt-host .gantt_grid_scale,.dhtmlx-gantt-host .gantt_task_scale{background:#e9e9e1;color:#202a24;font-family:Vazirmatn,system-ui,sans-serif}
.dhtmlx-gantt-host .gantt_grid_scale .gantt_grid_head_cell,.dhtmlx-gantt-host .gantt_grid_data .gantt_cell,.dhtmlx-gantt-host .gantt_task_scale .gantt_scale_cell,.dhtmlx-gantt-host .gantt_task_line .gantt_task_content{direction:rtl!important;text-align:right!important;font-family:Vazirmatn,system-ui,sans-serif}.dhtmlx-gantt-host .gantt_grid_data .gantt_cell .gantt_tree_content{direction:rtl!important;text-align:right!important}
.dhtmlx-gantt-host .gantt_task_line.critical-task{background:#d8903f;border-color:#a96520}
.dhtmlx-gantt-host .gantt_task_line.critical-task .gantt_task_progress{background:#8f471e}
.dhtmlx-gantt-host .gantt_task_line .gantt_task_content{font-family:Vazirmatn,system-ui,sans-serif;font-size:11px;color:white;text-shadow:0 1px 1px #17332288}
.dhtmlx-gantt-host .critical-task-row .gantt_cell{font-weight:700;color:#8a4e19}
.dhtmlx-gantt-host .gantt_task_cell.iran-nonworking-cell{background:#f5f0e8}
.dhtmlx-gantt-host .gantt_scale_cell.iran-nonworking-scale{background:#efe4d4}
.dhtmlx-gantt-host .gantt_task_line.filtered-task{display:none}
.gantt-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 8px}.gantt-toolbar .task-sub{margin:0 4px}.gantt-toolbar button[aria-pressed=true]{border-color:#184c3a;background:#e5eee8;color:#184c3a;font-weight:700}
@media(max-width:850px){.dhtmlx-gantt-host{height:500px;min-width:700px}.gantt-toolbar .task-sub{flex-basis:100%}}
@media print{.gantt-toolbar{display:none}.dhtmlx-gantt-host{height:600px;overflow:visible;min-width:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}.dhtmlx-gantt-host .gantt_container{min-width:0}}
.doc-panel .panel-head{align-items:center;gap:16px}.doc-panel .panel-head p{margin:4px 0 0}.doc-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,.7fr) auto;gap:12px;align-items:end;margin:18px 0}.doc-filters .field{min-width:0}.doc-table-wrap{max-height:min(68vh,760px);overflow:auto;border:1px solid var(--line);border-radius:5px}.doc-table{min-width:1120px}.doc-table th,.doc-table td{vertical-align:top}.doc-table th:first-child,.doc-table td:first-child{min-width:220px}.doc-table th:nth-child(4),.doc-table td:nth-child(4){min-width:180px}.doc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:220px}.doc-actions button,.doc-download{white-space:nowrap;font-size:12px;padding:6px 8px}.doc-download{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:5px;background:white;color:var(--green);text-decoration:none}.badge.good{background:#e0f0e3;color:#22613b}.badge.danger{background:#fae5df;color:#963d2b}.task-document-list{display:grid;gap:8px;list-style:none;margin:0;padding:0}.task-document-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.task-document-list a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.task-detail-actions{justify-content:flex-start;flex-wrap:wrap}#document-form select[multiple]{height:170px;min-height:170px}#document-form input[type=file]{padding:8px}.doc-table td{max-width:420px;overflow-wrap:anywhere}.role-guide{margin:12px 0 18px;border-top:1px solid var(--line)}.role-guide h3{font-size:15px;margin:12px 0 4px}.role-guide div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:start;padding:9px 0;border-bottom:1px solid var(--line)}.role-guide p{margin:0;color:var(--muted);font-size:13px}.member-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:270px}.member-controls select{width:auto;min-width:130px;flex:1}.member-controls button{font-size:12px;padding:6px 8px}.chat-provider-note{margin:10px 0;padding:8px 0 12px;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.chat-examples{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.chat-examples button{font-size:12px;padding:7px 10px;background:var(--paper)}.chat-help{margin:12px 0;color:var(--muted)}.chat-help summary{cursor:pointer;color:var(--green);font-weight:600}.chat-help ul{display:grid;gap:4px;padding-inline-start:22px;margin:10px 0}.chat-help code{direction:ltr;unicode-bidi:plaintext;font-family:ui-monospace,monospace}.chat-messages{max-height:min(50vh,540px);overflow:auto;scrollbar-gutter:stable;border-block:1px solid var(--line);padding:8px 0}.chat-message{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.chat-author{color:var(--green);font-size:13px}.chat-message.user .chat-author{color:#80501a}.chat-body{min-width:0;line-height:1.85;overflow-wrap:anywhere}.chat-confirmation{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.chat-confirmation small,.chat-compose-footer small{color:var(--muted)}.chat-compose{display:grid;gap:9px;margin-top:14px}.chat-compose textarea{min-height:80px}.chat-compose-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.chat-pending{padding:8px 0;color:var(--muted)}@media(max-width:850px){.chat-message{grid-template-columns:1fr;gap:4px}.chat-compose-footer{align-items:flex-start;flex-direction:column}}@media(max-width:850px){.doc-filters{grid-template-columns:1fr}.doc-panel .panel-head{align-items:flex-start;flex-direction:column}.doc-table-wrap{max-height:62vh}}.dialog-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.dialog-head-actions button{white-space:nowrap}.auth-tools{display:flex;align-items:center;justify-content:space-between;gap:12px}.guide-picker{margin:0 0 14px}.guide-content{line-height:1.85}.guide-content h3{margin:5px 0 8px;color:var(--green)}.guide-content p{margin:0 0 10px}.guide-content ol{margin:8px 0 14px;padding-inline-start:1.5em}.guide-content li{margin-bottom:7px}.guide-note{margin-top:14px}.guide-hint{margin:14px 0 0}


/* ================= Modern theme refresh ================= */
:root{--green:#1d5c46;--green2:#2f8a66;--mint:#e3f2ea;--line:#e4e7e2;--muted:#66756d;--paper:#ffffff;--bg:#f3f5f2;--shadow:0 1px 2px #10281a0d,0 6px 22px #10281a12;--radius:14px;background:var(--bg)}
body{background:radial-gradient(1200px 500px at 100% -10%,#dcefe4 0,transparent 60%),var(--bg);line-height:1.7}
button{border-radius:10px;padding:9px 15px;transition:transform .12s,box-shadow .15s,background .15s,border-color .15s}
button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10281a14}
button:active:not(:disabled){transform:translateY(0)}
button.primary{background:linear-gradient(135deg,var(--green2),var(--green));border-color:transparent;box-shadow:0 4px 14px #1d5c4640}
button.primary:hover:not(:disabled){background:linear-gradient(135deg,#35996f,#1a5240)}
input,select,textarea{border-radius:10px;border-color:#d9dfd9;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--green2);box-shadow:0 0 0 4px #2f8a6626}
.sidebar{background:linear-gradient(180deg,#173f31,#10291f);color:#e8f2ec;border:0;box-shadow:-4px 0 24px #0000001a}
.sidebar .brand{color:#fff}.sidebar .brandmark{background:linear-gradient(135deg,#5fd39b,#2f8a66);box-shadow:0 4px 14px #5fd39b55;border-radius:11px}
.sidebar .side-label{color:#9fbcae}.sidebar button:not(.primary){background:#ffffff10;border-color:#ffffff1c;color:#e8f2ec}
.sidebar button:not(.primary):hover{background:#ffffff22}
.sidebar .project-pick.active{background:#5fd39b26;border-color:#5fd39b88;box-shadow:inset -3px 0 0 #5fd39b}
.sidebar .project-pick .task-sub,.sidebar .muted{color:#a9c4b6}
.sidebar .userbox{border-color:#ffffff1c}
.sidebar button.primary{background:linear-gradient(135deg,#5fd39b,#2f8a66)}
.topline{border:0;background:var(--paper);padding:18px 22px;border-radius:var(--radius);box-shadow:var(--shadow)}
.topline h1{font-size:26px;background:linear-gradient(90deg,var(--green),var(--green2));-webkit-background-clip:text;background-clip:text;color:transparent}
.metric,.panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--paper)}
.metric{position:relative;overflow:hidden;padding:18px;transition:transform .15s}.metric:hover{transform:translateY(-2px)}
.metric:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--mc,var(--green2))}
.metric span{color:var(--muted);font-size:13px}.metric strong{font-size:28px;color:var(--mc,var(--green))}
.m-progress{--mc:#2f8a66}.m-plan{--mc:#2d6cdf}.m-finish{--mc:#c77727}.m-pending{--mc:#b8456b}
.metric-bar{height:7px;border-radius:9px;background:#eef1ee;margin-top:10px;overflow:hidden}.metric-bar i{display:block;height:100%;border-radius:9px;background:var(--mc);animation:growbar 1s ease-out}
@keyframes growbar{from{width:0!important}}
.notice{border-radius:12px;border:1px solid #f0dcb9;border-right:5px solid var(--orange);background:linear-gradient(90deg,#fffaf2,#fff4e4)}
.alert{border-radius:12px}.toast{border-radius:12px}
.tabs{border:0;background:var(--paper);padding:6px;border-radius:14px;box-shadow:var(--shadow);gap:4px}
.tab{border-radius:10px;border:0;padding:9px 14px;color:var(--muted)}
.tab:hover{background:#f1f5f2;transform:none;box-shadow:none}
.tab.active{background:linear-gradient(135deg,var(--green2),var(--green));color:#fff;border:0;box-shadow:0 4px 12px #1d5c4640}
.panel{padding:22px}
th{background:#f5f8f5;color:#4d5e55}tr:hover td{background:#fafcfa}
.badge{padding:3px 10px;font-weight:600}
.auth-card{border-radius:20px;box-shadow:0 20px 60px #10281a22;border:0;padding:34px;position:relative;overflow:hidden}
.auth-card:before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,#5fd39b,#2d6cdf,#c77727)}
.dialog{border:0;border-radius:18px;box-shadow:0 30px 90px #0b1f1555;animation:pop .22s ease-out}
.dialog::backdrop{background:#0d1f1699;backdrop-filter:blur(3px)}
@keyframes pop{from{opacity:0;transform:translateY(12px) scale(.98)}}
.step{border-radius:20px}.step.active{background:linear-gradient(135deg,var(--green2),var(--green));color:#fff}
.dhtmlx-gantt-host{border-radius:12px}
.empty{font-size:15px}

/* ===== interactive guide ===== */
.guide-dialog{max-width:min(980px,calc(100vw - 24px))!important}
.guide-shell{display:grid;grid-template-columns:250px minmax(0,1fr);height:min(640px,88vh)}
.guide-nav{background:linear-gradient(180deg,#173f31,#10291f);color:#e8f2ec;padding:18px 12px;overflow:auto}
.guide-nav-head{padding:0 6px 14px}.guide-nav-head strong{font-size:17px}
.guide-progress{height:8px;background:#ffffff1c;border-radius:9px;margin:10px 0 5px;overflow:hidden}.guide-progress-bar{height:100%;background:linear-gradient(90deg,#5fd39b,#a6f0c6);border-radius:9px;transition:width .5s}
.guide-progress-text{color:#a9c4b6}
.guide-topics{display:grid;gap:4px}
.guide-topic{display:flex;align-items:center;gap:10px;text-align:right;background:transparent;border:0;color:#d7e7de;padding:9px 10px}
.guide-topic:hover{background:#ffffff14!important;box-shadow:none!important}
.guide-topic.active{background:#ffffff22;color:#fff;box-shadow:inset -3px 0 0 var(--c)}
.gt-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#ffffff14;flex-shrink:0}
.gt-title{flex:1}.gt-check{color:#5fd39b;font-weight:800}
.guide-main{position:relative;overflow:auto;padding:26px 28px;background:var(--paper)}
.guide-close{position:absolute;top:14px;left:14px;width:36px;height:36px;padding:0;border-radius:50%;z-index:2}
.guide-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;align-items:center;animation:fadein .35s}
.guide-hero h2{margin:8px 0 6px;color:var(--c);font-size:24px}.guide-hero p{margin:0;color:var(--muted)}
.guide-chip{display:inline-block;background:color-mix(in srgb,var(--c) 14%,white);color:var(--c);padding:3px 12px;border-radius:20px;font-size:12px;font-weight:700}
.guide-art{width:100%;height:auto}
.guide-dots{display:flex;gap:0;list-style:none;padding:0;margin:22px 0 14px;align-items:center}
.guide-dots li{flex:1;display:flex;align-items:center}.guide-dots li:not(:last-child):after{content:"";flex:1;height:3px;background:#e6ebe7;margin:0 4px;border-radius:3px}
.guide-dots button{width:34px;height:34px;padding:0;border-radius:50%;font-weight:700;flex-shrink:0}
.guide-dots button.past{background:color-mix(in srgb,var(--c) 18%,white);border-color:transparent;color:var(--c)}
.guide-dots button.active{background:var(--c);color:#fff;border-color:transparent;box-shadow:0 0 0 5px color-mix(in srgb,var(--c) 22%,transparent)}
.guide-card{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:14px;background:color-mix(in srgb,var(--c) 7%,white);border:1px solid color-mix(in srgb,var(--c) 22%,white);animation:slidein .3s ease-out;min-height:96px}
.guide-card p{margin:0;font-size:16px;line-height:1.9}
.guide-card-num{width:42px;height:42px;border-radius:12px;background:var(--c);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:800;flex-shrink:0}
.guide-tip{display:flex;gap:10px;margin-top:14px;padding:12px 14px;border-radius:12px;background:#fff8e8;border:1px solid #f2dcae;font-size:13px;animation:fadein .4s}
.guide-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:22px;flex-wrap:wrap}.guide-foot-side{display:flex;gap:8px}
.guide-foot .primary{background:var(--c);box-shadow:0 4px 14px color-mix(in srgb,var(--c) 40%,transparent)}
.guide-show{border:2px dashed var(--c);color:var(--c);background:#fff;font-weight:700}
@keyframes slidein{from{opacity:0;transform:translateX(-18px)}}@keyframes fadein{from{opacity:0}}
.guide-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.guide-tile{display:grid;gap:6px;text-align:right;padding:16px;border-radius:14px;background:linear-gradient(160deg,#fff,#f2f8f4)}
.guide-tile b{color:var(--green)}.guide-tile small{color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* spotlight */
.spot-layer{position:fixed;inset:0;z-index:9999}
.spot-hole{position:fixed;border-radius:12px;box-shadow:0 0 0 9999px #0b1f16b3,0 0 0 3px #5fd39b,0 0 24px 6px #5fd39b88;transition:all .35s ease;pointer-events:none}
.spot-tip{position:fixed;width:340px;background:#fff;border-radius:14px;padding:16px;box-shadow:0 20px 50px #0007;transition:top .35s,left .35s;animation:pop .25s}
.spot-count{font-size:12px;color:#2f8a66;font-weight:700}.spot-text{margin:6px 0 12px;font-size:15px}
.spot-actions{display:flex;gap:6px}
.float-toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#173f31;color:#fff;padding:12px 20px;border-radius:30px;box-shadow:0 10px 30px #0005;z-index:10000;animation:pop .25s;transition:opacity .4s}.float-toast.out{opacity:0}
.welcome-pop{position:fixed;bottom:96px;left:22px;z-index:9000;display:flex;gap:14px;max-width:380px;background:#fff;border-radius:18px;padding:18px;box-shadow:0 20px 60px #0b1f1640;border:1px solid var(--line);animation:pop .35s}
.welcome-emoji{font-size:34px;animation:wave 1.4s ease-in-out 2}.welcome-pop p{margin:4px 0 10px;color:var(--muted);font-size:13px}
@keyframes wave{50%{transform:rotate(20deg)}}
@media(max-width:760px){.guide-shell{grid-template-columns:1fr;height:88vh;grid-template-rows:auto 1fr}.guide-nav{max-height:150px}.guide-topics{display:flex;overflow:auto}.guide-topic{white-space:nowrap}.guide-hero{grid-template-columns:1fr}.guide-art{max-height:110px}.guide-main{padding:20px 16px}}
@media(max-width:850px){.sidebar{box-shadow:none}}
@media print{.sidebar{background:none}.welcome-pop,.spot-layer{display:none}}

/* ===== Vana floating assistant ===== */
.vana-root.vana-hidden{display:none}
.vana-fab{position:fixed;bottom:22px;left:22px;z-index:8000;display:flex;align-items:center;gap:9px;padding:12px 18px 12px 14px;border:0;border-radius:40px;color:#fff;font-weight:700;background:linear-gradient(135deg,#6d4ce0,#2f8a66);box-shadow:0 10px 30px #4b3aa855}
.vana-fab:hover{box-shadow:0 14px 36px #4b3aa877!important}
.vana-fab-icon{width:30px;height:30px;border-radius:50%;background:#ffffff2e;display:grid;place-items:center;font-size:17px;animation:vspin 6s linear infinite}
.vana-fab.active .vana-fab-label{display:none}.vana-fab.active{padding:12px}
@keyframes vspin{to{transform:rotate(360deg)}}
.vana-panel{position:fixed;bottom:88px;left:22px;z-index:8001;width:min(440px,calc(100vw - 24px));height:min(680px,calc(100vh - 110px));display:flex;flex-direction:column;background:#fff;border-radius:20px;box-shadow:0 24px 70px #0b1f1640,0 0 0 1px #0b1f1612;overflow:hidden;animation:pop .22s ease-out}
.vana-panel[hidden]{display:none}
.vana-panel.wide{width:min(900px,calc(100vw - 24px));height:calc(100vh - 110px)}
.vana-head{display:flex;align-items:center;gap:11px;padding:13px 14px;color:#fff;background:linear-gradient(135deg,#4f37b8,#1d5c46)}
.vana-title{flex:1;display:grid;line-height:1.4}.vana-title b{font-size:16px}
.vana-status{font-size:11.5px;opacity:.9}.vana-status.on{color:#a6f0c6}.vana-status.off{color:#ffd0b5}
.vana-head-tools{display:flex;gap:4px}.vana-head-tools button{background:#ffffff1f;border:0;color:#fff;width:32px;height:32px;padding:0;border-radius:9px}
.vana-avatar{width:30px;height:30px;flex-shrink:0;border-radius:10px;display:grid;place-items:center;color:#fff;font-weight:800;background:linear-gradient(135deg,#7a5cf0,#2f8a66)}
.vana-avatar.big{width:38px;height:38px;border-radius:12px;background:#ffffff2e}
.vana-scope{font-size:12px;padding:6px 14px;background:#f4f1fd;color:#4f37b8;border-bottom:1px solid #ebe6fb}.vana-scope:empty{display:none}
.vana-feed{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,#fafbfd,#f4f6f3)}
.vana-msg{display:flex;gap:8px;align-items:flex-start;animation:fadein .25s}
.vana-msg.user{justify-content:flex-start;flex-direction:row-reverse}
.vana-msg.user .vana-bubble{background:linear-gradient(135deg,#6d4ce0,#5a3fd0);color:#fff;border-radius:16px 16px 16px 4px;max-width:82%;padding:9px 13px;white-space:pre-wrap}
.vana-msg.bot .vana-bubble{background:#fff;border:1px solid #e8eae6;border-radius:16px 4px 16px 16px;padding:10px 13px;min-width:0;flex:1;box-shadow:0 2px 8px #10281a0a}
.vana-text p{margin:0 0 7px}.vana-text p:last-child{margin:0}.vana-text ul{margin:4px 0 8px;padding-inline-start:20px}.vana-text h4{margin:8px 0 4px;color:#4f37b8}
.vana-text code{background:#f2f0fa;padding:1px 5px;border-radius:5px;direction:ltr;unicode-bidi:plaintext}
.vana-md-table{overflow:auto;margin:6px 0}.vana-md-table table{min-width:0;font-size:12.5px}.vana-md-table th{background:#f4f1fd}
.vana-steps{font-size:12px;color:#5d6a63;background:#f7f6fc;border-radius:10px;padding:6px 10px;margin-bottom:8px}
.vana-steps summary{cursor:pointer;display:flex;align-items:center;gap:6px}.vana-steps ol{margin:6px 0 2px;padding-inline-start:20px}
.vana-spin{width:12px;height:12px;border:2px solid #c9bff3;border-top-color:#5a3fd0;border-radius:50%;display:inline-block;animation:vspin .8s linear infinite}
.vana-typing{display:flex;gap:4px;padding:6px 2px}.vana-typing i{width:7px;height:7px;border-radius:50%;background:#9a87e8;animation:vbounce 1s infinite}.vana-typing i:nth-child(2){animation-delay:.15s}.vana-typing i:nth-child(3){animation-delay:.3s}
@keyframes vbounce{50%{transform:translateY(-5px);opacity:.5}}
.vana-art{margin:4px 0 10px;border:1px solid #e3e0f2;border-radius:12px;overflow:hidden;background:#fff}
.vana-art figcaption{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;font-weight:600;padding:6px 10px;background:#f4f1fd;color:#3d2a99}
.vana-art-tools{display:flex;gap:4px}.vana-art-tools button,.vana-art-tools a{border:0;background:#fff;padding:2px 8px;border-radius:7px;font-size:13px;color:#4f37b8;text-decoration:none}
.vana-art iframe{width:100%;height:420px;border:0;display:block}
.vana-panel.wide .vana-art iframe{height:460px}
.vana-error{color:#a13d24;background:#fff0ed;border-radius:8px;padding:7px 10px;font-size:13px;margin-top:6px}
.vana-hello{text-align:center;margin:auto 0;padding:10px}
.vana-hello-art{width:64px;height:64px;margin:0 auto 6px;border-radius:20px;display:grid;place-items:center;font-size:30px;color:#fff;background:linear-gradient(135deg,#6d4ce0,#2f8a66);box-shadow:0 10px 26px #5a3fd055;animation:vfloat 3s ease-in-out infinite}
@keyframes vfloat{50%{transform:translateY(-6px)}}
.vana-hello h3{margin:8px 0 4px}.vana-hello p{color:var(--muted);font-size:13.5px;margin:0 0 14px}
.vana-suggest{display:grid;gap:7px}.vana-suggest button{text-align:right;font-size:13px;background:#fff;border:1px solid #e3e0f2;padding:9px 12px}
.vana-suggest button:hover{border-color:#9a87e8;background:#faf9ff}
.vana-compose{display:flex;gap:8px;align-items:flex-end;padding:10px;border-top:1px solid #ecece8;background:#fff}
.vana-compose textarea{min-height:44px;max-height:140px;resize:none;border-radius:14px;padding:11px 13px;line-height:1.6}
.vana-send{width:44px;height:44px;padding:0;flex-shrink:0;border:0;border-radius:14px;color:#fff;font-size:17px;background:linear-gradient(135deg,#6d4ce0,#2f8a66);transform:scaleX(-1)}
.vana-send:hover:not(:disabled){transform:scaleX(-1) translateY(-1px)}
.vana-viewer{width:min(1100px,96vw);height:88vh;padding:0;border:0;border-radius:16px;overflow:hidden}
.vana-viewer[open]{display:flex;flex-direction:column}.vana-viewer::backdrop{background:#0d1f1699;backdrop-filter:blur(3px)}
.vana-viewer-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#f4f1fd}.vana-viewer iframe{flex:1;border:0;width:100%}
@media(max-width:600px){.vana-fab-label{display:none}.vana-fab{padding:12px}.vana-panel,.vana-panel.wide{left:8px;bottom:80px;width:calc(100vw - 16px);height:calc(100vh - 100px)}}
@media print{.vana-root{display:none}}

.vana-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.vana-chips button{font-size:12px;padding:4px 10px;border-radius:20px;background:#f4f1fd;border:1px solid #e3e0f2;color:#4f37b8}

/* ===== Cost & resources ===== */
.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.m-budget{--mc:#7b4fd6}.m-cpi{--mc:#0f8b8d}.metric small{display:block;margin-top:4px}
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:14px 0 18px}
.kpi{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:linear-gradient(160deg,#fff,#f7faf8);position:relative;overflow:hidden}
.kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--kc,#2f8a66)}
.kpi span{font-size:12.5px;color:var(--muted);display:block}.kpi strong{font-size:22px;color:var(--kc,var(--green));display:block;margin:4px 0 2px}.kpi small{font-size:12px;color:var(--muted)}
.kpi.good{--kc:#22813f}.kpi.warn{--kc:#c77727}.kpi.danger{--kc:#b8373a}
.cr-head h3{font-size:15px;margin:6px 0 8px}
.wf{display:flex;height:22px;border-radius:11px;overflow:hidden;background:#eef1ee}.wf i{display:block;height:100%}
.wf-bac,.swatch.wf-bac{background:#2f8a66}.wf-cont,.swatch.wf-cont{background:#e2a03f}.wf-res,.swatch.wf-res{background:#7b4fd6}
.wf-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px;font-size:13px}
.s-curve,.histo{width:100%;height:auto;display:block;direction:ltr}
.sc-grid{stroke:#e8ece8;stroke-width:1}.sc-axis{font-size:11px;fill:#7a867f;font-family:Vazirmatn}
.sc-pv,.sc-ev,.sc-ac{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.sc-pv{stroke:#2d6cdf;stroke-dasharray:7 5}.sc-ev{stroke:#22a06b}.sc-ac{stroke:#d9534f}
.sc-today{stroke:#c77727;stroke-width:1.5;stroke-dasharray:3 3}.sc-today-t{font-size:11px;fill:#c77727;font-family:Vazirmatn}
.sc-hit:hover rect{fill:#2d6cdf14}
.swatch.sw-pv{background:#2d6cdf}.swatch.sw-ev{background:#22a06b}.swatch.sw-ac{background:#d9534f}.swatch.sw-budget{background:#9cc9b2}
.legend .swatch{display:inline-block;width:12px;height:12px;border-radius:3px;margin-left:5px;vertical-align:-1px}
.cr-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px}
.cbs-bars{display:grid;gap:12px;margin:8px 0}
.cbs-row{display:grid;grid-template-columns:130px minmax(0,1fr) 170px;align-items:center;gap:10px;font-size:13px}
.cbs-track{position:relative;height:22px;background:#f1f4f1;border-radius:6px;overflow:hidden}
.cbs-b{position:absolute;inset:0 0 0 auto;background:#9cc9b2;border-radius:6px}
.cbs-a{position:absolute;top:6px;bottom:6px;right:0;background:#d9534f;border-radius:4px;opacity:.85}.cbs-a.over{background:#a01d22}
.cbs-val{font-size:12px;color:var(--muted)}
table.compact th,table.compact td{padding:8px 7px;font-size:13px}
.badge.good{background:#e0f0e3;color:#22613b}.badge.danger{background:#fae5df;color:#963d2b}.badge.warn{background:#fff0db;color:#87500e}
.cr-sum{cursor:pointer;font-weight:700;color:var(--green);font-size:16px;padding:4px 0}
.cr-filter{margin:10px 0}
.evm-help{line-height:2;font-size:14px}.evm-help ul{padding-inline-start:20px}
.res-table input{width:130px;min-height:34px;padding:5px 8px;direction:ltr;text-align:left}
.res-table input.need{border-color:#e2a03f;background:#fff8ec}
.over-row td{background:#fff3f1}
.chip{display:inline-block;background:#eef5f1;border:1px solid #d6e7dd;border-radius:14px;padding:1px 9px;font-size:12px;margin:2px 0}
.heat-wrap{overflow:auto;max-height:520px}
table.heat{min-width:0;border-collapse:separate;border-spacing:2px;width:auto}
table.heat th{font-size:11px;font-weight:500;background:none;padding:2px 4px;white-space:nowrap;text-align:right}
table.heat thead th{writing-mode:vertical-rl;transform:rotate(180deg);height:56px;vertical-align:bottom}
table.heat tbody th{position:sticky;right:0;background:#fff;z-index:1}
table.heat td{width:16px;min-width:16px;height:22px;padding:0;border-radius:4px;border:0}
.h0,.swatch.h0{background:#f3f5f3}.h1,.swatch.h1{background:#bfe3cf}.h2,.swatch.h2{background:#5fbf8c}.h3,.swatch.h3{background:#e2a03f}.hover,.swatch.hover{background:#d9372f}
.assign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;max-height:52vh;overflow:auto}
.assign-grid label{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:10px;padding:6px 10px}
.assign-grid label small{display:block;color:var(--muted);font-size:11px}.assign-grid input{width:80px;min-height:34px}
.phase-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;margin-top:6px}
@media(max-width:900px){.cr-two{grid-template-columns:1fr}.cbs-row{grid-template-columns:100px 1fr}.cbs-val{grid-column:1/-1}}
table.compact{min-width:0}
.cbs-row{grid-template-columns:110px minmax(0,1fr);row-gap:2px}.cbs-val{grid-column:2}
.hg-bar{fill:#2f8a66}.hg-bar:hover{fill:#1d5c46}
table.heat{direction:ltr;table-layout:fixed}
table.heat thead th{width:18px;max-width:18px;overflow:visible;padding:0}
table.heat thead th:first-child,table.heat tbody th{width:150px;max-width:150px;writing-mode:horizontal-tb;transform:none;direction:rtl;text-align:right;position:sticky;left:0;background:#fff;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.res-table td:nth-child(3){white-space:nowrap}

.cf-plan,.swatch.cf-plan{fill:#9cc9b2;background:#9cc9b2}.cf-act,.swatch.cf-act{fill:#d9534f;background:#d9534f}
.cf-hit:hover .cf-plan{fill:#6fb391}
.cf-cum{fill:none;stroke:#2d6cdf;stroke-width:3}.cf-cum-dot{fill:#2d6cdf}.swatch.cf-cum{background:#2d6cdf}
.cf-cuma{fill:none;stroke:#a01d22;stroke-width:3;stroke-dasharray:6 4}.cf-cuma-dot{fill:#a01d22}.swatch.cf-cuma{background:#a01d22}
.cf-axis-r{fill:#2d6cdf}.cf-year{font-size:10px;fill:#a0aaa4}
.cf-table th,.cf-table td{white-space:nowrap;font-size:12px}.cf-table tbody th{background:#f5f8f5;position:sticky;right:0}
.cf-peak{background:#fff0db;font-weight:700}

.gantt-cost{font-weight:600;color:#3d2a99}.gantt-cost.zero{color:#b8373a}
.bar-cost{font-weight:700;background:#ffffff33;border-radius:6px;padding:0 5px;margin-inline-start:4px}
.gantt-total{background:#f4f1fd;color:#3d2a99}
.task-cost{border:1px solid #e3e0f2;background:linear-gradient(160deg,#fbfaff,#f4f8f5);border-radius:14px;padding:14px;margin-bottom:16px}
.task-cost-head{display:flex;justify-content:space-between;align-items:center}.task-cost-head h3{margin:0;font-size:16px;color:#3d2a99}.task-cost-head strong{font-size:20px;color:#3d2a99}
.task-cost-kpis{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.task-cost-kpis span{background:#fff;border:1px solid var(--line);border-radius:14px;padding:2px 10px;font-size:12px;color:var(--muted)}.task-cost-kpis b{color:var(--green)}
.task-cost-table input,.task-cost-table select{min-height:34px;padding:5px 8px;font-size:13px}.task-cost-table input.num{direction:ltr;text-align:left;width:150px}
.task-cost-table td{vertical-align:middle}.amt-hint{display:block;margin-top:2px}
.task-cost-table .new-line td{background:#fafcfa}
.task-cost-actions{display:flex;align-items:center;gap:10px;margin-top:10px}.task-res{margin:4px 0;padding-inline-start:20px;font-size:13px}

/* ===== Extensions ===== */
.kpi-link{cursor:pointer;transition:transform .12s,box-shadow .12s}.kpi-link:hover{transform:translateY(-2px);box-shadow:0 6px 16px #10281a1a}
.gauges{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:8px 0 6px}
.gauge{display:grid;justify-items:center;gap:4px;font-size:13px;color:var(--muted)}.gauge svg{width:110px;height:110px;transform:rotate(-90deg)}
.gauge text{transform:rotate(90deg);transform-origin:50px 50px;font-size:17px;font-weight:800;fill:#1e2a24;font-family:Vazirmatn}
.g-bg{fill:none;stroke:#edf1ee;stroke-width:10}.g-fg{fill:none;stroke-width:10;stroke-linecap:round;transition:stroke-dasharray 1s}
.alert-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.alert-list li{display:flex;gap:10px;align-items:center;padding:11px 14px;border-radius:12px;background:#f5f8ff;border:1px solid #dfe7fb;cursor:pointer}
.alert-list li em{margin-inline-start:auto;font-style:normal;color:var(--muted);font-size:12px;white-space:nowrap}
.alert-list li.al-danger{background:#fff2f0;border-color:#f3c9c2}.alert-list li.al-warn{background:#fff8ec;border-color:#f2dcae}
.alert-list li:hover{filter:brightness(.98)}
.cp-in,.swatch.cp-in{fill:#22a06b;background:#22a06b}.cp-out,.swatch.cp-out{fill:#e07a5f;background:#e07a5f}
.cp-cum{fill:none;stroke:#2d6cdf;stroke-width:3}.cp-neg{fill:#d9372f}.cp-pos{fill:#2d6cdf}.cp-zero{stroke:#2d6cdf55;stroke-dasharray:4 4}
td.neg{color:#b8373a;font-weight:700}
.esc-grid,.wf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:6px}
.esc-grid label,.wf-grid label{display:grid;gap:4px;font-size:12.5px;color:var(--muted)}
.wide-dialog{max-width:min(960px,calc(100vw - 20px))!important}
details.bill,details.insp{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:10px 0;background:#fff}
details.bill summary,details.insp summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.bill-net{margin-inline-start:auto;font-weight:700;color:var(--green)}
.bill-steps{display:flex;list-style:none;padding:0;margin:12px 0;counter-reset:s}
.bill-steps li{flex:1;text-align:center;font-size:12px;color:var(--muted);position:relative;padding-top:26px}
.bill-steps li:before{counter-increment:s;content:counter(s,persian);position:absolute;top:0;left:50%;transform:translateX(-50%);width:22px;height:22px;border-radius:50%;background:#e8ece9;display:grid;place-items:center;font-size:11px}
.bill-steps li.on{color:var(--green);font-weight:700}.bill-steps li.on:before{background:var(--green2);color:#fff}
.bill-lines input{width:80px;min-height:32px;padding:4px 6px}
.bill-sum{margin:8px 0}.bill-sum th{background:#f5f8f5;font-weight:500}
.bill-actions{margin-top:10px}
.bill-pick{max-height:46vh;overflow:auto;display:grid;gap:4px;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:6px}
.bill-pick label{display:grid;grid-template-columns:auto 1fr 90px;align-items:center;gap:8px;padding:4px 6px;border-radius:8px}.bill-pick label:hover{background:#f6f9f7}
.bill-pick input[type=checkbox]{width:auto;min-height:0}.bill-pick small{display:block;color:var(--muted);font-size:11px}.bill-pick input[type=number]{min-height:32px;padding:4px 6px}
.daily-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.daily-card{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:linear-gradient(160deg,#fff,#f7faf8);display:grid;gap:6px;font-size:13.5px}
.daily-card header{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.daily-card header button{margin-inline-start:auto;padding:3px 8px}
.daily-issue{background:#fff4e5;border-radius:8px;padding:4px 8px}
.daily-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px}.daily-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.insp-items{list-style:none;padding:0;margin:8px 0}.insp-items li{padding:4px 0;border-bottom:1px dashed var(--line)}.insp-items .r-fail{color:#b8373a}.insp-items .r-pass{color:#22613b}
.insp-edit{display:grid;gap:6px;margin:6px 0}.insp-row{display:grid;grid-template-columns:minmax(0,1.6fr) auto minmax(0,1fr);gap:6px;align-items:center}
.insp-row input{min-height:34px;padding:5px 8px}.seg{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.seg label{display:flex;align-items:center;gap:3px;padding:4px 8px;font-size:12px;cursor:pointer}.seg input{width:auto;min-height:0}
.seg label:has(input[value=pass]:checked){background:#e0f0e3}.seg label:has(input[value=fail]:checked){background:#fae5df}.seg label:has(input[value=na]:checked){background:#eef1ee}
.proc-table input.mini{width:54px;min-height:30px;padding:3px 5px}.proc-table input.sup{width:120px;min-height:30px;padding:3px 6px}.proc-table select{min-height:30px;padding:3px 6px;width:auto}
.soon-row td{background:#fffaf0}.good-t{color:#22813f!important}
#bell-host{position:fixed;top:14px;left:18px;z-index:7000}
.bell{width:44px;height:44px;border-radius:50%;padding:0;font-size:19px;position:relative;background:#fff;box-shadow:0 4px 16px #10281a22}
.bell-n{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:10px;background:#d9372f;color:#fff;font-size:11px;display:grid;place-items:center;padding:0 5px}
.bell-panel{position:absolute;top:52px;left:0;width:min(380px,calc(100vw - 30px));max-height:70vh;display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0b1f1640;border:1px solid var(--line);overflow:hidden;animation:pop .18s}
.bell-panel[hidden]{display:none}.bell-head,.bell-foot{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}.bell-foot{border:0;border-top:1px solid var(--line)}
.bell-head button,.bell-foot button{font-size:12px;padding:4px 10px}
.bell-list{overflow:auto;flex:1}.bell-item{display:grid;gap:2px;width:100%;text-align:right;border:0;border-bottom:1px solid #f0f2f0;border-radius:0;padding:10px 12px;background:#fff}
.bell-item.unread{background:#f4f1fd;border-right:3px solid #6d4ce0}.bell-item small{color:var(--muted);font-size:11px}
.bell-item:hover{background:#f6f9f7!important;transform:none!important;box-shadow:none!important}
@media(max-width:850px){#bell-host{top:auto;bottom:86px;left:auto;right:16px}.bell-panel{top:auto;bottom:52px;left:auto;right:0}}
@media(max-width:600px){.insp-row{grid-template-columns:1fr}.daily-list{grid-template-columns:1fr}.bill-pick label{grid-template-columns:auto 1fr 70px}.tabs{position:sticky;top:0;z-index:20}}
@media print{#bell-host{display:none}}

.workspace .topline{padding-inline-end:78px}@media(max-width:850px){.workspace .topline{padding-inline-end:22px}}
