.task-merge-control{margin:12px 0}.task-merge-related{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.task-merge-related a{color:var(--blue)}.task-merge-notice{color:#16743b}.task-merge-overlay{position:fixed;inset:0;background:#0e172680;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px}.task-merge-dialog{background:var(--surface);color:var(--ink);border-radius:14px;width:min(660px,100%);max-height:90dvh;overflow:auto;box-shadow:var(--shadow)}.task-merge-dialog header,.task-merge-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;flex-wrap:wrap}.task-merge-dialog header{border-bottom:1px solid var(--line)}.task-merge-dialog footer{border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--surface);z-index:1}.task-merge-dialog h2{margin:5px 0;font-size:22px}.task-merge-dialog small{color:var(--muted);font-size:12px}.task-merge-body{padding:20px 22px;display:grid;gap:14px}.task-merge-body p{margin:4px 0;line-height:1.5}.task-merge-search{display:grid;gap:8px}.task-merge-search input{padding:11px;border:1px solid var(--line);border-radius:8px;width:100%}.task-merge-results{display:grid;gap:8px;max-height:350px;overflow:auto}.task-merge-result{display:grid;gap:4px;text-align:left;background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:12px;border-radius:9px}.task-merge-result:hover{border-color:var(--blue)}.task-merge-choice{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:10px}.task-merge-choice.selected{border-color:var(--blue);background:var(--bg)}.task-merge-choice input{margin-top:5px;accent-color:var(--blue)}.task-merge-choice span{flex:1;display:grid;gap:3px;min-width:0}.task-merge-choice b{font-size:11px;white-space:nowrap;color:var(--muted)}.task-merge-preserve{display:flex;gap:10px;background:var(--bg);border-radius:10px;padding:14px}.task-merge-preserve svg{flex-shrink:0;color:#16743b}.task-merge-tree>div{margin-left:10px;border-left:2px solid var(--line);padding:5px 14px}.task-merge-children{margin:0 0 10px 20px;border-left:2px solid var(--line);padding-left:12px}.task-merge-children summary{padding:8px 0;color:var(--muted);cursor:pointer;font-size:12px}@media(max-width:480px){.task-merge-overlay{padding:8px}.task-merge-body,.task-merge-dialog header,.task-merge-dialog footer{padding:14px}.task-merge-choice{flex-wrap:wrap}.task-merge-search input{font-size:16px}.task-merge-children{margin-left:8px;padding-left:6px}}.td-sidebar-actions>.task-merge-control{margin:0;min-width:0}.td-sidebar-actions>.task-merge-control>button{width:100%;justify-content:flex-start}.td-sidebar-actions .task-merge-related{align-items:flex-start}.td-sidebar-actions .task-merge-related>span{min-width:0;overflow-wrap:anywhere}:root{--blue: #1640ff;--blue-deep: #0f2ed6;--ink: #0e1726;--ink-2: #344256;--muted: #6b7a90;--line: #e4e9f1;--bg: #f4f6fb;--surface: #ffffff;--sidebar: #0e1726;--sidebar-2: #18233a;--ok: #16a34a;--warn: #d97706;--danger: #dc2626;--radius: 12px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 4px 16px rgba(16, 24, 40, .04)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:14px}.boot{display:grid;place-items:center;height:100vh;color:var(--muted)}.login{display:grid;place-items:center;height:100vh;background:radial-gradient(1200px 600px at 50% -10%,#1b275a,#0e1726 60%)}.login-card{background:var(--surface);border-radius:18px;padding:36px;width:360px;box-shadow:0 24px 64px #00000059;display:flex;flex-direction:column;gap:12px;text-align:center}.login-card h1{margin:6px 0 0;font-size:26px;letter-spacing:-.5px}.login-card p{margin:0 0 12px;color:var(--muted);font-size:13px}.login-card label{text-align:left;font-size:12px;font-weight:600;color:var(--ink-2);display:flex;flex-direction:column;gap:5px}.login-card input{padding:10px 12px;border:1px solid var(--line);border-radius:9px}.brand-mark{width:34px;height:34px;border-radius:9px;background-color:#fff;background-image:url(/brand/favicon-256.png);background-size:72%;background-position:center;background-repeat:no-repeat;color:transparent;font-size:0;display:grid;place-items:center;flex-shrink:0}.brand-mark.big{width:56px;height:56px;border-radius:14px;margin:0 auto}.shell{display:grid;grid-template-columns:256px 1fr;height:100vh}.sidebar{background:var(--sidebar);color:#cdd6e6;display:flex;flex-direction:column;padding:18px 14px;gap:6px}.brand{display:flex;align-items:center;gap:11px;padding:6px 8px 18px}.brand strong{display:block;color:#fff;font-size:16px;letter-spacing:-.3px}.brand span{font-size:11px;color:#7d8aa3}.sidebar nav{display:flex;flex-direction:column;gap:3px}.nav-section{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#6b7893;padding:15px 12px 5px;-webkit-user-select:none;user-select:none}.nav-section:first-child{padding-top:4px}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border:0;background:transparent;color:#aeb9cf;border-radius:9px;font-size:14px;font-weight:500;text-align:left;transition:.12s}.nav-item:hover{background:var(--sidebar-2);color:#fff}.nav-item.active{background:var(--blue);color:#fff}.ai-cta{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border:1px solid #2b3a5c;background:linear-gradient(135deg,#1b275a,#18233a);color:#dfe6f5;border-radius:10px;font-weight:600}.ai-cta:hover{border-color:var(--blue);color:#fff}.side-user{margin-top:auto;display:flex;align-items:center;gap:10px;padding:10px;background:var(--sidebar-2);border-radius:11px}.side-user strong{display:block;color:#fff;font-size:13px}.side-user span{font-size:11px;color:#8392ad}.avatar{width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:700;flex-shrink:0}.avatar.sm{width:28px;height:28px;font-size:12px}.icon-btn{background:transparent;border:0;color:inherit;padding:6px;border-radius:7px;display:grid;place-items:center}.icon-btn:hover{background:#ffffff1f}.main{overflow-y:auto}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;background:#f4f6fbd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.searchbox{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 13px;width:420px;color:var(--muted)}.searchbox input{border:0;outline:0;width:100%;background:transparent;color:var(--ink)}.search-overlay{position:fixed;inset:0;z-index:90;background:#00000026}.search-results{position:fixed;top:64px;left:50%;transform:translate(-50%);z-index:91;width:min(560px,92vw);max-height:70vh;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px #0000002e}.search-results-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink-2)}.search-results-head span{display:flex;align-items:center;gap:8px}.search-group{padding:6px 0}.search-group-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:8px 16px 4px}.search-row{display:block;width:100%;text-align:left;padding:8px 16px;background:transparent;border:0;cursor:pointer}.search-row:hover{background:var(--bg)}.search-row strong{display:block;font-size:14px}.search-row small{color:var(--ink-2);font-size:12px}.leave-warn-badge{display:inline-block;margin-left:6px;font-size:10px;font-weight:600;color:#92400e;background:#fef3c7;border-radius:6px;padding:1px 5px}.tenant-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);padding:7px 12px;border-radius:20px}.content{padding:24px 28px 60px}.banner-error{margin:16px 28px 0;background:#fee2e2;color:#991b1b;padding:11px 16px;border-radius:10px;font-size:13px}.pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.pagehead-title{display:flex;gap:13px;color:var(--blue)}.pagehead h1{margin:0;font-size:23px;letter-spacing:-.5px;color:var(--ink)}.pagehead p{margin:3px 0 0;color:var(--muted);font-size:13px}.head-actions{display:flex;gap:9px}.back{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;color:var(--muted);font-weight:600;margin-bottom:12px}.back:hover{color:var(--blue)}.crumb{display:inline-block;background:transparent;border:0;color:var(--blue);font-size:12px;margin:0 0 6px}.lead{color:var(--ink-2);margin:4px 0 18px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--blue);color:#fff;border:0;padding:10px 16px;border-radius:9px;font-weight:600}.primary:hover{background:var(--blue-deep)}.primary:disabled{opacity:.5;cursor:not-allowed}.ghost{display:inline-flex;align-items:center;gap:6px;background:var(--surface);color:var(--ink-2);border:1px solid var(--line);padding:9px 14px;border-radius:9px;font-weight:600}.ghost:hover{border-color:var(--blue);color:var(--blue)}.ghost.mini,.primary.mini{padding:5px 10px;font-size:12px;border-radius:7px}.ghost.danger-hover:hover{border-color:var(--danger)!important;color:var(--danger)!important}.cu-btn{display:flex;align-items:center;gap:5px}.cu-btn.cu-ok{background:#dcfce7;color:#15803d;border-color:#86efac}.cu-btn.cu-err{background:#fee2e2;color:#b91c1c;border-color:#fca5a5}.created-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);white-space:nowrap}.created-chip-today{color:#1d4ed8;background:#eff6ff;border-radius:20px;padding:2px 8px;font-weight:600}.clickup-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#7b68ee;background:#f1eefe;border:1px solid #ddd6fe;border-radius:20px;padding:2px 8px;text-decoration:none;white-space:nowrap}.clickup-chip:hover{background:#e6e0fd;border-color:#c4b5fd}.link{background:transparent;border:0;color:var(--blue);font-weight:600;font-size:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:22px}.metric-grid.small{grid-template-columns:repeat(4,1fr)}.metric{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.metric-ico{width:38px;height:38px;border-radius:10px;background:#eef2ff;color:var(--blue);display:grid;place-items:center}.metric strong{display:block;font-size:22px;letter-spacing:-.5px}.metric span{font-size:12px;color:var(--muted)}.metric.warn .metric-ico{background:#fef3c7;color:var(--warn)}.metric.danger .metric-ico{background:#fee2e2;color:var(--danger)}.dash-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden}.panel>header{display:flex;align-items:center;gap:9px;padding:14px 16px;border-bottom:1px solid var(--line);color:var(--blue)}.panel>header h3{margin:0;font-size:14px;color:var(--ink);flex:1}.panel-body{padding:8px}.empty{color:var(--muted);text-align:center;padding:20px;font-size:13px}.empty.mini{padding:8px;text-align:left}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.row-link{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;border:0;padding:11px 12px;border-radius:9px}.row-link:hover{background:var(--bg)}.row-link.static:hover{background:transparent}.row-link>span:first-child{flex:1;display:flex;flex-direction:column}.row-link>.avatar+span{flex:1;min-width:0;display:flex;flex-direction:column}.row-link strong{font-size:13px}.row-link small{color:var(--muted);font-size:12px}.kv{display:flex;justify-content:space-between;gap:16px;padding:9px 12px;border-bottom:1px solid var(--line);font-size:13px}.kv:last-child{border-bottom:0}.kv span{color:var(--muted)}.pill{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;white-space:nowrap}.pill-active,.pill-in-progress,.pill-scheduled,.pill-available,.pill-operational{background:#dbeafe;color:#1e40af}.pill-completed,.pill-done{background:#dcfce7;color:#166534}.pill-pending-verif{background:#fffbeb;color:#92400e}.pill-planning,.pill-not-started{background:#f1f5f9;color:#475569}.pill-on-hold,.pill-due,.pill-needs-attention,.pill-under-development{background:#fef3c7;color:#92400e}.pill-blocked,.pill-overdue,.pill-down,.pill-waiting-procurement,.pill-critical{background:#fee2e2;color:#991b1b}.pill-maintenance,.pill-inactive{background:#f1f5f9;color:#475569}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}.prop-card,.asset-card,.team-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);text-align:left}.prop-card{display:flex;flex-direction:column;gap:10px}.prop-card:hover{border-color:var(--blue);transform:translateY(-1px);transition:.12s}.prop-card header,.asset-card header,.team-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.prop-card strong,.asset-card strong{font-size:15px}.prop-card small,.asset-card small{display:block;color:var(--muted);font-size:12px}.muted{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:5px;margin:0}.prop-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px;border-top:1px solid var(--line);padding-top:12px}.prop-stats div{text-align:center}.prop-stats strong{display:block;font-size:18px}.prop-stats span{font-size:11px;color:var(--muted)}.asset-card{display:flex;flex-direction:column}.asset-card header{margin-bottom:6px}.team-card{display:flex;flex-direction:column;gap:10px}.member{display:flex;align-items:center;gap:10px}.member strong{font-size:13px}.member small{display:block;color:var(--muted);font-size:11px}.member .dot{margin-left:auto;width:9px;height:9px;border-radius:50%}.dot.on{background:var(--ok)}.dot.free{background:var(--blue)}.dot.off{background:#cbd5e1}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px}.tab{background:transparent;border:0;padding:10px 16px;color:var(--muted);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px}.tab.active{color:var(--blue);border-bottom-color:var(--blue)}.list{display:flex;flex-direction:column;gap:7px}.proj-row{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:13px 16px;text-align:left;box-shadow:var(--shadow)}.proj-row:hover{border-color:var(--blue)}.proj-row-main{flex:1;display:flex;flex-direction:column;min-width:0}.proj-row-main strong{font-size:14px}.proj-row-main small{color:var(--muted);font-size:12px}.sub-caret{color:var(--muted);margin-right:4px}.proj-name-line{display:flex;align-items:center;gap:6px;min-width:0}.proj-name-line strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-seq{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--blue-soft, #EEF0FF);color:var(--blue);font-size:10px;font-weight:700;flex-shrink:0}.proj-move-arrows{display:flex;flex-direction:column;flex-shrink:0}.proj-move-arrow{display:flex;align-items:center;justify-content:center;min-width:20px;min-height:13px;border-radius:4px;color:var(--muted);cursor:pointer}.proj-move-arrow:hover{background:var(--bg);color:var(--blue)}.proj-move-arrow.disabled{opacity:.25;cursor:default;pointer-events:none}.proj-row-bar{display:flex;align-items:center;gap:8px;width:160px}.proj-row-bar em{font-style:normal;font-size:12px;font-weight:700;color:var(--ink-2);width:34px;text-align:right}.bar{flex:1;height:6px;background:#eef2f7;border-radius:4px;overflow:hidden}.bar span{display:block;height:100%;background:var(--blue);border-radius:4px}.ai-tag{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;color:#7c3aed;background:#f3e8ff;padding:3px 8px;border-radius:20px}.wbs-head{display:flex;align-items:center;justify-content:space-between;margin:24px 0 12px}.wbs-head h2{margin:0;font-size:17px}.wp-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;box-shadow:var(--shadow);overflow:hidden}.wp-block>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#fafbfe;border-bottom:1px solid var(--line)}.wp-title{display:flex;align-items:center;gap:10px}.wp-prog{display:flex;align-items:center;gap:8px;width:150px}.wp-prog em{font-style:normal;font-size:12px;font-weight:700;width:34px;text-align:right}.disc-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#eef2ff;color:var(--blue);padding:3px 8px;border-radius:6px}.task-list{padding:6px}.task-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;border:0;padding:9px 10px;border-radius:8px}.task-row:hover{background:var(--bg)}.prio{width:8px;height:8px;border-radius:50%;flex-shrink:0}.prio-critical{background:var(--danger)}.prio-high{background:var(--warn)}.prio-medium{background:var(--blue)}.prio-low{background:#cbd5e1}.task-code{font-family:ui-monospace,monospace;font-size:11px;color:var(--muted);width:56px}.task-title{flex:1;font-size:13px}.task-assignee{font-size:12px;color:var(--muted);width:130px;text-align:right}.add-task{display:flex;align-items:center;gap:6px;background:transparent;border:0;color:var(--blue);font-weight:600;font-size:12px;padding:8px 10px}.inline-form{display:flex;gap:8px;padding:8px;align-items:center}.inline-form input,.inline-form select{flex:1;padding:8px 11px;border:1px solid var(--line);border-radius:8px}.maint-row{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:13px 16px;box-shadow:var(--shadow)}.maint-type{font-size:10px;font-weight:700;text-transform:uppercase;padding:4px 9px;border-radius:6px}.mt-preventive{background:#dbeafe;color:#1e40af}.mt-corrective{background:#fef3c7;color:#92400e}.mt-emergency{background:#fee2e2;color:#991b1b}.maint-main{flex:1;display:flex;flex-direction:column}.maint-main strong{font-size:14px}.maint-main small{color:var(--muted);font-size:12px}.maint-due{text-align:right}.maint-due small{display:block;color:var(--muted);font-size:11px}.maint-due strong{font-size:13px}.table{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.trow{display:grid;grid-template-columns:130px 1.4fr .9fr 1.2fr 1fr .9fr .9fr;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);align-items:center;font-size:13px}.trow:last-child{border-bottom:0}.thead{background:#fafbfe;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.mono{font-family:ui-monospace,monospace;font-size:12px;color:var(--ink-2)}.trow.users-row{grid-template-columns:1.2fr 1.6fr 200px 80px}.trow.proc-row{grid-template-columns:minmax(0,2fr) minmax(0,1.4fr) 56px minmax(0,1fr) 96px 220px;align-items:center}.trow.proc-row .boq-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.proc-code{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#64748b;letter-spacing:.02em}.proc-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:500;line-height:1.3}.proc-task{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:900px){.trow.proc-row{grid-template-columns:minmax(0,1fr) 96px}.trow.proc-row>span:nth-child(2),.trow.proc-row>span:nth-child(3),.trow.proc-row>span:nth-child(4){display:none}.trow.proc-row .boq-actions{grid-column:1 / -1;justify-content:flex-start}}.role-select{padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--surface)}.role-select:disabled{opacity:.6}.muted-text{color:var(--muted)}.hint{color:var(--muted);font-size:12px;margin-top:14px}.hint code{background:#eef2ff;color:var(--blue);padding:2px 7px;border-radius:5px;font-size:12px}.overlay{position:fixed;inset:0;background:#0e172680;display:grid;place-items:center;z-index:1000;padding:24px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overflow:hidden}.modal{background:var(--surface);border-radius:16px;width:100%;min-width:0;max-width:720px;max-height:90vh;overflow-x:hidden;overflow-y:auto;box-shadow:0 30px 80px #0006}.modal.sm{max-width:460px}.modal.triage,.modal.task-modal{max-width:860px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;padding:20px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:2}.modal-head>:first-child{min-width:0}.modal-head h2{margin:4px 0 0;font-size:19px;letter-spacing:-.4px}.modal-head small{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:12px}.modal-body{min-width:0;padding:20px 24px}.modal :where(input,select,textarea){max-width:100%}.form-field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--ink-2);flex:1}.form-field input,.form-field select,.form-field textarea{width:100%}.form-row-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-stack{display:flex;flex-direction:column;gap:13px}.form-stack label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--ink-2);min-width:0}.form-stack input,.form-stack select,.form-stack textarea{padding:10px 12px;border:1px solid var(--line);border-radius:9px;width:100%;min-width:0}.form-grid-2,.form-grid-3{display:grid;gap:12px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:430px){.form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-err{background:#fee2e2;color:#991b1b;padding:9px 12px;border-radius:8px;font-size:13px}.task-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.task-assignees{margin-bottom:18px}.assignee-chip-row{display:flex;flex-wrap:wrap;gap:6px}.assignee-chip-row .chip{cursor:pointer;transition:.12s}.assignee-chip-row .chip small{font-weight:400;opacity:.7}.assignee-chip-row .chip:disabled{opacity:.55;cursor:default}.task-controls label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:12px;font-weight:600;color:var(--ink-2)}.task-controls select{width:100%;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px}.time-row{display:flex;align-items:center;gap:10px}.proc-box{display:flex;align-items:center;gap:10px;background:#fafbfe;border:1px dashed var(--line);border-radius:10px;padding:10px 12px;margin-bottom:12px;color:var(--muted)}.proc-box input{flex:1;border:0;background:transparent;outline:0}.proc-note{display:flex;align-items:center;gap:6px;background:#f3e8ff;color:#6b21a8;padding:9px 12px;border-radius:8px;font-size:13px}.modal-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:8px}.modal-cols h4{margin:0 0 10px;font-size:13px}.ev-item{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);align-items:flex-start}.ev-phase{font-size:10px;font-weight:700;padding:3px 8px;border-radius:6px;height:fit-content}.ev-before{background:#f1f5f9;color:#475569}.ev-during{background:#dbeafe;color:#1e40af}.ev-after{background:#dcfce7;color:#166534}.ev-item strong{font-size:13px;display:block}.ev-item small{display:block;color:var(--muted);font-size:11px}.ai-note{color:#7c3aed!important;display:inline-flex!important;align-items:center;gap:4px;margin:2px 0}.note-item{padding:9px 0;border-bottom:1px solid var(--line)}.note-item strong{font-size:12px}.note-item p{margin:3px 0;font-size:13px}.note-item small{color:var(--muted);font-size:11px}.triage-steps{display:flex;gap:8px;padding:14px 24px;border-bottom:1px solid var(--line)}.ts{font-size:12px;font-weight:600;color:var(--muted);padding:4px 10px;border-radius:20px;background:var(--bg)}.ts.active{background:var(--blue);color:#fff}.build-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0}.build-opt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;color:var(--ink-2)}.build-opt:hover{border-color:var(--blue)}.build-opt.sel{border-color:var(--blue);background:#eef2ff;color:var(--blue)}.build-opt strong{font-size:13px}.wizard-nav{display:flex;justify-content:space-between;margin-top:18px}.triage-result h4{display:flex;align-items:center;gap:6px;font-size:13px;margin:18px 0 8px;color:var(--blue)}.tr-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tr-summary div{text-align:center;background:var(--bg);border-radius:10px;padding:14px}.tr-summary strong{display:block;font-size:24px}.tr-summary span{font-size:12px;color:var(--muted)}.tr-phase{background:var(--bg);border-radius:10px;padding:12px 14px;margin-bottom:8px}.tr-phase header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.tr-phase ul{margin:0;padding-left:22px}.tr-phase li{font-size:13px;padding:2px 0}.tr-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:12px}.tr-cols ul{margin:0;padding-left:20px}.tr-cols li{font-size:13px;padding:3px 0;color:var(--ink-2)}.triage-context-preview{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-bottom:14px}.triage-context-preview strong{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;display:block;margin-bottom:4px}.triage-context-preview p{font-size:13px;color:var(--ink-2);line-height:1.5;margin:0}.triage-q-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.triage-q-card label{font-size:13px;font-weight:600;color:var(--ink);display:flex;flex-direction:column;gap:6px}.triage-q-hint{font-size:11px;color:var(--muted);margin:0;line-height:1.4}.triage-review-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px}.triage-review-tabs button{background:none;border:none;border-bottom:2px solid transparent;padding:7px 12px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:5px}.triage-review-tabs button:hover{color:var(--ink)}.triage-review-tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.triage-phase-block{border:1px solid var(--line);border-radius:10px;margin-bottom:8px;overflow:hidden}.triage-phase-head{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg)}.triage-phase-name{flex:1;font-size:13px;font-weight:600;background:none;border:none;outline:none;color:var(--ink)}.triage-task-list{padding:4px 12px 8px}.triage-task-row{display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--ink-2)}.triage-task-row:last-child{border-bottom:none}.triage-task-row span{flex:1;cursor:text}.triage-task-input{flex:1;font-size:12px;padding:2px 6px;border:1px solid var(--blue);border-radius:4px;outline:none}.triage-add-task{padding:5px 0 2px}.triage-add-task input{width:100%;font-size:12px;border:1px dashed var(--line);border-radius:6px;padding:5px 8px;background:var(--surface)}.triage-add-task input:focus{outline:none;border-color:var(--blue)}.triage-add-phase-btn{width:100%;padding:8px;border:1px dashed var(--line);border-radius:10px;background:none;color:var(--muted);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;margin-bottom:10px}.triage-add-phase-btn:hover{border-color:var(--blue);color:var(--blue)}.ms-layout{display:flex;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;min-height:420px;margin-bottom:10px}.ms-nav{width:170px;flex-shrink:0;border-right:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;padding:8px 0}.ms-nav-item{background:none;border:none;border-left:2px solid transparent;padding:7px 12px;font-size:12px;color:var(--ink-2);cursor:pointer;text-align:left;line-height:1.3}.ms-nav-item:hover{background:var(--surface);color:var(--ink)}.ms-nav-item.active{color:var(--blue);border-left-color:var(--blue);background:#eef2ff}.ms-export-btn{margin:8px 8px 4px;padding:7px;font-size:11px;border:1px solid var(--line);border-radius:7px;background:none;color:var(--ink-2);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px}.ms-export-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.ms-export-btn:disabled{opacity:.5;cursor:not-allowed}.ms-content{flex:1;padding:18px 20px;overflow-y:auto}.ms-doc-title{font-size:16px;font-weight:700;margin-bottom:2px}.ms-doc-rev{font-size:11px;color:var(--muted);margin-bottom:16px}.ms-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}.ms-section-title strong{font-size:13px}.ms-prose{font-size:13px;line-height:1.7;color:var(--ink-2);margin-bottom:10px;white-space:pre-wrap}.ms-textarea{width:100%;font-size:13px;line-height:1.65;border:1px solid var(--blue);border-radius:7px;padding:10px;background:var(--surface);color:var(--ink);font-family:inherit;resize:vertical}.ms-mat-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.ms-mat-chip{display:flex;align-items:center;justify-content:space-between;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:5px 8px;font-size:12px;color:var(--ink-2)}.ms-step-block{border-left:3px solid var(--blue);padding:10px 14px;margin-bottom:12px;background:#f5f7ff;border-radius:0 8px 8px 0}.ms-step-num{font-size:10px;font-weight:700;color:var(--blue);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.ms-step-title{flex:1;font-size:13px;font-weight:600;background:none;border:none;border-bottom:1px solid var(--line);outline:none;color:var(--ink);width:100%;margin-bottom:8px;padding-bottom:4px}.ms-step-note{width:100%;margin-top:6px;font-size:11px;font-style:italic;color:var(--muted);border:none;border-top:1px dashed var(--line);background:none;outline:none;padding-top:6px}.ms-check-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--line)}.ms-check-row:last-of-type{border-bottom:none}.ms-check-input{flex:1;font-size:12px;border:none;background:none;outline:none;color:var(--ink-2)}@media(max-width:1100px){.metric-grid,.dash-cols,.tr-cols,.detail-grid,.modal-cols,.build-grid,.task-controls{grid-template-columns:1fr 1fr}}.hamburger{display:none;background:none;border:none;cursor:pointer;color:var(--ink);padding:6px;border-radius:7px;flex-shrink:0}.hamburger:hover{background:var(--line)}.nav-overlay{display:none}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{display:none;position:fixed;top:0;left:0;bottom:0;z-index:200;width:256px;overflow-y:auto}.sidebar.sidebar-open{display:flex}.nav-overlay{display:block;position:fixed;inset:0;z-index:199;background:#0006}.hamburger{display:flex;align-items:center}.dash-cols,.tr-cols,.detail-grid,.modal-cols,.build-grid,.task-controls{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.searchbox{display:none}.topbar{justify-content:space-between}.overlay{padding:0;place-items:stretch;align-items:flex-end}.modal{border-radius:16px 16px 0 0;max-width:100%;max-height:95vh}.modal.sm{max-width:100%;border-radius:16px 16px 0 0}.td-modal-layout{grid-template-columns:1fr;overflow:visible}.td-modal-main{border-right:none;border-bottom:1px solid var(--line)}.td-modal-body{overflow-y:auto;height:auto}.task-detail-modal{display:flex;flex-direction:column;overflow:hidden;max-height:95vh}.task-detail-modal .task-detail-panel-head,.task-detail-modal .myjob-tabs{flex-shrink:0}.task-detail-modal .myjob-tab-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.task-detail-modal .td-modal-body{flex:1;min-height:0;overflow-y:auto}}.section-label{font-size:13px;font-weight:700;color:var(--ink-2);margin:22px 0 10px}.req-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);margin-bottom:10px}.req-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.req-head>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.req-head strong{font-size:15px}.req-code{font-family:ui-monospace,monospace;font-size:11px;color:var(--muted)}.src-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.03em}.src-whatsapp{background:#dcfce7;color:#166534}.src-form{background:#dbeafe;color:#1e40af}.src-manual{background:#f1f5f9;color:#475569}.src-ai{background:#f3e8ff;color:#6b21a8}.src-fallback{background:#fef3c7;color:#92400e}.req-msg{background:var(--bg);border-radius:8px;padding:9px 12px;font-style:italic;color:var(--ink-2);margin:10px 0 4px;font-size:13px}.req-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.req-grid label{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:11px;font-weight:600;color:var(--ink-2)}.req-grid input,.req-grid select{width:100%;min-width:0;padding:7px 9px;border:1px solid var(--line);border-radius:7px;font-size:13px}.worker-pick{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:12px;font-size:12px;color:var(--muted)}.assign-section{position:relative;margin-bottom:14px}.assign-section-label{font-size:12px;font-weight:600;color:var(--ink-2);margin-bottom:7px}.assign-chips{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.assign-chip{display:inline-flex;align-items:center;gap:6px}.assign-avatar{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;background:#e1f5ee;color:#0f6e56;font-size:8.5px;font-weight:700;flex-shrink:0}.chip.on .assign-avatar{background:#ffffff40;color:#fff}.assign-avatar.team{background:var(--blue-soft, #EEF0FF);color:var(--blue);font-size:11px}.assign-chip-x{background:transparent;border:0;color:inherit;opacity:.65;cursor:pointer;font-size:14px;line-height:1;padding:0 1px}.assign-chip-x:hover{opacity:1}.assign-add-btn{border-style:dashed;color:var(--blue)}.assign-picker{position:absolute;top:100%;left:0;margin-top:6px;width:min(430px,100%);background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px #0f172a29;z-index:60;overflow:hidden}.assign-picker-search{width:100%;border:0;border-bottom:1px solid var(--line);padding:9px 12px;font-size:13px;outline:none;background:transparent;box-sizing:border-box}.assign-picker-list{max-height:260px;overflow-y:auto;padding-bottom:4px}.assign-picker-sec{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:8px 12px 3px}.assign-picker-row{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:transparent;border:0;padding:7px 12px;font-size:13px;cursor:pointer;color:var(--ink)}.assign-picker-row:hover{background:var(--bg)}.assign-picker-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assign-match{font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:10px;background:#e1f5ee;color:#0f6e56;white-space:nowrap;flex-shrink:0}.assign-match.lo{background:var(--bg);color:var(--muted)}.assign-picker-meta{margin-left:auto;color:var(--muted);font-size:11.5px;white-space:nowrap;flex-shrink:0}.assign-picker-empty{padding:12px;font-size:13px;color:var(--muted)}.chip{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:5px 12px;font-size:12px;font-weight:600;color:var(--ink-2)}.chip.on{background:var(--blue);color:#fff;border-color:var(--blue)}.req-meta-row{display:flex;gap:16px;align-items:center;margin-top:10px;font-size:13px;color:var(--ink-2)}.card-actions{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}.card-actions .icon-btn.sm{margin-left:auto}.img-drop-zone{border:1.5px dashed var(--line);border-radius:10px;padding:14px;cursor:pointer;min-height:56px;display:flex;align-items:center;justify-content:center;transition:border-color .15s}.img-drop-zone:hover{border-color:var(--blue)}.parsed-box{background:var(--bg);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px}.parsed-box label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600}.week-chip{font-size:13px;font-weight:600;color:var(--ink-2);padding:0 6px}.sched-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.sched-wrap{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}.sched-board{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.sched-row{display:grid;grid-template-columns:150px repeat(6,minmax(0,1fr));border-bottom:1px solid var(--line)}.sched-row:last-child{border-bottom:0}.sched-head{background:var(--surface);font-size:11px;font-weight:700;text-transform:uppercase;color:var(--muted)}.sched-head span{padding:8px 6px;display:flex;flex-direction:column;align-items:center;gap:1px}.sched-head-dayname{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.sched-head-daynum{font-size:18px;font-weight:500;color:var(--text);line-height:1.1}.sched-head-today{background:#ebf4ff;border-radius:6px}.sched-head-today .sched-head-dayname,.sched-head-today .sched-head-daynum{color:#185fa5}.sched-cell-today{background:#3b82f60a}.sched-worker{padding:10px;border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.sched-worker strong{font-size:13px}.sched-worker small{color:var(--muted);font-size:11px}.sched-cell{padding:6px;border-right:1px solid var(--line);min-height:46px;display:flex;flex-direction:column;gap:4px;min-width:0;overflow:hidden}.sched-cell:last-child{border-right:0}.sched-chip{display:flex;align-items:center;gap:4px;color:#fff;border-radius:6px;padding:4px 6px;font-size:11px;font-weight:600;max-width:100%;min-width:0}.sched-chip-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.sched-chip button{background:#ffffff40;border:0;color:#fff;border-radius:4px;display:grid;place-items:center;padding:1px;cursor:pointer}.sched-side{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.sched-side h4{margin:0 0 10px;font-size:13px}.ready-card{border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:8px;padding:10px;margin-bottom:8px}.ready-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.ready-top strong{font-size:13px}.assign-form{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.assign-form select{flex:1;min-width:90px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;font-size:12px}.plan-review{background:var(--surface);border:1px solid var(--blue);border-radius:var(--radius);padding:16px;margin-bottom:18px;box-shadow:var(--shadow)}.plan-review header{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--blue)}.plan-row{display:grid;grid-template-columns:130px 1.4fr 110px 1.4fr;gap:10px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px;align-items:center}.plan-row strong{font-size:13px}.plan-row>*{min-width:0}.plan-row>em,.plan-row>.muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-note{color:var(--warn);font-size:12px;margin:6px 0 0}@media(max-width:1100px){.req-grid,.sched-metrics{grid-template-columns:1fr 1fr}.sched-wrap{grid-template-columns:1fr}}.programme-row{display:grid;grid-template-columns:1fr 1fr 1fr auto auto;gap:12px;align-items:end;margin-bottom:16px;padding:12px;background:var(--bg);border-radius:10px}.programme-row label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--ink-2)}.programme-row input[type=date],.programme-row input[type=number]{padding:7px 9px;border:1px solid var(--line);border-radius:7px}.ms-toggle{flex-direction:row!important;align-items:center;gap:6px}.ms-toggle input{width:16px;height:16px}.duration-row{grid-template-columns:120px 120px 1fr}.duration-hint{font-size:12px;color:var(--muted);padding-bottom:8px}.label-hint{display:inline;font-weight:500;text-transform:none;letter-spacing:0;color:var(--muted)}.ext-range-row{grid-template-columns:1fr 1fr auto 1fr}.ext-range-warn{font-size:12px;color:var(--warn);padding-bottom:8px}.dep-box{padding:12px;background:var(--bg);border-radius:10px;margin-bottom:16px}.dep-item{display:flex;align-items:flex-start;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:6px}.dep-badge{flex-shrink:0;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;background:var(--bg);color:var(--muted);border:1px solid var(--line)}.dep-badge.ext{background:#0d94881f;color:#0d9488;border-color:#0d9488}.dep-item-title{font-size:13px;font-weight:600;color:var(--ink)}.dep-item-sub{font-size:12px;color:var(--muted);margin-top:2px}.dep-empty{font-size:12px;color:var(--muted)}.dep-add{display:flex;flex-direction:column;gap:8px;margin-top:8px}.dep-add select{padding:7px 9px;border:1px solid var(--line);border-radius:7px;font-size:13px;background:var(--surface)}.dep-trigger-label{font-size:12px;font-weight:600;color:var(--ink-2)}.dep-triggers{display:flex;gap:6px;flex-wrap:wrap}.dep-triggers button{padding:6px 12px;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:12px;font-weight:600;cursor:pointer}.dep-triggers button.on{border-color:var(--blue);background:var(--blue);color:#fff}.dep-offset{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2)}.dep-offset input{padding:7px 9px;border:1px solid var(--line);border-radius:7px}.gantt{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);overflow-x:auto}.gantt-legend{display:flex;gap:16px;align-items:center;font-size:12px;color:var(--ink-2);margin-bottom:14px;flex-wrap:wrap}.gantt-legend i{display:inline-block;width:16px;height:8px;border-radius:3px;margin-right:5px;vertical-align:middle}.lg-bar{background:var(--blue)}.lg-crit{background:var(--danger)}.lg-base{background:#cbd5e1;height:4px!important}.lg-ms{width:10px!important;height:10px!important;background:#7c3aed;transform:rotate(45deg);border-radius:2px}.gantt-grid{position:relative;height:22px;margin-left:230px;border-bottom:1px solid var(--line)}.gantt-tick{position:absolute;top:0;height:100%;border-left:1px dashed var(--line)}.gantt-tick em{position:absolute;top:2px;left:4px;font-size:10px;color:var(--muted);font-style:normal;white-space:nowrap}.gantt-today{position:absolute;top:0;bottom:0;width:2px;background:var(--danger);z-index:3}.gantt-group{margin-top:10px}.gantt-group-head{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--ink-2);padding:6px 0}.gantt-row{display:flex;align-items:center;min-height:30px;cursor:pointer;border-radius:6px}.gantt-row:hover{background:var(--bg)}.gantt-label{width:230px;flex-shrink:0;font-size:12px;padding-right:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-track{position:relative;flex:1;height:22px}.gantt-bar{position:absolute;top:3px;height:16px;background:var(--blue);border-radius:4px;overflow:hidden;min-width:4px}.gantt-bar.crit{background:var(--danger)}.gantt-bar.ext{background:#0d9488;background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(255,255,255,.22) 4px,rgba(255,255,255,.22) 8px)}.gantt-bar-range{position:absolute;top:3px;height:16px;border:2px dashed #0d9488;border-radius:4px;background:#0d948814;pointer-events:none}.gantt-fill{position:absolute;left:0;top:0;bottom:0;background:#ffffff73}.gantt-baseline{position:absolute;bottom:0;height:4px;background:#cbd5e1;border-radius:2px}.gantt-milestone{position:absolute;top:4px;width:13px;height:13px;background:#7c3aed;transform:rotate(45deg);border-radius:2px}.boq-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.boq-table .boq-row{grid-template-columns:64px minmax(150px,.9fr) 2fr 56px 56px 80px 96px 84px 96px}.boq-table .boq-row>span{min-width:0;overflow-wrap:anywhere}.boq-table .boq-row>span:nth-child(2){font-size:12px;line-height:1.3}.boq-table .boq-row>span:nth-child(2):not(.boq-actions){word-break:break-word}@media(max-width:1100px){.boq-table .boq-row{grid-template-columns:56px minmax(120px,.8fr) 1.6fr 50px 50px 70px 84px 76px 96px}}.boq-done input{width:64px;padding:5px 7px;border:1px solid var(--line);border-radius:6px;font-size:13px}.boq-actions{display:flex;gap:4px}.boq-pr{color:#7c3aed;font-style:normal;font-size:11px}.boq-add{flex-wrap:wrap}@media(max-width:1100px){.programme-row,.boq-summary{grid-template-columns:1fr 1fr}}.inline-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:12px;box-shadow:var(--shadow)}.inline-card textarea,.inline-card input,.inline-card select{padding:9px 11px;border:1px solid var(--line);border-radius:8px}.rfi-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:10px;box-shadow:var(--shadow)}.rfi-head{display:flex;align-items:center;gap:9px}.rfi-head strong{flex:1;font-size:14px}.rfi-answer{background:#dcfce7;color:#166534;padding:9px 12px;border-radius:8px;font-size:13px;margin:8px 0 0}.var-row{grid-template-columns:70px 1.6fr 100px 110px 110px 140px}.var-row .neg{color:var(--danger)}.diary-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:10px;box-shadow:var(--shadow)}.diary-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.diary-card p{margin:4px 0;font-size:13px}.diary-block{display:flex;align-items:center;gap:6px;color:var(--warn);font-size:12px}.snag-card{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 16px;box-shadow:var(--shadow);margin-bottom:8px}.snag-main{flex:1;display:flex;flex-direction:column}.snag-main strong{font-size:13px}.snag-main small{color:var(--muted);font-size:12px}.sev{font-size:10px;font-weight:700;padding:4px 9px;border-radius:6px;text-transform:uppercase}.sev-low{background:#f1f5f9;color:#475569}.sev-medium{background:#fef3c7;color:#92400e}.sev-high{background:#fee2e2;color:#991b1b}.dwg-row{grid-template-columns:90px 1.4fr 120px 50px 150px 210px}.dwg-file-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;background:#eff6ff;color:#1e40af;border:1px solid #BFDBFE;border-radius:6px;padding:5px 9px;white-space:nowrap}.dwg-file-chip button{background:none;border:0;cursor:pointer;color:inherit;display:inline-flex;padding:0}.dwg-file-link{display:inline-flex;align-items:center;gap:3px;color:#2563eb;text-decoration:none}.dwg-file-link:hover{text-decoration:underline}.dwg-open{display:inline-flex;align-items:center;text-decoration:none}.rev-badge{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 6px;background:var(--blue);color:#fff;border-radius:6px;font-size:12px;font-weight:700}.rev-badge.sm{min-width:20px;height:18px;font-size:11px}.dwg-revform{background:#fafbfe;border-top:1px dashed var(--line);padding:8px 16px;align-items:center}.dwg-revform .muted{white-space:nowrap}.dwg-history{background:#fafbfe;border-top:1px solid var(--line);padding:8px 16px}.dwg-rev{display:flex;align-items:center;gap:10px;padding:6px 0}.dwg-rev strong{font-size:13px;display:block}.dwg-rev small{color:var(--muted);font-size:11px}.side-user .icon-btn{color:#8392ad}.req-media{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px;align-items:center}.req-thumb{width:84px;height:84px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:#000;display:block}.req-thumb-wrap{position:relative;display:inline-block}.req-thumb-del{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:1px solid var(--line);background:#fff;color:#dc2626;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:0 1px 3px #0003}.req-thumb-del:hover{background:#dc2626;color:#fff}.req-thumb-del:disabled{opacity:.5;cursor:default}.req-upload{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--blue);border:1px dashed var(--blue);border-radius:8px;padding:8px 12px;cursor:pointer;background:#f5f7ff}.req-upload:hover{background:#eef2ff}.req-upload.busy{opacity:.6;cursor:progress}.danger-btn{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:9px 14px;border-radius:9px;font-weight:600;text-align:left}.danger-btn:hover{background:#fecaca}.sched-chip-txt{background:transparent;border:0;color:#fff;font-size:11px;font-weight:600;text-align:left;padding:0;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.icon-btn.sm{width:28px;height:28px;border:1px solid var(--line);color:var(--ink-2);background:var(--surface)}.icon-btn.sm:hover{border-color:var(--blue);color:var(--blue);background:#f5f7ff}.icon-btn.sm.danger:hover{border-color:var(--danger);color:var(--danger);background:#fef2f2}.maint-row .icon-btn.sm,.row-link .icon-btn.sm{flex-shrink:0}.trow.asset-trow{grid-template-columns:120px 1.4fr .9fr 1.1fr 1fr .9fr .9fr 80px}.req-desc{color:var(--ink-2);font-size:13px;margin:8px 0 4px;white-space:pre-wrap}.assign-edit{background:var(--bg);border-radius:10px;padding:12px}.assign-edit>strong{display:block;font-size:12px;margin-bottom:8px;color:var(--ink-2)}.seg{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow:hidden}.seg button{background:transparent;border:0;padding:8px 14px;font-size:13px;font-weight:600;color:var(--ink-2)}.seg button.seg-on{background:var(--blue);color:#fff}.planner-nav{display:flex;align-items:center;gap:10px;margin-bottom:14px}.movement-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink-2);background:#fef3c7;padding:6px 12px;border-radius:20px;margin-left:auto}.day-pick{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.month-dow{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--muted);padding:4px 6px}.month-cell{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-height:88px;padding:6px;display:flex;flex-direction:column;gap:4px}.month-cell.dim{background:#f8fafc;opacity:.6}.month-cell.today{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.month-date{font-size:12px;font-weight:700;color:var(--ink-2)}.month-allocs{display:flex;flex-direction:column;gap:2px;overflow:hidden}.month-alloc{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dot2{width:8px;height:8px;border-radius:50%;flex-shrink:0}.workload-scroll{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.wl-table{border-collapse:collapse;width:100%}.wl-table th,.wl-table td{border:1px solid var(--line);padding:8px 10px;text-align:center;font-size:13px}.wl-table thead th{background:#fafbfe;font-size:12px}.wl-table thead th small{display:block;color:var(--muted);font-size:10px;font-weight:400}.wl-proj{text-align:left!important}.wl-proj strong{font-size:13px}.wl-proj small{display:block;color:var(--muted);font-size:11px}.wl-cell.has{font-weight:700;color:var(--ink)}.wl-cell.alloc{background:#dbeafe}.wl-cell.alloc.has{background:#bfdbfe}.myjob-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px}.myjob-row:hover{background:var(--bg)}.myjob-row .role-select{flex-shrink:0}.modal.job-edit{max-width:760px}.job-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.job-edit-grid label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:12px;font-weight:600;color:var(--ink-2)}.job-edit-grid label.full{grid-column:1 / -1}.job-edit-grid input,.job-edit-grid select,.job-edit-grid textarea{width:100%;min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font-family:inherit}.duration-control{display:grid;grid-template-columns:minmax(0,1fr) minmax(88px,auto);gap:6px;min-width:0}.duration-control input,.duration-control select{min-width:0;width:100%}.file-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:12px}.file-chip button{background:transparent;border:0;display:grid;place-items:center;color:var(--muted);cursor:pointer}@media(max-width:720px){.job-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.overlay{padding:10px}.modal{max-height:calc(100dvh - 20px);border-radius:12px}.modal-head,.modal-body,.modal-foot{padding-left:14px;padding-right:14px}.job-edit-grid{grid-template-columns:minmax(0,1fr)}.job-edit-actions{flex-wrap:wrap}.job-edit-actions .ghost[style]{margin-left:0!important}}.job-edit-actions{position:sticky;bottom:0;z-index:2;margin-top:14px;padding:10px 0 4px;background:var(--surface);border-top:1px solid var(--line)}.alloc-board{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.alloc-row{display:grid;grid-template-columns:170px 1fr;border-bottom:1px solid var(--line);align-items:center}.alloc-row:last-child{border-bottom:0}.alloc-worker{padding:12px 14px;border-right:1px solid var(--line);display:flex;flex-direction:column}.alloc-worker strong{font-size:13px}.alloc-worker small{color:var(--muted);font-size:11px}.alloc-locs{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px;min-height:44px}.alloc-chip{display:inline-flex;align-items:center;gap:7px;color:#fff;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:600}.alloc-chip-txt{background:transparent;border:0;color:#fff;font-weight:700;font-size:12px;cursor:pointer;padding:0}.alloc-chip small{opacity:.85;font-weight:500}.alloc-chip button{background:#ffffff40;border:0;color:#fff;border-radius:4px;display:grid;place-items:center;padding:1px;cursor:pointer}.tasks-row{grid-template-columns:1.6fr 1.2fr 70px 80px 70px 80px 70px}.tasks-row-ext{grid-template-columns:1.4fr 1fr 60px 70px 60px 70px 60px 1fr}.wl-crit{color:var(--danger);font-weight:700}.wl-high{color:var(--warn);font-weight:700}.myjob-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.myjob-card-open{border-color:var(--blue)}.myjob-card-header{display:flex;align-items:center;gap:10px;padding:13px 14px;cursor:pointer;-webkit-user-select:none;user-select:none}.myjob-card-header:hover{background:var(--bg)}.myjob-main{flex:1;display:flex;flex-direction:column;min-width:0}.myjob-main strong{font-size:14px}.myjob-main small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.myjob-chevron{color:var(--muted);transition:transform .15s;flex-shrink:0}.myjob-chevron.open{transform:rotate(90deg)}.myjob-status-pill{font-size:11px;font-weight:600;padding:3px 9px;border-radius:14px;white-space:nowrap;flex-shrink:0}.myjob-status-in-progress{background:#dbeafe;color:#1e40af}.myjob-status-not-started{background:var(--bg);color:var(--muted)}.myjob-status-blocked{background:#fee2e2;color:#991b1b}.myjob-status-waiting-procurement{background:#fef3c7;color:#92400e}.myjob-status-scheduled{background:#dbeafe;color:#1e40af}.myjob-status-done{background:#dcfce7;color:#166534}.myjob-status-triaged{background:#f3e8ff;color:#6b21a8}.myjob-status-new{background:var(--bg);color:var(--muted)}.myjob-card-body{border-top:1px solid var(--line)}.myjob-section{padding:14px 16px;border-bottom:1px solid var(--line)}.myjob-section:last-child{border-bottom:0}.myjob-section-title{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.myjob-notes{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.myjob-note-bubble{background:var(--bg);border-radius:8px;padding:10px 12px}.myjob-note-bubble p{font-size:13px;line-height:1.5;color:var(--ink)}.myjob-note-bubble small{font-size:11px;color:var(--muted);display:block;margin-top:5px}.myjob-textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:13px;resize:vertical;background:var(--surface);color:var(--ink)}.myjob-textarea:focus{outline:none;border-color:var(--blue)}.myjob-evidence-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;margin-bottom:10px}.myjob-thumb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid var(--line);border-radius:8px;aspect-ratio:1;overflow:hidden;color:var(--muted);font-size:11px;text-decoration:none;background:var(--bg)}.myjob-thumb img{width:100%;height:100%;object-fit:cover}.myjob-upload-zone{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border:1px dashed var(--blue);border-radius:8px;color:var(--blue);font-size:13px;cursor:pointer}.myjob-upload-zone:hover{background:var(--bg)}.myjob-upload-zone.busy{opacity:.6;cursor:default}.myjob-proc-linked{display:flex;align-items:center;gap:8px;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;padding:10px 12px;color:#92400e;font-size:13px;margin-bottom:8px}.myjob-proc-form{display:flex;flex-direction:column;gap:8px}.myjob-proc-form input{width:100%}.myjob-proc-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.myjob-field-label{font-size:11px;color:var(--muted);display:block;margin-bottom:4px}.myjob-proc-btn{display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;color:#92400e;font-size:13px;font-weight:600;cursor:pointer;width:100%}.myjob-proc-btn:hover{background:#fde68a}.myjob-proc-btn:disabled{opacity:.5;cursor:default}.myjob-status-footer{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg);border-top:1px solid var(--line)}.myjob-status-footer select{flex:1}.worklog-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.worklog-row .muted{font-size:12px}.day-chip{display:inline-flex;align-items:center;gap:4px;background:#dcfce7;color:#166534;border-radius:14px;padding:3px 9px;font-size:11px;font-weight:600}.day-chip button{background:#0000001a;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:inherit;padding:1px}.day-add{padding:4px 8px;border:1px dashed var(--blue);border-radius:7px;font-size:12px;color:var(--blue)}.alloc-grid-wrap{overflow:auto;max-height:calc(100vh - 150px);margin:0 0 24px;border:1px solid var(--line);border-radius:12px}.alloc-grid-table thead th{position:sticky;top:0;z-index:5}.alloc-grid-table thead th.alloc-grid-corner{z-index:7;left:0}.alloc-grid-table{border-collapse:collapse;width:100%;min-width:740px}.alloc-grid-table thead th,.alloc-grid-table tbody td{border:0}.alloc-grid-corner{width:160px;background:var(--surface);border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:10px 12px;vertical-align:middle}.alloc-grid-corner-label{display:flex;flex-direction:column;gap:1px}.alloc-grid-corner-of{font-size:10px;color:var(--muted);font-weight:500}.alloc-grid-corner-date{font-size:13px;font-weight:700;color:var(--text)}.alloc-grid-corner-nav{display:flex;gap:4px;margin-top:6px}.alloc-grid-head{background:var(--surface);border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:center;padding:10px 4px 8px;min-width:90px}.alloc-grid-head:last-child{border-right:0}.alloc-grid-weekend{opacity:.55}.alloc-grid-dayname{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.alloc-grid-datenum{font-size:22px;font-weight:700;color:var(--text);line-height:1.1;margin-top:2px}.alloc-grid-today-dot{width:5px;height:5px;border-radius:50%;background:#2563eb;margin:4px auto 0}.alloc-grid-today{background:#eff6ff}.alloc-grid-today .alloc-grid-dayname{color:#2563eb}.alloc-grid-today .alloc-grid-datenum{color:#1d4ed8}.alloc-grid-corner,.alloc-grid-worker-label{position:sticky;left:0;z-index:3}.alloc-grid-corner{z-index:4}.alloc-grid-worker-label{box-shadow:inset -1px 0 0 var(--line)}.alloc-grid-worker-row>td{border-top:2px solid color-mix(in srgb,var(--line) 60%,var(--muted))}.alloc-grid-worker-row:first-child>td{border-top:0}.alloc-band>td:not(.lc-cell):not(.alloc-grid-cell-today):not(.alloc-grid-cell-weekend){background:color-mix(in srgb,var(--surface) 55%,var(--bg))}.alloc-band>td.alloc-grid-worker-label{background:color-mix(in srgb,var(--surface) 55%,var(--bg))}.alloc-grid-worker-label{width:160px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);vertical-align:middle;padding:0}.alloc-grid-worker-inner{display:flex;align-items:center;gap:8px;padding:10px 12px}.worker-avatar-sm{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.alloc-grid-wname{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap}.alloc-grid-wtrade{font-size:10px;color:var(--muted);margin-top:1px}.alloc-grid-cell{min-height:60px;padding:6px 6px 4px;vertical-align:top;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;transition:background .1s}.alloc-grid-cell:last-child{border-right:0}.alloc-grid-cell:hover{background:var(--surface)}.alloc-grid-cell-weekend{background:color-mix(in srgb,var(--bg) 85%,var(--surface))}.alloc-grid-cell-today{background:#f0f7ff}.alloc-grid-cell-today:hover{background:#e0efff}.alloc-cell-chips{display:flex;flex-direction:column;gap:3px}.alloc-day-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:20px;font-size:11px;font-weight:500;white-space:nowrap;max-width:100%;overflow:hidden}.alloc-day-chip span{overflow:hidden;text-overflow:ellipsis}.alloc-day-chip-auto{font-weight:400;opacity:.85}.alloc-day-chip-2line{flex-direction:column;align-items:stretch;gap:1px;border-radius:12px}.alloc-chip-main{display:inline-flex;align-items:center;gap:4px;min-width:0}.alloc-chip-sub{font-size:10px;font-weight:500;opacity:.85;padding-left:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alloc-chip-notebtn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0 1px;color:inherit;cursor:pointer;opacity:.55;flex-shrink:0}.alloc-chip-notebtn:hover{opacity:1}.alloc-chip-note{display:block;font-size:10px;opacity:.9;padding-left:15px;margin-top:1px;white-space:normal;line-height:1.3;cursor:text;border-top:1px solid rgba(127,127,127,.18);padding-top:2px}.alloc-chip-noteedit{display:flex;flex-direction:column;gap:4px;margin-top:3px}.alloc-chip-noteedit textarea{width:100%;font-size:11px;line-height:1.3;resize:none;border-radius:6px;border:1px solid rgba(0,0,0,.15);padding:4px 6px;font-family:inherit;color:var(--text);background:#fff}.alloc-chip-noteedit-btns{display:flex;gap:5px;justify-content:flex-end}.alloc-chip-noteedit-btns button{font-size:10px;padding:2px 8px;border-radius:5px;border:1px solid var(--line);background:#fff;color:var(--ink-2);cursor:pointer}.alloc-chip-noteedit-btns button.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.alloc-picker-divider{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 12px 4px}.alloc-conflict-box{border:1px solid var(--border-accent, #93c5fd);background:#eff6ff;border-radius:10px;padding:12px 14px}.alloc-chip-editbtn{background:transparent;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.alloc-chip-editbtn:hover{text-decoration:underline}.alloc-chip-x{background:transparent;border:0;cursor:pointer;opacity:.55;font-size:14px;line-height:1;padding:0 1px;color:inherit;flex-shrink:0}.alloc-chip-x:hover{opacity:1}.alloc-order-badge{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:#ffffff80;font-size:9px;font-weight:700;flex-shrink:0}.alloc-order-arrows{display:flex;flex-direction:column;flex-shrink:0;z-index:1;position:relative}.alloc-order-arrow{display:flex;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer;color:inherit;opacity:.75;padding:1px 2px;min-width:14px;min-height:10px}.alloc-order-arrow:hover{opacity:1;background:#ffffff59;border-radius:3px}.alloc-order-arrow:disabled{opacity:.25;cursor:default}.alloc-order-arrow:disabled:hover{background:transparent}.asset-row-click{cursor:pointer}.asset-row-click:hover{background:var(--surface)}.asset-hero{display:flex;gap:14px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:14px}.asset-hero-photo{width:84px;height:84px;border-radius:10px;background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0;position:relative;overflow:hidden}.asset-hero-photo img{width:100%;height:100%;object-fit:cover}.asset-hero-count{position:absolute;bottom:4px;right:4px;background:#000000a6;color:#fff;border-radius:5px;padding:1px 5px;font-size:10px}.asset-hero-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.asset-hero-title strong{font-size:17px}.asset-hero-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:3px}.asset-dot{opacity:.5}.asset-hero-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.asset-hero-actions button{font-size:12px;padding:5px 10px}.crit-pill{font-size:11px;border-radius:20px;padding:2px 9px;font-weight:600}.crit-low{background:#f1f5f9;color:#475569}.crit-med{background:#e0f2fe;color:#075985}.crit-high{background:#fef3c7;color:#92400e}.crit-crit{background:#fee2e2;color:#991b1b}.asset-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px}.asset-kpi{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.asset-kpi span{display:block;font-size:12px;color:var(--muted)}.asset-kpi strong{font-size:20px;font-weight:600}.asset-kpi em{font-style:normal;font-size:12px;color:var(--muted);font-weight:400}.asset-flag{display:flex;gap:9px;align-items:flex-start;background:#fef8ec;border:1px solid #F5D9A6;color:#92400e;border-radius:10px;padding:10px 12px;font-size:12.5px;margin-bottom:14px}.asset-flag svg{flex-shrink:0;margin-top:1px}.asset-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto}.asset-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:8px 11px;font-size:13px;color:var(--muted);cursor:pointer;font-family:inherit;white-space:nowrap}.asset-tabs button.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.asset-timeline{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:4px 14px}.asset-tl-row{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid var(--line)}.asset-tl-row:last-child{border-bottom:0}.asset-tl-dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tl-preventive{background:#e0f2fe;color:#075985}.tl-corrective{background:#fef3c7;color:#92400e}.tl-emergency{background:#fee2e2;color:#991b1b}.tl-install{background:#d1fae5;color:#065f46}.asset-tl-title{font-size:13px;font-weight:600}.asset-tl-sub{font-size:12px;color:var(--muted);margin-top:2px}.asset-tl-notes{font-size:12px;margin-top:4px}.asset-tl-photos{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap}.asset-tl-photos img{width:40px;height:40px;border-radius:6px;object-fit:cover}.asset-tl-date{font-size:11px;color:var(--muted);white-space:nowrap}.asset-spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.asset-spec{background:var(--surface);padding:10px 13px}.asset-spec-wide{grid-column:1 / -1}.asset-spec span{display:block;font-size:11px;color:var(--muted)}.asset-spec strong{font-size:13px;font-weight:500}.asset-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.asset-photo{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:4/3;background:var(--surface)}.asset-photo img{width:100%;height:100%;object-fit:cover;display:block}.asset-photo-x{position:absolute;top:5px;right:5px;background:#0009;color:#fff;border:0;border-radius:50%;width:22px;height:22px;cursor:pointer;font-size:15px;line-height:1}.asset-photo-add{aspect-ratio:4/3;border:1px dashed var(--line);border-radius:10px;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;color:var(--muted);font-family:inherit;font-size:12px}.asset-doc-row{grid-template-columns:2fr 1fr 1fr auto}.asset-cost-row{grid-template-columns:1fr 2fr 1fr 1fr 1fr}.asset-qr-label{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:14px}.asset-qr-label img{width:130px;height:130px}.asset-qr-ph{width:130px;height:130px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.asset-qr-text{display:flex;flex-direction:column;gap:3px;min-width:0}.asset-qr-text strong{font-size:15px}@media print{body *{visibility:hidden}#asset-qr-label,#asset-qr-label *{visibility:visible}#asset-qr-label{position:absolute;left:0;top:0;border:0}}.kb-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}.kb-search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:0 12px;flex:1;min-width:220px}.kb-search input{border:0;background:transparent;padding:9px 0;width:100%;font-size:13px;outline:none}.kb-cats{display:flex;gap:6px;flex-wrap:wrap}.kb-cat{font-size:12px;padding:5px 12px;border-radius:20px;border:1px solid var(--line);background:var(--surface);cursor:pointer}.kb-cat.on{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.kb-list{display:flex;flex-direction:column;gap:8px}.kb-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;cursor:pointer;font-family:inherit}.kb-row:hover{border-color:var(--border-strong, #cbd5e1)}.kb-row-icon{color:#4f46e5;flex-shrink:0}.kb-row-main{flex:1;min-width:0}.kb-row-title{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.kb-draft{font-size:10px;font-weight:600;text-transform:uppercase;color:#b45309;background:#fef3c7;padding:1px 7px;border-radius:20px}.kb-row-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:3px}.kb-row-meta span{display:inline-flex;align-items:center;gap:3px}.kb-access{font-size:10px;font-weight:600;padding:3px 10px;border-radius:20px;flex-shrink:0}.sop-steps{display:flex;flex-direction:column;gap:12px}.sop-step,.sop-edit-step{display:flex;gap:10px}.sop-step-n{width:22px;height:22px;border-radius:50%;background:#eef2ff;color:#3730a3;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sop-step-media{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;align-items:center}.sop-step-media img{width:80px;height:56px;object-fit:cover;border-radius:6px}.sop-step-media video{width:120px;border-radius:6px}.sop-file{display:inline-flex;align-items:center;gap:5px;font-size:12px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:5px 9px;color:var(--ink);text-decoration:none}.sop-attachments{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.sop-admin{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.sop-admin-h{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px}.sop-access-tags,.sop-role-row{display:flex;gap:6px;flex-wrap:wrap}.sop-tag{font-size:12px;padding:3px 10px;border-radius:20px;border:1px solid var(--line)}.sop-tag.on{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.sop-grant-row{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0}.sop-acked{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:#059669;font-weight:600}.sop-edit-steps{display:flex;flex-direction:column;gap:10px;margin-top:6px}.sop-edit-step{align-items:flex-start}.sop-edit-step textarea{width:100%}.sop-step-actions{display:flex;flex-direction:column;gap:2px}.sop-media-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:3px 6px}.sop-media-chip img{width:28px;height:20px;object-fit:cover;border-radius:3px}.sop-media-chip button{background:none;border:0;cursor:pointer;color:var(--muted);display:inline-flex}.sop-upload{display:inline-flex;align-items:center;gap:4px;font-size:11px;border:1px dashed var(--line);border-radius:6px;padding:4px 8px;cursor:pointer;color:#4f46e5}.sop-access-box{border:1px solid var(--line);border-radius:9px;padding:12px;display:flex;flex-direction:column;gap:8px}.sop-check{display:flex;align-items:center;gap:8px;font-size:13px}.sop-role{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:4px 10px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.sop-role.on{background:#eff6ff;border-color:#bfdbfe}.sop-grants{border-top:1px solid var(--line);padding-top:8px}.tq-focus-on{color:#b45309!important}.tq-focus-on svg{fill:#f59e0b}.tq-focus-pill{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:600;color:#b45309;background:#fef3c7;padding:1px 7px;border-radius:20px}.req-prop-list{margin-top:6px;border:1px solid var(--line);border-radius:8px;max-height:168px;overflow-y:auto}.form-stack .req-prop-row{display:flex;flex-direction:row;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--line);cursor:pointer;font-size:13px;font-weight:400;color:var(--ink);text-align:left}.req-prop-row:last-child{border-bottom:0}.req-prop-row.on{background:#eff6ff}.form-stack .req-prop-row input[type=checkbox]{width:15px;min-width:15px;height:15px;padding:0;border-radius:4px;cursor:pointer;flex-shrink:0;accent-color:var(--blue)}.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--surface)}.modal-foot button{min-width:84px;justify-content:center}.clone-foot{flex-direction:column;align-items:stretch;gap:10px}.clone-foot-summary{font-size:12px;color:var(--muted)}.clone-foot-actions{display:flex;gap:8px;justify-content:flex-end}.linklike{background:none;border:0;padding:0;cursor:pointer;color:#2563eb;font-size:12px;font-family:inherit}.linklike:hover{text-decoration:underline}.clone-week-box{flex:1;background:var(--surface);border-radius:8px;padding:8px 12px;min-width:0}.clone-week-lbl{font-size:11px;color:var(--muted)}.clone-week-val{font-size:13px;font-weight:600;white-space:nowrap}.clone-week-nav{display:flex;align-items:center;gap:4px}.clone-week-nav .icon-btn{padding:1px 4px}.clone-warn{display:flex;align-items:center;gap:6px;font-size:12px;color:#b45309}.clone-worker-list{border:1px solid var(--border);border-radius:8px;overflow:hidden;max-height:220px;overflow-y:auto}.clone-worker-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border);cursor:pointer;font-size:13px}.clone-worker-row:last-child{border-bottom:0}.clone-worker-row.on{background:#eff6ff}.clone-worker-row input{cursor:pointer}.clone-leave-flag{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:#b45309}.clone-mode-row{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;margin-bottom:8px}.clone-mode-row:last-child{margin-bottom:0}.clone-mode-row.on{border-color:#2563eb;background:#eff6ff}.clone-mode-row input{margin-top:3px}.clone-mode-row strong{font-size:13px;display:block}.clone-mode-sub{font-size:12px;color:var(--muted);display:block}.clone-empty{font-size:13px;color:var(--muted);padding:14px;text-align:center;border:1px dashed var(--border);border-radius:8px}.clone-summary{font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:5px}.clone-summary strong{color:var(--text)}.clone-done-check{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#d1fae5;color:#065f46;flex-shrink:0}.alloc-proj-badge{font-size:10px;font-weight:600;padding:1px 7px;border-radius:9px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:30px}.alloc-picker-back{display:inline-flex;align-items:center;gap:4px;background:transparent;border:0;cursor:pointer;font-size:12px;font-weight:600;color:var(--ink-2);padding:2px 4px}.alloc-picker-back:hover{color:var(--blue)}.alloc-add-hint{display:inline-flex;align-items:center;gap:3px;font-size:10px;color:var(--muted);opacity:0;transition:opacity .1s}.alloc-grid-cell:hover .alloc-add-hint{opacity:1}.alloc-leave-btn{background:transparent;border:0;cursor:pointer;color:var(--muted);padding:2px;border-radius:4px;display:flex;align-items:center;opacity:0;transition:opacity .1s;flex-shrink:0}.alloc-grid-worker-label:hover .alloc-leave-btn{opacity:1}.alloc-leave-btn:hover{color:#dc2626}.alloc-grid-cell-leave{background:#fef2f2!important;cursor:default}.alloc-leave-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:100%;min-height:54px;border-radius:6px;background:#fee2e2;border:1px solid #FCA5A5;padding:4px;position:relative;color:#dc2626}.alloc-leave-type{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#991b1b}.alloc-leave-remove{position:absolute;top:2px;right:2px;background:transparent;border:0;cursor:pointer;font-size:13px;line-height:1;color:#fca5a5;padding:0 2px}.alloc-leave-remove:hover{color:#dc2626}.leave-type-row{display:flex;gap:6px}.leave-type-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:12px;font-weight:500;cursor:pointer;color:var(--muted);flex:1;justify-content:center}.leave-type-on{border-color:#dc2626}.leave-type-annual{background:#fef2f2;color:#dc2626}.leave-type-sick{background:#fffbeb;color:#d97706;border-color:#d97706!important}.leave-type-other{background:var(--bg);color:var(--ink);border-color:var(--ink)!important}.alloc-picker-popover{position:fixed;z-index:9999;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 32px #00000038;min-width:240px;max-width:300px;max-height:360px;overflow-y:auto}.alloc-picker-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;border-bottom:1px solid var(--line);gap:8px}.alloc-picker-search{display:flex;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid var(--line)}.alloc-picker-search input{flex:1;border:0;outline:none;font-size:13px;background:transparent;padding:4px 2px;color:inherit}.alloc-picker-search input::placeholder{color:var(--muted)}.alloc-picker-shift-row{display:flex;gap:4px}.alloc-picker-shift-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;border:1px solid var(--line);background:var(--surface);font-size:12px;font-weight:600;cursor:pointer;color:var(--muted)}.alloc-picker-shift-btn.on{background:#faeeda;color:#854f0b;border-color:#f5c986}.alloc-picker-shift-btn.on.night{background:#4338ca;color:#fff;border-color:#4338ca}.alloc-prop-option{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:0;background:transparent;cursor:pointer;border-bottom:1px solid var(--line);text-align:left}.alloc-prop-option:last-child{border-bottom:0}.alloc-prop-option:hover{background:var(--surface)}.alloc-prop-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.view-clients{padding:24px;display:flex;flex-direction:column;gap:20px}.clients-toolbar{display:flex;align-items:center;gap:12px}.clients-toolbar .searchbox{flex:1;max-width:320px}.clients-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}.clients-table{width:100%;border-collapse:collapse;font-size:13px}.clients-table th{text-align:left;padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);background:var(--surface)}.clients-table td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.client-row{cursor:pointer;transition:background .1s}.client-row:hover{background:var(--surface)}.client-row:last-child td{border-bottom:0}.empty-cell{text-align:center;color:var(--muted);padding:32px!important}.badge-green{background:#d1fae5;color:#065f46}.badge-grey{background:#f3f4f6;color:#6b7280}.view-settings{padding:24px;display:flex;flex-direction:column;gap:20px}.settings-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}.settings-tabs button{padding:8px 18px;border:0;background:transparent;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.settings-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.settings-tabs button:hover:not(.active){color:var(--text)}.settings-body{display:flex;flex-direction:column;gap:12px}.settings-section{display:flex;flex-direction:column;gap:4px}.settings-section h3{font-size:14px;font-weight:600;margin:0 0 12px}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--card);gap:16px}.settings-row+.settings-row{margin-top:8px}.settings-row>div{display:flex;flex-direction:column;gap:2px}.settings-row strong{font-size:13px;font-weight:600}.settings-row span{font-size:12px;color:var(--muted)}.toggle-btn{background:transparent;border:0;cursor:pointer;color:var(--muted);display:flex;align-items:center;padding:0;transition:color .15s;flex-shrink:0}.toggle-btn.on{color:var(--primary)}.toggle-btn:disabled{opacity:.4;cursor:not-allowed}.settings-select{padding:6px 10px;border:1px solid var(--line);border-radius:6px;font-size:13px;background:var(--surface);color:var(--text)}.settings-note{font-size:13px;color:var(--muted);padding:20px;text-align:center;border:1px dashed var(--line);border-radius:8px;margin:0}.banner-ok{background:#d1fae5;color:#065f46;border:1px solid #6EE7B7;border-radius:8px;padding:10px 16px;font-size:13px}.badge-linked{background:#ede9fe;color:#7c3aed;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:2px 8px;border-radius:20px;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.inbox-tabs{display:flex;align-items:center;gap:2px;padding:0 24px;border-bottom:1px solid var(--line);background:var(--card);flex-wrap:wrap}.inbox-tabs button{padding:9px 14px;border:0;background:transparent;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;white-space:nowrap}.inbox-tabs button.active{color:var(--text);border-bottom-color:var(--text)}.inbox-tabs button:hover:not(.active){color:var(--text)}.inbox-tabs-spacer{flex:1}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:9px;font-size:10px;font-weight:600;padding:0 4px;margin-left:5px;background:var(--surface);color:var(--muted)}.tab-count-red{background:#fee2e2;color:#991b1b}.tab-count-blue{background:#dbeafe;color:#1e40af}.sched-filter-select{margin:6px 0;padding:4px 8px;border:1px solid var(--line);border-radius:6px;font-size:12px;background:var(--surface);color:var(--text)}.sched-group{margin:0 0 16px}.sched-group-head{display:flex;align-items:center;gap:8px;padding:8px 24px;font-size:12px;font-weight:600;color:var(--muted);background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sched-group-count{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1px 7px;font-size:11px;font-weight:500;color:var(--muted)}.sched-group-list{padding:0 24px;display:flex;flex-direction:column;gap:6px;margin-top:8px}.sched-row-card{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 14px;overflow:hidden}.prio-stripe{width:4px;height:36px;border-radius:2px;flex-shrink:0}.prio-stripe.prio-critical,.prio-stripe.prio-high{background:#ef4444}.prio-stripe.prio-medium{background:#f59e0b}.prio-stripe.prio-low{background:#3b82f6}.sched-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.sched-row-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sched-row-title{font-size:13px;font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sched-row-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);flex-wrap:wrap}.sched-row-meta svg{vertical-align:-2px}.sched-row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.pill-done{background:#d1fae5;color:#065f46;padding:2px 7px;border-radius:4px;font-size:11px;font-weight:500}.tq-layout{display:flex;height:100%;overflow:hidden}.tq-left{flex:1;overflow-y:auto;min-width:0;display:flex;flex-direction:column}.tq-groups,.tq-groups-split{flex:1}.tq-filter-bar{display:flex;align-items:center;gap:8px;padding:8px 24px;border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap}.tq-chip{display:flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;border:1px solid var(--line);background:var(--card);font-size:12px;color:var(--muted);cursor:pointer}.tq-chip.on{border-color:var(--text);color:var(--text);background:var(--surface);font-weight:500}.tq-chip-count{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:0 6px;font-size:11px}.tq-chip.on .tq-chip-count{background:var(--card)}.tq-chip-alert{border-color:#f59e0b!important;color:#92400e!important;background:#fffbeb!important}.tq-daterange-wrap{position:relative}.tq-daterange-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:30;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0000001f;padding:12px;min-width:260px}.tq-daterange-row{display:flex;gap:10px}.tq-daterange-row label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);flex:1}.tq-daterange-row input{font-size:12px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text)}.tq-daterange-quick{display:flex;gap:12px;margin-top:10px}.tq-daterange-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.approvals-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}.approval-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer;text-align:left;width:100%;font-family:inherit}.approval-row-static{cursor:default}.approval-task-tag{font-size:10px;font-weight:600;color:#7b68ee;background:#f1eefe;border-radius:20px;padding:1px 7px;margin-left:6px;vertical-align:1px}.approval-task-actions{display:flex;gap:6px;flex-shrink:0}.approval-task-actions button{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:5px 10px}.approval-task-actions .sm{border-radius:8px}.urg-row{display:flex;gap:6px}.urg-pick{flex:1;font-size:13px;padding:8px 0;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;font-family:inherit}.urg-pick.on{border:1.5px solid var(--blue);background:#eff6ff;color:#1d4ed8;font-weight:500}.nt-photo-row{display:flex;flex-wrap:wrap;gap:8px}.nt-photo-chip{position:relative;width:56px;height:56px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}.nt-photo-chip img{width:100%;height:100%;object-fit:cover}.nt-photo-vid{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#111827;color:#fff}.nt-photo-chip button{position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:50%;border:none;background:#111827b3;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.nt-photo-add{width:56px;height:56px;border-radius:var(--radius);border:1px dashed var(--line-strong, var(--line));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--blue);cursor:pointer;font-size:10px}.nt-assign{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer}.nt-assign input{margin-top:2px}.approval-row:last-child{border-bottom:0}.approval-row:hover{background:var(--surface)}.approval-row-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.approval-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.approval-row-title{font-size:14px;font-weight:500;color:var(--text)}.approval-row-meta{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-row-status{font-size:11px;font-weight:500;flex-shrink:0}.approval-warning{background:#fffbeb;color:#92400e}.approval-danger{background:#fef2f2;color:#991b1b}.approval-success{background:#ecfdf5;color:#065f46}.approval-row-status.approval-warning{background:transparent;color:#92400e}.approval-row-status.approval-danger{background:transparent;color:#991b1b}.approval-row-status.approval-success{background:transparent;color:#065f46}.approvals-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 16px;color:var(--muted);text-align:center}.nav-badge{margin-left:auto;background:#4338ca;color:#fff;font-size:11px;font-weight:600;min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.approver-badge{display:inline-flex;align-items:center;gap:3px;margin-left:8px;font-size:10px;font-weight:600;color:#0f6e56;background:#e1f5ee;padding:1px 7px;border-radius:20px;vertical-align:middle}.tq-row{cursor:pointer;transition:border-color .1s}.tq-row:hover{border-color:var(--primary-muted, #93C5FD)}.tq-row-selected{border-color:var(--primary, #3B82F6)!important;box-shadow:0 0 0 2px #3b82f626}.tq-date-pill{display:inline-flex;align-items:center;gap:3px;background:#ede9fe;color:#6d28d9;font-size:11px;font-weight:500;padding:2px 7px;border-radius:4px}.tq-backlog-pill{background:#f3f4f6;color:#6b7280;font-size:11px;padding:2px 7px;border-radius:4px}.tq-project-pill{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:600;color:#5b21b6;background:#ede9fe;padding:1px 7px;border-radius:20px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tq-toggle-on{border-color:var(--blue)!important;color:var(--blue)!important}.pill-blocked{background:#fee2e2;color:#991b1b;padding:2px 7px;border-radius:4px;font-size:11px;font-weight:500}.pill-waiting{background:#fef3c7;color:#92400e;padding:2px 7px;border-radius:4px;font-size:11px;font-weight:500}.tq-dated-badge{background:#ede9fe;color:#6d28d9;font-size:11px;padding:1px 7px;border-radius:10px}.tq-detail{width:320px;flex-shrink:0;border-left:1px solid var(--line);background:var(--card);overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:16px}.tq-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.tq-detail-code{font-size:11px;color:var(--muted);margin-bottom:2px}.tq-detail-title{font-size:14px;font-weight:600;line-height:1.3}.tq-detail-desc{font-size:12px;color:var(--muted);line-height:1.6}.tq-detail-divider{height:1px;background:var(--line)}.tq-detail-section-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.tq-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:5px 0;border-bottom:1px solid var(--line)}.tq-detail-row span{color:var(--muted)}.tq-detail-row strong{color:var(--text)}.tq-detail-workers{display:flex;flex-direction:column;gap:8px}.tq-worker-row{display:flex;align-items:center;gap:8px}.tq-worker-av{width:28px;height:28px;border-radius:50%;background:#dbeafe;color:#1e40af;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;flex-shrink:0}.tq-worker-name{font-size:12px;font-weight:500}.tq-worker-meta{font-size:11px;color:var(--muted)}.tq-detail-actions{display:flex;flex-direction:column;gap:6px}.tq-detail-actions button{width:100%;justify-content:center}.shift-toggle-row{display:flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.shift-toggle-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;font-size:13px;background:transparent;border:none;color:var(--muted);cursor:pointer;transition:background .1s}.shift-toggle-btn+.shift-toggle-btn{border-left:1px solid var(--line)}.shift-day-on{background:#faeeda;color:#854f0b;font-weight:500}.shift-night-on{background:#eeedfe;color:#534ab7;font-weight:500}.seg-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:12px;font-weight:600;padding:6px 12px;border-radius:8px;cursor:pointer}.seg-chip-on{background:var(--blue);color:#fff;border-color:var(--blue)}.month-alloc-night{opacity:.85}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.mb-2{margin-bottom:8px}.w-full{width:100%;justify-content:center}.progress-bar-wrap{background:var(--bg);border-radius:20px;height:6px}.progress-bar-fill{background:#1d9e75;border-radius:20px;height:6px;transition:width .3s}.tab-bar{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:0;padding-bottom:0}.tab-btn{background:transparent;border:0;border-bottom:2px solid transparent;padding:8px 14px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;margin-bottom:-1px}.tab-btn.active{color:var(--blue);border-bottom-color:var(--blue)}.tab-btn:hover:not(.active){color:var(--ink)}.btn-primary{display:inline-flex;align-items:center;gap:7px;background:var(--blue);color:#fff;border:0;padding:10px 16px;border-radius:9px;font-weight:600;font-size:13px;cursor:pointer}.btn-primary:hover{background:var(--blue-deep)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-outline-sm{display:inline-flex;align-items:center;gap:6px;background:var(--surface);color:var(--ink-2);border:1px solid var(--line);padding:8px 13px;border-radius:9px;font-size:13px;font-weight:500;cursor:pointer}.btn-outline-sm:hover{background:var(--bg)}.btn-danger-outline{display:inline-flex;align-items:center;gap:7px;background:#fcebeb;color:#a32d2d;border:1px solid #F7C1C1;padding:10px 16px;border-radius:9px;font-size:13px;font-weight:500;cursor:pointer;width:100%;justify-content:center}.btn-danger-outline:hover{background:#f7c1c1}.back-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;color:var(--muted);font-weight:600;margin-bottom:12px;cursor:pointer;font-size:13px}.back-btn:hover{color:var(--blue)}.avatar-sm{width:32px;height:32px;border-radius:50%;background:#e6f1fb;color:#185fa5;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.checklist-item-row{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin-bottom:6px;cursor:pointer}.checklist-item-row:hover{background:var(--bg)}.cl-status-circle{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#1d9e75}.cl-status-circle.done{background:#1d9e75;border-color:#1d9e75;color:#fff}.cl-status-circle.issue{background:#fcebeb;border-color:#f7c1c1;color:#a32d2d}.cl-status-circle.inprog{background:#e6f1fb;border-color:#b5d4f4;color:#185fa5}.cl-badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;padding:2px 6px;border-radius:4px}.cl-badge-photo{background:#e6f1fb;color:#185fa5}.cl-badge-done{background:#eaf3de;color:#3b6d11}.cl-badge-issue{background:#fcebeb;color:#a32d2d}.cl-badge-product{background:#faeeda;color:#633806}.cl-badge-steps{background:var(--bg);color:var(--muted)}.cl-step-row{display:flex;align-items:flex-start;gap:10px;padding:7px 0;border-bottom:.5px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none}.cl-step-row:last-child{border-bottom:none}.cl-step-row:hover{opacity:.8}.cl-step-num{font-size:10px;color:var(--muted);flex-shrink:0;width:14px;margin-top:3px}.cl-step-check{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line);flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px}.cl-step-check.done{background:#1d9e75;border-color:#1d9e75;color:#fff}.cl-step-text{flex:1;font-size:13px;line-height:1.5;color:var(--ink)}.cl-step-text.done{color:var(--muted);text-decoration:line-through}.cl-proof-gate{background:#faeeda;border:.5px solid #FAC775;border-radius:9px;padding:9px 13px;font-size:12px;color:#633806;display:flex;align-items:center;gap:7px;margin-bottom:10px}.cl-all-done-banner{background:#eaf3de;border:.5px solid #C0DD97;border-radius:9px;padding:9px 13px;font-size:12px;color:#3b6d11;display:flex;align-items:center;gap:7px;margin-bottom:10px}.myjob-tabs{display:flex;gap:0;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--line);overflow-x:auto}.myjob-tab{padding:10px 14px;font-size:12px;font-weight:600;border:none;background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;letter-spacing:.01em}.myjob-tab:hover:not(.active){color:var(--ink-2)}.myjob-tab.active{color:var(--blue);border-bottom-color:var(--blue)}.myjob-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;border-radius:9px;background:var(--blue);color:#fff;padding:0 4px;font-size:10px;font-weight:700;margin-left:5px;vertical-align:middle}.myjob-tab-content{padding:16px}.myjob-detail-layout{display:flex;gap:14px;align-items:flex-start}.myjob-detail-main{flex:1;min-width:0}.myjob-detail-side{width:200px;flex-shrink:0;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px}.myjob-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.myjob-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;border:1px solid transparent}.chip-prio-critical{background:#fee2e2;color:#991b1b;border-color:#fecaca}.chip-prio-high{background:#fef3c7;color:#92400e;border-color:#fde68a}.chip-prio-medium{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.chip-prio-low{background:#d1fae5;color:#065f46;border-color:#a7f3d0}.chip-trade{background:#ede9fe;color:#5b21b6;border-color:#ddd6fe}.chip-prop{background:var(--bg);color:var(--muted);border-color:var(--line)}.chip-date{background:#f3e8ff;color:#6d28d9;border-color:#e9d5ff}.myjob-section-label{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.7px;text-transform:uppercase;margin-bottom:8px}.myjob-meta-grid{display:grid;grid-template-columns:auto 1fr;gap:0;margin-bottom:14px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.myjob-meta-key{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;padding:7px 10px;background:var(--bg);border-bottom:1px solid var(--line);white-space:nowrap}.myjob-meta-val{font-size:13px;font-weight:500;color:var(--ink);padding:7px 12px;background:var(--surface);border-bottom:1px solid var(--line)}.myjob-meta-key:last-of-type,.myjob-meta-val:last-of-type{border-bottom:none}.myjob-desc-section{margin-bottom:14px}.myjob-desc-text{font-size:13px;line-height:1.6;color:var(--ink-2);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.myjob-access-list{display:flex;flex-direction:column;gap:8px}.myjob-access-item{display:flex;gap:7px;font-size:12px;line-height:1.5;color:var(--ink-2);padding:6px 0;border-bottom:1px solid var(--line)}.myjob-access-item:last-child{border-bottom:none}.myjob-access-dot{color:var(--blue);font-size:16px;line-height:1;flex-shrink:0;margin-top:-1px}.myjob-prev-item{padding:7px 0;border-bottom:1px solid var(--line)}.myjob-prev-item:last-child{border-bottom:none}.myjob-prev-title{font-size:12px;font-weight:600;color:var(--ink)}.myjob-prev-meta{font-size:11px;color:var(--muted);margin-top:2px}.proc-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:10px;background:var(--surface);box-shadow:0 1px 3px #1018280a}.proc-card-head{display:flex;align-items:center;gap:8px;padding:9px 13px;background:var(--bg);border-bottom:1px solid var(--line)}.proc-card-meta{font-size:11px;color:var(--muted);font-weight:500}.proc-line-row{display:grid;grid-template-columns:26px 1fr;gap:8px;padding:9px 13px;border-bottom:1px solid var(--bg);align-items:flex-start}.proc-line-row:last-of-type{border-bottom:none}.proc-line-num{width:20px;height:20px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;margin-top:1px}.proc-line-desc{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:3px}.proc-line-qty{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;margin-bottom:4px}.proc-in-store{font-size:10px;color:#065f46;font-weight:700;background:#d1fae5;padding:1px 6px;border-radius:4px}.proc-line-photos{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}.proc-photo-thumb{width:42px;height:36px;border-radius:6px;overflow:hidden;border:1px solid var(--line)}.proc-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.proc-attach-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 0 4px}.proc-attach-item{text-decoration:none;color:inherit;display:block}.proc-attach-thumb{width:64px;height:56px;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block}.proc-attach-file{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:64px;height:56px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:10px;text-align:center;padding:4px;overflow:hidden}.proc-attach-file span{max-width:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proc-attach-video{color:var(--blue)}.proc-attach-add{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:10px;border:2px dashed var(--line);color:var(--ink-2);cursor:pointer;transition:border-color .15s,color .15s;flex-shrink:0}.proc-attach-camera{font-size:20px}.proc-attach-file-btn{font-size:18px}.proc-attach-add:hover{border-color:var(--blue);color:var(--blue)}.proc-attach-spinner{font-size:11px;color:var(--muted)}.proc-attach-empty{font-size:11px;color:var(--muted);font-style:italic}@media(max-width:760px){.proc-attach-add{width:64px;height:64px;border-radius:12px}.proc-attach-camera{font-size:24px}.proc-attach-thumb,.proc-attach-file{width:72px;height:64px}}.proc-store-note{padding:8px 13px;background:#f0fdf4;font-size:12px;color:#166534;border-top:1px solid #D1FAE5;display:flex;gap:7px;align-items:flex-start}.proc-card-actions{display:flex;gap:6px;padding:8px 13px;border-top:1px solid var(--line);background:var(--bg);flex-wrap:wrap}.btn-sm{padding:5px 11px;border-radius:6px;font-size:11px;font-weight:600;border:none;cursor:pointer}.btn-approve{background:#d1fae5;color:#065f46}.btn-approve:hover{background:#a7f3d0}.btn-reject{background:#fee2e2;color:#991b1b}.btn-reject:hover{background:#fecaca}.btn-order{background:#dbeafe;color:#1e40af}.btn-order:hover{background:#bfdbfe}.proc-new-form{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:10px}.proc-form-label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;display:block;margin-bottom:4px}.proc-form-input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:7px;font-size:13px;background:var(--surface);font-family:inherit;box-sizing:border-box;color:var(--ink)}.proc-form-input:focus{outline:none;border-color:var(--blue)}.proc-form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.proc-line-form-card{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:8px;background:var(--surface)}.proc-line-form-num{background:var(--blue);color:#fff;width:30px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.proc-line-form-body{padding:9px 11px;flex:1;min-width:0}.proc-remove-btn{background:#fee2e2;color:#991b1b;border:none;border-radius:6px;padding:5px 9px;font-size:13px;cursor:pointer}.proc-remove-btn:hover{background:#fecaca}.pli-editor{overflow-x:auto}.pli-header{display:grid;grid-template-columns:28px 1fr 52px 64px 80px 1fr 110px 120px 32px;gap:6px;align-items:center;padding:6px 6px 4px;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--line);margin-bottom:4px}.pli-row{display:grid;grid-template-columns:28px 1fr 52px 64px 80px 1fr 110px 120px 32px;gap:6px;align-items:start;padding:7px 6px;border-bottom:1px solid var(--line)}.pli-row:last-of-type{border-bottom:none}.pli-num{font-size:11px;font-weight:700;color:var(--muted);padding-top:8px;text-align:center}.pli-desc{display:flex;flex-direction:column}.pli-input{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:5px 8px;font-size:12px;color:var(--ink);width:100%;font-family:inherit}.pli-input:focus{outline:none;border-color:var(--blue)}.pli-qty{text-align:center}.pli-unit,.pli-date,.pli-proj{font-size:11px}.pli-img-cell{display:flex;align-items:flex-start;justify-content:center}.pli-thumb{width:44px;height:44px;object-fit:cover;border-radius:6px;border:1px solid var(--line);display:block}.pli-img-remove{position:absolute;top:-4px;right:-4px;width:14px;height:14px;border-radius:50%;background:#b91c1c;color:#fff;border:none;font-size:9px;cursor:pointer;display:flex;align-items:center;justify-content:center}.pli-img-placeholder{width:44px;height:44px;border-radius:6px;border:1.5px dashed var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);transition:border-color .15s}.pli-img-placeholder:hover{border-color:var(--blue);color:var(--blue)}.pli-remove{background:none;border:none;color:var(--muted);cursor:pointer;padding:6px 4px;border-radius:5px;display:flex;align-items:center}.pli-remove:hover{color:var(--danger);background:#fef2f2}.proc-line-img{width:36px;height:36px;object-fit:cover;border-radius:5px;border:1px solid var(--line);flex-shrink:0;margin-right:2px}.proc-line-specs{font-size:11px;color:var(--ink-2);margin-top:2px}.proc-line-meta{font-size:10px;color:var(--muted);margin-top:2px}@media(max-width:760px){.pli-header{display:none}.pli-row{grid-template-columns:1fr;grid-template-rows:auto;gap:8px;padding:12px 8px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px}.pli-num{text-align:left}.pli-img-cell{justify-content:flex-start}.pli-qty,.pli-unit,.pli-date,.pli-proj{width:auto}.pli-remove{justify-content:flex-end}}.proc-add-line-btn{width:100%;border:1.5px dashed var(--line);border-radius:9px;padding:9px;font-size:13px;color:var(--blue);font-weight:600;background:none;cursor:pointer;margin-bottom:10px;transition:background .1s}.proc-add-line-btn:hover{background:var(--bg);border-color:var(--blue)}.proc-store-note-field{background:#f0fdf4;border:1px solid #BBF7D0;border-radius:8px;padding:9px 13px;display:flex;gap:8px;font-size:12px;color:#166534}.daily-log-timeline{margin-bottom:14px}.daily-log-entry{display:flex;gap:10px;margin-bottom:10px}.daily-log-dot{width:10px;height:10px;border-radius:50%;background:var(--blue);flex-shrink:0;margin-top:5px;box-shadow:0 0 0 3px #e8f0fe}.daily-log-card{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:10px 13px;position:relative;box-shadow:0 1px 3px #1018280a}.daily-log-date{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}.daily-log-note{white-space:pre-wrap;font-size:13px;color:var(--ink-2);line-height:1.5;margin:0}.daily-log-remove{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--muted);cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center}.daily-log-remove:hover{background:#fee2e2;color:#991b1b}.daily-log-add-box{margin-top:4px}.daily-log-add-actions{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.worklog-card{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:10px 13px;margin-bottom:8px;box-shadow:0 1px 3px #1018280a}.worklog-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.worklog-card-who{display:flex;align-items:center;gap:8px}.worklog-avatar{width:26px;height:26px;border-radius:50%;background:#dbeafe;color:#1e40af;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.worklog-name{font-size:12px;font-weight:600;color:var(--ink)}.worklog-date{font-size:11px;color:var(--muted)}.worklog-note{font-size:13px;color:var(--ink-2);line-height:1.5;margin:0 0 6px}.worklog-approve-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;transition:all .1s}.worklog-approve-btn:hover{border-color:#16a34a;background:#d1fae5;color:#065f46}.worklog-approved-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:6px;background:#d1fae5;color:#065f46;font-size:11px;font-weight:600}.actuals-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px}.actuals-week-nav{display:flex;align-items:center;gap:8px}.actuals-week-label{font-size:13px;font-weight:600;color:var(--ink);min-width:160px;text-align:center}.actuals-nav-btn{width:30px;height:30px;border:1px solid var(--line);border-radius:7px;background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted)}.actuals-nav-btn:hover{border-color:var(--blue);color:var(--blue)}.actuals-worker-filter{padding:6px 10px;border:1px solid var(--line);border-radius:7px;font-size:12px;background:var(--surface);color:var(--ink)}.actuals-grid{display:grid;grid-template-columns:130px repeat(7,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.actuals-grid-cell{padding:8px 9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:70px;vertical-align:top}.actuals-grid-cell:last-child,.actuals-col-header:last-child{border-right:none}.actuals-grid-cell.last-row{border-bottom:none}.actuals-col-header{padding:8px 9px;background:var(--bg);font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.actuals-col-header.today-col{background:#eff6ff;color:var(--blue)}.actuals-worker-col-header{padding:8px 9px;background:var(--bg);font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.actuals-worker-label{padding:10px 9px;background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:7px}.actuals-worker-label.last-row{border-bottom:none}.actuals-worker-av{width:26px;height:26px;border-radius:50%;background:#dbeafe;color:#1e40af;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.actuals-worker-name{font-size:12px;font-weight:600;color:var(--ink)}.actuals-day-cell{padding:5px 7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:60px;background:var(--surface)}.actuals-day-cell.today-col{background:#f8fbff}.actuals-day-cell.last-row{border-bottom:none}.actuals-day-cell:last-child{border-right:none}.actuals-block{border-radius:5px;padding:4px 7px;font-size:11px;font-weight:600;margin-bottom:3px;line-height:1.3}.actuals-planned{background:#ede9fe;color:#5b21b6}.actuals-done{background:#d1fae5;color:#065f46}.actuals-no-log{background:#f3f4f6;color:#6b7280;font-weight:500}.actuals-chip-planned{background:#ede9fe!important;color:#5b21b6!important}.actuals-chip-approved{background:#d1fae5!important;color:#065f46!important}.actuals-chip-pending{background:#fef3c7!important;color:#92400e!important;border:none;cursor:pointer;font-family:inherit}.actuals-legend-row{display:flex;gap:16px;flex-wrap:wrap;padding:0 24px 14px}.actuals-legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.actuals-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.actuals-worker-select{margin-left:auto;padding:5px 10px;border:1px solid var(--line);border-radius:7px;font-size:12px;background:var(--surface)}.task-detail-modal{width:920px;max-width:96vw;height:82vh;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;padding:0}.task-detail-panel-inner{display:flex;flex-direction:column;height:100%;overflow:hidden}.task-detail-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 24px 16px;border-bottom:1px solid var(--line);flex-shrink:0;background:var(--surface)}.task-detail-modal .myjob-tabs{flex-shrink:0;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--line)}.task-detail-modal .myjob-tab-content{overflow-y:auto;flex:1;padding:24px;min-height:0}@media(max-width:760px){.task-detail-modal .myjob-tabs{padding:0}.task-detail-modal .myjob-tab{flex:1;padding:10px 4px;font-size:11px;text-align:center}}.task-detail-modal .td-modal-body{padding:0!important;flex:1;min-height:0}.td-modal-body{padding:0!important;overflow:hidden;display:flex;flex-direction:column;height:100%}.td-modal-layout{display:grid;grid-template-columns:1fr 300px;gap:0;overflow:hidden;height:100%}.td-modal-main{overflow-y:auto;padding:24px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:0}.td-modal-sidebar{overflow-y:auto;padding:20px;background:var(--bg);display:flex;flex-direction:column;gap:16px}.td-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.td-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;background:#f1f5f9;color:var(--ink-2)}.td-chip-prio-critical{background:#fee2e2;color:#991b1b}.td-chip-prio-high{background:#fef3c7;color:#92400e}.td-chip-prio-medium{background:#e0f2fe;color:#075985}.td-chip-prio-low{background:#f0fdf4;color:#166534}.td-chip-trade{background:#ede9fe;color:#5b21b6}.td-chip-prop{background:#e0f2fe;color:#0369a1}.td-chip-date{background:#f0fdf4;color:#166534}.td-chip-backlog{background:#f3f4f6;color:#6b7280}.td-section{margin-bottom:24px}.td-section-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.td-description{font-size:14px;color:var(--ink-2);line-height:1.6;margin:0}.td-photo-grid{display:flex;flex-wrap:wrap;gap:8px}.td-photo-thumb{width:72px;height:60px;border-radius:8px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);color:var(--muted);font-size:10px;gap:2px;text-decoration:none}.td-photo-thumb img{width:100%;height:100%;object-fit:cover}.td-notes-thread{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.td-note-bubble{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.td-note-author{font-size:11px;font-weight:700;color:var(--ink);margin-bottom:3px}.td-note-text{font-size:13px;color:var(--ink-2);margin:0 0 4px;line-height:1.5}.td-note-time{font-size:10px;color:var(--muted)}.td-note-compose{display:flex;gap:8px;align-items:flex-start}.td-note-input{flex:1;resize:none;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;font-family:inherit;color:var(--ink);background:var(--surface);outline:none}.td-note-input:focus{border-color:var(--blue)}.td-note-attach-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;cursor:pointer;color:var(--muted);background:var(--surface);flex-shrink:0}.td-note-attach-btn:hover{color:var(--blue);border-color:var(--blue)}.td-note-attach-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.td-note-attach-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 4px;border:1px solid var(--line);border-radius:8px;background:var(--surface);max-width:180px}.td-note-attach-chip img{width:26px;height:26px;object-fit:cover;border-radius:4px;flex-shrink:0}.td-note-attach-name{font-size:11px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-note-attach-x{display:inline-flex;background:none;border:0;cursor:pointer;color:var(--muted);padding:0;flex-shrink:0}.td-note-attach-x:hover{color:#dc2626}.td-note-att-grid{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px}.td-note-att-thumb{display:block;width:64px;height:64px;border-radius:6px;overflow:hidden;border:1px solid var(--line);background:#000}.td-note-att-thumb img,.td-note-att-thumb{object-fit:cover}.td-note-att-thumb video{width:100%;height:100%;object-fit:cover}.td-note-att-file{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:12px;color:var(--blue);text-decoration:none;max-width:200px}.td-note-att-file span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-note-att-file:hover{border-color:var(--blue)}.td-status-badge{display:inline-block;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;text-align:center;background:#e0f2fe;color:#075985}.td-status-badge[data-status=done]{background:#d1fae5;color:#065f46}.td-status-badge[data-status=in-progress]{background:#fef3c7;color:#92400e}.td-status-badge[data-status=triaged]{background:#ede9fe;color:#5b21b6}.td-status-badge[data-status=scheduled]{background:#dbeafe;color:#1d4ed8}.td-status-badge[data-status=cancelled]{background:#fee2e2;color:#991b1b}.td-meta-table{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}.td-meta-row{display:flex;border-bottom:1px solid var(--line)}.td-meta-key{padding:8px 10px;font-size:11px;font-weight:600;color:var(--muted);width:110px;flex-shrink:0;background:var(--bg)}.td-meta-val{padding:8px 10px;font-size:12px;color:var(--ink);flex:1}.td-sidebar-section{display:flex;flex-direction:column;gap:8px}.td-sidebar-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.td-worker-row{display:flex;align-items:center;gap:9px}.td-worker-av{width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.td-worker-name{font-size:13px;font-weight:600;color:var(--ink)}.td-worker-trade{font-size:11px;color:var(--muted)}.td-sidebar-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:8px}.cl-my-header{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:8px}.cl-my-header-top{display:flex;justify-content:space-between;align-items:flex-start}.cl-my-header-sub{font-size:12px;color:var(--muted);margin-top:2px}.cl-my-progress{margin-top:12px}.cl-nextdue{font-size:12px;color:var(--blue);margin-top:6px}.cl-time-group-label{font-size:11px;color:var(--muted);font-weight:600;padding:10px 0 4px;letter-spacing:.5px}.cl-task-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer}.cl-task-row:hover{background:var(--bg);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:6px}.cl-task-circle{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);flex-shrink:0}.cl-task-circle.done{background:#059669;border-color:#059669}.cl-task-circle.overdue{background:#d97706;border-color:#d97706}.cl-task-title{font-size:13px;flex:1;color:var(--ink-2)}.cl-task-title.done{color:var(--muted);text-decoration:line-through}.cl-badges{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.cl-badge-done{background:#065f46;color:#fff;font-size:11px;padding:2px 7px;border-radius:20px;white-space:nowrap}.cl-badge-dueNow{background:#fef3c7;color:#d97706;font-size:11px;padding:2px 7px;border-radius:20px;white-space:nowrap}.cl-badge-required{border:1px solid #D97706;color:#d97706;font-size:11px;padding:2px 7px;border-radius:20px;white-space:nowrap}.cl-badge-optional{border:1px solid var(--line);color:var(--muted);font-size:11px;padding:2px 7px;border-radius:20px;white-space:nowrap}.cl-badge-issues{border:1px solid #DC2626;color:#dc2626;font-size:11px;padding:2px 7px;border-radius:20px;white-space:nowrap}.cl-badge-requests{border:1px solid #7C3AED;color:#7c3aed;font-size:11px;padding:2px 7px;border-radius:20px;white-space:nowrap}.cl-badge-photo{background:var(--bg);color:var(--muted);font-size:11px;padding:2px 7px;border-radius:20px;white-space:nowrap}.cl-item-head{background:#111827;color:#fff;padding:16px;border-radius:var(--radius);margin-bottom:12px}.cl-step-row2{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer}.cl-step-row2:hover{background:var(--bg)}.cl-step-num2{width:20px;text-align:right;color:var(--muted);font-size:12px;flex-shrink:0}.cl-step-circle{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);flex-shrink:0}.cl-step-circle.done{background:#059669;border-color:#059669}.cl-step-circle.current{border-color:var(--blue);background:#dbeafe}.cl-step-text2{font-size:13px;color:var(--ink-2)}.cl-step-text2.done{text-decoration:line-through;color:var(--muted)}.cl-proof-banner{background:#fef3c7;color:#d97706;border:1px solid #FCD34D;border-radius:var(--radius);padding:10px 14px;font-size:13px;margin:12px 0}.cl-done-banner{background:#d1fae5;color:#065f46;border:1px solid #6EE7B7;border-radius:var(--radius);padding:10px 14px;font-size:13px;margin:12px 0}.cl-upload-btn{width:100%;padding:12px;border:2px solid var(--blue);border-radius:var(--radius);background:#fff;color:var(--blue);font-size:14px;font-weight:600;cursor:pointer;margin-bottom:8px}.cl-upload-btn:disabled{border-color:var(--line);color:var(--muted);cursor:not-allowed}.cl-complete-btn{width:100%;padding:12px;border-radius:var(--radius);background:var(--blue);color:#fff;font-size:14px;font-weight:600;cursor:pointer;border:none;margin-bottom:12px}.cl-complete-btn:disabled{background:var(--bg);color:var(--muted);cursor:not-allowed}.cl-action-row{display:flex;gap:8px;margin-bottom:12px}.cl-action-row>button{flex:1;justify-content:center}.form-input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:14px;font-family:inherit;background:var(--surface);color:var(--ink)}.form-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #1640ff1f}.form-input::placeholder{color:var(--muted)}textarea.form-input{resize:vertical;min-height:64px}.cl-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}.cl-photo-slot{aspect-ratio:1;border-radius:8px;background:#1f2937;overflow:hidden}.cl-photo-slot img{width:100%;height:100%;object-fit:cover}.cl-add-photo-slot{aspect-ratio:1;border-radius:8px;border:2px dashed var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;color:var(--muted)}.cl-board-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.cl-board-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.cl-stat-box{border:1px solid var(--line);border-radius:var(--radius);padding:14px;text-align:center;background:var(--surface)}.cl-stat-value{font-size:24px;font-weight:700;color:var(--ink)}.cl-stat-label{font-size:11px;color:var(--muted);margin-top:2px}.cl-run-card{border:1px solid var(--line);border-radius:var(--radius);padding:16px;cursor:pointer;margin-bottom:10px;background:var(--surface)}.cl-run-card:hover{border-color:var(--blue);box-shadow:var(--shadow)}.cl-run-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.cl-run-name{display:flex;align-items:center}.cl-run-sub{font-size:12px;color:var(--muted);margin-top:2px}.cl-run-progress-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.cl-run-pills{display:flex;gap:10px;flex-wrap:wrap}.cl-tpl-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.cl-tpl-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;padding:12px;background:var(--bg);border-radius:var(--radius)}.cl-tpl-table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.cl-tpl-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.cl-tpl-row:last-child{border-bottom:none}.cl-tpl-time{width:50px;font-size:12px;color:var(--muted);flex-shrink:0}.cl-tpl-title{flex:1;font-size:13px;color:var(--ink-2)}.cl-tpl-badges{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.cl-tpl-repeat{font-size:11px;color:#d97706;margin-left:4px}.cl-tpl-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.cl-item-form .form-field label{font-size:12px;color:var(--muted);font-weight:600}.cl-tpl-row-col{flex-direction:column;align-items:stretch;gap:8px}.cl-tpl-row-head{display:flex;align-items:flex-start;gap:10px}.cl-tpl-desc{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.5}.cl-subtask-list{list-style:none;margin:0 0 2px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 16px}.cl-subtask-list li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);line-height:1.45;counter-increment:st}.cl-subtask-list li:before{content:counter(st);flex:0 0 20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--muted);background:var(--bg);border-radius:5px}.cl-subtask-list{counter-reset:st}.cl-subtask-mini{width:26px;height:26px;border-radius:5px;object-fit:cover;flex:0 0 26px;border:1px solid var(--line)}.cl-img-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.cl-img-thumb{position:relative;width:76px;height:76px;border-radius:9px;overflow:hidden;border:1px solid var(--line);flex:0 0 auto}.cl-img-thumb img{width:100%;height:100%;object-fit:cover;display:block}.cl-img-remove{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;border:none;background:#0009;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.cl-img-add{width:76px;height:76px;border-radius:9px;border:1px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:11px;cursor:pointer;flex:0 0 auto}.cl-img-add:hover{border-color:var(--blue);color:var(--blue)}.cl-subtask-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.cl-subtask-num{width:18px;font-size:12px;color:var(--muted);flex:0 0 auto;text-align:center}.cl-subtask-row .form-input{flex:1;min-width:0}.cl-subtask-attach{width:38px;height:38px;border-radius:8px;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;flex:0 0 auto}.cl-subtask-attach:hover{border-color:var(--blue);color:var(--blue)}.cl-subtask-thumb{position:relative;width:38px;height:38px;border-radius:8px;overflow:hidden;border:1px solid var(--line);flex:0 0 auto}.cl-subtask-thumb img{width:100%;height:100%;object-fit:cover;display:block}.cl-subtask-thumb button{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;border:none;background:#000000a6;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.cl-subtask-del{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;flex:0 0 auto}.cl-subtask-del:hover{color:var(--danger)}.cl-ref-gallery{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.cl-ref-photo{flex:0 0 auto;width:140px;border-radius:10px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;background:var(--surface);text-decoration:none}.cl-ref-photo img{width:100%;height:105px;object-fit:cover;display:block}.cl-ref-caption{font-size:11px;color:var(--ink-2);line-height:1.3;padding:5px 7px 6px;text-align:center;white-space:normal}.cl-step-thumb{flex:0 0 auto;width:34px;height:34px;border-radius:7px;overflow:hidden;border:1px solid var(--line);margin-left:auto;display:block}.cl-step-thumb img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:760px){.cl-tpl-meta{grid-template-columns:1fr;gap:8px}.cl-tpl-row{flex-wrap:wrap;align-items:flex-start;padding:12px 8px}.cl-tpl-time{width:auto}.cl-tpl-title{flex-basis:100%;font-size:14px}.cl-tpl-badges{width:100%;justify-content:flex-start;margin-top:4px}.cl-tpl-header{row-gap:6px}.form-row-2{grid-template-columns:1fr;gap:10px}.cl-tpl-footer button{flex:1}.cl-item-form textarea.form-input,.cl-item-form input.form-input,.cl-item-form select.form-input{font-size:16px}}.idle-warning-bar{position:fixed;top:0;left:0;right:0;z-index:9999;background:#92400e;color:#fef3c7;display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 20px;font-size:13px;font-weight:500}.idle-warning-bar button{background:#fef3c7;color:#92400e;border:none;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:700;cursor:pointer}.subtask-section{margin-top:14px}.subtask-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.subtask-progress{font-size:11px;color:var(--muted)}.subtask-progress-bar{height:4px;background:var(--line);border-radius:2px;margin-bottom:10px;overflow:hidden}.subtask-progress-fill{height:100%;background:#1d9e75;border-radius:2px;transition:width .3s}.subtask-item{border:1px solid var(--line);border-radius:8px;margin-bottom:7px;overflow:hidden;background:var(--surface)}.subtask-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.subtask-cb{width:18px;height:18px;border-radius:4px;border:1.5px solid var(--line);background:var(--bg);flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;transition:all .15s}.subtask-cb.checked{background:#1d9e75;border-color:#1d9e75}.subtask-text{flex:1;font-size:13px;color:var(--ink);line-height:1.4}.subtask-text.done{text-decoration:line-through;color:var(--muted)}.subtask-expand-btn{font-size:11px;color:var(--blue);background:none;border:none;cursor:pointer;padding:0;flex-shrink:0;display:flex;align-items:center;gap:2px;margin-top:2px;white-space:nowrap}.subtask-note-area{border-top:1px solid var(--line);padding:8px 12px;background:var(--bg)}.subtask-note-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px;display:block}.subtask-note-text{font-size:12px;color:var(--ink-2);line-height:1.4}.subtask-note-saved{display:flex;flex-direction:column;gap:3px;cursor:pointer}.subtask-note-edit{font-size:10px;color:var(--blue)}.subtask-cb.blocked{background:#ef4444;border-color:#ef4444}.subtask-text-wrap{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.subtask-ts{font-size:10px;color:var(--muted)}.subtask-blocked-note{font-size:11px;color:#b91c1c;background:#fee2e2;border-radius:4px;padding:2px 6px;display:inline-flex;align-items:center;gap:4px;margin-top:2px}.subtask-item.subtask-blocked{background:#fff5f5;border-color:#fca5a5}.subtask-row-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.subtask-block-btn{background:none;border:1px solid var(--line);border-radius:5px;padding:3px 5px;cursor:pointer;color:#ef4444;display:flex;align-items:center}.subtask-block-btn:hover{background:#fee2e2}.subtask-block-btn.clear{color:var(--muted)}.submit-verif-blocked{border-color:#94a3b8!important;color:#94a3b8!important;background:#f8fafc!important;cursor:default!important;font-size:11px}.st-audit{display:flex;flex-direction:column;gap:0}.st-audit-row{display:flex;gap:12px;padding-bottom:14px;position:relative}.st-audit-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:4px}.st-audit-done .st-audit-dot{background:#1d9e75}.st-audit-blocked .st-audit-dot{background:#ef4444}.st-audit-pending .st-audit-dot{background:#94a3b8}.st-audit-body{flex:1}.st-audit-text{font-size:13px;color:var(--ink);line-height:1.4}.st-audit-ts{font-size:11px;color:var(--muted);margin-top:2px}.st-audit-pending{margin-top:10px;padding:10px 14px;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;font-size:12px;color:#92400e}.subtask-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 6px}.subtask-photo-thumb{position:relative;aspect-ratio:1;border-radius:6px;overflow:hidden;border:1px solid var(--line)}.subtask-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.subtask-photo-remove{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:#0000008c;border:none;color:#fff;font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.subtask-photo-actions{display:flex;gap:8px;margin-top:6px}.subtask-photo-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;padding:6px 12px;border-radius:6px;border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink-2)}.subtask-photo-btn:active{background:var(--bg)}.mjl-section{margin-bottom:24px}.mjl-section-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;padding-left:2px}.mjl-card{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;margin-bottom:10px;transition:box-shadow .15s;overflow:hidden}.mjl-card:hover{box-shadow:0 2px 10px #00000014}.mjl-bar{width:4px;flex-shrink:0}.urg-bar-critical{background:#e24b4a}.urg-bar-high{background:#ef9f27}.urg-bar-medium{background:#378add}.urg-bar-low{background:#64748b}.mjl-body{flex:1;padding:12px 14px;min-width:0}.mjl-title-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.mjl-title{font-weight:600;font-size:14px;color:var(--ink);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mjl-chevron{color:var(--muted);flex-shrink:0}.mjl-meta{font-size:12px;color:var(--ink-2);margin-bottom:8px}.mjl-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mjl-pill{font-size:10px;font-weight:600;padding:2px 8px;border-radius:99px;background:var(--bg);color:var(--ink-2);border:1px solid var(--line)}.mjl-pill.mjl-status-done{background:#d1fae5;color:#065f46;border-color:#a7f3d0}.mjl-pill.mjl-status-in-progress{background:#dbeafe;color:#1e40af;border-color:#93c5fd}.mjl-pill.mjl-status-blocked{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.mjl-due{font-size:11px;color:var(--muted)}.mjl-due.overdue{color:#e24b4a;font-weight:600}.mjd-root{display:flex;flex-direction:column;min-height:calc(100vh - 56px);background:var(--bg)}.mjd-root .myjob-tabs{padding:0}.mjd-root .myjob-tab{flex:1;padding:10px 6px;font-size:11px;text-align:center}.mjd-hero{background:#1a1f2e;padding:14px 16px 16px}.mjd-back-btn{display:inline-flex;align-items:center;gap:4px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);color:#ffffffd9;font-size:12px;cursor:pointer;padding:4px 10px;border-radius:99px;margin-bottom:12px}.mjd-back-btn:hover{background:#fff3}.mjd-prio-badge{display:inline-block;font-size:10px;font-weight:700;color:#fff;padding:3px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.mjd-title{font-size:17px;font-weight:700;color:#fff;margin:0 0 6px;line-height:1.3}.mjd-site-row{font-size:12px;color:#fff9}.mjd-body{flex:1;overflow-y:auto;padding:4px 0;-webkit-overflow-scrolling:touch}.mjd-manager-notes{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:10px 14px;margin-bottom:14px}.mjd-manager-note{font-size:13px;color:#78350f;line-height:1.5}.mjd-bottom{background:var(--surface);border-top:1px solid var(--line);padding:12px 16px 16px;box-shadow:0 -2px 10px #00000012}.mjd-status-pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.mjd-status-pill{font-size:11px;font-weight:600;padding:5px 12px;border-radius:99px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink-2);cursor:pointer;transition:all .15s}.mjd-status-pill:hover{border-color:var(--blue);color:var(--blue)}.mjd-status-pill.active{background:var(--blue);color:#fff;border-color:var(--blue)}.mjd-status-pill.submit-verif{border-color:#16a34a;color:#15803d;background:#f0fdf4}.mjd-status-pill.submit-verif:hover{background:#16a34a;color:#fff;border-color:#16a34a}.mjd-status-pill.pending-verif-badge{background:#fffbeb;color:#92400e;border-color:#f59e0b;cursor:default}.verif-banner{display:flex;align-items:flex-start;gap:12px;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;padding:14px 16px;margin-bottom:20px}.verif-banner-icon{color:#d97706;flex-shrink:0;margin-top:1px}.verif-banner-title{font-size:14px;font-weight:700;color:#92400e;margin-bottom:3px}.verif-banner-sub{font-size:12px;color:#92400e;line-height:1.5}.verif-signoff-btn{background:#16a34a!important;border-color:#16a34a!important}.verif-signoff-btn:hover{background:#15803d!important}.verif-rework-btn{border-color:#ef4444!important;color:#dc2626!important}.verif-rework-btn:hover{background:#fef2f2!important}.verif-send-btn{border-color:#4338ca!important;color:#4338ca!important;display:inline-flex;align-items:center;justify-content:center;gap:6px}.verif-send-btn:hover{background:#eef2ff!important}.verif-rework-confirm{background:#ef4444!important;border-color:#ef4444!important}.rework-modal-overlay{position:absolute;inset:0;background:#0006;z-index:50;display:flex;align-items:center;justify-content:center;border-radius:inherit}.rework-modal{background:var(--surface);border-radius:12px;padding:20px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d}.rework-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.mjd-cta-btn{display:flex;align-items:center;gap:6px;width:100%;justify-content:center;background:var(--blue);color:#fff;border:none;border-radius:var(--radius);padding:10px;font-size:14px;font-weight:600;cursor:pointer;margin-bottom:8px}.mjd-cta-btn:hover{opacity:.9}.mjd-quick-actions{display:flex;gap:8px}.mjd-quick-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;font-weight:500;background:var(--bg);border:1.5px solid var(--line);border-radius:var(--radius);padding:7px 6px;cursor:pointer;color:var(--ink-2)}.mjd-quick-btn:hover{border-color:var(--blue);color:var(--blue)}.mjd-quick-btn.warn{border-color:#fca5a5;color:#dc2626}.mjd-quick-btn.warn:hover{background:#fee2e2}.livebd-root{padding:0 0 20px}.livebd-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}.livebd-stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;text-align:center}.livebd-stat-val{font-size:26px;font-weight:700;color:var(--ink);line-height:1;margin-bottom:4px}.livebd-stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.livebd-cols{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}.livebd-main{min-width:0}.livebd-feed-pending{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:11px;color:var(--warn)}.livebd-sidebar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.livebd-section-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.livebd-worker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:8px}.livebd-worker-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;position:relative}.livebd-worker-card.blocked{border-color:#fca5a5;background:#fff5f5}.livebd-wc-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.livebd-avatar{width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.livebd-wc-info{flex:1;min-width:0}.livebd-wc-name{font-weight:600;font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.livebd-wc-trade{font-size:12px;color:var(--muted)}.livebd-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.livebd-job-pill{background:var(--bg);border-radius:7px;padding:8px 10px}.livebd-job-title{font-size:12px;font-weight:500;color:var(--ink);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.livebd-job-meta{font-size:11px;color:var(--muted);margin-bottom:5px}.livebd-job-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:99px;background:#dbeafe;color:#1e40af}.livebd-job-badge.done{background:#d1fae5;color:#065f46}.livebd-job-badge.blocked{background:#fee2e2;color:#991b1b}.livebd-job-badge.prog{background:#dbeafe;color:#1e40af}.livebd-no-job{font-size:12px;color:var(--muted);font-style:italic}.livebd-last-update{font-size:10px;color:var(--muted);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.livebd-feed-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.livebd-feed-item.approved{opacity:.7}.livebd-feed-av{width:32px;height:32px;border-radius:50%;background:#6366f1;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.livebd-feed-av.sm{width:26px;height:26px;font-size:11px}.livebd-feed-content{flex:1;min-width:0}.livebd-feed-head{font-size:13px;color:var(--ink);margin-bottom:2px}.livebd-feed-meta{font-size:11px;color:var(--muted);margin-bottom:4px}.livebd-feed-note{font-size:13px;color:var(--ink-2);margin-bottom:6px;line-height:1.4}.livebd-feed-photos{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.livebd-feed-photo{width:52px;height:44px;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--line)}.livebd-approve-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;border:1.5px solid #059669;color:#059669;background:none;border-radius:6px;padding:4px 10px;cursor:pointer}.livebd-approve-btn:hover{background:#d1fae5}.livebd-approval-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.livebd-appr-btn{font-size:11px;font-weight:600;background:#059669;color:#fff;border:none;border-radius:5px;padding:4px 10px;cursor:pointer;flex-shrink:0}.livebd-appr-btn:hover{opacity:.85}@media(max-width:760px){.livebd-stats{grid-template-columns:repeat(2,1fr)}.livebd-cols{grid-template-columns:1fr}.livebd-sidebar{order:-1}.mjd-root{position:fixed;inset:56px 0 0;z-index:150;overflow:hidden;display:flex;flex-direction:column}.mjd-root .myjob-tabs{position:sticky;top:0;z-index:5;flex-shrink:0}.mjd-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.mjd-bottom{flex-shrink:0}.mjl-title{font-size:13px}.mjd-quick-btn{font-size:11px;padding:6px 4px}}.proc-board-table{border:1px solid var(--border);border-radius:8px;overflow:hidden}.proc-board-thead,.proc-board-row{display:grid;grid-template-columns:2fr 1.2fr 60px 140px 110px 160px;align-items:center;padding:10px 14px;gap:12px}.proc-board-thead{background:var(--surface-2);font-size:11px;font-weight:700;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border)}.proc-board-row{border-top:1px solid var(--border);transition:background .12s}.proc-board-row:first-child{border-top:none}.proc-board-row:hover{background:var(--surface-2)}.proc-board-desc{font-size:13px;font-weight:500;color:var(--ink-1)}.proc-list-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:background .12s;margin-bottom:8px;background:var(--surface)}.proc-list-row:hover{background:var(--surface-2)}.proc-list-desc{font-size:13px;font-weight:500;color:var(--ink-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proc-list-meta{font-size:11px;color:var(--muted);margin-top:2px}.proc-item-row:hover{background:var(--surface-2)}.proc-item-row:hover .proc-item-actions{opacity:1!important}.proc-item-actions{transition:opacity .1s}.proc-success-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:color-mix(in srgb,var(--success) 10%,transparent);border:1px solid color-mix(in srgb,var(--success) 30%,transparent);border-radius:8px;margin-bottom:12px;font-size:12px;color:var(--ink-1)}.wsum-narrative{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:0 10px 10px 0;padding:14px 16px;margin-bottom:16px}.wsum-meta{font-size:11px;color:var(--muted);margin-top:8px}.wsum-group{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px}.wsum-group-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:14px}.wsum-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.wsum-row{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:13px;border-top:1px solid var(--line);flex-wrap:wrap}.wsum-row:first-of-type{border-top:0}.wsum-name{min-width:150px;flex-shrink:0}.wsum-job{font-size:11px;font-weight:600;border-radius:20px;padding:2px 9px;white-space:nowrap}.wsum-days{font-size:11px;color:var(--muted)}.wsum-leave{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:#b45309}.wsum-jobs{margin-top:10px;padding-top:9px;border-top:1px dashed var(--line)}.wsum-jobs-head{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}.wsum-job-row{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12px;flex-wrap:wrap}.wsum-job-title{flex:1;min-width:120px}.wsum-pri{font-size:10px;font-weight:700;border-radius:4px;padding:1px 6px;background:var(--surface-2, #eef);color:var(--ink-2);flex-shrink:0}.wsum-pri-critical{background:#fee2e2;color:#991b1b}.wsum-pri-high{background:#ffedd5;color:#9a3412}.wsum-pri-medium{background:#fef3c7;color:#92400e}.wsum-pri-low{background:#e5e7eb;color:#374151}.wsum-due{font-size:10px;font-weight:600;color:#1d4ed8;background:#dbeafe;border-radius:4px;padding:1px 6px}.wsum-unassigned{font-size:10px;font-weight:700;color:#b45309;background:#fef3c7;border-radius:4px;padding:1px 6px}.wsum-worker-msg{background:#f5f3ff;border-left:3px solid #7C3AED;border-radius:0 8px 8px 0;padding:10px 12px;margin:2px 0 10px;font-size:13px;line-height:1.6;white-space:pre-wrap}.wsum-copy-btn{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 9px}.wsum-worker-msg-box{background:#f5f3ff;border-left:3px solid #7C3AED;border-radius:0 8px 8px 0;padding:10px 12px;margin:2px 0 10px}.wsum-worker-msg-edit{width:100%;box-sizing:border-box;background:#fff;border:1px solid #E5E1F5;border-radius:6px;padding:8px 10px;font-size:13px;line-height:1.6;font-family:inherit;color:inherit;resize:vertical}.wsum-worker-msg-edit:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed26}.wsum-worker-msg-actions{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.wsum-edited-badge{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#92400e}.oncall-toolbar{display:flex;align-items:center;gap:8px;margin:0 0 8px;flex-wrap:wrap}.oncall-toolbar-title{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#b45309;margin-right:4px}.oncall-row{background:#fffbf3}.oncall-row .oncall-label{border-top:2px solid #FCD9A0}.oncall-row .oncall-cell{border-top:2px solid #FCD9A0;cursor:pointer;vertical-align:middle}.oncall-badge{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none}.oncall-chip{display:inline-block;font-size:12px;font-weight:500;padding:3px 8px;border-radius:6px}.oncall-add{font-size:11px;color:#b4b2a9}.oncall-cell:hover .oncall-add{color:#854f0b}.oncall-flag{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:500;color:#b45309;background:#faeeda;border-radius:4px;padding:1px 4px;margin-bottom:3px}.oncall-backdrop{position:fixed;inset:0;z-index:40}.oncall-menu{position:fixed;z-index:41;background:#fff;border:1px solid #E5E1D8;border-radius:10px;box-shadow:0 8px 24px #0000001f;width:190px;padding:5px}.oncall-menu-head{font-size:11px;color:#888780;padding:5px 8px 6px;border-bottom:.5px solid #EEE;margin-bottom:4px}.oncall-mi{display:flex;align-items:center;gap:6px;font-size:13px;padding:6px 8px;border-radius:6px;cursor:pointer}.oncall-mi>span{flex:1}.oncall-mi:hover{background:#f5f3ef}.oncall-mi.on{background:#faeeda;color:#854f0b}.oncall-mi.lv{color:#b4b2a9;cursor:not-allowed}.oncall-mi.clear{color:#b91c1c;border-top:.5px solid #EEE;margin-top:4px}.oncall-trade-row{display:flex;align-items:center;gap:8px;font-size:14px;padding:8px 0;border-bottom:.5px solid #F0EEE8}.oncall-trade-row>span:first-child{display:inline-flex;align-items:center;gap:6px}.oncall-add-trade{display:flex;gap:8px;margin-top:14px}.oncall-add-trade input{flex:1}.oncall-plan-table{width:100%;border-collapse:collapse;font-size:13px}.oncall-plan-table th,.oncall-plan-table td{border:.5px solid #EEE;padding:6px 8px;text-align:center}.oncall-plan-table th{font-size:11px;color:#888780;font-weight:500}.oncall-plan-trade{text-align:left!important;font-weight:500}.oncall-rationale{display:flex;gap:8px;font-size:13px;line-height:1.55;color:#5f5e5a;background:#f5f3ff;border-radius:8px;padding:10px 12px;margin-top:14px}.oncall-plan-instruction{display:flex;gap:8px;margin-top:12px}.oncall-plan-instruction input{flex:1}.alloc-helper-chip{background:#eeedfe!important;color:#3c3489!important;border:1px dashed #7F77DD}.alloc-helper-chip .alloc-chip-main{gap:4px}.alloc-helper-badge{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:500;color:#3c3489;background:#eeedfe;border-radius:4px;padding:1px 5px;margin-top:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alloc-helper-chip-night{border:1px solid #4338CA}.myweek{background:var(--surface-2, #fff);border:1px solid var(--border, #E5E1D8);border-radius:12px;padding:12px 14px;margin:14px 0}.myweek-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px}.myweek-title{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600}.myweek-nav{display:flex;align-items:center;gap:6px}.myweek-range{font-size:12px;color:var(--muted, #6b6b6b);min-width:120px;text-align:center}.myweek-days{display:flex;flex-direction:column;gap:4px}.myweek-day{display:flex;gap:10px;align-items:flex-start;padding:6px 8px;border-radius:8px}.myweek-day-today{background:#eef2ff}.myweek-daylabel{display:flex;flex-direction:column;align-items:center;width:38px;flex:none}.myweek-dow{font-size:11px;color:var(--muted, #6b6b6b);text-transform:uppercase}.myweek-dom{font-size:16px;font-weight:600;line-height:1.1}.myweek-chips{display:flex;flex-wrap:wrap;gap:5px;align-items:center;flex:1;min-width:0;padding-top:2px}.myweek-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:3px 9px;border-radius:14px}.myweek-job{display:flex;align-items:center;gap:5px;width:100%;max-width:100%;min-width:0;text-align:left;font-size:12px;font-weight:500;padding:5px 9px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink, inherit);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.myweek-job svg{flex-shrink:0;color:var(--primary)}.myweek-oncall{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#b45309;background:#fef3c7;border-radius:12px;padding:2px 8px}.myweek-leave{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#92400e;background:#fde8ce;border-radius:12px;padding:3px 9px}.myweek-empty{font-size:12px;color:var(--muted, #b4b2a9)}@media(min-width:720px){.myweek-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.myweek-day{flex-direction:column;align-items:stretch;gap:6px;border:.5px solid var(--border, #eee);min-height:90px}.myweek-daylabel{flex-direction:row;width:auto;gap:5px;align-items:baseline}.myweek-chips{flex-direction:column;align-items:stretch}.myweek-chip,.myweek-oncall,.myweek-leave{width:100%;box-sizing:border-box}}.alloc-print-title{display:none}@media print{@page{size:A4 landscape;margin:8mm}body.print-planner{background:#fff}body.print-planner *{visibility:hidden}body.print-planner .alloc-grid-wrap,body.print-planner .alloc-grid-wrap *{visibility:visible}body.print-planner .alloc-grid-wrap{position:absolute;left:0;top:0;overflow:visible;zoom:var(--print-scale, 1);-webkit-print-color-adjust:exact;print-color-adjust:exact}body.print-planner .alloc-print-title{display:block;font-size:13px;font-weight:600;margin:0 0 6px}body.print-planner .alloc-grid-table{width:100%}body.print-planner .alloc-grid-worker-row,body.print-planner .oncall-row{break-inside:avoid}body.print-planner .alloc-day-chip,body.print-planner .oncall-chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}body.print-planner .alloc-chip-x,body.print-planner .alloc-chip-notebtn,body.print-planner .alloc-order-arrows,body.print-planner .alloc-add-hint,body.print-planner .alloc-leave-remove,body.print-planner .alloc-leave-btn,body.print-planner .oncall-toolbar,body.print-planner .alloc-grid-corner-nav{display:none!important}body.print-planner .alloc-grid-wrap{max-height:none!important}body.print-planner .alloc-grid-table thead th{position:static!important}body.print-planner .alloc-sum-n:not(.alloc-sum-n-keep),body.print-planner .alloc-sum-dot,body.print-planner .alloc-sum-other,body.print-planner .alloc-carry-badge,body.print-planner .alloc-carry-row,body.print-planner .alloc-row-toggle{display:none!important}body.print-planner .alloc-chip-editbtn{text-decoration:none!important;color:inherit!important}}.helper-edit-label{font-size:10px;color:#888780;margin:8px 0 4px;text-transform:uppercase;letter-spacing:.03em}.helper-edit-seg{display:flex;gap:6px}.helper-edit-seg button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:12px;padding:6px;border:.5px solid #E5E1D8;border-radius:6px;background:#fff;cursor:pointer}.helper-edit-seg button.on{background:#fef3c7;border-color:#f59e0b;color:#92400e}.helper-edit-seg button.on.night{background:#4338ca;border-color:#4338ca;color:#fff}.helper-edit-select,.helper-edit-input{width:100%;box-sizing:border-box;font-size:13px;padding:6px 8px;border:.5px solid #E5E1D8;border-radius:6px}.helper-edit-actions{display:flex;gap:8px;margin-top:12px}.helper-edit-actions .primary{flex:1}.helper-edit-remove{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#b91c1c;background:#fff;border:.5px solid #F0C4C4;border-radius:6px;padding:6px 10px;cursor:pointer}.wsum-gaps{margin-bottom:18px}.wsum-gaps-banner{display:flex;align-items:flex-start;gap:10px;background:#fef9ec;border:1px solid #FCE9B8;border-radius:12px;padding:12px 14px;margin-bottom:12px;color:#92400e;font-size:14px}.wsum-gap-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px}.wsum-needs{margin-left:auto;font-size:11px;font-weight:600;color:#92400e;background:#fef3c7;border-radius:20px;padding:2px 10px}.wsum-taskform{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.autosched-banner{background:#eff6ff;border:1px solid #BFDBFE;border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:13px;color:#1e40af}.autosched-chip{background:#e6f1fb;border:1px dashed #85B7EB;border-radius:8px;padding:5px 7px;font-size:11px}.autosched-chip.approved{background:#e1f5ee;border:1px solid #5DCAA5}.autosched-chip.autosched-night{background:#eeedfe;border-color:#a5b4fc}.autosched-chip.autosched-night .autosched-title{color:#3730a3}.autosched-chip.autosched-night .autosched-loc{color:#4338ca}.autosched-chip.autosched-night.approved{background:#e0e7ff;border-color:#818cf8}.autosched-title{font-weight:600;color:#0c447c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.autosched-chip.approved .autosched-title{color:#085041}.autosched-loc{color:#185fa5;margin:1px 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.autosched-chip.approved .autosched-loc{color:#0f6e56}.autosched-conflict{display:flex;align-items:center;gap:3px;color:#b45309;font-size:10px;margin-bottom:4px}.autosched-actions{display:flex;gap:4px}.autosched-approve,.autosched-decline{flex:1;display:flex;align-items:center;justify-content:center;border:0;border-radius:5px;padding:3px;cursor:pointer}.autosched-approve{background:#10b981;color:#fff}.autosched-approve:hover{background:#059669}.autosched-decline{background:var(--surface);border:1px solid var(--line);color:var(--ink-2)}.autosched-decline:hover{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.autosched-approved-row{display:flex;align-items:center;justify-content:space-between;color:#0f6e56;font-size:10px}.autosched-approved-row span{display:inline-flex;align-items:center;gap:3px}.autosched-undo{background:transparent;border:0;cursor:pointer;color:#0f6e56;opacity:.6;padding:0 2px}.autosched-undo:hover{opacity:1}.role-matrix-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.role-matrix{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}.role-matrix th,.role-matrix td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:center}.role-matrix thead th{position:sticky;top:0;background:var(--bg);font-size:12px;font-weight:700;color:var(--ink-2);white-space:nowrap}.role-matrix th.rm-feature,.role-matrix td.rm-feature{text-align:left;min-width:260px;position:sticky;left:0;background:var(--surface)}.role-matrix thead th.rm-feature{background:var(--bg)}.role-matrix td.rm-feature strong{display:block;font-size:13px;color:var(--ink)}.role-matrix td.rm-feature small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.role-matrix tbody tr:hover td,.role-matrix tbody tr:hover td.rm-feature{background:#fafbff}.rm-cell input[type=checkbox]{width:17px;height:17px;cursor:pointer}.rm-cell input[type=checkbox]:disabled{cursor:not-allowed;opacity:.45}.rm-actions-row td{border-bottom:0;padding-top:12px}.rm-saved{font-size:11px;font-weight:700;color:var(--ok)}.td-photo-cell{position:relative;display:inline-block}.td-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.td-dl-all{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:5px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer}.td-dl-all:hover:not(:disabled){border-color:#2563eb;color:#2563eb}.td-dl-all:disabled{opacity:.6;cursor:default}.td-photo-dl{position:absolute;bottom:4px;right:4px;width:22px;height:22px;border-radius:6px;border:none;background:#1118279e;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .12s}.td-photo-cell:hover .td-photo-dl{opacity:1}.td-photo-dl:hover{background:#111827e6}@media(hover:none){.td-photo-dl{opacity:1}}.td-photo-del{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:var(--shadow)}.td-photo-del:hover{border-color:var(--danger);color:var(--danger)}.ev-thumb{flex-shrink:0}.ev-thumb img{width:46px;height:46px;object-fit:cover;border-radius:6px;border:1px solid var(--line);display:block}@media(max-width:760px){.metric-grid.small{grid-template-columns:1fr 1fr}.metric-grid .metric,.metric-grid .metric span,.metric-grid .metric strong{min-width:0}.metric-grid .metric span{white-space:normal;overflow-wrap:anywhere;line-height:1.25}.mjd-root .myjob-tabs{position:static}.myjob-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none}.myjob-tabs::-webkit-scrollbar{display:none}.myjob-tab{white-space:nowrap}.mjd-upload-row{display:flex;flex-wrap:wrap;gap:8px}.mjd-upload-row>*{flex:1 1 100%;min-width:0}.req-upload{justify-content:center}.req-upload:empty,.mjd-upload-row label:empty{display:none}.proc-table-scroll,.crm-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.proc-table-scroll table{min-width:560px}main button,main a[href],.myjob-tab,.tq-chip{min-height:40px}main .icon-btn,main .icon-btn.sm,main .ghost.mini{min-height:36px;min-width:36px}input,select,textarea{font-size:16px}}@supports (padding: max(0px)){.sidebar{padding-bottom:max(12px,env(safe-area-inset-bottom))}.topbar{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}.day-add-wrap{display:inline-flex;align-items:center;gap:6px;position:relative;padding:8px 12px;border:1px dashed var(--line);border-radius:9px;font-size:12px;color:var(--ink-2);cursor:pointer}.day-add-wrap .day-add{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}@media(max-width:760px){.proc-table-scroll table.proc-items-table{min-width:0}.proc-table-scroll:has(.proc-items-table){overflow-x:visible}.proc-items-table thead{display:none}.proc-items-table,.proc-items-table tbody{display:block;width:100%}.proc-items-table tr{display:block;position:relative;border:1px solid var(--line);border-radius:12px;padding:8px 10px 10px;margin:10px;background:var(--surface)}.proc-items-table tr.pit-empty{border:0;margin:0;padding:0;background:none}.proc-items-table tr.pit-empty td{display:block;text-align:center}.proc-items-table td{display:block;width:100%;padding:6px 0!important;border:0;text-align:left!important}.proc-items-table td[data-label]:not([data-label=""]):before{content:attr(data-label);display:block;margin-bottom:3px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.proc-items-table td.pit-num[data-label]{display:inline-block;width:auto;padding:0 0 6px!important;font-weight:600;font-size:13px}.proc-items-table td.pit-num[data-label]:before{content:"Item";display:inline;margin:0 4px 0 0;font-size:11px;text-transform:uppercase;color:var(--muted)}.proc-items-table td:empty{display:none}.proc-items-table td input,.proc-items-table td select{width:100%!important;box-sizing:border-box;min-height:44px;font-size:16px!important;text-align:left!important}.proc-items-table td.pit-actions{padding-top:10px!important;border-top:1px solid var(--line);margin-top:4px}.proc-items-table td.pit-actions>div{justify-content:flex-start!important}.proc-items-table td.pit-actions{display:flex!important;gap:8px;flex-wrap:wrap}.proc-items-table td.pit-actions:before{display:none}.proc-items-table td.pit-actions button,.proc-items-table td.pit-actions label{min-height:44px;padding:10px 16px!important;font-size:15px!important;border:1px solid var(--line)!important;border-radius:10px;background:var(--surface)!important;display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:0!important}.proc-items-table td.pit-actions button:first-child{flex:1 1 100%;background:#1640ff!important;border-color:#1640ff!important;color:#fff!important;font-weight:600}}@media(max-width:760px){.crm-panel{width:100%!important;max-width:100%!important;height:100%!important;border-radius:0!important}.crm-panel>div:first-child{padding:12px 14px!important;gap:8px}.crm-panel>div:first-child h2,.crm-panel>div:first-child>div:first-child>div{min-width:0}.crm-panel>div:nth-child(2){padding:12px!important}}@media(max-width:760px){.proc-toolbar{padding:12px!important;gap:10px!important}.proc-toolbar-spacer{display:none!important}.proc-apply-group{flex:1 1 100%!important;gap:8px!important}.proc-apply-group select,.proc-apply-group input{flex:1 1 auto!important;width:auto!important;min-width:0!important;min-height:44px;font-size:16px!important}.proc-apply-group button{min-height:44px;white-space:nowrap;flex-shrink:0}.proc-add-item-btn,.proc-rfq-btn{flex:1 1 100%!important;display:flex!important;align-items:center;justify-content:center;gap:6px;min-height:46px;font-size:15px!important;font-weight:600!important}.proc-add-item-btn{background:#1640ff!important;border-color:#1640ff!important;color:#fff!important}.crm-panel{padding-top:env(safe-area-inset-top)!important}}@media(max-width:760px){.tq-row.sched-row-card{flex-wrap:wrap;align-items:flex-start;gap:8px;padding:12px}.tq-row .prio-stripe{flex:0 0 100%;width:100%;height:3px;border-radius:999px}.tq-row .sched-row-main{flex:1 1 100%;gap:8px}.tq-row .sched-row-top{gap:6px}.tq-row .sched-row-title{flex:1 1 100%;min-width:100%;white-space:normal;overflow:visible;font-size:14px;line-height:1.35}.tq-row .sched-row-meta{gap:6px 10px}.tq-row .sched-row-meta .pill{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tq-row .sched-row-actions{flex:1 1 100%;justify-content:flex-end;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.tq-row .sched-row-actions button{min-height:40px;min-width:44px;justify-content:center}.tq-row .sched-row-actions button.primary{min-width:84px;font-size:13px!important}}.portal{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.portal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 22px;padding-top:calc(13px + env(safe-area-inset-top));padding-left:calc(22px + env(safe-area-inset-left));padding-right:calc(22px + env(safe-area-inset-right));background:var(--sidebar);color:#fff;position:sticky;top:0;z-index:10}.portal-brand{display:flex;align-items:center;gap:11px;min-width:0}.portal-brand strong{display:block;font-size:15px;font-weight:600;letter-spacing:-.2px;line-height:1.25}.portal-brand span{font-size:12px;color:#9fb0c9}.portal-head-actions{display:flex;gap:4px;flex-shrink:0}.portal-head-actions .icon-btn{color:#cbd6e6}.portal-head-actions .icon-btn:hover{color:#fff;background:#ffffff17}.portal-body{width:100%;max-width:680px;margin:0 auto;padding:24px 20px calc(60px + env(safe-area-inset-bottom))}.portal-seg{display:flex;width:100%;margin-bottom:18px}.portal-seg button{flex:1;justify-content:center}.portal-site-filter{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);margin-bottom:14px}.portal-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.portal-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:13px 10px;text-align:center}.portal-tile b{display:block;font-size:24px;font-weight:600;letter-spacing:-.5px;line-height:1.1}.portal-tile span{font-size:11px;font-weight:600;color:var(--muted)}.pt-open b{color:var(--danger)}.pt-prog b{color:var(--warn)}.pt-done b{color:var(--ok)}.portal-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.portal-urg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.portal-urg button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:11px 6px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink-2)}.portal-urg button:hover{border-color:var(--blue)}.portal-urg button strong{font-size:13px;font-weight:600}.portal-urg button small{font-size:10px;color:var(--muted);text-align:center;line-height:1.3}.portal-urg button.on{border-color:var(--blue);background:#eef1ff;box-shadow:inset 0 0 0 1px var(--blue)}.portal-urg button.on strong{color:var(--blue)}.portal-urg button.on.crit{border-color:var(--danger);background:#fef2f2;box-shadow:inset 0 0 0 1px var(--danger)}.portal-urg button.on.crit strong{color:var(--danger)}.portal-photos{display:flex;flex-wrap:wrap;gap:9px}.portal-thumb{position:relative;width:76px;height:76px;border-radius:9px;overflow:hidden;border:1px solid var(--line);display:block;background:var(--bg)}.portal-thumb img{width:100%;height:100%;object-fit:cover;display:block}.portal-thumb button{position:absolute;top:4px;right:4px;background:#0e1726d1;color:#fff;border:0;border-radius:50%;width:20px;height:20px;display:grid;place-items:center}.portal-add{width:76px;height:76px;border-radius:9px;border:1px dashed #b9c4d6;background:var(--surface);display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;color:var(--ink-2);cursor:pointer}.portal-add:hover{border-color:var(--blue);color:var(--blue)}.portal-add span{font-size:10px;font-weight:600}.portal-add.busy{opacity:.55}.req-thumb-file{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:var(--bg);border:1px solid var(--line);color:var(--ink-2);text-decoration:none}.req-thumb-file small{font-size:9px;font-weight:600;color:var(--muted)}.portal-thumb video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.portal-thumb-file{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;color:var(--ink-2);padding:4px;text-align:center}.portal-thumb-file small{font-size:9px;line-height:1.2;word-break:break-all;color:var(--muted)}.portal-uploading{font-size:12px;color:var(--muted);margin:9px 0 0}.portal-send{width:100%;margin-top:20px;padding:13px;font-size:15px}.portal-foot{text-align:center;font-size:12px;color:var(--muted);margin:9px 0 0}.portal-sent{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px 22px;text-align:center}.portal-sent-tick{width:54px;height:54px;border-radius:50%;background:#e9f9ef;color:var(--ok);display:grid;place-items:center;margin:0 auto 14px}.portal-sent h2{margin:0 0 7px;font-size:19px;letter-spacing:-.3px;color:var(--ink)}.portal-sent p{color:var(--muted);font-size:13.5px;margin:0 0 20px;line-height:1.6}.portal-sent .portal-ref{font-family:ui-monospace,monospace;color:var(--blue);font-weight:600}.portal-sent button{width:100%;margin-bottom:9px;padding:12px}.portal-fault{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:10px;overflow:hidden}.portal-fault.settled{opacity:.72}.portal-fault-top{display:flex;align-items:flex-start;justify-content:space-between;gap:11px;padding:13px 15px;cursor:pointer}.portal-fault-top strong{display:block;font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-.1px}.portal-fault-top small{display:block;color:var(--muted);font-size:11.5px;margin-top:4px}.pf-st{font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;white-space:nowrap;flex-shrink:0}.pf-st-new{background:#fee2e2;color:#991b1b}.pf-st-sch{background:#eef1ff;color:var(--blue)}.pf-st-prog{background:#fef3c7;color:#92400e}.pf-st-done{background:#dcfce7;color:#166534}.pf-st-rej{background:#f1f5f9;color:var(--muted)}.portal-fault-body{padding:0 15px 15px;border-top:1px solid var(--line)}.portal-fault-body p{font-size:13.5px;color:var(--ink-2);white-space:pre-wrap;margin:12px 0;line-height:1.6}.portal-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:var(--muted);margin-bottom:12px}.portal-meta strong{color:var(--ink-2);font-weight:600}.portal-fault-actions{display:flex;gap:8px;margin-top:13px}@media(max-width:560px){.portal-body{padding:18px 14px calc(50px + env(safe-area-inset-bottom))}.portal-card{padding:16px}.portal-urg button small{display:none}}.site-picker{display:flex;flex-direction:column;gap:2px;max-height:190px;overflow-y:auto;border:1px solid var(--border, #E2E8F0);border-radius:10px;padding:8px 10px}.site-pick{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:13.5px;cursor:pointer;padding:3px 0}.site-pick input{width:auto;margin:0}.login-sso{margin:14px 0 0;padding-top:13px;border-top:1px solid var(--border, #E2E8F0);font-size:12.5px;color:#64748b;text-align:center;line-height:1.55}.tq-signoff{display:inline-flex;align-items:center;gap:5px}@media(display-mode:standalone){.topbar{padding-top:calc(14px + env(safe-area-inset-top))}.sidebar{padding-top:env(safe-area-inset-top)}}.portal button,.portal a,.portal label{-webkit-tap-highlight-color:transparent}.portal input,.portal select,.portal textarea{font-size:16px}.modal.archive-wiz{max-width:720px}.archive-head{display:flex;align-items:center;gap:12px}.archive-head h2{margin:0}.archive-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.archive-metrics>div{background:var(--bg);border-radius:8px;padding:10px 12px}.archive-metrics b{display:block;font-size:22px;font-weight:700}.archive-metrics span{font-size:12px;color:var(--muted)}.archive-rowhead{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;margin-bottom:4px}.archive-row{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:12px;align-items:start;padding:10px 0;border-top:1px solid var(--line)}.archive-job strong{display:block;font-size:13px;font-weight:600}.archive-job small{display:block;font-size:12px;color:var(--muted);margin-top:2px}.archive-choice select{width:100%;font-size:13px}.archive-choice small{display:block;font-size:11px;margin-top:4px;line-height:1.4}.archive-summary{list-style:none;padding:0;margin:0 0 14px;font-size:13px}.archive-summary li{display:flex;gap:8px;align-items:flex-start;margin:6px 0;line-height:1.5}.archive-summary svg{color:#0f6e56;flex:none;margin-top:3px}.archive-reason{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--ink-2)}.archive-reason input{padding:9px 11px;border:1px solid var(--line);border-radius:8px;font-family:inherit}@media(max-width:720px){.archive-metrics{grid-template-columns:1fr 1fr}.archive-row{grid-template-columns:1fr}}.pfm-msg-modal{max-width:720px;width:92vw}.pfm-msg-body{padding:14px 20px;max-height:62vh;overflow-y:auto}.pfm-msg-input{width:100%;box-sizing:border-box;min-height:200px;font-size:13px;line-height:1.55;padding:10px 12px;border:1px solid var(--line);border-radius:8px;resize:vertical;font-family:inherit}.pfm-msg-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.pfm-msg-stats{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.pfm-stat{font-size:11px;padding:3px 9px;border-radius:20px;background:#f1efe8;color:#444441}.pfm-stat.pk-job{background:#e1f5ee;color:#085041}.pfm-stat.pk-day{background:#e6f1fb;color:#0c447c}.pfm-stat.pk-you{background:#eeedfe;color:#3c3489}.pfm-stat.pk-wait{background:#faeeda;color:#633806}.pfm-stat.pk-fyi{background:#f1efe8;color:#444441}.pfm-item{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:10px}.pfm-item.needs{border-color:#f0c98a;background:#fffdf7}.pfm-item.done{opacity:.5}.pfm-item-top{display:flex;align-items:center;gap:8px}.pfm-kind{font-size:10px;font-weight:600;border-radius:5px;padding:2px 7px;white-space:nowrap;background:#f1efe8;color:#444441}.pfm-kind.pk-job{background:#e1f5ee;color:#085041}.pfm-kind.pk-day{background:#e6f1fb;color:#0c447c}.pfm-kind.pk-you{background:#eeedfe;color:#3c3489}.pfm-kind.pk-wait{background:#faeeda;color:#633806}.pfm-title{flex:1;font-size:13px;font-weight:500;border:0;border-bottom:1px dashed transparent;background:transparent;padding:3px 2px;color:inherit}.pfm-title:hover,.pfm-title:focus{border-bottom-color:var(--line);outline:none}.pfm-detail{font-size:12px;color:var(--muted);margin:6px 0 8px;line-height:1.5}.pfm-row{display:flex;align-items:flex-start;gap:10px;margin-top:8px}.pfm-row>label{font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);width:68px;flex:none;padding-top:6px}.pfm-row>select,.pfm-row>input{flex:1;font-size:13px;padding:5px 8px;border:1px solid var(--line);border-radius:6px}.pfm-chips{display:flex;gap:5px;flex-wrap:wrap;flex:1}.pfm-chip{font-size:11px;padding:4px 9px;border:1px solid var(--line);border-radius:6px;cursor:pointer;background:#fff}.pfm-chip.on{background:#4338ca;color:#fff;border-color:#4338ca}.pfm-warn{font-size:11px;color:#92400e;margin:6px 0 0}.pfm-hint{font-size:11px;color:#1d4ed8;margin:6px 0 0;flex-basis:100%}.pfm-rain,.pfm-wait,.pfm-mine{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);margin:8px 0 0;padding:6px 8px;background:#f7f6f3;border-radius:6px}.pfm-qs{margin-top:8px;border-left:2px solid #F0C98A;padding-left:8px}.pfm-q{font-size:12px;color:#92400e;margin-bottom:6px}.pfm-q>span{display:inline-flex;align-items:center;gap:5px;margin-bottom:4px}.pfm-done{display:flex;align-items:center;gap:6px;font-size:13px;color:#0f6e56;background:#e1f5ee;border-radius:8px;padding:8px 10px;margin-top:10px}.alloc-task-chip{background:#e6f1fb!important;color:#0c447c!important;border:1.5px solid #185FA5}.alloc-task-starred{background:#fef3c7!important;color:#78350f!important;border-color:#d97706}.alloc-task-clash{background:#fee2e2!important;color:#7f1d1d!important;border-color:#dc2626}.alloc-task-carried{background:transparent!important;color:#78350f!important;border:1.5px dashed #D97706!important}.alloc-carry-cell{padding:0!important;cursor:default!important}.alloc-grid-worker-label{vertical-align:top!important}.alloc-carry-row>td{border-top:0!important}.alloc-carry-open>td{border-bottom:0!important}.alloc-carry-label{background:#fffbeb!important;box-shadow:inset -1px 0 0 var(--line),inset 3px 0 #d97706}.alloc-carry-who{display:flex;flex-direction:column;gap:2px;padding:8px 12px 8px 14px}.alloc-carry-who-name{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#78350f;white-space:nowrap}.alloc-carry-who-sub{font-size:10.5px;color:#92400e;opacity:.85}.alloc-carry-who.away .alloc-carry-who-name,.alloc-carry-who.away .alloc-carry-who-sub{color:#7f1d1d}.alloc-carry-row:has(.alloc-carry-who.away) .alloc-carry-label{background:#fef2f2!important;box-shadow:inset -1px 0 0 var(--line),inset 3px 0 #dc2626}.alloc-row-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:none;border-radius:6px;border:1px solid var(--line);background:var(--card);color:var(--ink-2);cursor:pointer;padding:0}.alloc-row-toggle svg{transition:transform .15s;transform:rotate(-90deg)}.alloc-row-toggle.on svg{transform:rotate(0)}.alloc-wname-toggle{cursor:pointer}.alloc-wname-toggle:hover{text-decoration:underline}.alloc-rowtoggle-all{display:inline-flex;gap:4px}.alloc-sum{gap:3px}.alloc-sum-chip{display:flex;flex-direction:column;font-size:11px;font-weight:500;padding:3px 7px;border-radius:6px;overflow:hidden;min-width:0}.alloc-sum-head{display:flex;align-items:center;gap:4px;white-space:nowrap;min-width:0}.alloc-sum-head svg{flex:none}.alloc-sum-extra{display:flex;flex-direction:column;gap:1px;padding-top:2px;margin-top:1px;border-top:1px solid rgba(0,0,0,.08);white-space:normal}.alloc-sum-sub{font-size:10.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.alloc-sum-note{font-size:10.5px;font-weight:400;opacity:.9;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.alloc-sum-name{overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.alloc-sum-n{flex:none;margin-left:auto;font-size:10px;font-weight:700;padding:0 6px;border-radius:999px;background:#0000001f}.alloc-sum-unassigned{border:1.5px dashed #BA7517}.alloc-sum-n-keep{white-space:nowrap}.alloc-sum-dot{width:6px;height:6px;border-radius:50%;background:#dc2626;flex:none}.alloc-sum-other{font-size:10.5px;color:var(--muted);padding:0 2px}.alloc-carry-badge{display:inline-flex;align-items:center;gap:4px;margin-top:5px;font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:999px;border:1px solid #FCD34D;background:#fef3c7;color:#78350f;cursor:pointer;white-space:nowrap}.alloc-carry-badge.away{border-color:#fca5a5;background:#fee2e2;color:#7f1d1d}.alloc-carry-badge .alloc-carry-caret{transition:transform .15s}.alloc-carry-badge.on .alloc-carry-caret{transform:rotate(180deg)}.alloc-carry-strip{position:sticky;left:160px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:7px 12px;background:#fffbeb;font-size:12px;color:#78350f;max-width:min(100vw - 480px,1100px)}.alloc-carry-strip.away{background:#fef2f2;color:#7f1d1d}.alloc-carry-title{display:inline-flex;align-items:center;gap:5px;font-weight:600}.alloc-carry-pill{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid #FCD34D;background:#fef3c7;color:#78350f;cursor:pointer;white-space:nowrap}.alloc-carry-strip.away .alloc-carry-pill{border-color:#fca5a5;background:#fee2e2;color:#7f1d1d}.alloc-carry-pillwrap{display:inline-flex;align-items:center}.alloc-carry-group{display:flex;align-items:flex-start;gap:8px;flex-basis:100%;padding:3px 0}.alloc-carry-group+.alloc-carry-group{border-top:1px dashed rgba(217,119,6,.35);padding-top:6px}.alloc-carry-site{flex:none;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;min-width:150px;white-space:nowrap}.alloc-carry-site b{margin-left:auto;font-size:10px;padding:0 6px;border-radius:999px;background:#0000001f}.alloc-carry-group-pills{display:flex;flex-wrap:wrap;gap:5px;min-width:0}.alloc-carry-pick-site{margin-top:6px;font-weight:600;border-top:1px dashed #FCD34D;padding-top:6px}.alloc-carry-pick-site:first-child{margin-top:0;border-top:0;padding-top:0}.alloc-carry-pillwrap .alloc-carry-pill{border-radius:999px 0 0 999px;border-right:0}.alloc-carry-x{font-size:13px;line-height:1;padding:3px 7px 4px;border:1px solid #FCD34D;border-radius:0 999px 999px 0;background:#fef3c7;color:#78350f;cursor:pointer}.alloc-carry-x:hover{background:#fde68a}.alloc-carry-strip.away .alloc-carry-x{border-color:#fca5a5;background:#fee2e2;color:#7f1d1d}.alloc-carry-off{font-size:11px;color:#92400e;opacity:.85}.alloc-carry-restore{border:0;background:none;padding:0;color:#92400e;text-decoration:underline;cursor:pointer;font-size:11px}.alloc-carry-place{font-size:12px;font-weight:600;padding:4px 10px;border-radius:8px;border:1px solid #D97706;background:#fff;color:#78350f;cursor:pointer}.alloc-carry-picker{position:sticky;left:160px;max-width:min(100vw - 480px,1100px);padding:10px 12px;background:#fffdf5;border-top:1px solid #FCD34D;display:flex;flex-direction:column;gap:6px}.alloc-carry-pick{display:flex;align-items:center;gap:10px;font-size:12px}.alloc-carry-pick-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alloc-carry-pick select{font-size:12px;padding:4px 6px;min-width:170px}.alloc-carry-actions{display:flex;align-items:center;gap:10px;margin-top:4px;font-size:11px}.alloc-carry-actions .muted{flex:1}.alloc-chip-carried{font-size:8.5px;font-weight:700;letter-spacing:.02em;padding:1px 4px;border-radius:3px;background:#0000001f;margin-left:2px}.alloc-hint{display:block;font-size:10.5px;color:var(--muted);padding:2px 4px;line-height:1.35}.alloc-hint-star{color:#78350f;display:inline-flex;align-items:center;gap:3px}.alloc-task-chip-unassigned{background:#faeeda!important;color:#633806!important;border:1.5px dashed #BA7517}.alloc-task-chip-offered{background:#eeedfe!important;color:#3c3489!important;border:1.5px dashed #7F77DD}.alloc-offer-to{font-weight:500;opacity:.85}.alloc-lane-offered .alloc-grid-worker-label{background:#f5f3ff}.alloc-lane-offered .alloc-grid-cell-unassigned{background:#fbfaff}.alloc-task-skipped{border:1px dashed var(--line);border-radius:20px;background:transparent;color:var(--muted);font-size:10px;padding:3px 8px;cursor:pointer;font-family:inherit;text-align:left}.alloc-task-skipped:hover{color:var(--text);border-color:var(--text)}.alloc-unassigned-row .alloc-grid-worker-label{background:#fffbeb}.alloc-grid-cell-unassigned{background:#fffdf5}.dist-conflict{max-width:500px;padding:18px 22px}.dist-conflict-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.dist-conflict-ic{width:34px;height:34px;border-radius:9px;background:#fef3c7;color:#92400e;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dist-conflict-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.dist-conflict-col{border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.dist-conflict-col.incoming{border:1.5px solid #2563EB}.dist-conflict-lbl{font-size:11px;color:var(--muted)}.dist-conflict-lbl.accent{color:#1d4ed8}.dist-conflict-chip{background:var(--surface);border-radius:6px;padding:6px 8px;font-size:12px;font-weight:500}.dist-conflict-col.incoming .dist-conflict-chip{background:#e6f1fb;color:#0c447c}.dist-conflict-opts{display:flex;flex-direction:column;gap:7px}.dist-conflict-opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);cursor:pointer;font-family:inherit}.dist-conflict-opt:hover{border-color:#2563eb;background:#eff6ff}.dist-conflict-opt strong{font-size:13px}.dist-conflict-opt span{font-size:12px;color:var(--muted)}.dist-conflict-opt.danger:hover{border-color:#dc2626;background:#fef2f2}.dist-conflict-all{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-top:12px;padding-top:10px;border-top:1px solid var(--line);cursor:pointer}.pfm-landed{margin-top:10px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.pfm-landed-h{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding:7px 10px;background:#f7f6f3}.pfm-landed-row{display:flex;align-items:center;gap:7px;font-size:12px;padding:6px 10px;border-top:1px solid var(--line)}.pfm-landed-row.bad{color:#b91c1c}.pfm-landed-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pfm-landed-where{color:var(--muted);white-space:nowrap;font-size:11px}.mjl-pool-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px dashed #7F77DD;background:#eeedfe55;border-radius:10px;margin-bottom:8px}.mjl-pool-row>div:first-child{flex:1;min-width:0}.mjl-pool-row strong{display:block;font-size:14px}.mjl-pool-row small{display:block;font-size:11px;color:var(--muted)}.eod-card{border:1px solid var(--line);border-radius:12px;background:var(--surface);margin-bottom:14px;overflow:hidden}.eod-card-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#eef2ff;cursor:pointer}.eod-card-head strong{display:flex;align-items:center;gap:6px;font-size:14px;flex:1}.eod-card-head .muted{font-size:12px}.eod-job{padding:10px 14px;border-top:1px solid var(--line)}.eod-job-top{display:flex;align-items:center;gap:10px}.eod-job-top>div{flex:1;min-width:0}.eod-job-top strong{display:block;font-size:13px}.eod-job-top small{font-size:11px;color:var(--muted)}.eod-tag{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px}.eod-done{background:#eaf3de;color:#27500a}.eod-continuing{background:#e6f1fb;color:#0c447c}.eod-blocked{background:#fcebeb;color:#791f1f}.eod-form{margin-top:8px;display:flex;flex-direction:column;gap:8px}.eod-form textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:14px}.eod-photos{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.eod-photos img{width:46px;height:46px;object-fit:cover;border-radius:6px}.eod-actions{display:flex;gap:6px;flex-wrap:wrap}.eodb-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.eodb-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}.eodb-metrics>div{background:var(--bg);border-radius:8px;padding:10px 12px}.eodb-metrics b{display:block;font-size:20px;font-weight:700}.eodb-metrics span{font-size:11px;color:var(--muted)}.eodb-unclaimed{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12px;padding:8px 10px;background:#fef3c7;border-radius:8px}.eodb-row{display:grid;grid-template-columns:minmax(0,1fr) auto 110px;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.eodb-row strong{font-size:13px}.eodb-job{display:block;font-size:11px;color:var(--muted);margin-top:2px}.eodb-counts{display:flex;gap:5px;flex-wrap:wrap}.eodb-ok{font-size:11px;color:#0f6e56;text-align:right}.eodb-missing{font-size:11px;color:#a32d2d;font-weight:600;text-align:right}.wp-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;margin-bottom:12px}.wp-cap{background:var(--bg);border-radius:10px;padding:12px 14px}.wp-cap-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px}.wp-cap-head .muted{font-size:12px}.wp-meter{height:10px;border-radius:5px;background:var(--line);overflow:hidden;margin-bottom:6px}.wp-meter i{display:block;height:100%}.wp-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.wp-flow>div{background:var(--bg);border-radius:10px;padding:10px;text-align:center}.wp-flow b{display:block;font-size:20px;font-weight:700}.wp-flow span{font-size:11px;color:var(--muted)}.wp-good b{color:#0f6e56}.wp-bad b{color:#a32d2d}.wp-burn-bar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--line)}.wp-burn-bar i{display:block;height:100%}.wp-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:6px}.wp-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px}.wp-row{grid-template-columns:minmax(0,2fr) 150px 60px 130px 40px}.badge-pool{background:#eeedfe;color:#3c3489}.wp-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.wp-learned{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12px;flex:1}@media(max-width:760px){.wp-top{grid-template-columns:1fr}.eodb-metrics{grid-template-columns:1fr 1fr}.wp-row{grid-template-columns:1fr}}.tq-days-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#0c447c;background:#e6f1fb;border-radius:20px;padding:2px 8px;white-space:nowrap}.tq-days-chip.tq-days-today{background:#dcfce7;color:#15803d;font-weight:600}.seg.seg-sub{margin:0 0 14px;display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:3px}.seg.seg-sub button{font-size:12.5px;padding:5px 13px;border-radius:6px;border:none;background:transparent;color:var(--ink-2);cursor:pointer;font-family:inherit}.seg.seg-sub button:hover{color:var(--ink)}.seg.seg-sub button.seg-on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #0000000f}.actual-log-chip{border:none;font-family:inherit;text-align:left}.actual-log-chip.actual-log-run{border-left:3px solid;border-radius:0 4px 4px 0}.actual-state-untouched{background:#fee2e2;color:#7f1d1d;border:1px solid #FCA5A5}.actual-state-waiting{background:#ede9fe;color:#4c1d95;border:1px solid #C4B5FD}.actual-state-progress{background:#dbeafe;color:#1e3a8a;border:1px solid #93C5FD}.actual-state-blocked{background:#fef3c7;color:#78350f;border:1px solid #FCD34D}.actual-state-done{background:#dcfce7;color:#14532d;border:1px solid #86EFAC}.actual-state-future{background:var(--bg);color:var(--ink-2);border:1px dashed var(--line)}.actual-state-idle{background:transparent;color:#1e3a8a;border:1px solid #93C5FD}.actual-state-stalled{background:#fee2e2;color:#7f1d1d;border:1px solid #FCA5A5}.actual-order-old{border:1.5px solid #DC2626!important}.actual-tag{margin-left:auto;font-size:8.5px;font-weight:700;line-height:1;padding:2px 4px;border-radius:3px;background:#0000001f;white-space:nowrap}.actual-tag.old,.attn-stalled-av{background:#fee2e2;color:#7f1d1d}.actual-unplanned{border-style:dashed}.actual-shared-flag{margin-left:2px;font-weight:700;opacity:.7}.actual-crew{display:inline-flex;gap:2px;margin-left:4px;align-items:center}.actual-crew-av{font-size:8.5px;font-weight:700;line-height:1;padding:2px 3px;border-radius:3px;color:inherit;background:#00000024}.actual-crew-av.named{background:transparent;outline:1px dashed currentColor;outline-offset:-1px}.actual-crew-more{font-size:9px;opacity:.8}.actual-not-on-it{opacity:.5}.crew-box{margin:10px 14px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.crew-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);margin-bottom:10px}.crew-line strong{color:var(--ink)}.crew-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;font-size:14px;font-weight:600;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}.crew-btn.on{background:#dbeafe;color:#1e3a8a;border-color:#93c5fd}.crew-btn:disabled{opacity:.75;cursor:default}.crew-named{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px;border-radius:10px;background:#fef3c7;color:#78350f;font-size:13px}.crew-named span{flex:1;min-width:140px}.crew-with-label{font-size:12px;color:var(--ink-2);margin:12px 0 6px}.crew-chips{display:flex;gap:6px;flex-wrap:wrap}.crew-chip{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:6px 12px;font-size:13px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink-2);cursor:pointer}.crew-chip.on{background:#dbeafe;color:#1e3a8a;border-color:#93c5fd}.crew-chip.on.named{background:transparent;border-style:dashed;border-color:#1e3a8a}.crew-chip:disabled{cursor:default}.crew-grid-wrap{padding:12px;margin-bottom:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.crew-grid{display:grid;gap:6px 4px;align-items:center;font-size:12px}.crew-grid-head{text-align:center;font-size:10.5px;color:var(--muted)}.crew-grid-name{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.crew-grid-cell,.crew-grid-total{text-align:center}.crew-grid-total{font-weight:600;color:var(--ink)}.crew-dash{color:var(--muted)}.crew-av{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:10px;font-weight:700;background:#1e3a8a;color:#dbeafe}.crew-av.named{background:transparent;color:#1e3a8a;border:1px dashed #1E3A8A}.crew-av.sm{width:12px;height:12px;font-size:7px;vertical-align:middle}.actual-approve-dot{display:inline-flex;align-items:center;border:0;background:transparent;color:inherit;padding:0;margin:0;cursor:pointer;line-height:0}.actual-chip-open{border:0;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer;text-align:left}.actual-chip-open:hover{text-decoration:underline}.alloc-chip-openable{cursor:pointer}.alloc-chip-openable:hover{text-decoration:underline}.attn-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.attn-filter{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer}.attn-filter.on{border-color:var(--ink);color:var(--ink)}.attn-filter-n{margin-left:5px;color:var(--muted)}.attn-row{cursor:pointer}.attn-row-go{color:var(--muted);flex-shrink:0}.attn-more{margin-top:6px}.actual-total-head,.actual-total-cell{width:64px;text-align:center}.actual-total-cell strong{font-size:13px}.actual-total-sub{display:block;font-size:10.5px;color:var(--ink-2)}.log-outcome-row{display:flex;gap:8px;flex-wrap:wrap}.log-out-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:10px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);cursor:pointer;min-height:44px}.log-out-btn:disabled{opacity:.55;cursor:default}.log-out-cont{color:#0c447c;border-color:#b5d4f4;background:#e6f1fb}.log-out-done{color:#27500a;border-color:#c0dd97;background:#eaf3de}.log-out-blocked{color:#791f1f;border-color:#f7c1c1;background:#fcebeb}.eodb-job-done{color:#27500a}.eodb-job-blocked{color:#a32d2d;font-weight:600}@media(max-width:520px){.log-outcome-row{flex-direction:column}.log-out-btn{width:100%;justify-content:center}}.modal.sj-modal{max-width:860px}.sj-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px}.sj-kv{display:grid;grid-template-columns:96px minmax(0,1fr);gap:6px 10px;font-size:13px}.sj-kv>span:nth-child(odd){color:var(--muted);font-size:12px}.sj-attach{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:12px}.sj-chase-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:13px}.sj-chase-row{display:grid;grid-template-columns:78px 1fr;gap:8px;font-size:12px;padding:5px 0;border-top:1px solid var(--line)}.sj-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.sj-panel{margin-top:12px;padding:12px;background:var(--bg);border-radius:10px}.sj-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 10px;padding:8px 12px;background:#faeeda;border-radius:10px;font-size:12px}.sj-strip-label{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:#633806}.sj-strip-chip{background:#fff7e6;border:1px dashed #EF9F27;color:#633806;border-radius:6px;padding:3px 8px}.asset-sec-head{display:flex;align-items:center;gap:10px;margin:14px 0 6px;font-size:13px}.asset-sec-head strong{flex:1}.sj-asset-row{grid-template-columns:minmax(0,2fr) 130px 200px}@media(max-width:900px){.sj-grid,.sj-asset-row{grid-template-columns:1fr}}.tq-metrics{padding:0 24px}.tq-metrics .metric-grid{margin-bottom:12px}.tq-groups{padding-top:10px}.crew-helper-tag,.actual-helped-tag{display:inline-block;margin-left:5px;padding:0 5px;border-radius:6px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:#fef3c7;color:#92400e;vertical-align:1px}.actual-helped-tag{margin:0 4px 0 0}.actual-log-chip.actual-helped{border-style:solid!important;border-color:#f59e0b!important}.myweek-job.myweek-help{border-color:#f59e0b;background:#fffbeb}.myweek-job.myweek-help svg{color:#b45309}.mjl-help-ask{color:#b45309;font-weight:700}.mjd-helper-note{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);padding:6px 2px 8px}.helper-box{margin-top:10px}.helper-days-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 8px}.helper-day{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 0;border-top:1px solid var(--line);font-size:13px}.helper-day-text{flex:1 1 160px;min-width:0}.helper-state{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.helper-state-waiting{background:#fef3c7;color:#92400e}.helper-state-confirmed{background:#dcfce7;color:#166534}.helper-state-declined{background:#fee2e2;color:#991b1b}.crew-av.helper-av-waiting{background:#fef3c7!important;color:#92400e!important}.crew-av.helper-av-declined{background:#fee2e2!important;color:#991b1b!important}.myweek-job.myweek-help-waiting{border-style:dashed}.attn-helpers{border:1px solid #FCD34D;background:#fffbeb;border-radius:10px;padding:8px 10px;margin:0 0 10px}.attn-helpers-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#92400e;margin-bottom:4px}.attn-helper-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;padding:4px 0}.mythos-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#0c447c;background:#e6f1fb;border:1px solid #b9d7f3;border-radius:20px;padding:2px 8px;white-space:nowrap}.mythos-chip-m,.assign-avatar.mythos{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#0c447c;color:#fff;font-size:10px;font-weight:700}.assign-avatar.mythos{width:26px;height:26px;font-size:12px}.mythos-chip-btn{display:inline-flex;align-items:center;background:transparent;border:0;padding:0 0 0 2px;color:inherit;cursor:pointer}.mythos-chip-btn:disabled{opacity:.5}.assign-chip-mythos{border-color:#b9d7f3;background:#e6f1fb;color:#0c447c}.assign-chip-sub{font-size:10px;font-weight:500;opacity:.75;margin-left:2px}.td-note-mythos{border-left:3px solid #0c447c}.td-note-src{margin-left:6px;font-size:10px;font-weight:600;color:#0c447c;background:#e6f1fb;border-radius:10px;padding:1px 6px}.spin{animation:mythos-spin 1s linear infinite}@keyframes mythos-spin{to{transform:rotate(360deg)}}.myjob-thumb-wrap{position:relative;display:inline-flex}.myjob-thumb-del{position:absolute;top:4px;right:4px;z-index:2;display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border-radius:8px;border:1px solid var(--line);background:#fffffff0;color:#dc2626;cursor:pointer;box-shadow:0 1px 3px #0000002e}.myjob-thumb-del:disabled{opacity:.5}@media(max-width:760px){.pagehead{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:14px}.pagehead h1{font-size:21px}.pagehead-title{min-width:0}.pagehead>:not(.pagehead-title){width:100%;min-width:0}.head-actions{flex-wrap:wrap;gap:8px}.head-actions>button,.head-actions>a,.head-actions>label{flex:1 1 auto;justify-content:center}.head-actions>.seg{flex:1 1 100%;display:flex}.head-actions>.seg>button{flex:1 1 0;min-width:0}.table .trow.thead{display:none!important}.table .trow{display:flex!important;flex-wrap:wrap;gap:8px 14px;padding:12px 14px;align-items:flex-start}.table .trow>*{flex:1 1 calc(50% - 14px);min-width:0;overflow-wrap:anywhere}.table .trow>[data-label]:not([data-label=""]):before{content:attr(data-label);display:block;margin-bottom:2px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.table .trow>:first-child{flex-basis:100%;font-weight:600;font-size:14px}.table .trow>:first-child:before{display:none!important}.table .trow select,.table .trow input:not([type=checkbox]):not([type=radio]){width:100%!important;max-width:100%;min-width:0!important;box-sizing:border-box}.table .trow>.boq-actions{flex:1 1 100%;display:flex;justify-content:flex-end;gap:8px}.table .trow>.boq-actions:before{display:none!important}.table .trow>.boq-actions .icon-btn{width:40px;height:40px}.table .trow>.pill,.table .trow>[class*=pill]{flex:0 0 auto;align-self:flex-start}.table .trow>.pill:before,.table .trow>[class*=pill]:before{display:none!important}.clients-table-wrap{overflow-x:visible;border:0}table.clients-table thead,table.m-cards thead{display:none}table.clients-table,table.clients-table tbody,table.m-cards,table.m-cards tbody{display:block;width:100%}table.clients-table tr,table.m-cards tr{display:block;border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin-bottom:10px;background:var(--surface)}table.clients-table td,table.m-cards td{display:block;padding:5px 0!important;border:0!important;overflow-wrap:anywhere}table.clients-table td[data-label]:not([data-label=""]):before,table.m-cards td[data-label]:not([data-label=""]):before{content:attr(data-label);display:block;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}table.clients-table td:first-child,table.m-cards td:first-child{font-weight:600;font-size:14px}table.clients-table td:first-child:before,table.m-cards td:first-child:before{display:none!important}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-size:16px!important}.tq-row .sched-row-actions{flex-wrap:wrap}}@media(max-width:760px){.req-meta-row{flex-wrap:wrap;gap:6px 12px}.req-meta-row>*{min-width:0}.settings-tabs{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs button{flex-shrink:0;padding:10px 14px}.settings-row{flex-direction:column;align-items:stretch;gap:8px}.settings-row .settings-select,.settings-row select{width:100%;max-width:100%}.view-settings{padding:0;gap:16px}.settings-row:has(>.toggle-btn){flex-direction:row;align-items:center}.alloc-grid-table th.alloc-grid-corner,.alloc-grid-worker-label{position:sticky;left:0;z-index:3;width:96px;min-width:96px;max-width:96px;background:var(--bg);box-shadow:2px 0 4px -2px #0f172a2e}.alloc-grid-worker-label{overflow:hidden}.alloc-grid-worker-inner{flex-wrap:wrap;align-items:flex-start;gap:2px 4px;padding:8px 6px}.alloc-grid-worker-inner .worker-avatar-sm{display:none}.alloc-grid-worker-inner>div{flex:1 1 100%!important;min-width:0}.alloc-grid-wname{font-size:12px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.alloc-grid-wtrade{font-size:10px;white-space:normal}.alloc-grid-worker-inner .alloc-leave-btn{opacity:1;width:30px;height:30px;justify-content:center}.alloc-grid-corner-label{font-size:11px}.alloc-grid-corner-nav{gap:2px}.alloc-grid-cell{width:200px;min-width:200px;max-width:200px}.alloc-day-chip{max-width:100%;white-space:normal}.alloc-chip-main>span{overflow-wrap:anywhere}}@media(max-width:760px){.content{padding:14px 14px 48px}.view-clients{padding:0;gap:14px}.proj-row{flex-wrap:wrap;gap:8px 10px;padding:12px 14px}.proj-row-main{flex:1 1 100%}.proj-name-line strong{white-space:normal;overflow-wrap:anywhere}.proj-row-main small{overflow-wrap:anywhere}.proj-row-bar{flex:1 1 auto;width:auto;min-width:110px}.proj-move-arrows{flex-direction:row;gap:4px}.proj-move-arrow{min-width:36px;min-height:36px;border:1px solid var(--line);border-radius:8px}.tq-filter-bar,.inbox-tabs{flex-wrap:nowrap;overflow-x:auto;padding-left:0;padding-right:0;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tq-filter-bar::-webkit-scrollbar,.inbox-tabs::-webkit-scrollbar{display:none}.tq-filter-bar>*,.inbox-tabs>*{flex-shrink:0;white-space:nowrap}.inbox-tabs-spacer{display:none}}@media(max-width:760px){.td-modal-layout{grid-template-columns:1fr!important;height:auto;overflow:visible}.td-modal-main{border-right:0;border-bottom:1px solid var(--line);padding:16px;overflow:visible}.td-modal-sidebar{padding:16px;overflow:visible}.td-modal-body{overflow-y:auto;height:auto}.task-detail-modal .myjob-tab-content{padding:16px}.tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}.tabs>.tab{flex-shrink:0;white-space:nowrap;padding:10px 12px}}@media(max-width:760px){.task-detail-panel-head{flex-direction:column-reverse;align-items:stretch;gap:4px}.task-detail-panel-head>:first-child{min-width:0}.task-detail-panel-head>:last-child{align-self:flex-end}}.an-wrap{display:flex;flex-direction:column;gap:14px}.an-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.an-filters select,.an-custom input,.an-custom select{font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);max-width:100%}.an-custom{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}.an-seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}.an-seg button{border:0;border-radius:0;background:transparent;padding:6px 11px;font-size:12px;color:var(--ink-2);cursor:pointer}.an-seg button+button{border-left:1px solid var(--line)}.an-seg button.on{background:var(--ink);color:#fff}.an-range{margin-left:auto;font-size:12px;color:var(--muted)}.an-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.an-kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;text-align:left;box-shadow:var(--shadow)}.an-kpi span{display:block;font-size:12px;color:var(--muted)}.an-kpi b{display:block;font-size:26px;font-weight:700;color:var(--ink);line-height:1.15;margin:2px 0;font-variant-numeric:tabular-nums}.an-kpi small{display:block;font-size:11px;color:var(--muted)}.an-kpi-btn{cursor:pointer;font:inherit}.an-kpi-btn:hover{border-color:#b8c4d6}.an-kpi.an-bad b{color:#c0262d}.an-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);min-width:0}.an-card h3{font-size:14px;font-weight:700;margin:0 0 2px;color:var(--ink);display:flex;align-items:center;gap:6px}.an-sub{font-size:12px;color:var(--muted);margin:0 0 10px}.an-note{font-size:11px;color:var(--muted);margin:10px 0 0}.an-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:900px){.an-grid{grid-template-columns:1fr}.an-range{margin-left:0;width:100%}}.an-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;color:var(--ink-2);margin-bottom:6px}.an-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}.an-hatch{background:repeating-linear-gradient(135deg,#dfe5ee 0 2px,transparent 2px 6px);border:1px solid #e4e9f1;box-sizing:border-box}.an-untracked{background:repeating-linear-gradient(135deg,rgba(107,122,144,.08) 0 2px,transparent 2px 7px);border-radius:4px 4px 0 0}.an-bars{display:flex;align-items:flex-end;gap:6px;height:170px;border-bottom:1px solid var(--line);padding-top:18px}.an-bcol{flex:1;min-width:0;height:100%;position:relative;display:flex;flex-direction:column;justify-content:flex-end;cursor:default}.an-bcol:hover{background:#0e17260a;border-radius:4px 4px 0 0}.an-bpair{display:flex;align-items:flex-end;justify-content:center;gap:2px;height:100%}.an-bpair>div{width:44%;max-width:18px;border-radius:4px 4px 0 0;min-height:1px}.an-bval{position:absolute;top:-16px;left:0;right:0;text-align:center;font-size:10px;color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}.an-xaxis{display:flex;gap:6px;margin-top:4px}.an-xaxis span{flex:1;min-width:0;text-align:center;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.an-hrow{display:grid;grid-template-columns:minmax(90px,170px) 1fr 58px;gap:8px;align-items:center;width:100%;padding:4px;background:transparent;border:0;border-radius:6px;font:inherit;text-align:left;color:var(--ink);cursor:pointer}.an-hrow:hover:not(.static):not(:disabled){background:#f3f6fa}.an-hrow.static,.an-hrow:disabled{cursor:default}.an-hname{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.an-hnum{font-size:12px;text-align:right;color:var(--ink-2);font-variant-numeric:tabular-nums}.an-track{display:flex;gap:2px;height:12px;min-width:0}.an-track>span{display:block;height:100%}.an-track>span:first-child{border-radius:4px 0 0 4px}.an-track>span:last-child{border-radius:0 4px 4px 0}.an-track>span:only-child{border-radius:4px}.an-group+.an-group{margin-top:10px}.an-gtitle{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 2px 4px}.an-table{width:100%;border-collapse:collapse;font-size:12px}.an-table th{text-align:right;font-weight:600;color:var(--muted);font-size:11px;padding:5px 6px;border-bottom:1px solid var(--line);white-space:nowrap}.an-table{table-layout:auto}.an-table td{text-align:right;padding:6px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.an-table th:first-child,.an-table td:first-child{text-align:left}.an-table tr.an-click{cursor:pointer}.an-table tr.an-click:hover td{background:#f3f6fa}.an-trade{display:block;font-size:10px;color:var(--muted)}.an-mini{display:inline-block;height:8px;border-radius:4px;background:#2a78d6;margin-right:6px;vertical-align:middle}.an-flag{display:inline-block;margin-left:6px;font-size:10px;font-weight:600;padding:1px 6px;border-radius:10px;background:#fdecec;color:#9b1c1c}.an-email{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.an-email-actions{display:flex;gap:8px}.an-ok{font-size:12px;color:#11703a;margin:6px 0 0}@media(max-width:600px){.an-card .an-table{display:block;overflow-x:auto}}.pva-table{display:flex;flex-direction:column;font-size:13px}.pva-row{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,.9fr) minmax(0,1.6fr) minmax(0,1.2fr);gap:10px;align-items:baseline;padding:7px 4px;border-bottom:1px solid var(--line)}.pva-row:last-child{border-bottom:none}.pva-head{font-size:11.5px;color:var(--ink-2);font-weight:600}.pva-job{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pva-row small{color:var(--ink-2);font-size:11.5px}.pva-verdict{font-size:12px;font-weight:600}.pva-ok{color:#27500a}.pva-over,.pva-short{color:#854f0b}.pva-miss{color:#a32d2d}.pva-extra{color:#185fa5}.pva-ahead{color:var(--ink-2);font-weight:400}@media(max-width:720px){.pva-row{grid-template-columns:1fr 1fr}.pva-job{grid-column:1 / -1;white-space:normal}.pva-head{display:none}}.dd-modal{max-width:1100px;display:flex;flex-direction:column;padding:0;max-height:90vh;overflow:hidden}.dd-head{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:5}.dd-head>div{flex:1}.dd-head p{margin:4px 0 0;font-size:12px}.dd-err{margin:16px 20px;color:#b91c1c;font-size:13px}.dd-body{padding:8px 20px 12px;display:flex;flex-direction:column;gap:18px;flex:1 1 auto;min-height:0;overflow-y:auto}.dd-body h4{margin:8px 0;font-size:13px}.dd-load{display:flex;align-items:center;gap:10px;font-size:12px;padding:3px 0}.dd-load-name{width:170px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dd-bar{flex:1;height:8px;border-radius:4px;background:var(--bg);overflow:hidden}.dd-bar span{display:block;height:100%}.dd-load-v{width:250px;flex-shrink:0;text-align:right;color:var(--muted);font-size:11.5px}.dd-load-v.over{color:#b91c1c;font-weight:600}.dd-grid .alloc-grid-head{min-width:118px}.dd-wname{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 12px;border:0;background:transparent;cursor:pointer;text-align:left;width:100%;font:inherit}.dd-wname small{font-size:10.5px;color:var(--muted)}.dd-cell{cursor:default!important;vertical-align:middle}.dd-cell select{width:100%;font-size:12px;padding:4px}.dd-sites{display:flex;flex-wrap:wrap;align-items:center;gap:3px}.dd-site{display:inline-flex;align-items:center;gap:2px;font-size:11.5px;font-weight:600;padding:2px 3px 2px 7px;border-radius:999px;background:#e6f1fb;color:#0c447c;max-width:100%}.dd-site>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-site button{border:0;background:transparent;color:inherit;font-size:13px;line-height:1;padding:0 4px;cursor:pointer;border-radius:999px}.dd-site button:hover{background:#0c447c26}.dd-cell select.dd-site-add{width:auto;min-width:34px;max-width:72px;padding:2px 4px;font-size:12px;border-radius:999px}.dd-changed .dd-site{background:#dbeafe;outline:1px solid #2563EB}.dd-cell small{display:block;font-size:10.5px;color:var(--muted);margin-top:2px}.dd-cell>span{font-size:12px;font-weight:600}.dd-leave{background:#fef2f2!important;color:#991b1b;text-align:center;font-size:12px}.dd-locked{background:color-mix(in srgb,var(--bg) 70%,var(--surface))!important}.dd-changed select{border-color:#2563eb}.dd-jobs-row td{padding:0!important}.dd-jobs{position:sticky;left:0;max-width:min(100vw - 120px,1040px);padding:8px 12px 10px;background:var(--surface);border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:4px}.dd-job{display:flex;align-items:center;gap:10px;font-size:12px}.dd-job .actual-chip-open{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:340px}.dd-job-meta{flex:1;color:var(--muted);font-size:11px}.dd-job.over .dd-job-meta{color:#b91c1c}.dd-est{display:inline-flex;align-items:center;gap:4px}.dd-est input{width:58px;font-size:12px;padding:3px 4px}.dd-est-src{font-size:10px;color:var(--muted);width:40px}.dd-est-src.mine{color:#1d4ed8;font-weight:600}.dd-dec{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:12.5px}.dd-dec:first-of-type{border-top:0}.dd-dec>svg{margin-top:2px;flex-shrink:0}.dd-dec-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.dd-dec-t small{color:var(--muted);font-size:11.5px}.dd-dec select{font-size:12px;padding:4px;max-width:220px}.dd-choices{display:flex;flex-direction:column;gap:3px;margin-top:4px;font-size:12px}.dd-choices label{display:flex;align-items:center;gap:6px}.dd-dup{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.dd-foot{display:flex;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--surface)}.dd-foot .muted{flex:1;font-size:12px}.mv-overlay{position:fixed;inset:0;z-index:10000;background:#0b0d11;display:flex;flex-direction:column;touch-action:none;-webkit-user-select:none;user-select:none}.mv-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 10px) calc(env(safe-area-inset-right,0px) + 12px) 10px calc(env(safe-area-inset-left,0px) + 16px);color:#fff;position:relative;z-index:2}.mv-count{font-size:14px;opacity:.8;font-variant-numeric:tabular-nums}.mv-actions{display:flex;align-items:center;gap:10px}.mv-btn{border:none;background:#ffffff24;color:#fff;font:inherit;cursor:pointer;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.mv-btn:active{background:#ffffff47}.mv-close{width:44px;height:44px}.mv-save{height:44px;padding:0 18px;font-size:15px;font-weight:600}.mv-stage{flex:1 1 auto;min-height:0;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:0 0 env(safe-area-inset-bottom,0px)}.mv-img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .18s ease-out;will-change:transform;-webkit-user-drag:none}.mv-video{max-width:100%;max-height:100%;background:#000}.mv-doc{width:100%;height:100%;border:0;background:#fff}.mv-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:48px;height:64px;border:none;border-radius:12px;cursor:pointer;background:#ffffff1f;color:#fff;font-size:36px;line-height:1}.mv-prev{left:calc(env(safe-area-inset-left,0px) + 10px)}.mv-next{right:calc(env(safe-area-inset-right,0px) + 10px)}@media(hover:none){.mv-nav{display:none}}.crew-scroll{overflow-x:auto}.crew-table{min-width:880px}.crew-table td.crew-left,.crew-table th:nth-child(2),.crew-table th:nth-child(3){text-align:left}.crew-table td{vertical-align:top}.crew-row.crew-open td{background:#f7f9fc}.crew-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:0}.crew-dot-active,.crew-sq-active{background:#1d9e75}.crew-dot-attention,.crew-sq-attention{background:#ef9f27}.crew-dot-silent,.crew-sq-silent{background:#d03b3b}.crew-dot-pending,.crew-sq-pending{background:#9ec5f4}.crew-dot-leave,.crew-sq-leave{background:#8e7cc3}.crew-dot-off,.crew-sq-off{background:#d9dde4}.crew-pill{display:inline-block;font-size:10px;font-weight:700;padding:1px 8px;border-radius:10px}.crew-pill-active{background:#e1f5ee;color:#085041}.crew-pill-attention{background:#faeeda;color:#633806}.crew-pill-silent{background:#fdecec;color:#9b1c1c}.crew-pill-pending{background:#e6f1fb;color:#0c447c}.crew-pill-leave{background:#eeedfe;color:#3c3489}.crew-pill-off{background:#f1f2f4;color:#5b6676}.crew-why{display:block;font-size:11px;color:var(--ink-2);margin-top:2px;white-space:normal;max-width:260px}.crew-idle{color:#9b1c1c;font-weight:600}.crew-trend{display:inline-flex;gap:2px}.crew-sq{display:inline-block;width:9px;height:9px;border-radius:2px}.an-legend .crew-sq{margin-right:5px;vertical-align:-1px}.crew-detail td{background:#f7f9fc;text-align:left!important;padding:8px 12px 12px 28px}.crew-flags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.crew-flag{font-size:11px;padding:2px 8px;border-radius:10px;background:#faeeda;color:#633806}.crew-flag-silent,.crew-flag-silent-repeat{background:#fdecec;color:#9b1c1c}.crew-flag-untouched,.crew-flag-late-log{background:#f1f2f4;color:#344256}.crew-ev{list-style:none;margin:0;padding:0}.crew-ev li{display:grid;grid-template-columns:46px 62px minmax(140px,260px) 1fr;gap:8px;padding:4px 6px;border-radius:6px;font-size:12px;cursor:pointer;align-items:baseline}.crew-ev li:hover{background:#eef2f8}.crew-ev-time{color:var(--muted);font-variant-numeric:tabular-nums}.crew-ev-kind{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.crew-ev-job{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crew-ev-text{color:var(--ink-2);white-space:normal;overflow-wrap:anywhere}.crew-ev-text em{color:var(--muted);font-style:normal}@media(max-width:700px){.crew-ev li{grid-template-columns:46px 1fr}.crew-ev-kind{display:none}.crew-ev-job,.crew-ev-text{grid-column:2}}.crew-dayhead{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px;font-size:12px}.crew-dayhead strong{font-size:14px}.crew-daytabs{margin:2px 0 10px}.crew-job{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px;white-space:normal}.crew-job-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.crew-job-title{background:none;border:0;padding:0;font:inherit;font-size:13px;color:var(--ink);cursor:pointer;text-align:left}.crew-job-title:hover{color:var(--blue);text-decoration:underline}.crew-job-actions{margin-left:auto;display:flex;gap:6px}.crew-job-meta{font-size:11px;color:var(--muted);margin:3px 0 8px}.crew-st,.crew-pri,.crew-tag{display:inline-block;font-size:10px;font-weight:700;padding:1px 8px;border-radius:10px;white-space:nowrap;background:#f1f2f4;color:#344256}.crew-st-in-progress{background:#e6f1fb;color:#0c447c}.crew-st-pending-verification{background:#faeeda;color:#633806}.crew-st-done{background:#e1f5ee;color:#085041}.crew-st-blocked,.crew-st-rejected,.crew-pri-critical,.crew-pri-high{background:#fdecec;color:#9b1c1c}.crew-st-waiting-procurement{background:#eeedfe;color:#3c3489}.crew-tag{background:#eeedfe;color:#3c3489;font-weight:600}.crew-kv{display:grid;grid-template-columns:110px 1fr;gap:5px 10px;margin:0;font-size:12px}.crew-kv dt{color:var(--muted)}.crew-kv dd{margin:0;color:var(--ink);min-width:0;overflow-wrap:anywhere}.crew-change{display:block}.crew-change+.crew-change{margin-top:3px}.crew-change small,.crew-photo small{color:var(--muted)}.crew-quote{display:block}.crew-photos{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.crew-photo{position:relative;width:84px;height:64px;border-radius:6px;overflow:hidden;border:1px solid var(--line);background:#f3f6fa;display:flex;align-items:center;justify-content:center;color:var(--ink-2);text-decoration:none;cursor:pointer;font-size:12px}.crew-photo img{width:100%;height:100%;object-fit:cover;display:block}.crew-photo small{position:absolute;left:0;right:0;bottom:0;font-size:9px;text-align:center;color:#fff;background:#0e17268c;padding:1px 0}.crew-more{border-style:dashed;font-weight:600}.crew-untouched td{white-space:normal}.crew-untouched td:first-child{min-width:220px}.crew-untouched th,.crew-untouched td{text-align:left!important}@media(max-width:700px){.crew-kv{grid-template-columns:1fr;gap:1px 0}.crew-kv dt{margin-top:6px}.crew-job-actions{margin-left:0;width:100%}.crew-detail td{padding-left:12px}}.crew-scroll{container-type:inline-size}.crew-detail td>*{position:sticky;left:12px;max-width:calc(100cqw - 24px);box-sizing:border-box}.crew-detail td{padding-left:12px}.triage-uploads{display:grid;grid-template-columns:1fr 1fr;gap:12px}.triage-dz{border:1px dashed var(--line);border-radius:10px;padding:12px;background:var(--bg);display:flex;flex-direction:column;gap:8px}.triage-dz.busy{opacity:.65}.triage-dz-head{display:flex;flex-direction:column;gap:2px}.triage-dz-head strong{font-size:13px;color:var(--ink)}.triage-dz-head span{font-size:11px;color:var(--muted)}.triage-dz-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.triage-dz-list li{display:flex;align-items:center;gap:6px;font-size:12px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:4px 8px}.triage-dz-list li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.triage-dz-list li button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:15px;line-height:1;padding:0 2px}.triage-dz-list li button:hover{color:var(--danger)}.triage-dz-btn{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;cursor:pointer;font-size:12px;font-weight:600;color:var(--blue);border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:6px 10px}.triage-dz-btn:hover{border-color:var(--blue)}.triage-upload-note{font-size:12px;color:var(--muted);margin:8px 0 0}@media(max-width:720px){.triage-uploads{grid-template-columns:1fr}}.triage-phase-meta{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 6px}.triage-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--ink-2);background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:2px 8px}.triage-steps{margin:0 0 8px;font-size:12px}.triage-steps summary{cursor:pointer;color:var(--blue);font-weight:600}.triage-steps ol{margin:6px 0 0;padding-left:20px;color:var(--ink-2)}.triage-steps li{margin:2px 0}.toggle-inline{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink-2);cursor:pointer;padding:0 6px}.toggle-inline input{width:15px;height:15px;cursor:pointer}.triage-fallback-banner{display:flex;flex-direction:column;gap:6px;background:#fef2f2;border:1px solid #FCA5A5;color:#991b1b;border-radius:10px;padding:12px 14px;margin-bottom:12px;font-size:13px}.triage-fallback-banner label{display:flex;align-items:center;gap:8px;font-weight:600;margin-top:4px;cursor:pointer}.task-detail{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;background:var(--bg);border-radius:10px;padding:12px 14px;margin-bottom:16px}.task-detail section:first-child,.task-detail section:nth-child(2){grid-column:1 / -1}.task-detail h5{margin:0 0 4px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.task-detail p,.task-detail li{font-size:13px;color:var(--ink-2);margin:0;line-height:1.45}.task-detail ol,.task-detail ul{margin:0;padding-left:20px}.task-detail li{margin:2px 0}.task-detail-plain{font-size:13px;color:var(--ink-2);white-space:pre-wrap;margin:0 0 14px}.task-has-brief{margin-left:6px;color:var(--muted);vertical-align:-1px}@media(max-width:720px){.task-detail{grid-template-columns:1fr}}.gantt-meta{display:inline-flex;align-items:center;gap:3px;margin-left:8px;padding:1px 6px;border-radius:999px;background:var(--surface-2, rgba(127,127,127,.12));color:var(--muted);font-size:10.5px;font-variant-numeric:tabular-nums;vertical-align:middle}.dl-wrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:16px;align-items:start}@media(max-width:1000px){.dl-wrap{grid-template-columns:1fr}}.dl-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:10px}.dl-head h2{font-size:18px}.dl-note{background:#f3f6fa;border-left:3px solid var(--blue);border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.5;color:var(--ink-2);margin:0 0 12px}.dl-late-txt{color:#b3261e;font-weight:600}.dl-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px 6px;margin-bottom:12px;box-shadow:var(--shadow)}.dl-sec-head{display:flex;align-items:center;gap:8px;padding:2px 0 8px;border-bottom:1px solid var(--line);margin-bottom:4px;font-size:13px}.dl-sec-n{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;font-weight:700;align-items:center;justify-content:center}.dl-sec-state{font-size:10px;font-weight:700;padding:1px 8px;border-radius:10px;background:#f1f2f4;color:#5b6676;text-transform:uppercase;letter-spacing:.03em}.dl-sec-state.done{background:#e1f5ee;color:#085041}.dl-sec-state.now{background:#e6f1fb;color:#0c447c}.dl-sec-state.late{background:#fdecec;color:#9b1c1c}.dl-step{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);align-items:flex-start}.dl-step:last-child{border-bottom:0}.dl-step.busy{opacity:.6}.dl-check{width:22px;height:22px;flex:none;border-radius:6px;border:1.5px solid #c9d2df;background:var(--surface);color:#fff;font-size:13px;line-height:1;cursor:pointer;margin-top:1px;padding:0}.dl-check.on{background:#1d9e75;border-color:#1d9e75}.dl-check.auto{cursor:default;border-style:dashed}.dl-check.auto.on{border-style:solid}.dl-check:disabled:not(.on){background:#f6f7f9}.dl-body{min-width:0;flex:1}.dl-title{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;font-weight:600;color:var(--ink)}.dl-done .dl-title>span:first-child{color:var(--muted);font-weight:500}.dl-pill{font-size:10px;font-weight:700;padding:1px 7px;border-radius:10px}.dl-pill.late{background:#fdecec;color:#9b1c1c}.dl-pill.now{background:#e6f1fb;color:#0c447c}.dl-pill.hold{background:#eeedfe;color:#3c3489}.dl-pill.user{background:#f1f2f4;color:#5b6676}.dl-detail{font-size:12px;color:var(--ink-2);line-height:1.5;margin-top:2px;overflow-wrap:anywhere}.dl-links{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;align-items:center}.dl-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);cursor:pointer;font-family:inherit}.dl-chip:hover{border-color:#b8c4d6;color:var(--ink)}.dl-chip.act{background:#e6f1fb;border-color:#b9d7f3;color:#0c447c;font-weight:600}.dl-chip.ghosty{color:var(--muted)}.dl-chip:disabled{opacity:.5;cursor:default}.dl-edit{display:flex;flex-direction:column;gap:6px}.dl-edit input,.dl-edit textarea,.dl-add input,.dl-ask input{font:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;width:100%;box-sizing:border-box}.dl-edit-actions,.dl-add,.dl-ask{display:flex;gap:6px}.dl-add{padding:8px 0 4px}.dl-agent{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);position:sticky;top:12px}.dl-agent-head{display:flex;align-items:center;gap:6px;font-size:14px;margin-bottom:6px}.dl-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.dl-chat{max-height:50vh;overflow-y:auto;margin:6px 0}.dl-msg{border-radius:10px;padding:8px 10px;margin:6px 0;font-size:13px;line-height:1.5}.dl-msg p{margin:0 0 4px}.dl-msg p:last-child{margin:0}.dl-msg.me{background:#f3f6fa;color:var(--ink)}.dl-msg.ag{background:#e6f1fb;color:#0c447c}.dl-msg.err{background:#fdecec;color:#9b1c1c}.dl-ask{margin-top:8px}.dup-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;border:1px solid #f3c7a0;background:#fdf1e6;color:#8a4b0b;cursor:pointer;white-space:nowrap;font-family:inherit}.dup-chip.high{border-color:#f1b1b1;background:#fdecec;color:#9b1c1c}.dup-modal{max-width:980px;width:calc(100vw - 32px)}.dup-why{font-size:13px;margin:0 0 12px;padding:8px 10px;border-radius:8px;background:#fdf1e6;color:#8a4b0b}.dup-why.high{background:#fdecec;color:#9b1c1c}.dup-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:700px){.dup-grid{grid-template-columns:1fr}}.dup-col{border:1px solid var(--line);border-radius:10px;padding:12px;min-width:0}.dup-code{font-size:12px;font-weight:700;display:flex;gap:8px;align-items:center}.dup-title{font-size:14px;font-weight:600;margin:4px 0;overflow-wrap:anywhere}.dup-meta{font-size:12px;color:var(--muted);display:flex;gap:4px;align-items:center;flex-wrap:wrap;margin-top:2px}.dup-desc{font-size:12px;color:var(--ink-2);white-space:pre-wrap;margin:8px 0 0;overflow-wrap:anywhere}.dup-photos{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.dup-photos img{width:72px;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.dup-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px}.an-list{margin:0 0 12px;padding-left:18px;font-size:12px;color:var(--ink-2);line-height:1.5}.tl-cap{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2);margin-left:auto}.tl-cap input{width:56px;font-size:13px;padding:4px 6px;border:1px solid var(--line);border-radius:8px}.tl-load{display:inline-flex;align-items:center;gap:6px;min-width:150px}.tl-trk{flex:1;height:10px;border-radius:5px;background:#f1f2f4;border:1px solid var(--line);position:relative;overflow:hidden}.tl-fill{position:absolute;left:0;top:0;bottom:0;border-radius:5px;display:block}.tl-trk em{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--ink-2)}.tl-ok{background:#e1f5ee;color:#085041}.tl-fill.tl-ok{background:#1d9e75}.tl-warn{background:#faeeda;color:#633806}.tl-fill.tl-warn{background:#ef9f27}.tl-bad{background:#fdecec;color:#9b1c1c}.tl-fill.tl-bad{background:#d03b3b}.tl-neutral{background:#f1f2f4;color:#344256}.tl-fill.tl-neutral{background:#8da2bd}.tl-move{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px}.tl-move-bad{border-color:#e9b4b4}.tl-move-head{font-size:13px}.tl-move-why{font-size:11px;color:var(--ink-2);margin:3px 0 8px}.tl-move-actions{display:flex;gap:6px;flex-wrap:wrap}.tl-jobs{list-style:none;margin:0 0 10px;padding:0;font-size:12px}.tl-jobs li{padding:4px 0;border-bottom:1px solid var(--line)}.tl-jobs li .link{margin-left:6px}.smart-open{margin:6px 0 10px}.smart-box{border:1px solid #c7d7f5;background:#f5f8ff;border-radius:10px;padding:12px 14px;margin:6px 0 12px}.smart-head{display:flex;align-items:center;gap:6px;font-size:13px;margin-bottom:4px}.smart-box textarea{width:100%;box-sizing:border-box;font:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;resize:vertical}.smart-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.smart-preview{margin-top:12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.smart-preview h4{margin:4px 0 8px;font-size:15px}.crew-picks{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.crew-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:12px;font-weight:600;color:var(--ink-2);cursor:pointer}.crew-chip.on{background:var(--blue-soft, rgba(37,99,235,.1));color:var(--blue);border-color:var(--blue)}.crew-chip.dashed{border-style:dashed}.crew-chip input{width:13px;height:13px;margin:0}.crew-table-wrap{overflow-x:auto;margin-bottom:14px}.crew-table{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums}.crew-table th,.crew-table td{border:1px solid var(--line);height:34px;text-align:center;padding:0 2px;min-width:40px;position:relative}.crew-table th{font-weight:600;color:var(--ink-2);background:var(--surface)}.crew-table th em{font-style:normal;color:var(--muted);font-weight:500;margin-right:2px}.crew-table .lbl{text-align:left;padding:0 10px;min-width:150px;font-weight:600}.crew-table .cap{color:var(--muted);min-width:46px}.crew-table td.ok{color:var(--ink-2);cursor:pointer}.crew-table td.full{background:#faeeda;color:#633806;cursor:pointer}.crew-table td.over{background:#fcebeb;color:#791f1f;font-weight:700;cursor:pointer}.crew-table td.note{background:var(--surface);color:var(--muted);cursor:pointer}.crew-table td.sel{outline:2px solid var(--blue);outline-offset:-2px}.crew-table .wk{border-left:2px solid var(--ink-3, #9aa0a6)}.crew-table td sup{font-size:9px;color:var(--muted);position:absolute;top:2px;right:3px}.crew-table tr.total td{font-weight:700;background:var(--surface)}.crew-table tr.untyped td.lbl{color:var(--muted);font-style:italic}.crew-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--muted);margin-top:8px}.crew-legend i{display:inline-block;width:10px;height:10px;vertical-align:-1px;margin-right:4px}.crew-legend .lg-full{background:#faeeda;border:1px solid #BA7517}.crew-legend .lg-over{background:#fcebeb;border:1px solid #E24B4A}.crew-previewing{color:var(--blue);font-weight:600;display:inline-flex;gap:4px;align-items:center}.crew-day{padding:14px 16px}.crew-day-head{display:flex;align-items:baseline;gap:10px}.crew-day-head .bad{color:#a32d2d;font-size:12px;font-weight:600}.crew-item{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:13px;border-bottom:1px solid var(--line)}.crew-item .link{background:none;border:0;padding:0;color:var(--blue);font-weight:600;cursor:pointer;font-size:13px}.crew-fix{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}.crew-fix.on{background:var(--blue-soft, rgba(37,99,235,.06));margin:0 -8px;padding:10px 8px;border-radius:8px}.crew-fix>svg{color:var(--blue);flex-shrink:0;margin-top:2px}.crew-fix>div:first-of-type{flex:1}.crew-fix p{margin:0;font-size:13px;font-weight:600}.crew-fix small{font-size:12px}.crew-fix small.bad{color:#a32d2d}.crew-fix-actions{display:flex;gap:6px;flex-shrink:0}.subtask-owner{display:block;font-size:11px;color:var(--muted);margin-top:2px}.subtask-item.subtask-theirs .subtask-row{cursor:default}.subtask-item.subtask-theirs .subtask-cb{opacity:.45}.subtask-item.subtask-theirs .subtask-text{color:var(--muted)}.subtask-owner-select{font-size:11px;padding:2px 4px;max-width:130px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.modal .myjob-tabs{flex-wrap:wrap}.hours-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}.hours-row.unsure{background:#faeeda33}.hours-src{font-size:10px;font-weight:700;color:var(--muted);text-align:center;border:1px solid var(--line);border-radius:6px;padding:2px 0}.hours-row.unsure .hours-src{color:#854f0b;border-color:#ef9f27}.hours-title small{display:block;color:var(--muted);font-size:11px}.hours-chips{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.hours-chips .chip{padding:2px 8px;font-size:11px}.badge-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e24b4a;margin-left:6px;vertical-align:middle}.routing-table{width:100%;border-collapse:collapse;font-size:13px}.routing-table th,.routing-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}.routing-table select{min-width:180px}button.sched-group-head{width:100%;text-align:left;font-family:inherit;cursor:pointer;border-left:0;border-right:0;border-radius:0}button.sched-group-head:hover{background:var(--card)}.sched-group-caret{flex-shrink:0;color:var(--muted)}.sched-group.is-collapsed .sched-group-head{border-bottom-color:transparent}.crew-cell{display:inline-flex;flex-direction:column;align-items:center;line-height:1.1}.crew-cell b{font-size:12px}.crew-cell small{font-size:9.5px;font-weight:400;opacity:.8}.crew-table th,.crew-table td{min-width:52px}.crew-short{margin-bottom:12px;padding:12px 16px}.crew-short-row{display:grid;grid-template-columns:150px 1fr 16px;gap:10px;align-items:center;padding:7px 0;border-top:1px solid var(--line);font-size:13px;cursor:pointer}.crew-short-row:hover{background:var(--surface)}.crew-short-trade{font-weight:600}.crew-short-txt{color:var(--ink-2);line-height:1.4}.lvl-bars{display:grid;gap:3px;margin:8px 0 10px}.lvl-col{display:flex;flex-direction:column;align-items:center;gap:2px}.lvl-col em{font-style:normal;font-size:10px;color:var(--muted)}.lvl-track{position:relative;width:100%;height:72px;background:var(--bg, #f4f5f8);border:1px solid var(--line);border-radius:3px;overflow:hidden}.lvl-bar{position:absolute;left:10%;width:80%;bottom:0;background:#b5d4f4;border-radius:3px 3px 0 0}.lvl-bar.over{background:#f09595}.lvl-bar.after{background:#9fe1cb;left:55%;width:35%}.lvl-cap{position:absolute;left:0;right:0;border-top:2px dashed #185FA5}.lvl-head,.lvl-row{display:grid;grid-template-columns:22px minmax(0,1fr) 180px 280px;gap:12px;align-items:center}.lvl-row>span:nth-child(3){white-space:normal}.lvl-row.fixed{opacity:.75}@media(max-width:860px){.lvl-head{display:none}.lvl-row{grid-template-columns:22px 1fr}.lvl-row>span:nth-child(3),.lvl-row>span:nth-child(4){grid-column:2}}.lvl-head{font-size:11px;color:var(--muted);padding:4px 0}.lvl-row{padding:7px 0;border-top:1px solid var(--line);font-size:13px}.lvl-row input{width:15px;height:15px;margin:0}.lvl-task{cursor:pointer}.lvl-task small{display:block;color:var(--muted);font-size:11.5px}.lvl-tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;white-space:normal;line-height:1.3}.lvl-tag.fixed{background:var(--surface);color:var(--ink-2);border:1px solid var(--line)}.lvl-tag.mov{background:#e1f5ee;color:#085041}.lvl-tag.str{background:#faeeda;color:#633806}.lvl-act{font-size:12px;color:var(--ink-2)}.lvl-act b{color:var(--ink);font-weight:600}.lvl-act .bad{color:#a32d2d}.lvl-foot{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;flex-wrap:wrap;position:sticky;bottom:-20px;background:var(--surface);padding-bottom:8px}.hours-row{grid-template-columns:28px minmax(0,1fr) auto}.pfm-result{border:1px solid #9FE1CB;background:#e1f5ee;border-radius:10px;padding:10px 12px;margin-bottom:12px}.pfm-result-h{display:flex;align-items:center;gap:8px;font-size:13px;color:#085041;margin-bottom:6px}.pfm-result-foot{margin:8px 0 0;font-size:11px;color:#0f6e56}.pfm-added{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;white-space:nowrap;background:#e1f5ee;color:#085041;border-radius:5px;padding:2px 7px}.crew-table td.who{cursor:pointer;color:var(--blue);font-weight:600}.crew-table td.who.none{color:#a32d2d}.crew-table td.who:hover{background:var(--bg)}.who-pop{position:absolute;left:0;top:100%;z-index:5;width:290px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #00000026;padding:8px 10px;text-align:left;font-weight:400;color:var(--ink);cursor:default}.who-head{font-weight:600;margin-bottom:4px}.who-row{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12.5px}.who-row small{color:var(--muted);font-size:11px}.who-row .who-leave{margin-left:auto;color:#854f0b;white-space:nowrap}.who-av{width:22px;height:22px;border-radius:50%;background:var(--blue-soft, rgba(37,99,235,.12));color:var(--blue);font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.who-foot{font-size:11px;color:var(--muted);border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.who-foot .link{background:none;border:0;padding:0;color:var(--blue);font-weight:600;cursor:pointer;font-size:11px}.pbt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.pbt-card{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface)}.pbt-card h4{margin:0 0 6px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pbt-card h4 span{color:var(--muted);font-weight:500;font-size:12px}.pbt-card.none{border-color:#e24b4a;background:#fcebeb}.pbt-card.none h4{color:#791f1f}.pbt-chip{display:inline-flex;align-items:center;font-size:11px;padding:2px 8px;border-radius:999px;background:var(--bg);border:1px solid var(--line);margin:2px 3px 0 0}.pbt-chip.part{border-style:dashed}.pbt-blurb{margin:4px 0 0;font-size:12px;color:#4a1b0c;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sub-tasks{max-height:160px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;padding:0 10px}.sub-note{background:#eeedfe;color:#26215c}.crew-table td.note{color:var(--ink-2)}.primary.mini{padding:3px 8px;font-size:11px}.claim-first-switch{display:inline-flex;align-items:center;gap:10px;margin:6px 0 4px;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.claim-first-switch input{position:absolute;opacity:0;width:0;height:0}.claim-first-track{width:36px;height:20px;border-radius:999px;background:#c9d1dd;position:relative;transition:background .15s;flex:0 0 auto}.claim-first-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s}.claim-first-switch input:checked+.claim-first-track{background:#1f4fe0}.claim-first-switch input:checked+.claim-first-track:after{transform:translate(16px)}.claim-first-switch input:focus-visible+.claim-first-track{outline:2px solid #1f4fe0;outline-offset:2px}.claim-first-hint{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:4px 0 6px;padding:7px 10px;border-radius:8px;background:#faeeda;color:#633806;font-size:12.5px}.claim-taken{color:#27500a;font-weight:600}.pill-offer{background:#eeedfe;color:#3c3489}.wp-banner{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:8px 12px;border:1px solid #FCD34D;background:#fffbeb;color:#78350f;border-radius:10px;font-size:13px}.wp-banner span{flex:1}.wp-banner .muted{color:#92400e}.wp-load{margin-top:3px;font-size:10.5px;color:var(--muted, #6b7280)}.wp-load.on{color:#0f6e56}.wp-load.over{color:#b91c1c;font-weight:600}.wp-bar{display:flex;align-items:center;gap:5px;margin:0 0 4px;font-size:10px;color:#6b7280}.wp-bar-track{flex:1;height:5px;border-radius:3px;background:#eef2f7;overflow:hidden;display:flex}.wp-bar-p{background:#7f77dd;height:100%}.wp-bar-q{background:#1d9e75;height:100%}.wp-bar em{font-style:normal;white-space:nowrap;min-width:26px;text-align:right}.wp-bar.over em{color:#b91c1c;font-weight:600}.wp-bar.over .wp-bar-track{outline:1px solid #FCA5A5}.alloc-load-chip{background:#e1f5ee;color:#0f6e56;border:1px solid #A7E3CF;font-weight:600}.alloc-load-chip.over{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.alloc-help-on{font-weight:500;opacity:.95}.cw-modal{max-width:980px;display:flex;flex-direction:column;padding:0;max-height:90vh;overflow:hidden}.cw-body{padding:0 16px 16px}.cw-group{margin-top:14px;border:1px solid var(--border, #e5e7eb);border-radius:10px;overflow:hidden}.cw-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:#f8fafc;font-size:13px;flex-wrap:wrap}.cw-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 12px;border-top:1px solid var(--border, #e5e7eb);font-size:13px;flex-wrap:wrap}.cw-job{flex:1;min-width:220px;cursor:pointer}.cw-job small{display:block;color:#6b7280;font-size:11.5px;margin-top:1px}.cw-actions{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.cw-pick{display:inline-flex;gap:2px}.cw-pick input{height:28px;font-size:12px;padding:0 6px}.cw-someday{color:#6b7280}.cw-someday-list .cw-group-head{background:#f3f4f6}.tq-someday-pill{background:#f3f4f6;color:#4b5563}.tq-plan-chip{display:inline-flex;align-items:center;gap:4px}.wz-modal{max-width:980px;display:flex;flex-direction:column;padding:0;max-height:90vh;overflow:hidden}.wz-rail{display:flex;border-bottom:1px solid var(--line);overflow-x:auto;background:var(--surface)}.wz-step{flex:1;min-width:124px;display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:9px 12px;border:0;border-right:1px solid var(--line);background:transparent;cursor:pointer;text-align:left;font:inherit}.wz-step:last-child{border-right:0}.wz-step b{font-size:12.5px;font-weight:600;color:var(--ink)}.wz-step span{font-size:11px;color:var(--muted)}.wz-step.done b{color:#15803d}.wz-step.todo span{color:#b91c1c}.wz-step.on{background:var(--bg);box-shadow:inset 0 -2px 0 var(--accent, #2563EB)}.wz-body{padding:12px 20px 16px;display:flex;flex-direction:column;gap:6px;flex:1 1 auto;min-height:0;overflow-y:auto}.wz-body h4{margin:6px 0 2px;font-size:15px}.wz-body>p.muted{margin:0 0 6px;font-size:12.5px;line-height:1.5}.wz-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;background:var(--bg);font-size:12.5px;flex-wrap:wrap}.wz-row .t{flex:1;min-width:200px}.wz-row.away{background:#fef2f2;color:#7f1d1d}.wz-row.free{background:#f0fdf4;color:#14532d}.wz-row .actual-chip-open{font:inherit}.wz-bulk{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 8px}.wz-bulk .chk{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}.wz-mark{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border-radius:10px;font-size:12.5px;margin:0 0 12px}.wz-mark.done{background:#f0fdf4;color:#14532d;border:1px solid #BBF7D0}.wz-mark.nudge{background:#fffbeb;color:#78350f;border:1px solid #FDE68A}.ol-table .alloc-grid-head{min-width:150px}.ol-week-btn{border:0;background:transparent;cursor:pointer;width:100%;font:inherit;padding:0}.ol-week-btn:hover .alloc-grid-datenum{color:#1d4ed8}.ol-cell{vertical-align:top}.ol-bar{height:5px;border-radius:3px;background:color-mix(in srgb,var(--line) 70%,var(--surface));overflow:hidden;margin:2px 0 3px}.ol-bar span{display:block;height:100%}.ol-load{font-size:10.5px;color:var(--muted);margin-bottom:4px}.ol-leave-tag{color:#b91c1c}.ol-free{font-size:11px;color:var(--muted);border:1px dashed var(--line);border-radius:6px;padding:2px 6px;display:inline-block}.ol-site{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;padding:2px 6px;border-radius:6px;margin-bottom:2px;background:#dcfce7;color:#14532d}.ol-site.project{background:#e6f1fb;color:#0c447c;border-left:3px solid #185FA5}.ol-site-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ol-site-days{flex-shrink:0;font-weight:600}.ol-more{font-size:10.5px;color:var(--muted)}.ol-ends{font-size:10.5px;color:#0c447c;margin-top:3px}.ol-leave{display:flex;align-items:center;gap:5px;font-size:11px;color:#991b1b;padding-top:6px}.wz-carried{flex-basis:100%;display:flex;flex-direction:column;gap:4px;padding:6px 0 2px 12px;border-top:1px dashed var(--border, #e5e7eb);margin-top:6px}.wz-carried-row{display:flex;align-items:center;gap:8px;font-size:13px;flex-wrap:wrap}.wz-carried-row .cw-pick{display:inline-flex;gap:4px;align-items:center}.wz-carried-row .t{flex:1 1 auto;cursor:pointer}.wz-carried-row label{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted, #6b7280)}.wz-carried-row input{width:64px;padding:2px 6px}.dd-site>span[role=button]{cursor:pointer}.dd-site.open{background:#0c447c;color:#fff}.dd-site-txt{border:0;background:transparent;color:#0c447c;font:inherit;font-weight:600;padding:0;cursor:pointer;text-decoration:underline dotted}.dd-site-pop{position:fixed;z-index:1000;min-width:260px;max-width:360px;background:var(--card, #fff);color:var(--text, #111827);border:1px solid var(--border, #e5e7eb);border-radius:10px;box-shadow:0 8px 24px #00000024;padding:8px;font-weight:400;font-size:12.5px;text-align:left;white-space:normal}.dd-site-pop-head{display:flex;align-items:center;gap:6px;margin-bottom:6px}.dd-site-pop-head .icon-btn{margin-left:auto}.dd-site-pop-row{display:block;width:100%;text-align:left;border:0;background:transparent;color:inherit;font:inherit;padding:4px 6px;border-radius:6px;cursor:pointer}.dd-site-pop-row:hover{background:var(--bg, #f3f4f6)}.dd-site-pop-row small{display:block;color:var(--muted, #6b7280)}.dd-site-pop-row.proj b{color:#1d4ed8}.lc-table .alloc-grid-head{min-width:44px;padding:6px 2px}.lc-table .lc-end{min-width:110px;font-size:12px;text-align:left;padding:0 10px;white-space:nowrap}.lc-cell{text-align:center;font-size:12px;font-weight:600;cursor:pointer;height:34px;min-width:44px;border:1px solid var(--line);-webkit-user-select:none;user-select:none}.lc-0{background:var(--surface-2, #F7F7F5);color:var(--muted);font-weight:400}.lc-part{background:#eaf3de;color:#27500a}.lc-full{background:#97c459;color:#173404}.lc-over{background:#e24b4a;color:#fff}.lc-leave{background:repeating-linear-gradient(45deg,#f3f3f1,#f3f3f1 3px,#ddd 3px 4px);color:var(--muted);font-weight:400}.lc-cell.lc-proposed{box-shadow:inset 0 0 0 2px transparent;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.45) 0 4px,transparent 4px 8px);border-style:dashed}.lc-cell.lc-sel{outline:2px solid #185FA5;outline-offset:-2px}.lc-cell.lc-past,.lc-head.lc-past,.lc-foot.lc-past{opacity:.55}.lc-weekstart{border-left:2px solid var(--line-strong, #c9c9c3)!important}.lc-foot{font-size:11px;color:#b45309;text-align:center;font-weight:600;background:var(--surface);position:sticky;bottom:0;border-top:2px solid var(--line-strong, #c9c9c3)}.lc-table tfoot td.alloc-grid-worker-label{text-align:left;padding-left:12px}.lc-confirm-week{font-size:10px;padding:1px 5px;margin-top:2px;border:1px solid #185FA5;color:#185fa5;background:#fff;border-radius:6px;cursor:pointer;white-space:nowrap}.lc-week-ok{display:inline-flex;color:#3b6d11;margin-top:2px}.actuals-legend-dot.lc-proposed{border:1px dashed #666;background:#eaf3de}.lc-panels{display:grid;grid-template-columns:3fr 2fr;gap:12px;margin:-12px 0 24px}@media(max-width:900px){.lc-panels{grid-template-columns:1fr}}.lc-panel{padding:12px 14px}.lc-panel-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.lc-state{font-size:11px;padding:2px 8px;border-radius:999px;background:#faeeda;color:#633806}.lc-state.on{background:#eaf3de;color:#27500a}.lc-job{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.lc-job-n{width:20px;height:20px;border-radius:50%;background:var(--surface-2, #F1EFE8);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:none;margin-top:2px}.lc-job-main{flex:1;min-width:0}.lc-job-main .linkish{background:none;border:0;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.lc-job-main .linkish:hover{text-decoration:underline}.lc-job-act{display:flex;gap:4px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.lc-job-act input[type=date],.lc-job-act select{font-size:12px;padding:3px 6px;height:28px}.lc-off-row{display:flex;justify-content:space-between;width:100%;background:none;border:0;border-top:1px solid var(--line);padding:7px 2px;font:inherit;font-size:13px;cursor:pointer;text-align:left;color:inherit}.lc-off-row.on,.lc-off-row:hover{background:var(--surface-2, #F7F7F5)}.lc-off-list{max-height:360px;overflow:auto}.mjl-day-head{display:flex;align-items:baseline;gap:8px;margin:18px 0 8px}.mjl-day-head .mjl-section-label{margin:0}.mjl-day-head .mjl-day-sub{font-size:12px;color:var(--muted)}.mjl-day-head.today .mjl-section-label{color:#0f6e56}.mjl-num{width:22px;height:22px;border-radius:50%;background:var(--surface-2, #F1EFE8);color:var(--text);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:none;align-self:center;margin-left:10px}.mjl-day-head.today~.mjl-card .mjl-num,.mjl-card.mjl-today .mjl-num{background:#e1f5ee;color:#0f6e56}.mjl-order-note{font-size:12px;background:#faeeda;color:#633806;border-radius:var(--radius);padding:8px 10px;margin:4px 0 12px}.mjl-fold{background:none;border:0;padding:0;font:inherit;cursor:pointer;display:flex;align-items:baseline;gap:8px;color:inherit}.lc-site-row td{height:24px}.lc-site-label{font-size:11px!important;color:#72243e;display:flex;align-items:center;gap:4px}.lc-site{text-align:center;font-size:10px;border:1px solid var(--line)}.lc-site-free{background:var(--surface)}.lc-guests{background:#f4c0d1;color:#72243e}.actuals-legend-dot.lc-guests{background:#f4c0d1}.lc-changeover{background:#faeeda;color:#633806}.actuals-legend-dot.lc-changeover{background:#faeeda}.lc-guests-line{font-size:12px;color:#633806;margin-top:2px}.lc-guests-line.blocked{color:#72243e}.lc-guests-line .linkish{background:none;border:0;padding:0;font:inherit;color:#185fa5;cursor:pointer;text-decoration:underline}.lc-job-wide{flex-wrap:wrap}.lc-job-wide .lc-job-main{flex:1 1 100%}.lc-job-wide .lc-job-act{flex:1 1 100%;justify-content:flex-start}.lc-job-wide .lc-job-act select{max-width:260px}.jobchips{display:flex;flex-direction:column;gap:3px;margin-top:4px}.jobchip{display:flex;align-items:center;gap:5px;padding:3px 6px 3px 4px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:11px;cursor:pointer;min-width:0}.jobchip:hover{border-color:#185fa5}.jobchip-drag{opacity:.45}.jobchip-drop{box-shadow:0 -2px #185fa5}.jobchip-grip{color:var(--muted);font-size:10px;letter-spacing:-2px;cursor:grab;flex:none}.jobchip-num{width:16px;height:16px;border-radius:50%;background:var(--text);color:var(--surface);font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:none}.jobchip-band{width:4px;height:22px;border-radius:2px;flex:none}.jobchip-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.jobchip-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:500;white-space:normal}.jobchip-meta{color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jobchip-dot{width:7px;height:7px;border-radius:50%;flex:none}.jobchip-x{flex:none}.wp-load-bar{display:block;height:4px;background:var(--line);border-radius:2px;margin-top:3px;overflow:hidden}.wp-load-bar i{display:block;height:100%;background:#97c459}.wp-load.over .wp-load-bar i{background:#e24b4a}.route-day{margin:6px 0 14px}.route-stop{border-left:3px solid var(--line);padding-left:10px;margin-bottom:12px}.route-stop-head{display:flex;align-items:center;gap:8px}.route-stop-n{width:22px;height:22px;border-radius:50%;font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;flex:none}.route-stop-name{font-weight:600;font-size:14px}.route-stop-sub{font-size:11px;color:var(--muted)}.route-stop-sub a{color:#185fa5}.route-stop-guests{font-size:11px;color:#72243e}.route-jobs{margin:6px 0 0 30px}.route-job{display:flex;gap:8px;padding:7px 6px;border-top:1px solid var(--line);cursor:pointer;border-radius:6px}.route-job:hover{background:var(--surface-2, #F7F7F5)}.route-job.now{background:#eaf3de}.route-job-n{font-weight:700;width:26px;flex:none;font-size:12px}.route-job-title{font-weight:500;font-size:13px}.route-job-desc{font-size:12px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:1px}.route-job-meta{font-size:11px;color:var(--muted);margin-top:2px}.route-job-meta.bad{color:#a32d2d}.route-job-meta.good{color:#3b6d11}.route-other{border-left:3px dashed var(--line)}.lc-sec-row{cursor:pointer}.lc-sec{text-align:left!important;font-weight:700;font-size:12px;background:var(--surface-2, #F7F7F5);padding:0 10px!important;height:30px}.lc-sec-caret{display:inline-block;width:14px;color:var(--muted)}.lc-sec-sub{font-weight:400;color:var(--muted);font-size:11px;margin-left:8px}.lc-sec-opt{float:right;font-weight:400;font-size:11px;color:var(--muted);display:inline-flex;align-items:center;gap:4px}.lc-site-row{cursor:pointer}.lc-site-sel td{outline:2px solid #185FA5;outline-offset:-2px}.lc-sec-rest{text-align:left}.lc-sec-sub:first-child{margin-left:0}.wz-fold,.wp-fold{cursor:pointer}.wz-caret{display:inline-block;width:12px;color:var(--muted);font-size:11px}.wz-fold:not(.open),.wp-fold:not(.open){padding-top:4px;padding-bottom:4px;font-size:12px}.alloc-lanes-head{cursor:pointer;background:var(--surface-2, #F7F7F5)}.alloc-lanes-label{font-weight:700;font-size:12px;padding:6px 10px!important}.alloc-lanes-sub{font-size:11px;color:var(--muted);padding:6px 10px;border-bottom:1px solid var(--line)}a.btn-link{text-decoration:none;font-size:13px;cursor:pointer}.cl-folder-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;align-items:start}@media(max-width:760px){.cl-folder-layout{grid-template-columns:1fr}}.cl-folder-tree{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px;position:sticky;top:8px}.cl-folder-row{display:flex;align-items:center;gap:6px;padding:6px;border-radius:7px;font-size:13px;color:var(--ink);cursor:pointer;min-height:30px}.cl-folder-row:hover{background:#2563eb0f}.cl-folder-row.active{background:#2563eb1f;color:var(--blue);font-weight:600}.cl-folder-row.drop{outline:2px dashed var(--blue);background:#2563eb1a}.cl-folder-caret{background:none;border:0;padding:0;width:16px;display:inline-flex;color:var(--muted);cursor:pointer}.cl-folder-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl-folder-count{font-size:11px;color:var(--muted);font-weight:400}.cl-folder-actions{display:inline-flex;gap:2px}.cl-folder-group{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:10px 4px 4px}.cl-move-bar{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:10px;background:var(--surface);border:1px solid var(--line);border-radius:10px;font-size:13px}.cl-tpl-row[draggable=true]{cursor:grab}.guests-agreed-row{display:flex;align-items:center;gap:8px;margin:10px 0 4px;padding:8px 10px;border-radius:8px;background:#eaf3de;color:#27500a;font-size:13px;cursor:pointer}.guests-agreed-row input{width:16px;height:16px}.sdm{width:min(640px,96vw);max-height:86vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 60px #00000040;overflow:hidden}.sdm-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.sdm-chip{padding:3px 10px;border-radius:999px;font-weight:600;font-size:12px;white-space:nowrap}.sdm-note{padding:8px 14px;font-size:12px;background:#faeeda;color:#633806}.sdm-body{overflow-y:auto}.sdm-job{padding:10px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:5px}.sdm-job-title{display:flex;align-items:baseline;gap:8px;font-size:13px}.sdm-job-title .jobchip-num{align-self:center}.sdm-desc{color:var(--muted);font-size:13px;margin-left:26px;white-space:pre-wrap}.sdm-pills{display:flex;flex-wrap:wrap;gap:5px;margin-left:26px}.sdm-pill{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--surface-2, #F1EFE8);color:var(--text)}.sdm-bad{background:#fcebeb;color:#791f1f}.sdm-warn{background:#faeeda;color:#633806}.sdm-info{background:#e6f1fb;color:#0c447c}.sdm-ok{background:#eaf3de;color:#27500a}.sdm-last{font-size:12px;color:var(--muted);margin-left:26px}.sdm-job>div:last-child{margin-left:26px}.sdm-sec{padding:8px 14px 2px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.pvd .planner-nav{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.pvd-frozen{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:3px 9px;border-radius:999px;background:#e1f5ee;color:#0f6e56;border:1px solid #9FE1CB}.pvd-frozen.live{background:#faeeda;color:#854f0b;border-color:#fac775}.pvd-table{width:100%;border-collapse:collapse;font-size:13px}.pvd-table th{text-align:left;font-weight:500;font-size:12px;color:var(--muted, #6b7280);padding:8px 10px;border-bottom:1px solid var(--line, #e5e7eb);background:#f8fafc}.pvd-table td{padding:8px 10px;border-bottom:1px solid var(--line, #e5e7eb);vertical-align:top}.pvd-row{cursor:pointer}.pvd-row:hover td{background:#f8fafc}.pvd-row.open td{background:#f1f5f9}.pvd-table td:first-child{min-width:170px}.pvd-name{font-weight:600}.pvd-trade{font-size:11px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}.pvd-bar{height:6px;border-radius:3px;background:#eef2f7;overflow:hidden;margin-top:4px;width:120px}.pvd-bar i{display:block;height:100%}.pvd-bar .p{background:#7f77dd}.pvd-bar .d{background:#1d9e75}.pvd-n{font-weight:600}.pvd-n.ok{color:#27500a}.pvd-n.late,td.late{color:#854f0b}.pvd-n.none{color:#791f1f}.pvd-pill{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;white-space:nowrap;font-weight:600}.pvd-pill.ok{background:#eaf3de;color:#27500a}.pvd-pill.track{background:#e1f5ee;color:#085041}.pvd-pill.late{background:#faeeda;color:#633806}.pvd-pill.bad{background:#fcebeb;color:#791f1f}.pvd-pill.none{background:#f1efe8;color:#444441}.pvd-pill.extra{background:#eeedfe;color:#3c3489}.pvd-detail td{background:#fafafa;padding:4px 14px 10px}.pvd-item{display:flex;align-items:center;gap:12px;padding:7px 0;border-top:1px dashed var(--line, #e5e7eb);font-size:13px;flex-wrap:wrap}.pvd-item:first-child{border-top:0}.pvd-item-main{flex:1;min-width:240px;cursor:pointer}.pvd-item-main small{display:block;color:#6b7280;font-size:11.5px}.pvd-days{display:inline-flex;gap:3px}.pvd-days i{font-style:normal;font-size:10px;width:24px;height:18px;line-height:18px;text-align:center;border-radius:4px;background:#eef2f7;color:#6b7280}.pvd-days i.on{background:#1d9e75;color:#fff}.pvd-days i.extra{background:#cecbf6;color:#26215c}.pvd-foot{font-size:11.5px;padding:8px 12px;margin:0}.replan{margin:0 0 14px;padding:12px 16px}.replan-head{display:flex;align-items:center;gap:8px;font-size:13px}.replan-head .muted{font-size:12px}.replan textarea{width:100%;margin-top:10px;font:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;resize:vertical}.replan-constraints{white-space:pre-wrap;font:inherit;font-size:12px;color:var(--ink-2);background:var(--bg);border-radius:8px;padding:8px 10px;margin:10px 0 0}.replan-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end;margin-top:10px;flex-wrap:wrap}.replan-actions .muted{margin-right:auto;font-size:12px}.replan-proposal{margin-top:10px}.replan-sum{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.replan-sum .muted{font-size:12px}.replan-summary{margin:6px 0;font-size:13px;color:var(--ink-2)}.replan-end{font-size:13px;padding:8px 10px;border-radius:8px;background:#e1f5ee;color:#085041;margin:8px 0}.replan-end.late{background:#fcebeb;color:#791f1f}.replan-phase{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:12px 0 2px}.replan-row{display:grid;grid-template-columns:18px 52px minmax(0,1fr);gap:10px;align-items:start;padding:6px 0;border-top:1px solid var(--line);font-size:13px;cursor:pointer}.replan-row.off{opacity:.5}.replan-row input{margin:3px 0 0;width:15px;height:15px}.replan-t small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}.replan-tag{font-size:11px;padding:2px 8px;border-radius:999px;text-align:center}.replan-tag.split{background:#eeedfe;color:#3c3489}.replan-tag.new{background:#e1f5ee;color:#085041}.rep-in-job{margin:12px 0 6px}.rep-editor{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-top:8px;background:#fafbfd;display:flex;flex-direction:column;gap:8px;font-size:13px}.rep-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.rep-col{flex-direction:column;align-items:flex-start;gap:6px}.rep-lab{font-size:12px;font-weight:600;color:var(--ink-2);min-width:54px}.rep-seg button{font-size:12.5px;padding:5px 11px}.rep-num{width:58px;padding:4px 6px}.rep-radio{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.rep-radio select,.rep-radio input[type=date]{padding:3px 6px}.rep-days{display:flex;gap:6px}.rep-day{width:34px;height:34px;border-radius:50%;border:1px solid #c9d1dd;background:#fff;font-weight:600;font-size:12.5px;cursor:pointer}.rep-day.on{background:#1f4fe0;border-color:#1f4fe0;color:#fff}.rep-summary{background:#e6f1fb;color:#0c447c;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:600}.rep-summary small{display:block;font-weight:400;margin-top:2px;color:#185fa5}.rep-bad{background:#fcebeb;color:#791f1f}.rep-banner{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:9px 12px;border-radius:10px;background:#eeedfe;color:#3c3489;font-size:13px}.rep-banner-note{font-size:12px}.rep-banner button{margin-left:auto}.rep-modal{max-width:640px}.rep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}.rep-people{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.rep-list{display:flex;flex-direction:column;gap:8px}.rep-list-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--ink-2);padding:4px 2px}.rep-empty{border:1px dashed var(--line);border-radius:12px;padding:20px;text-align:center;color:var(--ink-2)}.rep-empty strong{display:block;color:var(--ink);margin-bottom:4px}.rep-item{display:grid;grid-template-columns:minmax(0,1fr) 96px 150px auto;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.rep-item.rep-paused,.rep-item.rep-ended{opacity:.65}.rep-item-title{font-weight:600}.rep-item-rule{font-size:13px;color:#3c3489;margin-top:2px}.rep-item-meta{font-size:12px;margin-top:2px}.rep-item-next,.rep-item-recent{font-size:13px}.rep-item-next small,.rep-item-recent small{display:block;font-size:11px;color:var(--ink-2)}.rep-item-recent>div{display:flex;align-items:center;gap:5px;margin-top:3px}.rep-dot{width:14px;height:14px;border-radius:50%;border:none;cursor:pointer;padding:0}.rep-dot.ok{background:#3b6d11}.rep-dot.miss{background:#ef9f27}.rep-ratio{font-size:12px;color:var(--ink-2);margin-left:4px}.rep-status{margin-left:8px;font-size:11px;padding:2px 7px;border-radius:999px;background:#f1efe8;color:#444441;font-weight:600}@media(max-width:720px){.rep-item{grid-template-columns:1fr 1fr}.rep-item-main{grid-column:1 / -1}.rep-grid{grid-template-columns:1fr}}.form-stack .rep-editor label.rep-radio{flex-direction:row;align-items:center;gap:6px;font-size:13px;font-weight:400;color:var(--ink)}.form-stack .rep-editor input,.form-stack .rep-editor select{width:auto;padding:4px 8px;border-radius:7px}.form-stack .rep-editor input.rep-num{width:58px}.form-stack .rep-editor input[type=radio],.form-stack .rep-editor input[type=checkbox]{width:15px;padding:0}.rep-modal .form-stack{gap:11px}.log-reason-row{display:flex;gap:8px;align-items:flex-end;margin-bottom:8px;flex-wrap:wrap}.log-reason-row label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#6b7280;flex:1;min-width:180px}.log-reason-row label.log-hours{flex:0 0 90px;min-width:90px}.log-reason-row select,.log-reason-row input{height:34px;font-size:14px}.log-out-notstarted{border-color:#d3d1c7!important;color:#444441!important}.stop-ask{display:flex;gap:6px;align-items:center;flex-wrap:wrap;width:100%;padding-top:6px}.stop-ask select,.stop-ask input{height:30px;font-size:13px}.stop-ask input{flex:1;min-width:160px}.dr-group{margin-top:10px;border-top:1px solid var(--line, #e5e7eb);padding-top:8px}.dr-group-head{font-size:13px;display:flex;gap:6px;flex-wrap:wrap;align-items:baseline}.dr-action{margin-left:auto;font-size:12px;color:#0c447c;background:#e6f1fb;padding:2px 8px;border-radius:999px}.hours-btn{height:32px;padding:0 10px;border:1px solid var(--line, #e5e7eb);border-radius:8px;background:#fff;font-weight:600;cursor:pointer;text-align:left}.hours-btn:disabled{cursor:default;opacity:.8}.hours-chip{margin-left:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;border:1px solid #D3D1C7;background:#f8fafc;color:#444441;cursor:pointer;white-space:nowrap}.hours-chip.set{background:#eeedfe;border-color:#afa9ec;color:#3c3489}.hours-chip:disabled{cursor:default}.hours-modal{max-width:560px;display:flex;flex-direction:column;padding:0}.hours-modal .dd-body{padding:4px 18px 18px}.hours-input{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#6b7280}.hours-input input{height:40px;font-size:18px;width:140px}.hours-quick{display:flex;gap:4px;flex-wrap:wrap;margin:8px 0}.hours-quick .on{background:#eeedfe;border-color:#afa9ec}.hours-diff{font-size:13px;background:#f8fafc;border:1px solid var(--line, #e5e7eb);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.alloc-load-chip{cursor:pointer}.wp-bar-list{display:flex;flex-direction:column;gap:2px;margin:2px 0 6px;padding:4px;border:1px solid var(--line, #e5e7eb);border-radius:8px;background:#fff}.wp-bar-item{display:flex;justify-content:space-between;gap:6px;font-size:11px;text-align:left;padding:3px 6px;border:0;background:transparent;border-radius:6px;cursor:pointer}.wp-bar-item:hover{background:#eeedfe}.wp-bar-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alloc-load-chip.night{background:#eeedfe;color:#3c3489}.backup-today{margin:10px 0 14px;padding:10px 12px;border:1px dashed #B4B2A9;border-radius:10px;background:#fafaf8}.backup-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 0;border-top:1px solid #EEE;font-size:13px}.backup-row:first-of-type{border-top:0}.backup-row .t{flex:1;min-width:180px;cursor:pointer}.backup-row small{color:#6b7280}.backup-row.used{opacity:.75}.wz-step.skipped{opacity:.65;border-style:dashed}.wz-deadline{font-size:12px;color:#6b7280;display:inline-flex;gap:4px;align-items:center}.wz-deadline input{height:28px;font-size:12px}.alloc-backup-chip{display:inline-block;font-size:10px;padding:1px 7px;margin:0 0 3px 4px;border:1px dashed #B4B2A9;border-radius:999px;color:#5f5e5a;background:#fafaf8}.needs{display:flex;flex-direction:column;gap:12px}.needs-sec{padding:12px 14px}.needs-decide{border-left:3px solid #E24B4A;border-radius:0 10px 10px 0}.needs-recommend{border-left:3px solid #EF9F27;border-radius:0 10px 10px 0}.needs-info{border-left:3px solid #B4B2A9;border-radius:0 10px 10px 0}.needs-item{border-top:1px solid var(--line, #e5e7eb);padding:8px 0}.needs-item:first-of-type{margin-top:6px}.needs-line{display:flex;align-items:center;gap:10px}.needs-line .t{flex:1;font-size:14px;cursor:default}.needs-line .t[role=button]{cursor:pointer}.needs-actions{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px}.needs-line small,.needs-jobs small{color:#6b7280}.qa-row{width:100%;padding:8px 0;border-top:1px solid var(--line, #e5e7eb);outline:none}.qa-row:focus{background:#2563eb0d}.qa-hours{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;font-size:12px;color:#64748b}.qa-hours button,.qa-acts button{font-size:12px;padding:3px 9px;border:1px solid #d8dde6;border-radius:7px;background:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.qa-hours button.on{background:#e8edff;border-color:#2f5bff;color:#2f5bff}.qa-acts{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.qa-acts kbd{font-size:10px;color:#94a3b8;font-family:inherit;margin-left:2px}.qa-acts .qa-done{color:#15803d}.qa-acts .qa-drop{color:#b91c1c}.qa-undo{font-size:12px;color:#15803d;padding:6px 0}.needs-jobs{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:6px 0 2px 10px;font-size:13px}.wh-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:6px 0}.wh-grid label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#6b7280}.wh-grid input{height:36px;font-size:15px}.waits{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.waits-state{display:flex;gap:6px;align-items:center;font-size:12.5px;padding:6px 9px;border-radius:8px}.waits-state.locked{background:#fcebeb;color:#791f1f}.waits-state.soon{background:#faeeda;color:#633806}.waits-state.free{background:#eaf3de;color:#27500a}.waits-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:13px;padding:4px 0;border-top:1px solid var(--line, #eee)}.waits-row .t{flex:1;min-width:180px}.waits-row select{height:28px;font-size:12px}.waits-ovr{color:#854f0b}.waits-add input{width:100%;height:32px;font-size:13px}.waits-matches{display:flex;flex-direction:column;border:1px solid var(--line, #e5e7eb);border-radius:8px;margin-top:2px;background:#fff}.waits-matches button{text-align:left;border:0;background:transparent;padding:6px 8px;font-size:13px;cursor:pointer}.waits-matches button:hover{background:#f1f5f9}.mjl-locked{background:#fcebeb;color:#791f1f;display:inline-flex;align-items:center;gap:3px}.lc-cell.lc-spread{border:1px dotted #534AB7}.actuals-legend-dot.lc-spread{border:1px dotted #534AB7;background:#eeedfe}.pvd-split{white-space:nowrap;font-size:12px}.pvd-tag{font-size:11px;padding:1px 7px;border-radius:999px;background:var(--surface-2, #F1EFE8);white-space:nowrap}.pvd-tag.self{background:#eeedfe;color:#3c3489}.pvd-tag.others{background:#faeeda;color:#633806}.lc-held{font-size:12px;background:#fcebeb;color:#501313;border-radius:8px;padding:8px 10px;margin:6px 0 10px}.sup-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;align-items:start}@media(max-width:860px){.sup-layout{grid-template-columns:1fr}}.cover-list{display:flex;flex-direction:column;gap:8px;margin:8px 0 4px}.cover-row{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px solid var(--border, #e5e7eb);border-radius:8px;background:var(--card, #fff)}.cover-row .link{text-align:left}.cover-opts{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.cover-all{display:flex;justify-content:flex-end}.assign-mode{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0}.wz-inline-wrap{width:100%}.wz-inline{display:flex;flex-direction:column;padding:0;overflow:hidden}.wz-inline .dd-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border, #e5e7eb);flex-wrap:wrap}.wz-inline .wz-body{max-height:none;overflow:visible;padding:14px 16px}.wz-inline .dd-foot{position:sticky;bottom:0;background:var(--card, #fff)}.wz-att{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.wz-att .needs-item{border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:8px 10px}.wz-att .needs-item.needs-decide{border-left:3px solid #DC2626}.wz-att .needs-item.needs-recommend{border-left:3px solid #D97706}.wz-att .needs-item.needs-info{border-left:3px solid #9CA3AF}.wz-inline .wz-rail{flex-wrap:wrap;overflow:visible}.wz-inline .wz-step{flex:1 1 18%;min-width:120px}.cover-esc{display:block;width:100%;font-size:12px;color:#791f1f;background:#fcebeb;padding:4px 8px;border-radius:6px;margin:3px 0}.critical-toggle{display:flex!important;flex-direction:row!important;gap:6px;align-items:center;color:#791f1f;font-weight:600}.alloc-load-chip.sites{outline:1px dashed #EF9F27}.mjl-tier-must{background:#eeedfe;color:#3c3489}.mjl-tier-today{background:#e1f5ee;color:#085041}.mjl-tier-iftime{background:#f1efe8;color:#444441}.subtasks{border:1px solid var(--line, #e5e7eb);border-radius:10px;padding:8px 10px;margin:8px 0 12px;background:#fafaf8}.subtasks-head{font-size:12.5px;color:#444441;margin-bottom:4px}.subtask-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 0;border-top:1px solid #EEE;font-size:13px}.subtask-row .t{flex:1;min-width:180px}.subtask-row small{color:#6b7280}.subtask-row.mine{background:#eeedfe;border-radius:6px;padding:6px}.subtask-of{font-size:12.5px;padding:6px 9px;border-radius:8px;background:#eeedfe;color:#3c3489;margin:6px 0 10px}.gantt-parked .gantt-bar{background:repeating-linear-gradient(45deg,#cbd5e1,#cbd5e1 4px,#e2e8f0 4px 8px)!important}.gantt-parked .gantt-bar .gantt-fill{display:none}.gantt-parked .gantt-label{color:#94a3b8}.gantt-parked-tag{margin-left:6px;font-size:10px;padding:1px 6px;border-radius:6px;background:#f1f5f9;color:#64748b}.needs-focus{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;font-size:12px}.wkb-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 10px}.wkb-sp{flex:1}.wkb-msg{font-size:13px;padding:7px 10px;border-radius:8px;margin-bottom:8px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.wkb-msg.ok{background:#ecfdf3;color:#15803d}.wkb-msg.bad{background:#fef2f2;color:#b91c1c}.wkb-grid{display:grid;gap:3px;overflow-x:auto}.wkb-h{font-size:12px;color:#64748b;font-weight:600;padding:4px}.wkb-h.today{color:#2f5bff}.wkb-name{font-size:13px;font-weight:600;padding:6px 4px;border-top:1px solid #eef0f4}.wkb-name small{display:block;font-weight:400;color:#94a3b8;font-size:11px}.wkb-cell{min-height:54px;border:1px solid #e5e7eb;border-radius:7px;padding:3px;background:#fff;display:flex;flex-direction:column;gap:2px}.wkb-cell.free{background:#f0fdf4}.wkb-cell.over{background:#fef2f2;border-color:#fecaca}.wkb-cell.leave{background:#f8fafc;align-items:center;justify-content:center}.wkb-cell.drop{outline:2px dashed #2f5bff;outline-offset:-2px}.wkb-leave{font-size:11px;color:#94a3b8}.wkb-hrs{display:flex;justify-content:space-between;font-size:10px;color:#64748b}.wkb-chip{font-size:11px;padding:2px 5px;border-radius:4px;background:#e8edff;color:#1e3a8a;cursor:grab;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none}.wkb-chip.task{background:#fef3c7;color:#92400e}.wkb-chip.night{background:#26215c;color:#e0dcff}.wkb-chip.held{border-left:3px solid #dc2626}.wkb-chip.rolled{box-shadow:inset 0 0 0 1px #a78bfa}.wkb-panel{border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;margin:10px 0;background:#fff}.wkb-panel h4{margin:0 0 6px;font-size:13px}.wkb-prow{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:5px 0;border-top:1px solid #f1f5f9;font-size:13px}.wkb-prow small{display:block;color:#64748b;font-size:11px}label.wkb-prow{justify-content:flex-start}.wkb-pact{display:flex;gap:8px;margin-top:8px}.wkb-unp{display:flex;flex-wrap:wrap;gap:6px}.wkb-un{font-size:11px;padding:3px 7px;border:1px dashed #cbd5e1;border-radius:6px;background:#fff;cursor:help}.wkb-leg{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:#64748b;margin-top:8px}.wkb-leg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px;border:1px solid #e5e7eb}.wkb-leg i.free{background:#f0fdf4}.wkb-leg i.over{background:#fef2f2}.wkb-leg i.night{background:#26215c}.wkb-leg i.task{background:#fef3c7}.wkb-leg i.held{border-left:3px solid #dc2626;background:#e8edff}.wkb-leg i.rolled{box-shadow:inset 0 0 0 1px #a78bfa}.rep-kind{font-size:11px;padding:1px 6px;border-radius:6px;margin-right:4px}.rep-kind.fixed{background:#e8edff;color:#1e3a8a}.rep-kind.flex{background:#ecfdf3;color:#15803d}.alloc-auto-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 8px;border-radius:999px;background:#ecfdf3;color:#166534;border:1px dashed #86efac;margin:2px 0}.alloc-auto-chip.night{background:#eef2ff;color:#3730a3;border-color:#a5b4fc}.gantt-lock{background:none;border:0;padding:0 3px;margin-right:3px;color:var(--muted);cursor:pointer;vertical-align:-1px;opacity:.45}.gantt-row:hover .gantt-lock,.gantt-lock.on{opacity:1}.gantt-lock.on{color:#534ab7}.gantt-lock.phase{opacity:1;margin-left:8px;font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:3px;border:1px solid var(--line);border-radius:999px;padding:1px 8px}.gantt-bar.locked{background-image:repeating-linear-gradient(135deg,transparent 0 5px,rgba(255,255,255,.35) 5px 8px);outline:1px solid #534AB7}.gantt-bar.conflict{background-color:#e24b4a!important}.gantt-start{position:absolute;top:0;bottom:-2000px;border-left:2px dashed #1D9E75;pointer-events:none;z-index:1}.gantt-start em{position:absolute;top:-2px;left:3px;font-size:10px;font-style:normal;font-weight:600;color:#0f6e56}.notnow{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;padding:4px 0}.notnow>span{color:var(--muted, #6b7280);margin-right:auto}.notnow.on>span{color:#92400e;font-weight:600}.wkb-chip.ask{display:flex;align-items:center;gap:3px;background:#fffbeb;color:#92400e;border:1px dashed #d97706;cursor:default}.wkb-chip.ask .wkb-ask-t{flex:1;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.wkb-chip.ask button{border:0;background:transparent;font-size:12px;padding:0 3px;cursor:pointer;line-height:1}.wkb-ask-ok{color:#15803d}.wkb-ask-no{color:#b91c1c}.plan-rem-chip{display:block;max-width:100%;font-size:11px;line-height:1.35;padding:3px 6px;margin:2px 0;border-radius:5px;background:#fef3c7;color:#92400e;border:1px solid #f59e0b;cursor:pointer;white-space:normal;overflow-wrap:break-word;font-weight:600;text-align:left}.plan-rem-modal{max-width:460px}.plan-rem-body p{margin:0 0 10px;font-size:13px;line-height:1.45}.plan-rem-body textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:14px;line-height:1.45;resize:vertical;min-height:96px;background:var(--surface);color:inherit}.plan-rem-body textarea:focus{outline:2px solid #93c5fd;outline-offset:0;border-color:#60a5fa}.plan-rem-body .form-err{margin-top:8px}.alloc-grid-table{table-layout:fixed;min-width:1040px}.alloc-grid-cell{min-width:0;overflow-wrap:break-word}.alloc-grid-table thead th.alloc-grid-corner,.alloc-grid-table tbody td:first-child{width:270px}@media(max-width:720px){.alloc-grid-table{min-width:880px}.alloc-grid-table thead th.alloc-grid-corner,.alloc-grid-table tbody td:first-child{width:150px}.plan-rem-chip,.plan-note-chip{font-size:10px}}.plan-rem-block{border:1px solid #f59e0b;background:#fffbeb;border-radius:8px;padding:10px 12px;margin:8px 0;font-size:13px;color:#92400e}.plan-rem-list{display:flex;flex-direction:column;gap:4px;margin-top:6px}.alloc-rem-btn{width:100%;text-align:left;padding:7px 10px;border:0;border-bottom:1px solid var(--border, #e5e7eb);background:#fffbeb;color:#92400e;font-weight:600;cursor:pointer}.alloc-backup-chip{cursor:pointer}.alloc-backup-chip.none{opacity:.6;font-style:italic}.plan-note-chip{display:block;max-width:100%;font-size:11px;line-height:1.35;padding:3px 6px;margin:2px 0;border-radius:5px;background:#eff6ff;color:#1e40af;border:1px solid #60a5fa;cursor:pointer;white-space:normal;overflow-wrap:break-word;font-weight:600;text-align:left}.alloc-rem-btn.note{background:#eff6ff;color:#1e40af}.route-note{margin:0 0 8px;padding:8px 10px;border-radius:8px;background:#eff6ff;color:#1e3a8a;border:1px solid #93c5fd;font-size:14px;line-height:1.4}.myweek-note{display:block;font-size:11px;line-height:1.3;padding:3px 6px;border-radius:5px;background:#eff6ff;color:#1e3a8a;border:1px solid #93c5fd;white-space:normal;margin-bottom:3px}.pstrip{width:100%;border:1px solid var(--line, #e5e7eb);border-radius:10px;padding:10px 12px;background:#fff;font-size:12px;box-sizing:border-box}.pstrip-head{display:flex;justify-content:space-between;gap:8px;font-weight:600;font-size:13px;margin-bottom:8px}.pstrip-head .muted{font-weight:400;text-align:right}.pstrip-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:8px}.pstrip-metrics>div{background:#f6f7fb;border-radius:8px;padding:6px 8px;display:flex;flex-direction:column;min-width:0}.pstrip-metrics>div.acc{background:#e8edff}.pstrip-metrics small{font-size:11px;color:#6b7280}.pstrip-metrics b{font-size:15px}.pstrip-metrics span{font-size:11px;color:#6b7280}.pstrip-bar{height:6px;background:#eef0f4;border-radius:3px;overflow:hidden;margin-bottom:8px}.pstrip-bar>div{height:100%;background:#1d9e75}.pstrip-days{display:flex;flex-direction:column;margin-bottom:8px}.pstrip-day{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;padding:4px 0;border-top:1px solid #eef0f4}.pstrip-day .d{white-space:nowrap;font-weight:500}.pstrip-day .w{color:#374151}.pstrip-day.next{color:#6b7280}.pstrip-day .pstrip-tag{margin-left:auto}.pstrip-tag{font-size:11px;background:#f1f3f7;color:#4b5563;padding:1px 7px;border-radius:6px;white-space:nowrap}.pstrip-tag.ok{background:#e1f5ee;color:#0f6e56}.pstrip-why{margin:0;padding-left:16px;color:#4b5563;line-height:1.5}.pstrip-actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.wkb-left{opacity:.75;font-size:10px}.ask-left{background:#e8edff;border-radius:10px;padding:10px 12px;margin:0 0 14px}.ask-left-q{font-size:13px;margin-bottom:8px}.ask-left-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ghost.blocked{color:#92400e;border-color:#f59e0b;background:#fffbeb}.plan-rem-block.flash{animation:remflash 1.6s ease-out}@keyframes remflash{0%{box-shadow:0 0 0 4px #f59e0b}to{box-shadow:0 0 0 0 transparent}}.gantt-bar-dates{position:absolute;top:50%;transform:translateY(-50%);font-size:10.5px;color:var(--muted);white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums}.gantt-export{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.gantt-export .btn-link{padding:5px 10px;font-size:12px}.target-late{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:9px 14px;border-radius:10px;background:#fcebeb;color:#791f1f;font-size:13px;border:1px solid #F7C1C1}.target-late .ghost{margin-left:auto}.rest-box{margin:12px 0;padding:10px 14px;border:1px solid #AFA9EC;background:#eeedfe;border-radius:10px;display:grid;gap:8px}.rest-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.rest-row label{display:grid;gap:3px;font-size:12px}.pct-read{display:block;font-size:11px;color:var(--muted);margin-top:3px}.gantt-bar.worked{opacity:.35;background:var(--muted, #888)}.proc-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.proc-tags .pill{font-size:10px;font-weight:600;padding:1px 7px;border-radius:999px;line-height:1.6}.proc-tags .pill-warning{background:#fef3c7;color:#92400e}.proc-tags .pill-info{background:#e0e7ff;color:#3730a3}.proc-tags .pill-done{background:#d1fae5;color:#065f46}.proc-tags .pill-not-started{background:#f1f5f9;color:#475569}.phase-row{display:grid;gap:8px;padding:8px 14px 10px;border-bottom:1px solid var(--line);background:var(--bg);font-size:12px}.phase-people,.phase-dates{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.phase-lbl{font-size:11px;font-weight:600;color:var(--muted);min-width:130px}.phase-people .chip button{background:none;border:0;padding:0 0 0 4px;cursor:pointer;color:inherit}.phase-people select,.phase-dates input{font-size:12px;padding:3px 6px}.spread-table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.spread-table th,.spread-table td{text-align:left;padding:6px;border-bottom:1px solid var(--line)}.spread-table th{font-size:11px;color:var(--muted);font-weight:600}.spread-bar{position:relative;height:12px;background:var(--bg);border-radius:3px}.spread-bar i{position:absolute;top:0;height:12px;border-radius:3px;background:#378add}.spread-bar i.fx{background:#7f77dd}.gantt-phase-band{position:absolute;top:2px;bottom:2px;background:#534ab714;border-left:1px dashed rgba(83,74,183,.5);border-right:1px dashed rgba(83,74,183,.5);pointer-events:none}.job-progress-hint{font-size:12px;color:var(--muted, #6b7280);margin-top:-6px}.job-progress b{font-weight:600;color:inherit}
