:root{--red:#d81324;--red-dark:#a80e1c;--red-light:#fdeced;--uv-primary:var(--dt-accent,#d81324);--uv-primary-dark:var(--dt-accent-hover,#c0111f);--uv-primary-light:var(--dt-accent-tint,#fbe7e9);--uv-accent:var(--dt-accent,#d81324);--uv-glow:var(--dt-border,#e7e5e1);--uv-deep:var(--dt-accent-press,#a50e1b);--bg-canvas:#FAFBFE;--bg-surface:#FFFFFF;--ink:#1d1d1f;--black:#1d1d1f;--black-deep:#161618;--gray-50:#F8FAFC;--gray-100:#fafafa;--gray-200:#eeeef0;--gray-300:#e5e5e7;--gray-400:#94A3B8;--gray-500:#98989d;--gray-600:#475569;--gray-700:#6e6e73;--gray-800:#1E293B;--gray-900:#2b2f36;--white:#ffffff;--flow-done:#3d6b5a;--flow-done-soft:#e8f0ec;--flow-active:#1d1d1f;--flow-pay:#9a6b2f;--flow-pay-soft:#f6efe4;--flow-complete:#2a5f4f;--radius:14px;--shadow-float:0 4px 24px rgba(216,19,36,0.08),0 2px 8px rgba(0,0,0,0.04);--shadow-lift:0 8px 32px rgba(216,19,36,0.12),0 4px 12px rgba(0,0,0,0.06);--shadow-heavy:0 20px 60px rgba(216,19,36,0.15),0 8px 24px rgba(0,0,0,0.08);--glow-uv:0 0 0 4px rgba(216,19,36,0.15);--shadow:0 1px 2px rgba(20,20,20,.04);--shadow-md:0 1px 3px rgba(20,20,20,.05),0 8px 24px rgba(20,20,20,.05);--font:'Barlow',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-display:'Barlow Condensed',var(--font);--font-mono:'JetBrains Mono',"Courier New",monospace}body,html{margin:0;padding:0;height:100%;width:100%;overflow-x:hidden;touch-action:manipulation}body{overscroll-behavior-y:none}body>:not(#printMount){font-family:var(--dt-font)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:var(--dt-text-sm);color:var(--dt-text)}#appRoot{display:flex;min-height:100vh;min-height:100dvh}#sidebar{width:var(--dt-sidebar-w);flex-shrink:0;background:var(--dt-graphite-900);color:var(--dt-paper-200);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:var(--dt-z-nav);overflow:hidden;transition:transform var(--dt-dur-slow) var(--dt-ease-out)}#mainWrap{margin-left:var(--dt-sidebar-w);flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh}body.sidebar-rail #sidebar{width:64px}body.sidebar-rail #sidebar .brand{justify-content:center;padding:20px 0 16px}body.sidebar-rail #sidebar .brand .name,body.sidebar-rail #sidebar .brand .sub{display:none}body.sidebar-rail #sidebar .userbox{display:none}body.sidebar-rail #navList{padding:8px}body.sidebar-rail #navList a{justify-content:center;padding:10px}body.sidebar-rail #navList a .navLabel{display:none}body.sidebar-rail #navList a .navBadge{position:absolute;top:2px;right:2px;transform:scale(.85)}body.sidebar-rail #mainWrap{margin-left:64px}@media (max-width:900px){body.sidebar-rail #sidebar{width:var(--dt-sidebar-w)}body.sidebar-rail #mainWrap{margin-left:0}}#sidebar .brand{position:relative;padding:20px 20px 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgb(255 255 255 / .06)}#sidebar .brand .logo{width:40px;height:40px;border-radius:var(--dt-radius-md);background:var(--dt-accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;font-family:var(--dt-font-display);color:var(--dt-on-accent);overflow:hidden;box-shadow:var(--dt-bevel-on-color)}#sidebar .brand .logo.has-img{background:var(--dt-paper-0);padding:3px;box-shadow:none}#sidebar .brand .logo img{width:100%;height:100%;object-fit:contain}#sidebar .brand .name{font-family:var(--dt-font-display);font-weight:600;font-size:var(--dt-text-lg);line-height:1.15;color:var(--dt-paper-0)}#sidebar .brand .sub{font-size:11px;color:var(--dt-graphite-400);letter-spacing:var(--dt-tracking-caps);text-transform:uppercase;margin-top:2px}#navList{list-style:none;margin:0;padding:8px;flex:1;overflow-y:auto;scrollbar-color:rgb(255 255 255 / .16) transparent}#navList::-webkit-scrollbar-thumb{background:rgb(255 255 255 / .16);border-color:var(--dt-graphite-900)}#navList li{margin-bottom:2px}#navList a{display:flex;align-items:center;gap:12px;min-height:40px;padding:8px 12px;border-radius:var(--dt-radius-md);color:var(--dt-paper-300);font-size:var(--dt-text-sm);font-weight:500;position:relative;transition:background-color var(--dt-dur-fast) var(--dt-ease-out),color var(--dt-dur-fast) var(--dt-ease-out)}#navList a:hover{background:rgb(255 255 255 / .06);color:var(--dt-paper-0)}#navList a.active{background:rgb(255 255 255 / .08);color:var(--dt-paper-0);font-weight:600;box-shadow:inset 3px 0 0 var(--dt-accent)}#navList a:focus-visible{outline-offset:-2px}#navList .ic{width:18px;display:inline-flex;justify-content:center;color:inherit;opacity:.9}.navBadge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--dt-radius-pill);background:var(--dt-accent);color:var(--dt-on-accent);font-size:11px;font-weight:700;margin-left:auto;font-variant-numeric:tabular-nums}#sidebar .userbox{padding:16px;border-top:1px solid rgb(255 255 255 / .08)}#sidebar .userbox select{width:100%;background:rgb(255 255 255 / .06);color:var(--dt-paper-0);border:1px solid rgb(255 255 255 / .12);border-radius:var(--dt-radius-md);padding:8px;font-size:12.5px}#sidebar .userbox label{font-size:11px;color:var(--dt-graphite-400);text-transform:uppercase;letter-spacing:var(--dt-tracking-caps);display:block;margin-bottom:6px}.roleLabel{display:block;width:100%;background:rgb(255 255 255 / .06);color:var(--dt-paper-0);border:1px solid rgb(255 255 255 / .1);border-radius:var(--dt-radius-md);padding:8px;font-size:12.5px;font-weight:600}.signOutLink{width:100%;margin-top:8px;background:transparent;border:1px solid rgb(255 255 255 / .14);color:var(--dt-paper-300);font-size:12px;font-weight:500;min-height:32px;padding:6px;border-radius:var(--dt-radius-md);transition:background-color var(--dt-dur-fast) var(--dt-ease-out),color var(--dt-dur-fast) var(--dt-ease-out)}.signOutLink:hover{background:rgb(255 255 255 / .06);color:var(--dt-paper-0)}#topbar{height:var(--dt-topbar-h);flex-shrink:0;background:var(--dt-surface);border-bottom:1px solid var(--dt-border);display:flex;align-items:center;gap:16px;padding:0 32px;position:sticky;top:0;z-index:var(--dt-z-sticky)}#menuToggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-left:-8px;background:transparent;border:none;border-radius:var(--dt-radius-md);color:var(--dt-text);font-size:20px;line-height:1}#menuToggle:hover{background:var(--dt-surface-sunken)}#topbar .pageTitle{font-family:var(--dt-font-display);font-weight:600;font-size:var(--dt-text-xl);line-height:1.2;color:var(--dt-graphite-900);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#topbar .searchWrap{flex:1;max-width:420px;position:relative}#topbar .searchWrap input{width:100%;height:40px;padding:0 12px 0 36px;border:1px solid var(--dt-border-strong);border-radius:var(--dt-radius-md);background:var(--dt-surface-sunken);transition:border-color var(--dt-dur-fast) var(--dt-ease-out),background-color var(--dt-dur-fast) var(--dt-ease-out),box-shadow var(--dt-dur-fast) var(--dt-ease-out)}#topbar .searchWrap input:hover{border-color:var(--dt-graphite-400)}#topbar .searchWrap input:focus{background:var(--dt-surface);border-color:var(--dt-accent)}#topbar .searchWrap .si{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--dt-text-3);display:inline-flex;pointer-events:none}#searchResults{position:absolute;top:44px;left:0;right:0;background:var(--dt-surface);border:1px solid var(--dt-border);border-radius:var(--dt-radius-lg);box-shadow:var(--dt-elev-2);max-height:360px;overflow-y:auto;display:none;z-index:var(--dt-z-dropdown)}#searchResults .sr-item{padding:10px 12px;border-bottom:1px solid var(--dt-border);font-size:13px}#searchResults .sr-item:last-child{border-bottom:none}#searchResults .sr-item:hover{background:var(--dt-paper-50);cursor:pointer}#searchResults .sr-tag{font-size:11px;text-transform:uppercase;color:var(--dt-accent);font-weight:700;letter-spacing:var(--dt-tracking-caps)}#topbar .topActions{display:flex;align-items:center;gap:8px;margin-left:auto}#topbar .roleTag{font-size:var(--dt-text-xs);background:var(--dt-surface-sunken);border:1px solid var(--dt-border);padding:4px 10px;border-radius:var(--dt-radius-pill);color:var(--dt-text-2);font-weight:600;white-space:nowrap}.notifWrap{position:relative}.notifBell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:none;border-radius:var(--dt-radius-md);color:var(--dt-text-2);line-height:1;transition:background-color var(--dt-dur-fast) var(--dt-ease-out),color var(--dt-dur-fast) var(--dt-ease-out)}.notifBell:hover{background:var(--dt-surface-sunken);color:var(--dt-text)}.notifBadge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;line-height:18px;border-radius:var(--dt-radius-pill);background:var(--dt-accent);color:var(--dt-on-accent);font-size:11px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--dt-surface)}.notifPanel{position:absolute;right:0;top:48px;width:360px;max-width:calc(100vw - 24px);max-height:440px;overflow-y:auto;background:var(--dt-surface);border:1px solid var(--dt-border);border-radius:var(--dt-radius-lg);box-shadow:var(--dt-elev-3);z-index:var(--dt-z-dropdown);transform-origin:top right;animation:dt-pop var(--dt-dur-base) var(--dt-ease-out)}.notifPanel [data-notif-item]{transition:background-color var(--dt-dur-fast) var(--dt-ease-out)}.notifPanel [data-notif-item]:hover{background:var(--dt-paper-50)!important}#appContent{padding:32px;flex:1;width:100%;max-width:1504px}#appContent.noPad{padding:0;max-width:none}.pageHead{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px 16px}.pageHead h1{font-family:var(--dt-font-display);font-size:28px;line-height:1.15;margin:0;font-weight:600;color:var(--dt-graphite-900);letter-spacing:-.005em;text-wrap:balance}.pageHead .desc{color:var(--dt-text-2);font-size:13px;margin-top:4px;max-width:72ch}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 16px;border-radius:var(--dt-radius-md);border:1px solid var(--dt-border-strong);background:var(--dt-surface);color:var(--dt-text);font-size:var(--dt-text-sm);font-weight:500;line-height:1.2;white-space:nowrap;text-decoration:none;box-shadow:var(--dt-bevel),var(--dt-elev-1);transition:background-color var(--dt-dur-fast) var(--dt-ease-out),border-color var(--dt-dur-fast) var(--dt-ease-out),color var(--dt-dur-fast) var(--dt-ease-out),box-shadow var(--dt-dur-fast) var(--dt-ease-out),transform var(--dt-dur-fast) var(--dt-ease-out)}.btn:hover{background:var(--dt-paper-50);border-color:var(--dt-graphite-400)}.btn:active{transform:scale(.98)}.btn:disabled,.btn[disabled]{background:var(--dt-surface-sunken);border-color:var(--dt-border);color:var(--dt-text-disabled);box-shadow:none;cursor:not-allowed;transform:none}.btn-sm{min-height:32px;padding:0 12px;font-size:13px}.btn-primary{background:var(--dt-accent);border-color:var(--dt-accent);color:var(--dt-on-accent);font-weight:600;box-shadow:var(--dt-bevel-on-color),var(--dt-elev-1)}.btn-primary:hover{background:var(--dt-accent-hover);border-color:var(--dt-accent-hover)}.btn-primary:active{background:var(--dt-accent-press);border-color:var(--dt-accent-press)}.btn-action{background:var(--dt-graphite-800);border-color:var(--dt-graphite-800);color:var(--dt-paper-0);font-weight:600;box-shadow:var(--dt-bevel-on-color),var(--dt-elev-1)}.btn-action:hover{background:var(--dt-graphite-900);border-color:var(--dt-graphite-900)}.btn-danger{background:var(--dt-surface);border-color:var(--dt-border-strong);color:var(--dt-danger)}.btn-danger:hover{background:var(--dt-danger-tint);border-color:var(--dt-danger)}.btn-ghost{border-color:transparent;background:transparent;box-shadow:none}.btn-ghost:hover{background:var(--dt-surface-sunken);border-color:transparent;color:var(--dt-text)}.btn-ghost:disabled{background:transparent}.btn-money,#projRecordPayBtn,#projEditInvBtn,#recordPayBtn,#rpSave,#iSaveBtn,#newInvoiceBtn,#overviewOpenInv,#stageFlowBtn[data-flow="record_payment"],#stageFlowBtn[data-flow="generate_invoice"],[data-recordpay].btn,#allPaidBtn,[data-markpaid].btn{background:var(--dt-money);border-color:var(--dt-money);color:var(--dt-on-money);font-weight:600;box-shadow:var(--dt-bevel-on-color),var(--dt-elev-1)}.btn-money:hover,#projRecordPayBtn:hover,#projEditInvBtn:hover,#recordPayBtn:hover,#rpSave:hover,#iSaveBtn:hover,#newInvoiceBtn:hover,#overviewOpenInv:hover,#stageFlowBtn[data-flow="record_payment"]:hover,#stageFlowBtn[data-flow="generate_invoice"]:hover,[data-recordpay].btn:hover,#allPaidBtn:hover,[data-markpaid].btn:hover{background:var(--dt-money-700);border-color:var(--dt-money-700);color:var(--dt-on-money)}.btn-money:active,#projRecordPayBtn:active,#projEditInvBtn:active,#recordPayBtn:active,#rpSave:active,#iSaveBtn:active,#newInvoiceBtn:active,#overviewOpenInv:active,#stageFlowBtn[data-flow="record_payment"]:active,#stageFlowBtn[data-flow="generate_invoice"]:active,[data-recordpay].btn:active,#allPaidBtn:active,[data-markpaid].btn:active{background:var(--dt-money-800);border-color:var(--dt-money-800)}.btn-money:focus-visible,#projRecordPayBtn:focus-visible,#projEditInvBtn:focus-visible,#recordPayBtn:focus-visible,#rpSave:focus-visible,#iSaveBtn:focus-visible,#newInvoiceBtn:focus-visible,#overviewOpenInv:focus-visible,#stageFlowBtn[data-flow="record_payment"]:focus-visible,#stageFlowBtn[data-flow="generate_invoice"]:focus-visible,[data-recordpay].btn:focus-visible,#allPaidBtn:focus-visible,[data-markpaid].btn:focus-visible{outline-color:var(--dt-money-500)}#projPrintInvBtn,#cdPrintInvBtn{border-color:var(--dt-money-500);color:var(--dt-money-700);font-weight:600}#projPrintInvBtn:hover,#cdPrintInvBtn:hover{background:var(--dt-money-tint);border-color:var(--dt-money-600)}#projRecordPayBtn,#projEditInvBtn,#projPrintInvBtn,#recordPayBtn,#overviewOpenInv,#stageFlowBtn{visibility:visible;opacity:1}.grid{display:grid;gap:16px}.grid-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.card{background:var(--dt-surface);border:1px solid var(--dt-border);border-radius:var(--dt-radius-lg);padding:20px 24px;box-shadow:var(--dt-elev-1)}a.card,button.card,.card[data-href],.card[onclick],.pfo-project-card{cursor:pointer;transition:box-shadow var(--dt-dur-fast) var(--dt-ease-out),border-color var(--dt-dur-fast) var(--dt-ease-out)}a.card:hover,button.card:hover,.card[data-href]:hover,.card[onclick]:hover,.pfo-project-card:hover{box-shadow:var(--dt-elev-2);border-color:var(--dt-border-strong)}.card.stat{padding:16px 20px}.card.stat .label{font-size:var(--dt-text-xs);color:var(--dt-text-2);text-transform:uppercase;letter-spacing:var(--dt-tracking-caps);font-weight:600}.card.stat .value{font-family:var(--dt-font-display);font-size:var(--dt-text-2xl);line-height:1.15;font-weight:600;margin-top:6px;color:var(--dt-text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.card.stat .value.red{color:var(--dt-danger)}.card.stat .sub{font-size:12px;color:var(--dt-text-3);margin-top:4px}.panel{background:var(--dt-surface);border:1px solid var(--dt-border);border-radius:var(--dt-radius-lg);padding:24px;margin-bottom:16px;box-shadow:var(--dt-elev-1)}.panel h2{font-family:var(--dt-font-display);font-size:var(--dt-text-lg);line-height:1.2;margin:0 0 16px;font-weight:600;color:var(--dt-graphite-900)}.panel .panel{box-shadow:none;background:var(--dt-paper-50)}.filterBar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.filterBar input[type=date],.filterBar input[type=month],.filterBar input[type=text],.filterBar input[type=search],.filterBar select{height:36px;padding:0 10px;border:1px solid var(--dt-border-strong);border-radius:var(--dt-radius-md);background:var(--dt-surface);font-size:13px}.filterBar .flabel{font-size:var(--dt-text-xs);font-weight:600;color:var(--dt-text-2);text-transform:uppercase;letter-spacing:var(--dt-tracking-caps)}.filterBar.chipRow{gap:4px;border-bottom:1px solid var(--dt-border);padding-bottom:0;align-items:flex-end;margin-bottom:24px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.filterBar.chipRow::-webkit-scrollbar{display:none}.chip,button.chip{position:relative;padding:10px 12px;border-radius:0;font-size:var(--dt-text-sm);font-weight:500;border:none;margin-bottom:0;background:transparent;color:var(--dt-text-2);cursor:pointer;display:inline-block;white-space:nowrap;box-shadow:none;-webkit-appearance:none;appearance:none;transition:color var(--dt-dur-fast) var(--dt-ease-out)}.chip::after,button.chip::after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:var(--dt-accent);opacity:0;transform:scaleX(.6);transition:opacity var(--dt-dur-base) var(--dt-ease-out),transform var(--dt-dur-base) var(--dt-ease-out)}.chip:hover,button.chip:hover{color:var(--dt-text);background:transparent}.chip.active,.chip.active:hover,button.chip.active,button.chip.active:hover{background:transparent;color:var(--dt-graphite-900);font-weight:600;box-shadow:none}.chip.active::after,button.chip.active::after{opacity:1;transform:none}.chip:focus-visible,button.chip:focus-visible{border-radius:var(--dt-radius-sm);outline-offset:-2px}.tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--dt-radius-md);font-size:12.5px;font-weight:500;border:1px solid var(--dt-border-strong);background:var(--dt-surface);color:var(--dt-text)}:where(body>:not(#printMount)) table{width:100%;border-collapse:collapse;font-size:13px}:where(body>:not(#printMount)) th{text-align:left;padding:10px 12px;background:var(--dt-surface-sunken);color:var(--dt-text-2);font-size:var(--dt-text-xs);text-transform:uppercase;letter-spacing:var(--dt-tracking-caps);font-weight:600;border-bottom:1px solid var(--dt-border);white-space:nowrap}:where(body>:not(#printMount)) td{padding:10px 12px;height:40px;border-bottom:1px solid var(--dt-border);vertical-align:middle;transition:background-color var(--dt-dur-fast) var(--dt-ease-out)}:where(body>:not(#printMount)) tbody tr:last-child td{border-bottom:none}:where(body>:not(#printMount)) tr:hover td{background:var(--dt-paper-50)}.tableWrap{overflow-x:auto;background:var(--dt-surface);border:1px solid var(--dt-border);border-radius:var(--dt-radius-lg);box-shadow:var(--dt-elev-1)}.tableWrap table{margin:0}.tableWrap thead th{position:sticky;top:0;z-index:1}.tableWrap th:first-child{border-top-left-radius:calc(var(--dt-radius-lg) - 1px)}.tableWrap th:last-child{border-top-right-radius:calc(var(--dt-radius-lg) - 1px)}.panel .tableWrap{box-shadow:none}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;min-height:22px;border-radius:var(--dt-radius-pill);font-size:var(--dt-text-xs);font-weight:600;line-height:1.5;white-space:nowrap;background:var(--dt-surface-sunken);color:var(--dt-text-2)}.badge-gray{background:var(--dt-surface-sunken);color:var(--dt-text-2)}.badge-green{background:var(--dt-success-tint);color:var(--dt-success)}.badge-red{background:var(--dt-danger-tint);color:#b0101e}.badge-orange{background:var(--dt-warning-tint);color:#8a5700}.badge-blue{background:var(--dt-info-tint);color:var(--dt-info)}.empty{text-align:center;padding:48px 24px;color:var(--dt-text-2);font-size:13px}.empty .big{font-size:var(--dt-text-md);font-weight:600;color:var(--dt-text);margin-bottom:4px}.hint{font-size:12px;color:var(--dt-text-3);margin-top:4px;line-height:1.45}.modalOverlay{position:fixed;inset:0;background:var(--dt-scrim);display:flex;align-items:flex-start;justify-content:center;z-index:var(--dt-z-modal);overflow-y:auto;padding:48px 16px;animation:dt-fade var(--dt-dur-slow) var(--dt-ease-out)}.modal{background:var(--dt-surface);border-radius:var(--dt-radius-lg);width:100%;max-width:640px;max-height:calc(100vh - 96px);max-height:calc(100dvh - 96px);display:flex;flex-direction:column;box-shadow:var(--dt-elev-3);animation:dt-rise var(--dt-dur-slow) var(--dt-ease-out)}.modal.wide{max-width:880px}.modal .modalHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;border-bottom:1px solid var(--dt-border)}.modal .modalHead h3{font-family:var(--dt-font-display);margin:0;font-size:var(--dt-text-lg);line-height:1.2;font-weight:600;color:var(--dt-graphite-900)}.modal .modalBody{padding:20px 24px;overflow-y:auto}.modal .modalFoot{padding:16px 24px;border-top:1px solid var(--dt-border);background:var(--dt-paper-50);border-radius:0 0 var(--dt-radius-lg) var(--dt-radius-lg);display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.closeX{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;background:transparent;border:none;border-radius:var(--dt-radius-md);font-size:16px;color:var(--dt-text-3);padding:0;transition:background-color var(--dt-dur-fast) var(--dt-ease-out),color var(--dt-dur-fast) var(--dt-ease-out)}.closeX:hover{background:var(--dt-surface-sunken);color:var(--dt-text)}@keyframes dt-fade{from{opacity:0}to{opacity:1}}@keyframes dt-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes dt-pop{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.formRow{margin-bottom:16px}.formRow label{display:block;font-size:13px;font-weight:500;color:var(--dt-text-2);margin-bottom:6px}.formRow input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]),.formRow select,.formRow textarea{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--dt-border-strong);border-radius:var(--dt-radius-md);background:var(--dt-surface);color:var(--dt-text);transition:border-color var(--dt-dur-fast) var(--dt-ease-out),box-shadow var(--dt-dur-fast) var(--dt-ease-out)}.formRow input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]):hover,.formRow select:hover,.formRow textarea:hover{border-color:var(--dt-graphite-400)}.formRow input:focus,.formRow select:focus,.formRow textarea:focus{border-color:var(--dt-accent)}.formRow input:disabled,.formRow select:disabled,.formRow textarea:disabled,.formRow input[readonly]{background:var(--dt-surface-sunken);color:var(--dt-text-2)}.formRow input[type=number]{font-variant-numeric:tabular-nums}:where(body>:not(#printMount)) :is(input[type=checkbox],input[type=radio]){accent-color:var(--dt-accent);width:16px;height:16px;vertical-align:-3px}.formRow textarea{resize:vertical;min-height:80px;line-height:1.45}.formRow label:has(>input[type=checkbox]),.formRow label:has(>input[type=radio]){display:flex;align-items:center;gap:8px;color:var(--dt-text);cursor:pointer}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.formGrid .full{grid-column:1/-1}input[type=file]{font-size:13px;color:var(--dt-text-2)}input[type=file]::file-selector-button{margin-right:10px;min-height:32px;padding:0 12px;border:1px solid var(--dt-border-strong);border-radius:var(--dt-radius-md);background:var(--dt-surface);color:var(--dt-text);font:500 13px var(--dt-font);cursor:pointer}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--dt-border);margin-bottom:24px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{position:relative;padding:10px 12px;background:transparent;border:none;font-size:var(--dt-text-sm);font-weight:500;color:var(--dt-text-2);border-radius:0;white-space:nowrap;transition:color var(--dt-dur-fast) var(--dt-ease-out)}.tabs button::after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:var(--dt-accent);opacity:0;transform:scaleX(.6);transition:opacity var(--dt-dur-base) var(--dt-ease-out),transform var(--dt-dur-base) var(--dt-ease-out)}.tabs button:hover{color:var(--dt-text)}.tabs button.active{color:var(--dt-graphite-900);font-weight:600;background:transparent}.tabs button.active::after{opacity:1;transform:none}.tabs button:focus-visible{border-radius:var(--dt-radius-sm);outline-offset:-2px}.pfo-seg{display:inline-flex;background:var(--dt-surface-sunken);border:1px solid var(--dt-border);border-radius:var(--dt-radius-md);padding:3px;gap:2px}.pfo-seg button{border:none;background:transparent;min-height:32px;padding:0 14px;border-radius:var(--dt-radius-sm);font-size:13px;font-weight:500;color:var(--dt-text-2);cursor:pointer;transition:background-color var(--dt-dur-base) var(--dt-ease-out),color var(--dt-dur-base) var(--dt-ease-out),box-shadow var(--dt-dur-base) var(--dt-ease-out)}.pfo-seg button.active{background:var(--dt-surface);color:var(--dt-text);font-weight:600;box-shadow:var(--dt-bevel),var(--dt-elev-1)}.kanban{display:grid;grid-template-columns:repeat(6,minmax(200px,1fr));gap:12px;overflow-x:auto;padding-bottom:4px}.kcol{background:var(--dt-surface-sunken);border:1px solid var(--dt-border);border-radius:var(--dt-radius-lg);padding:8px;min-width:200px}.kcol h4{font-size:var(--dt-text-xs);text-transform:uppercase;color:var(--dt-text-2);margin:4px 4px 10px;letter-spacing:var(--dt-tracking-caps);font-weight:600}.kcard{background:var(--dt-surface);border:1px solid var(--dt-border);border-radius:var(--dt-radius-md);padding:12px;margin-bottom:8px;font-size:13px;cursor:pointer;box-shadow:var(--dt-elev-1);transition:box-shadow var(--dt-dur-fast) var(--dt-ease-out),border-color var(--dt-dur-fast) var(--dt-ease-out)}.kcard:hover{box-shadow:var(--dt-elev-2);border-color:var(--dt-border-strong)}.kcardActions{margin-top:8px;padding-top:8px;border-top:1px solid var(--dt-border)}.kcardActions .btn{min-height:28px;padding:0 10px;font-size:12px}.kcard .kt{font-weight:600;margin-bottom:4px;color:var(--dt-text)}.kcard .kd{color:var(--dt-text-3);font-size:12px}.progressBar{background:var(--dt-surface-sunken);border-radius:var(--dt-radius-pill);height:6px;overflow:hidden}.progressBar span{display:block;height:100%;background:var(--dt-graphite-700);border-radius:inherit}.docLineItems table{font-size:13px}.docLineItems input{min-height:32px;padding:4px 8px;font-size:13px;border:1px solid var(--dt-border-strong);border-radius:var(--dt-radius-sm);width:100%;background:var(--dt-surface)}.docLineItems input:focus{border-color:var(--dt-accent)}#toastBox{background:var(--dt-graphite-900)!important;color:var(--dt-paper-0)!important;border-radius:var(--dt-radius-md)!important;box-shadow:var(--dt-elev-3)!important;padding:12px 16px!important;font-size:13.5px!important;font-weight:500;max-width:min(480px,calc(100vw - 32px));z-index:var(--dt-z-toast)!important;bottom:24px!important;transition:opacity var(--dt-dur-base) var(--dt-ease-out)!important;pointer-events:none}@media (min-width:901px){#toastBox{left:auto!important;right:24px!important;transform:none!important}}@media (max-width:900px){#toastBox{bottom:calc(16px + env(safe-area-inset-bottom,0px))!important}}.printArea{display:none}.printArea.previewOpen{display:block;position:fixed;inset:0;background:rgba(15,17,20,.55);z-index:500;overflow-y:auto;padding:16px 10px;-webkit-overflow-scrolling:touch}.printPreviewBar{position:sticky;top:0;width:100%;max-width:210mm;margin:0 auto 10px;background:var(--black);color:#fff;padding:10px 14px;border-radius:8px;display:flex;justify-content:flex-end;gap:8px;box-shadow:var(--shadow-md);z-index:2}.printPreviewBar .btn{border-color:transparent}.printDocInner{background:#fff;width:100%;max-width:210mm;margin:0 auto;border-radius:8px;overflow:visible;box-shadow:0 20px 60px rgba(0,0,0,.3)}.printA4{width:100%;max-width:210mm;min-height:297mm;margin:0 auto;box-sizing:border-box;background:#fff;color:#24262b;font-family:Barlow,-apple-system,sans-serif;display:flex;flex-direction:column}.printA4 table{width:100%;border-collapse:collapse}.printA4 img{max-width:100%;height:auto}@page{size:A4 portrait;margin:10mm}@media print{html,body{width:100%!important;height:auto!important;margin:0!important;padding:0!important;background:#fff!important}body>:not(#printMount){display:none!important}#printMount{display:block!important;position:static!important;inset:auto!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important}#printMount *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}.printPreviewBar{display:none!important}.printDocInner{box-shadow:none!important;width:100%!important;max-width:none!important;margin:0!important;border-radius:0!important;overflow:visible!important;background:#fff!important}.printA4{width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;box-shadow:none!important;overflow:visible!important}.printA4 table{width:100%!important}.printA4 img{max-width:100%!important}}#printMount{color:var(--ink);font-family:var(--font);font-size:14px;line-height:normal}#printMount table{width:100%;border-collapse:collapse;font-size:13px}#printMount th{text-align:left;padding:9px 10px;background:var(--gray-100);color:var(--gray-700);font-size:11px;text-transform:uppercase;letter-spacing:.03em;font-weight:700;border-bottom:1px solid var(--gray-200)}#printMount td{padding:10px;border-bottom:1px solid var(--gray-100);vertical-align:middle;height:auto}#printMount .hint{font-size:11px;color:var(--gray-500);margin-top:3px;line-height:normal}#printMount .badge{display:inline-block;padding:3px 9px;min-height:0;border-radius:20px;font-size:11px;font-weight:700;line-height:normal}#printMount .badge-gray{background:var(--gray-200);color:var(--gray-700)}#printMount .badge-green{background:#e2f6ea;color:#1c8a4a}#printMount .badge-red{background:var(--red-light);color:var(--red)}#printMount .badge-orange{background:#fdecd6;color:#b06a13}#printMount .badge-blue{background:#e2edfb;color:#1a5eb8}#printMount .tableWrap{overflow-x:auto;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:none}#printMount .tableWrap th{position:static}#printMount .panel{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:22px;margin-bottom:16px;box-shadow:var(--shadow)}#printMount .panel h2{font-family:var(--font-display);font-size:17px;margin:0 0 12px;font-weight:700;color:var(--black)}#printMount .card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}#printMount .card.stat .label{font-size:11px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;font-weight:600}#printMount .card.stat .value{font-family:var(--font-display);font-size:26px;font-weight:700;margin-top:6px;line-height:normal;color:var(--black);background:none;-webkit-text-fill-color:currentColor}#printMount .card.stat .value.red{color:var(--red)}#printMount .card.stat .sub{font-size:11.5px;color:var(--gray-500);margin-top:4px}#printMount .grid{gap:14px}#printMount .grid-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}#printMount .empty{text-align:center;padding:50px 20px;color:var(--gray-500);font-size:inherit}#printMount .empty .big{font-size:14px;font-weight:700;color:var(--gray-700);margin-bottom:4px}.printPreviewBar{background:var(--dt-graphite-900);border-radius:var(--dt-radius-lg);box-shadow:var(--dt-elev-2)}.printArea.previewOpen{background:var(--dt-scrim)}@media (max-width:900px){#sidebar{transform:translateX(-100%);width:min(var(--dt-sidebar-w),86vw);box-shadow:none}#sidebar.open{transform:translateX(0);box-shadow:var(--dt-elev-3)}#mainWrap{margin-left:0;width:100%}#menuToggle{display:inline-flex}.formGrid{grid-template-columns:1fr}.kanban{grid-template-columns:repeat(6,80vw)}#topbar .pageTitle{display:none}#topbar{padding:0 16px;height:56px;gap:8px}#topbar .roleTag{display:none}#appContent{padding:16px}#appRoot{width:100%;max-width:100vw}.grid-cards{grid-template-columns:1fr 1fr}.card{padding:16px}.card.stat .value{font-size:var(--dt-text-xl)}.panel{padding:16px}.pageHead h1{font-size:var(--dt-text-xl)}.tableWrap{max-width:100%}.formRow input:not([type=checkbox]):not([type=radio]):not([type=file]),.formRow select,.formRow textarea,#topbar .searchWrap input,.filterBar select,.filterBar input{font-size:16px}.modalOverlay{align-items:flex-end;padding:24px 0 0}.modal,.modal.wide{max-width:none;max-height:calc(100dvh - 24px);border-radius:var(--dt-radius-lg) var(--dt-radius-lg) 0 0;animation-name:dt-sheet}.modal .modalFoot{border-radius:0;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.modal .modalHead,.modal .modalBody,.modal .modalFoot{padding-left:16px;padding-right:16px}}@keyframes dt-sheet{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (pointer:coarse){.btn{min-height:44px}.btn-sm{min-height:40px}.chip,button.chip,.tabs button{min-height:44px}}@media (max-width:560px){.grid-cards{grid-template-columns:1fr}#topbar .searchWrap{max-width:none}.loginCard{padding:32px 20px;margin:16px}}@media (max-width:900px){body:has(#sidebar.open)::after{content:"";position:fixed;inset:0;background:var(--dt-scrim);z-index:calc(var(--dt-z-nav) - 1);pointer-events:none;animation:dt-fade var(--dt-dur-base) var(--dt-ease-out)}}#loginScreen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--dt-bg);background-image:linear-gradient(var(--dt-paper-200) 1px,transparent 1px),linear-gradient(90deg,var(--dt-paper-200) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px}.loginCard{background:var(--dt-surface);border:1px solid var(--dt-border);border-radius:var(--dt-radius-lg);padding:40px;width:100%;max-width:400px;box-shadow:var(--dt-bevel),var(--dt-elev-3)}.loginLogo{width:64px;height:64px;border-radius:var(--dt-radius-lg);background:var(--dt-accent);display:flex;align-items:center;justify-content:center;font-family:var(--dt-font-display);font-weight:700;font-size:18px;color:var(--dt-on-accent);margin:0 0 24px;overflow:hidden;box-shadow:var(--dt-bevel-on-color),var(--dt-elev-1)}.loginLogo.has-img{background:var(--dt-paper-0);border:1px solid var(--dt-border);padding:6px;box-shadow:var(--dt-elev-1)}.loginLogo img{width:100%;height:100%;object-fit:contain}.loginCard h1{font-family:var(--dt-font-display);font-size:28px;line-height:1.15;font-weight:600;margin:0 0 4px;color:var(--dt-graphite-900)}.loginSub{font-size:var(--dt-text-sm);color:var(--dt-text-2);margin-bottom:24px}.loginCard .formRow{margin-bottom:16px}.loginCard .formRow input{min-height:44px;font-size:var(--dt-text-md)}.loginSubmit{width:100%;min-height:44px;margin-top:8px;font-size:var(--dt-text-md)}.loginError{display:flex;gap:8px;align-items:flex-start;background:var(--dt-danger-tint);color:#9b0e1b;font-size:13px;font-weight:500;padding:10px 12px;border-radius:var(--dt-radius-md);margin-bottom:16px;box-shadow:inset 0 0 0 1px rgb(216 19 36 / .2)}.loginError::before{content:"";flex-shrink:0;display:inline-flex;width:18px;height:18px;border-radius:50%;background:var(--dt-danger) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M9 4.5v5.5'/%3E%3Cpath d='M9 13.4v.1'/%3E%3C/svg%3E") center/18px 18px no-repeat}.loginHint{font-size:12px;color:var(--dt-text-3);margin-top:16px;line-height:1.6;text-align:center}.team-pulse{position:relative;overflow:hidden;background:var(--dt-surface);border:1px solid var(--dt-border)}.tp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;position:relative}.tp-kicker{font-size:var(--dt-text-xs);font-weight:600;letter-spacing:var(--dt-tracking-caps);text-transform:uppercase;color:var(--dt-text-2);margin-bottom:2px}.tp-meters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px;position:relative}.tp-meter{border:1px solid var(--dt-border);background:var(--dt-surface);border-radius:var(--dt-radius-md);padding:12px;text-align:left;cursor:pointer;box-shadow:var(--dt-elev-1);transition:border-color var(--dt-dur-fast) var(--dt-ease-out),box-shadow var(--dt-dur-fast) var(--dt-ease-out),transform var(--dt-dur-fast) var(--dt-ease-out)}.tp-meter:hover{border-color:var(--dt-border-strong);box-shadow:var(--dt-elev-2)}.tp-meter:active{transform:scale(.98)}.tp-meter.active{border-color:var(--dt-graphite-600);box-shadow:inset 0 0 0 1px var(--dt-graphite-600)}.tp-meter-n{display:block;font-family:var(--dt-font-display);font-size:28px;font-weight:600;line-height:1;color:var(--dt-text)}.tp-meter-l{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;font-weight:600;color:var(--dt-text-2)}.tp-swatch{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.tp-rail{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.tp-person{flex:0 0 88px;scroll-snap-align:start;text-align:center}.tp-avatar-wrap{position:relative;width:44px;height:44px;margin:0 auto 6px;border-radius:50%;box-shadow:0 0 0 2px var(--dt-surface),0 0 0 3.5px var(--tp-ring,var(--dt-graphite-400))}.tp-avatar-wrap .emp-avatar{width:44px!important;height:44px!important;border:0!important;box-shadow:none!important}.tp-dot{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;border:2px solid var(--dt-surface);z-index:2}.tp-pulse{position:absolute;inset:-4px;border-radius:50%;border:2px solid rgb(31 122 77 / .45);pointer-events:none}.tp-name{font-size:12px;font-weight:600;color:var(--dt-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-status{font-size:11px;font-weight:600;margin-top:1px}.tp-fallback{width:44px;height:44px;border-radius:50%;background:var(--dt-graphite-700);color:var(--dt-paper-0);display:flex;align-items:center;justify-content:center;font-weight:600}@media (max-width:700px){.tp-meters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:800px){.fin-pulse-grid{grid-template-columns:1fr!important}}.chatHub{display:flex;height:calc(100vh - var(--dt-topbar-h));background:var(--dt-surface)}.chatListPane{width:340px;flex-shrink:0;border-right:1px solid var(--dt-border);display:flex;flex-direction:column;background:var(--dt-surface)}.chatListPane .clHead{padding:16px 16px 12px}.chatListPane .clHead h1{font-family:var(--dt-font-display);font-size:var(--dt-text-xl);margin:0 0 12px;font-weight:600;color:var(--dt-graphite-900)}.chatListPane .clSearch{position:relative;margin-bottom:10px}.chatListPane .clSearch input{width:100%;height:40px;padding:0 12px 0 32px;border:1px solid var(--dt-border-strong);border-radius:var(--dt-radius-md);background:var(--dt-surface-sunken);font-size:13px}.chatListPane .clSearch input:focus{background:var(--dt-surface);border-color:var(--dt-accent)}.chatListPane .clSearch .si{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--dt-text-3);font-size:12px}.clFilters{display:flex;gap:4px;margin-bottom:6px}.clFilters .chip{padding:6px 10px;font-size:12.5px}.clSection{padding:12px 16px 4px;font-size:var(--dt-text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--dt-tracking-caps);color:var(--dt-text-3)}.clList{flex:1;overflow-y:auto;padding-bottom:12px}.clItem{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;position:relative;transition:background-color var(--dt-dur-fast) var(--dt-ease-out)}.clItem:hover{background:var(--dt-paper-50)}.clItem.active{background:var(--dt-accent-tint);box-shadow:inset 2px 0 0 var(--dt-accent)}.clAvatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:600;font-family:var(--dt-font-display);font-size:15px;color:#fff}.clBody{min-width:0;flex:1}.clTop{display:flex;justify-content:space-between;align-items:baseline}.clName{font-weight:600;font-size:var(--dt-text-sm);color:var(--dt-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clTime{font-size:11px;color:var(--dt-text-3);flex-shrink:0;margin-left:6px;font-variant-numeric:tabular-nums}.clPreview{font-size:12.5px;color:var(--dt-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.clDot{width:8px;height:8px;border-radius:50%;background:var(--dt-accent);flex-shrink:0;margin-left:6px}.clPin{position:absolute;right:8px;top:8px;font-size:11px;opacity:.35;cursor:pointer}.clPin:hover{opacity:1}.clItem.active .clPin{opacity:.6}.chatThreadPane{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--dt-surface-sunken)}.ctBack{display:none;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;border-radius:var(--dt-radius-md);font-size:22px;line-height:1;color:var(--dt-text);flex-shrink:0;cursor:pointer;padding:0;margin-right:2px}.ctBack:active{background:var(--dt-surface-sunken)}.ctHead{background:var(--dt-surface);border-bottom:1px solid var(--dt-border);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.ctHead .ctName{font-family:var(--dt-font-display);font-weight:600;font-size:var(--dt-text-lg)}.ctHead .ctSub{font-size:12px;color:var(--dt-text-3)}.ctHead .ctIcons{display:flex;gap:4px}.ctHead .ctIcons button{background:transparent;border:none;font-size:15px;width:36px;height:36px;border-radius:var(--dt-radius-md);color:var(--dt-text-2)}.ctHead .ctIcons button:hover{background:var(--dt-surface-sunken)}.chatEmptyState{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--dt-text-3);gap:8px}.chatEmptyState .big{font-family:var(--dt-font-display);font-size:var(--dt-text-lg);color:var(--dt-text-2);font-weight:600}@media (max-width:900px){.chatHub{height:calc(100vh - 56px);height:calc(100dvh - 56px);position:relative;overflow:hidden}.chatListPane{width:100%;max-width:100%;border-right:none}.chatThreadPane{display:none;position:absolute;inset:0;z-index:2;width:100%;height:100%;min-width:0}.chatHub.chat-show-thread .chatListPane{display:none}.chatHub.chat-show-thread .chatThreadPane{display:flex}.ctBack{display:inline-flex}.ctHead{padding:8px 12px}.chatListPane .clHead{padding:12px 12px 8px}#ctSenderName{width:84px!important;flex-shrink:0;font-size:13px}#ctText{min-width:0;font-size:16px}#ctMessages{padding:12px 14px!important}#ctMessages>div>div{max-width:82%!important}}.proj-timeline{display:flex;align-items:flex-start;gap:0;margin:24px 0 8px;overflow-x:auto;padding-bottom:4px}.proj-timeline-step{flex:1;min-width:72px;text-align:center}.proj-timeline-dot{width:28px;height:28px;border-radius:50%;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;background:var(--dt-surface);color:var(--dt-text-3);border:1px solid var(--dt-border-strong);font-variant-numeric:tabular-nums}.proj-timeline-step.is-active .proj-timeline-dot{background:var(--dt-accent);border-color:var(--dt-accent);color:var(--dt-on-accent);box-shadow:0 0 0 4px var(--dt-accent-tint)}.proj-timeline-step.is-done .proj-timeline-dot{background:var(--dt-graphite-800);border-color:var(--dt-graphite-800);color:var(--dt-paper-0)}.proj-timeline-label{font-size:12px;line-height:1.3;color:var(--dt-text-3);font-weight:500}.proj-timeline-step.is-active .proj-timeline-label{color:var(--dt-text);font-weight:700}.proj-timeline-step.is-done .proj-timeline-label{color:var(--dt-text-2);font-weight:600}.proj-timeline-line{flex:.4;height:1px;background:var(--dt-border-strong);margin-top:14px;min-width:12px}.proj-timeline-line.is-done{background:var(--dt-graphite-800);height:2px;margin-top:13px}.proj-stat{padding:16px;background:var(--dt-surface);border:1px solid var(--dt-border);border-radius:var(--dt-radius-lg);box-shadow:var(--dt-elev-1)}.proj-stat-val{font-family:var(--dt-font-display);font-weight:600;font-size:var(--dt-text-xl);line-height:1.2;margin-top:4px;color:var(--dt-text)}.proj-inv-card.is-active{outline:none;box-shadow:inset 0 2px 0 var(--dt-money-500),var(--dt-elev-1)}.proj-file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.proj-file-card{border:1px solid var(--dt-border);border-radius:var(--dt-radius-lg);padding:12px;background:var(--dt-surface);display:flex;gap:12px;align-items:flex-start;box-shadow:var(--dt-elev-1)}.proj-file-preview{display:block;width:64px;height:64px;border-radius:var(--dt-radius-md);overflow:hidden;flex-shrink:0;background:var(--dt-surface-sunken)}.proj-file-preview img{width:100%;height:100%;object-fit:cover}.proj-file-icon{width:64px;height:64px;border-radius:var(--dt-radius-md);background:var(--dt-surface-sunken);color:var(--dt-text-2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0;text-decoration:none;font-family:var(--dt-font-mono)}.proj-file-meta{min-width:0;flex:1}.proj-flow-panel .hint b{font-weight:700;color:var(--dt-text)}.proj-flow-panel+div[style*="repeat(4,1fr)"]{gap:12px!important}@media (max-width:900px){.proj-timeline-step{min-width:72px}.proj-stat-val{font-size:var(--dt-text-lg)}.proj-flow-panel+div[style*="repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr)!important}.proj-inv-card div[style*="repeat(3,1fr)"]{grid-template-columns:1fr!important}}@media (max-width:900px){div:has(>#projRecordPayBtn),div:has(>#projEditInvBtn){position:sticky;top:56px;z-index:var(--dt-z-sticky);background:var(--dt-bg);padding:8px 0;margin:-8px 0 0;box-shadow:0 1px 0 var(--dt-border)}div:has(>#projRecordPayBtn)>.btn,div:has(>#projEditInvBtn)>.btn{flex:1 1 auto}}.org-wrap{display:flex;flex-direction:column;gap:16px;margin-top:8px}.org-tier{background:var(--dt-surface-sunken);border:1px solid var(--dt-border);border-radius:var(--dt-radius-lg);padding:16px}.org-tier-title{font-size:var(--dt-text-xs);font-weight:600;letter-spacing:var(--dt-tracking-caps);text-transform:uppercase;color:var(--dt-text-2);margin-bottom:12px}.org-row{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.org-card{background:var(--dt-surface);border:1px solid var(--dt-border);border-radius:var(--dt-radius-md);padding:12px 14px;min-width:180px;max-width:240px;flex:1;cursor:pointer;box-shadow:var(--dt-elev-1);transition:border-color var(--dt-dur-fast) var(--dt-ease-out),box-shadow var(--dt-dur-fast) var(--dt-ease-out)}.org-card:hover{border-color:var(--dt-border-strong);box-shadow:var(--dt-elev-2)}.org-card.ceo{box-shadow:inset 0 2px 0 var(--dt-accent),var(--dt-elev-1)}.org-card.coo{border-color:var(--dt-border-strong)}.org-card-name{font-weight:600;font-size:14px;margin:6px 0 2px;color:var(--dt-text)}.org-card-meta{font-size:12px;color:var(--dt-text-2);line-height:1.35}.org-card-sal{font-size:12px;font-weight:600;margin-top:6px;font-variant-numeric:tabular-nums}.org-empty{font-size:12px;color:var(--dt-text-3);padding:6px 0}.emp-contract{max-width:820px;margin:0 auto}.emp-contract-head{text-align:center;border-bottom:2px solid #222;padding-bottom:12px;margin-bottom:16px}.emp-contract-head h2{margin:6px 0 4px;font-size:20px;letter-spacing:.04em}.emp-contract-seal{display:inline-block;border:1px solid #222;padding:4px 10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-top:6px}.emp-contract table.contract-table{width:100%;border-collapse:collapse;font-size:13px;margin:10px 0 14px}.emp-contract table.contract-table td{border:1px solid #ccc;padding:8px 10px;vertical-align:top}.emp-contract table.contract-table td.lbl{width:28%;background:#f7f7f7;font-weight:600;color:#444}.emp-sign-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:36px}.emp-sign-box{border-top:1px solid #333;padding-top:8px;min-height:72px;font-size:12px}.emp-files-cabinet{margin-top:24px;padding-top:16px;border-top:1px dashed var(--dt-border-strong)}.emp-profile-top{display:flex;gap:16px;align-items:center;margin-bottom:16px}.emp-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:8px}.emp-files-list{display:flex;flex-direction:column;gap:8px}.emp-file-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--dt-border);border-radius:var(--dt-radius-md);background:var(--dt-surface)}.emp-agree-block{margin-top:16px;padding:16px;border:1px solid var(--dt-border);border-radius:var(--dt-radius-lg);background:var(--dt-paper-50)}.emp-agree-block h3{margin:0 0 8px;font-size:15px;font-weight:600}.emp-agree-block ul{margin:0;padding-left:18px}.emp-agree-block li{margin:4px 0;font-size:13px;line-height:1.45}.emp-row-actions,.req-actions{display:flex;gap:6px;flex-wrap:wrap}.team-mobile-cards{display:none}.rank-rev-chart{display:flex;gap:12px;align-items:flex-end;overflow-x:auto;padding:8px 4px 12px;min-height:160px}.rank-rev-col{flex:0 0 88px;text-align:center}.rank-rev-bars{height:120px;display:flex;align-items:flex-end;justify-content:center;gap:3px}.rank-rev-bar{width:14px;border-radius:var(--dt-radius-sm) var(--dt-radius-sm) 1px 1px;min-height:2px}.rank-rev-bar.tgt{background:var(--dt-paper-300)}.rank-rev-bar.cur{background:var(--dt-graphite-700)}.pay-table{border-collapse:collapse;width:100%}.pay-table th{font-size:var(--dt-text-xs);text-transform:uppercase;letter-spacing:var(--dt-tracking-caps);color:var(--dt-text-2);font-weight:600;background:var(--dt-surface-sunken)}.pay-table td,.pay-table th{padding:10px 12px;border-bottom:1px solid var(--dt-border)}.pay-table td:not(:first-child):not(:last-child),.pay-table th:not(:first-child):not(:last-child){text-align:right;font-variant-numeric:tabular-nums}.pay-muted{color:var(--dt-text-2);font-size:13px}.pay-cut{color:#b0101e;font-size:13px}.pay-final{font-weight:700;font-size:15px;color:var(--dt-graphite-900);background:var(--dt-paper-50)}.pay-hint{margin:8px 0 12px;font-size:12.5px}.pay-filter{gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:8px}.pay-actions{white-space:nowrap}.rowGroupEnd td{border-bottom:2px solid var(--dt-border-strong)}@media (max-width:900px){.emp-profile-grid{grid-template-columns:1fr}.emp-sign-grid{grid-template-columns:1fr}.org-card{max-width:100%;min-width:140px}.pay-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.pay-table{min-width:720px}.pay-final{font-size:16px}#teamTabBody .tableWrap{overflow-x:auto;-webkit-overflow-scrolling:touch}#teamTabBody table{min-width:640px}.emp-row-actions,.req-actions{flex-direction:column;align-items:stretch}.emp-file-row{flex-direction:column;align-items:flex-start}.pageHead{gap:8px}#addEmpBtn,#addReqBtn,.pageHead .btn{width:100%}}@media (max-width:560px){.pay-table{min-width:640px;font-size:12.5px}.emp-agree-block{padding:12px}}@media (max-width:900px){.tableWrap{background:linear-gradient(90deg,var(--dt-surface) 30%,transparent) left/24px 100% no-repeat local,linear-gradient(270deg,var(--dt-surface) 30%,transparent) right/24px 100% no-repeat local,linear-gradient(90deg,rgb(var(--dt-shadow-color) / .08),transparent) left/10px 100% no-repeat scroll,linear-gradient(270deg,rgb(var(--dt-shadow-color) / .08),transparent) right/10px 100% no-repeat scroll,var(--dt-surface)}}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.pfo-project-card{padding:0;overflow:hidden;display:flex;flex-direction:column;position:relative}.pfo-project-card.pfo-menu-open{overflow:visible;z-index:40}.pfo-cover{position:relative;background:var(--dt-surface-sunken)}.pfo-cover img{width:100%;height:160px;object-fit:cover;display:block}.pfo-cover-actions{position:absolute;top:8px;right:8px;display:flex;gap:6px;align-items:flex-start;z-index:5}.pfo-icon-btn{width:32px;height:32px;border-radius:var(--dt-radius-md);border:1px solid var(--dt-border);background:var(--dt-surface);color:var(--dt-text);font-size:14px;line-height:1;cursor:pointer;box-shadow:var(--dt-elev-1);display:inline-flex;align-items:center;justify-content:center;transition:color var(--dt-dur-fast) var(--dt-ease-out),background-color var(--dt-dur-fast) var(--dt-ease-out)}.pfo-icon-btn:hover{background:var(--dt-paper-50);color:var(--dt-accent)}.pfo-body{padding:12px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}.pfo-body h3{margin:0;font-size:15px;font-weight:600;line-height:1.3}.pfo-meta{font-size:12px;color:var(--dt-text-2)}.pfo-meta.muted{color:var(--dt-text-3)}.pfo-desc{margin:0;font-size:13px;color:var(--dt-text-3);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pfo-inline-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pfo-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.pfo-toolbar input[type=search]{flex:1;min-width:200px;height:40px;padding:0 12px;border:1px solid var(--dt-border-strong);border-radius:var(--dt-radius-md);background:var(--dt-surface)}.pfo-price-banner{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;margin:0 0 16px;border:1px solid var(--dt-border);border-radius:var(--dt-radius-lg);background:var(--dt-surface);box-shadow:inset 2px 0 0 var(--dt-accent),var(--dt-elev-1);cursor:pointer;text-align:left;font:inherit;transition:box-shadow var(--dt-dur-fast) var(--dt-ease-out)}.pfo-price-banner:hover{box-shadow:inset 2px 0 0 var(--dt-accent),var(--dt-elev-2)}.pfo-price-cta{color:var(--dt-accent);font-weight:600;font-size:13px;white-space:nowrap}.pfo-more{position:relative;z-index:6}.pfo-more.is-open{z-index:50}.pfo-more-menu{position:absolute;right:0;top:100%;margin-top:0;min-width:148px;background:var(--dt-surface);border:1px solid var(--dt-border);border-radius:var(--dt-radius-lg);box-shadow:var(--dt-elev-2);padding:4px;z-index:1000;display:flex;flex-direction:column;transform-origin:top right;animation:dt-pop var(--dt-dur-base) var(--dt-ease-out)}.pfo-more-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}.pfo-more-menu[hidden]{display:none!important}.pfo-more-menu button{border:none;background:transparent;text-align:left;min-height:32px;padding:0 10px;border-radius:var(--dt-radius-sm);font-size:13px;cursor:pointer}.pfo-more-menu button:hover{background:var(--dt-surface-sunken)}.pfo-more-menu button.danger{color:var(--dt-danger)}.pfo-asset-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.pfo-asset-tabs button{border:1px solid var(--dt-border-strong);background:var(--dt-surface);border-radius:var(--dt-radius-pill);min-height:32px;padding:0 12px;font-size:13px;font-weight:500;color:var(--dt-text-2);cursor:pointer}.pfo-asset-tabs button.active{border-color:var(--dt-graphite-800);color:var(--dt-paper-0);background:var(--dt-graphite-800)}.pfo-asset-tabs button em{font-style:normal;font-weight:700;margin-left:4px;opacity:.75}.pfo-asset-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.pfo-asset-row{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--dt-border);border-radius:var(--dt-radius-lg);margin-bottom:8px;background:var(--dt-surface)}.pfo-asset-thumb{width:64px;height:48px;border-radius:var(--dt-radius-md);overflow:hidden;background:var(--dt-surface-sunken);flex-shrink:0}.pfo-asset-thumb img{width:100%;height:100%;object-fit:cover;display:block}.pfo-asset-info{flex:1;min-width:0}.pfo-asset-title{font-weight:600;font-size:var(--dt-text-sm)}.pfo-asset-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}@media (max-width:640px){.portfolio-grid{grid-template-columns:1fr}.pfo-asset-row{flex-wrap:wrap}.pfo-asset-actions{width:100%;justify-content:flex-start}}.soc-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}.soc-list{display:flex;flex-direction:column;gap:12px}.soc-card{display:grid;grid-template-columns:140px 1fr;gap:16px;background:var(--dt-surface);border:1px solid var(--dt-border);border-radius:var(--dt-radius-lg);padding:12px;align-items:stretch;box-shadow:var(--dt-elev-1)}.soc-card-media{position:relative;background:var(--dt-surface-sunken);border-radius:var(--dt-radius-md);overflow:hidden;min-height:100px;display:flex;align-items:center;justify-content:center}.soc-q{position:absolute;top:8px;right:8px;z-index:2;min-width:32px;height:32px;padding:0 6px;border-radius:var(--dt-radius-pill);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;box-shadow:var(--dt-elev-2)}.soc-q.hi{background:var(--dt-success)}.soc-q.mid{background:var(--dt-warning)}.soc-q.lo{background:var(--dt-danger)}.soc-q.wait{background:var(--dt-graphite-700);font-size:11px}.soc-q-note{font-size:11px;color:var(--dt-text-3);margin-top:5px;line-height:1.35;max-width:52ch}.soc-card-media img,.soc-card-media video{width:100%;height:110px;object-fit:cover;display:block;background:var(--dt-graphite-900)}.soc-card-ph{font-size:11px;color:var(--dt-text-3);padding:20px}.soc-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.soc-card-title{font-weight:600;font-size:14px;line-height:1.3}.soc-card-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}@media (max-width:700px){.soc-card{grid-template-columns:1fr}.soc-card-media img,.soc-card-media video{height:160px}}.mkt-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.mkt-toolbar input[type=search]{flex:1;min-width:180px;max-width:320px;height:40px;padding:0 12px;border:1px solid var(--dt-border-strong);border-radius:var(--dt-radius-md);font:inherit;background:var(--dt-surface)}.mkt-toolbar select{height:40px;padding:0 10px;border:1px solid var(--dt-border-strong);border-radius:var(--dt-radius-md);font:inherit;background:var(--dt-surface)}.mkt-board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px}.mkt-col{background:var(--dt-surface-sunken);border:1px solid var(--dt-border);border-radius:var(--dt-radius-lg);min-height:320px;display:flex;flex-direction:column}.mkt-col-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--dt-border);font-size:var(--dt-text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--dt-tracking-caps);color:var(--dt-text-2)}.mkt-col-head em{font-style:normal;background:var(--dt-surface);border:1px solid var(--dt-border);border-radius:var(--dt-radius-pill);padding:1px 8px;font-size:11px;color:var(--dt-text-2);font-variant-numeric:tabular-nums;letter-spacing:0}.mkt-col-body{padding:8px;display:flex;flex-direction:column;gap:8px;flex:1;overflow-y:auto;max-height:62vh}.mkt-empty{padding:16px 8px;text-align:center;font-size:12px;color:var(--dt-text-3)}.mkt-card{background:var(--dt-surface);border:1px solid var(--dt-border);border-radius:var(--dt-radius-md);padding:10px 12px;cursor:pointer;box-shadow:var(--dt-elev-1);transition:box-shadow var(--dt-dur-fast) var(--dt-ease-out),border-color var(--dt-dur-fast) var(--dt-ease-out)}.mkt-card:hover{border-color:var(--dt-border-strong);box-shadow:var(--dt-elev-2)}.mkt-card-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:4px}.mkt-card-name{font-weight:600;font-size:13px;line-height:1.3}.mkt-pill{font-size:11px;font-weight:700;letter-spacing:var(--dt-tracking-caps);padding:2px 6px;border-radius:var(--dt-radius-sm);text-transform:uppercase}.mkt-pill.hot{background:var(--dt-danger-tint);color:#b0101e}.mkt-pill.warm{background:var(--dt-warning-tint);color:#8a5700}.mkt-card-meta{font-size:11.5px;color:var(--dt-text-2);margin:2px 0}.mkt-card-foot{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font-size:11px;color:var(--dt-text-3)}.mkt-due{font-weight:600}.mkt-due.overdue{color:#b0101e}.mkt-due.today{color:#8a5700}.mkt-due.muted{font-weight:500;color:var(--dt-text-3)}.mkt-side-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.mkt-mini{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--dt-border);font-size:13px}.mkt-mini:last-child{border-bottom:none}.mkt-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}.mkt-actions-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.mkt-activity-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mkt-activity-list{max-height:420px;overflow-y:auto;border:1px solid var(--dt-border);border-radius:var(--dt-radius-lg);padding:8px}.mkt-act{padding:8px;border-bottom:1px solid var(--dt-border)}.mkt-act:last-child{border-bottom:none}.mkt-act-top{display:flex;justify-content:space-between;font-size:11px;font-weight:600;margin-bottom:4px;color:var(--dt-text-2)}.mkt-act-text{font-size:13px;line-height:1.45}@media (max-width:1100px){.mkt-board{grid-template-columns:repeat(2,minmax(200px,1fr))}.mkt-detail-grid,.mkt-side-panels{grid-template-columns:1fr}}@media (max-width:700px){.mkt-board{grid-template-columns:1fr}}@media screen{:is(#appContent,#modalMount) :is([style^="color:#8a919c" i],[style*=";color:#8a919c" i],[style*=" color:#8a919c" i]):not(.printA4 *,.docPage *){color:var(--dt-text-3)!important}:is(#appContent,#modalMount) :is([style^="color:#565c66" i],[style*=";color:#565c66" i],[style*=" color:#565c66" i]):not(.printA4 *,.docPage *){color:var(--dt-text-2)!important}:is(#appContent,#modalMount) :is([style^="color:#3b4048" i],[style*=";color:#3b4048" i]):not(.printA4 *,.docPage *){color:var(--dt-text)!important}:is(#appContent,#modalMount) :is([style^="color:#1c8a4a" i],[style*=";color:#1c8a4a" i],[style*=" color:#1c8a4a" i]):not(.printA4 *,.docPage *){color:var(--dt-success)!important}:is(#appContent,#modalMount) :is([style^="color:#1a5eb8" i],[style*=";color:#1a5eb8" i]):not(.printA4 *,.docPage *){color:var(--dt-info)!important}:is(#appContent,#modalMount) :is([style*="background:#fafafa" i],[style*="background:#f7f8f9" i],[style*="background:#f2f3f5" i],[style*="background:#f8fafc" i]):not(.printA4,.printA4 *,.docPage,.docPage *){background:var(--dt-paper-50)!important}:is(#appContent,#modalMount) :is([style*="border:1px solid #e9ebee" i],[style*="border:1px solid #eee" i],[style*="border:1px solid #e5e7eb" i]):not(.printA4 *,.docPage *){border-color:var(--dt-border)!important}:is(#appContent,#modalMount) [style*="border-radius:12px"]:not(.printA4 *,.docPage *),:is(#appContent,#modalMount) [style*="border-radius:14px"]:not(.printA4 *,.docPage *){border-radius:var(--dt-radius-lg)!important}:is(#appContent,#modalMount) [style*="font-family:var(--font-mono)"]{font-variant-numeric:tabular-nums}}body .arch360-office-badge{border-radius:var(--dt-radius-pill);font-weight:600}body .arch360-office-badge.is-peshawar{background:var(--dt-warning-tint);color:#8a5700}body .arch360-office-badge.is-islamabad{background:var(--dt-info-tint);color:var(--dt-info)}#ptrBar{background:var(--dt-surface)!important;color:var(--dt-text-3)!important;box-shadow:0 1px 0 var(--dt-border)!important;font-family:var(--dt-font)!important;z-index:var(--dt-z-toast)!important}.dt-toast{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);background:var(--dt-graphite-900,#1a1917);color:#fff;padding:10px 18px;border-radius:6px;font-size:13px;font-weight:500;z-index:600;box-shadow:0 12px 32px rgba(30,25,20,.14);opacity:0;pointer-events:none;transition:opacity .18s ease;max-width:min(92vw,420px);text-align:center}.dt-toast.is-on{opacity:1;pointer-events:auto}.dt-toast.is-error{background:var(--dt-danger,#d81324)}#dtMobileTabbar{display:none}@media (max-width:900px){#dtMobileTabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:200;background:#fff;border-top:1px solid #e7e5e1;box-shadow:0 4px 12px rgba(30,25,20,.08);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));gap:2px;justify-content:space-around}#dtMobileTabbar .dt-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;min-height:44px;text-decoration:none;color:#6e6a64;font-size:10px;font-weight:600;border-radius:8px}#dtMobileTabbar .dt-tab-ic{width:22px;height:22px;display:flex;align-items:center;justify-content:center}#dtMobileTabbar .dt-tab-ic svg{width:20px;height:20px}#dtMobileTabbar .dt-tab.is-active{color:#d81324}#dtMobileTabbar .dt-tab-lb{max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body{padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}#toastBox.dt-toast{bottom:calc(72px + env(safe-area-inset-bottom,0px))}}

/* TASK-0349 presentation (also inlined by JS — live serves app.min.css) */
#pfoPresentRoot.pfo-pres-open{position:fixed!important;inset:0!important;z-index:2147483000!important;background:#0b0b0c!important;display:block!important;}
.pfo-pres{position:absolute;inset:0;display:flex;flex-direction:column;color:#f5f5f5;background:radial-gradient(1200px 600px at 10% -10%,rgba(192,17,31,.35),transparent),#0b0b0c;}
.pfo-pres-top{display:flex;align-items:center;gap:12px;padding:12px 16px;background:rgba(0,0,0,.55);border-bottom:1px solid rgba(192,17,31,.45);flex-shrink:0;}
.pfo-pres-logo{font-weight:800;letter-spacing:.08em;color:#fff;background:#c0111f;padding:6px 10px;border-radius:6px;font-size:12px;}
.pfo-pres-step{flex:1;font-size:13px;opacity:.85;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pfo-pres-actions{display:flex;gap:8px;flex-wrap:wrap;}
.pfo-pres-btn{background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:8px;padding:6px 10px;cursor:pointer;font-size:13px;}
.pfo-pres-btn:hover{border-color:#e11;background:rgba(192,17,31,.2);}
.pfo-pres-stage{flex:1;overflow:auto;padding:20px 24px 48px;animation:pfoPresIn .35s ease;}
@keyframes pfoPresIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pfo-pres-titlecard{max-width:920px;margin:6vh auto 0;text-align:center;}
.pfo-pres-brand{display:inline-block;background:#c0111f;color:#fff;font-weight:800;letter-spacing:.12em;padding:8px 14px;border-radius:8px;margin-bottom:18px;}
.pfo-pres-titlecard h1{font-size:clamp(28px,5vw,48px);margin:0 0 10px;color:#fff;}
.pfo-pres-titlecard p{opacity:.8;margin:0 0 8px;}
.pfo-pres-desc{max-width:640px;margin:12px auto!important;line-height:1.5;}
.pfo-pres-cover{width:min(720px,92%);max-height:42vh;object-fit:cover;border-radius:14px;margin-top:22px;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 60px rgba(0,0,0,.45);}
.pfo-pres-section h2{margin:0 0 16px;font-size:22px;color:#fff;border-left:4px solid #c0111f;padding-left:10px;}
.pfo-pres-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}
.pfo-pres-media{background:#141416;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;min-height:180px;}
.pfo-pres-media img,.pfo-pres-media video{width:100%;max-height:70vh;object-fit:contain;background:#000;display:block;}
.pfo-pres-media iframe{width:100%;height:min(70vh,480px);border:0;background:#000;display:block;}
.pfo-pres-pdf iframe{height:min(75vh,640px);}
.pfo-pres-cap{padding:8px 12px;font-size:13px;opacity:.85;}
.pfo-pres-file{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;gap:12px;}
.pfo-pres-dl{display:inline-block;background:#c0111f;color:#fff!important;text-decoration:none;padding:12px 18px;border-radius:10px;font-weight:700;}
.pfo-pres-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.45);color:#fff;font-size:28px;cursor:pointer;z-index:2;}
.pfo-pres-prev{left:10px}.pfo-pres-next{right:10px}
.pfo-pres-nav:disabled{opacity:.25;cursor:default}
.pfo-pres-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px;z-index:2;}
.pfo-pres-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.25)}
.pfo-pres-dots span.on{background:#e11}
@media (max-width:480px){.pfo-pres-top{flex-wrap:wrap}.pfo-pres-stage{padding:14px 12px 56px}}

/* TASK-0349 — Report button fits narrow headers */
@media (max-width:520px){
  #rpHelpBtn, button#rpHelpBtn, .rp-help-btn{
    max-width:42px!important; min-width:36px!important; padding:6px 8px!important;
    overflow:hidden; white-space:nowrap;
  }
  #rpHelpBtn .rp-help-label, button#rpHelpBtn .rp-help-label, .rp-help-btn .rp-help-label{display:none!important;}
  #rpHelpBtn .rp-help-ico, button#rpHelpBtn .rp-help-ico, .rp-help-btn .rp-help-ico{display:inline!important;}
}
/*PFO-FULLVIEW*/
html.pfo-pres-lock,html.pfo-pres-lock body{overflow:hidden!important;height:100%!important;overscroll-behavior:none!important}
#pfoPresRoot.pfo-pres-open,.pfo-pres-open{
  position:fixed!important;inset:0!important;left:0!important;top:0!important;right:0!important;bottom:0!important;
  width:100vw!important;width:100dvw!important;height:100vh!important;height:100dvh!important;
  max-width:100vw!important;max-height:100dvh!important;
  z-index:2147483000!important;margin:0!important;padding:0!important;
  background:#1a1b1e!important;display:block!important;
  box-sizing:border-box!important;
}
.pfo-pres-open .pfo-pres,.pfo-pres{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  display:flex!important;flex-direction:column!important;box-sizing:border-box!important;
  background:var(--dt-paper-50,#faf9f7)!important;color:var(--dt-text,#24262b)!important;
}
.pfo-pres-open .pfo-pres-stage,.pfo-pres-stage{
  flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;
  padding:0!important;width:100%!important;height:100%!important;
}
.pfo-pres-open .pfo-pres-stage img,.pfo-pres-stage img,
.pfo-pres-open .pfo-pres-stage video,.pfo-pres-stage video,
.pfo-pres-open .pfo-pres-stage iframe,.pfo-pres-stage iframe,
.pfo-pres-open .pfo-pres-media-fill,.pfo-pres-media-fill{
  width:100%!important;height:100%!important;max-width:100vw!important;max-height:100%!important;
  object-fit:contain!important;border:0!important;display:block!important;margin:0 auto!important;
  background:transparent!important;
}
.pfo-pres-open .pfo-pres-top,.pfo-pres-top{flex:0 0 auto!important}
.pfo-pres-open .pfo-pres-chrome-hide .pfo-pres-top,
.pfo-pres-open .pfo-pres-chrome-hide .pfo-pres-nav{opacity:0!important;pointer-events:none!important;transition:opacity .25s}

/*PFO-FULLVIEW-V2*/
html.pfo-pres-lock,html.pfo-pres-lock body{overflow:hidden!important;height:100%!important;overscroll-behavior:none!important}
#pfoPresentRoot.pfo-pres-open,.pfo-pres-open{
  position:fixed!important;inset:0!important;width:100vw!important;width:100dvw!important;height:100vh!important;height:100dvh!important;
  z-index:2147483000!important;margin:0!important;padding:0!important;background:#1a1b1e!important;display:block!important;box-sizing:border-box!important;
}
.pfo-pres-open .pfo-pres,.pfo-pres{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:flex!important;flex-direction:column!important;background:#1a1b1e!important;color:#f5f5f5!important}
.pfo-pres-open .pfo-pres-stage,.pfo-pres-stage{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;background:#1a1b1e!important}
.pfo-pres-open .pfo-pres-stage img,.pfo-pres-open .pfo-pres-fill img,.pfo-pres-stage img,.pfo-pres-fill img,.pfo-pres-media-fill{
  width:auto!important;height:auto!important;max-width:100vw!important;max-height:92vh!important;max-height:92dvh!important;object-fit:contain!important;border:0!important;display:block!important;margin:0 auto!important;background:transparent!important}
.pfo-pres-open .pfo-pres-stage iframe,.pfo-pres-stage iframe,.pfo-pdf-canvas{width:100%!important;height:100%!important;max-width:100vw!important;max-height:100%!important;border:0!important;display:block!important;background:#2a2b2e!important}
.pfo-pres-pdfwrap{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#2a2b2e!important;overflow:hidden!important}
.pfo-pres-titlefloat{position:absolute!important;left:12px!important;top:12px!important;z-index:5!important;font-size:12px!important;font-weight:600!important;color:rgba(255,255,255,.75)!important;background:rgba(0,0,0,.45)!important;padding:6px 10px!important;border-radius:8px!important;max-width:60vw!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;pointer-events:none!important}
.pfo-pres-open .pfo-pres-top{flex:0 0 auto!important;background:rgba(0,0,0,.55)!important}
.pfo-pres-cover-card{background:var(--dt-paper-50,#faf9f7)!important;color:var(--dt-text,#24262b)!important;border-radius:16px!important;padding:28px 32px!important;max-width:720px!important;margin:auto!important}

/*PFO-FORCE-DARK*/
#pfoPresentRoot.pfo-pres-open,#pfoPresentRoot.pfo-pres-open .pfo-pres,#pfoPresentRoot.pfo-pres-open .pfo-pres-stage{
  background:#1a1b1e!important;
}
#pfoPresentRoot.pfo-pres-open .pfo-pres-stage > img,
#pfoPresentRoot.pfo-pres-open .pfo-pres-stage img,
#pfoPresentRoot.pfo-pres-open .pfo-pres-fill,
#pfoPresentRoot.pfo-pres-open .pfo-pres-fill img,
#pfoPresentRoot.pfo-pres-open .pfo-pres-media-fill{
  max-height:min(92vh,100%)!important;max-height:min(92dvh,100%)!important;
  max-width:100vw!important;width:auto!important;height:auto!important;
  object-fit:contain!important;margin:0 auto!important;
}
#pfoPresentRoot.pfo-pres-open .pfo-pres-cover{max-height:70vh!important;object-fit:contain!important}
#pfoPresentRoot.pfo-pres-open{z-index:2147483000!important}

/*PFO-P0B-EDGE (TASK-0350) — fullscreen cover + branded chrome + PDF stage*/
#pfoPresentRoot.pfo-pres-open{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;z-index:2147483000!important;background:#0b0b0c!important}
#pfoPresentRoot.pfo-pres-open .pfo-pres{background:#0b0b0c!important;color:#f5f5f5!important}
#pfoPresentRoot.pfo-pres-open .pfo-pres-stage,#pfoPresentRoot.pfo-pres-open .pfo-pres-fill{background:#0b0b0c!important;padding:0!important;width:100%!important;height:100%!important}
#pfoPresentRoot.pfo-pres-open .pfo-pres-fill img,#pfoPresentRoot.pfo-pres-open .pfo-pres-fill video,#pfoPresentRoot.pfo-pres-open img.pfo-pres-media-fill,#pfoPresentRoot.pfo-pres-open img.hero{
  width:100vw!important;height:100vh!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;object-fit:cover!important;margin:0!important}
#pfoPresentRoot.pfo-pres-open .pfo-pres-chrome .pfo-pres-logoimg,
#pfoPresentRoot.pfo-pres-open .pfo-pres-covercard .pfo-pres-logoimg,
#pfoPresentRoot.pfo-pres-open .pfo-pres-cover .pfo-pres-logoimg{
  width:auto!important;height:32px!important;max-height:40px!important;object-fit:contain!important;margin:0 auto 8px!important;position:relative!important;inset:auto!important}
#pfoPresentRoot.pfo-pres-open .pfo-pres-chrome{
  position:absolute!important;left:0!important;right:0!important;top:0!important;z-index:8!important;
  display:flex!important;align-items:center!important;gap:12px!important;min-height:52px!important;
  padding:8px 14px!important;background:rgba(11,11,12,.8)!important;backdrop-filter:blur(10px)!important;
  border-bottom:1px solid rgba(192,17,31,.45)!important;color:#fff!important}
#pfoPresentRoot.pfo-pres-open .pfo-pres-chrome .pfo-pres-logoimg{height:32px!important;width:auto!important}
#pfoPresentRoot.pfo-pres-open .pfo-pres-chrome .pfo-pres-step{color:#fff!important;font-weight:700!important;font-size:15px!important}
#pfoPresentRoot.pfo-pres-open .pfo-pres-chrome .pfo-pres-btn{color:#fff!important;border-color:rgba(255,255,255,.35)!important;background:transparent!important}
#pfoPresentRoot.pfo-pres-open .pfo-pres-sectionhead{position:absolute!important;left:12px!important;top:58px!important;z-index:5!important;background:rgba(0,0,0,.45)!important;color:#fff!important;border:0!important;border-radius:8px!important;padding:6px 10px!important;pointer-events:none!important}
#pfoPresentRoot.pfo-pres-open .pfo-pdf-canvas{max-width:100vw!important;max-height:100dvh!important;object-fit:contain!important;touch-action:pinch-zoom!important}
#pfoPresentRoot.pfo-pres-open .pfo-pres-pdfwrap{background:#0b0b0c!important;touch-action:pinch-zoom!important}

/*PFO-P0B-FIX (TASK-0350)*/
#pfoPresentRoot.pfo-pres-open .pfo-pres-fill img,
#pfoPresentRoot.pfo-pres-open .pfo-pres-fill video{
  width:100vw!important;height:100vh!important;height:100dvh!important;
  max-width:100vw!important;max-height:100dvh!important;
  object-fit:cover!important;margin:0!important;display:block!important}
#pfoPresentRoot.pfo-pres-open .pfo-pres-chrome .pfo-pres-ptitle{color:#fff!important}
#pfoPresentRoot.pfo-pres-open .pfo-pres-pdfwrap{position:relative!important;width:100%!important;height:100%!important;min-height:60vh;display:flex;align-items:center;justify-content:center;overflow:auto}
#pfoPresentRoot.pfo-pres-open .pfo-pres-pdf-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:#0b0b0c;color:#fff;z-index:2;font-size:14px}
#pfoPresentRoot.pfo-pres-open .pfo-pres-pdf-spinner::before{content:"";width:36px;height:36px;border:3px solid rgba(255,255,255,.2);border-top-color:#c0111f;border-radius:50%;animation:pfoSpin .8s linear infinite}
@keyframes pfoSpin{to{transform:rotate(360deg)}}
#pfoPresentRoot.pfo-pres-open .pfo-pres-pdf-err{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;background:#0b0b0c;color:#fff;z-index:2;padding:24px;text-align:center}
#pfoPresentRoot.pfo-pres-open .pfo-pres-pdf-err a{display:inline-block;background:#c0111f;color:#fff;text-decoration:none;padding:12px 18px;border-radius:10px;font-weight:700}
