@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap";:root,[data-theme=dark]{--servoteh-50: #fdf4f2;--servoteh-100: #fbe6e2;--servoteh-200: #f6c8c0;--servoteh-300: #f0a295;--servoteh-400: #e8523a;--servoteh: #E8523A;--servoteh-500: #e03c21;--servoteh-600: #c82c14;--servoteh-700: #a7220e;--servoteh-800: #8b2010;--servoteh-900: #732114;--servoteh-950: #3e0e08;--bg: #0A0A0A;--surface: #171717;--surface2: #1C1C1C;--surface3: #262626;--surface4: #333333;--border: #262626;--border2: #333333;--border3: #4D4D4D;--text: #F5F5F5;--text2: #A3A3A3;--text3: #737373;--accent: #E8523A;--accent-hover: #e03c21;--accent-dim: rgba(232,82,58,.14);--accent-fg: #FFFFFF;--blue: #1A3A5C;--blue-light: #2F6DB5;--blue-bar: #4C8DFF;--blue-bg: #14243A;--green: #1F4A2A;--green-light: #27AE60;--green-bg: #0E1F14;--yellow: #C9A91A;--yellow-bg: #2A2410;--orange: #E08535;--orange-bg: #2A1A0E;--red: #EB5757;--red-bg: #2A1414;--status-done: #27AE60;--status-prog: #2D9CDB;--status-hold: #F2C94C;--status-none: #9CA3AF;--risk-high: #EB5757;--risk-med: #F2994A;--risk-low: #6FCF97;--risk-none: #9CA3AF;--shadow-sm: 0 1px 2px rgba(0,0,0,.55);--shadow-md: 0 4px 14px rgba(0,0,0,.6);--shadow-lg: 0 16px 48px rgba(0,0,0,.65);--gantt-today: rgba(232,82,58,.16);--gantt-wknd: rgba(235,87,87,.05);--row-hover: rgba(232,82,58,.06);--selection: rgba(255,200,0,.22);--radius: 8px;--radius-lg: 10px;--radius-sm: 6px;--font: "IBM Plex Sans", sans-serif;--mono: "IBM Plex Mono", monospace}[data-theme=light]{--bg: #F4F6F8;--surface: #FFFFFF;--surface2: #F9FAFB;--surface3: #F3F4F6;--surface4: #E5E7EB;--border: #E5E7EB;--border2: #D1D5DB;--border3: #9CA3AF;--text: #1F2937;--text2: #4B5563;--text3: #6B7280;--accent: #E8523A;--accent-hover: #c82c14;--accent-dim: rgba(232,82,58,.1);--accent-fg: #FFFFFF;--blue: #DBEAFE;--blue-light: #2F80ED;--blue-bar: #2F80ED;--blue-bg: #EFF6FF;--green: #D1FAE5;--green-light: #1E9547;--green-bg: #ECFDF5;--yellow: #B38600;--yellow-bg: #FFFBEB;--orange: #EA580C;--orange-bg: #FFF7ED;--red: #DC2626;--red-bg: #FEF2F2;--status-done: #1E9547;--status-prog: #2176C7;--status-hold: #B08400;--status-none: #6B7280;--risk-high: #DC2626;--risk-med: #EA580C;--risk-low: #16A34A;--risk-none: #9CA3AF;--shadow-sm: 0 1px 2px rgba(17,24,39,.06);--shadow-md: 0 4px 12px rgba(17,24,39,.08);--shadow-lg: 0 14px 40px rgba(17,24,39,.14);--gantt-today: rgba(232,82,58,.12);--gantt-wknd: rgba(220,38,38,.04);--row-hover: rgba(232,82,58,.05);--selection: rgba(234,179,8,.18)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;min-height:100vh;-webkit-font-smoothing:antialiased}.header{background:var(--surface);border-bottom:1px solid var(--border);padding:0;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.header-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:14px 24px}.header-brand{display:flex;align-items:center;gap:14px}.header h1{font-size:16px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px;letter-spacing:-.3px}.header h1 .brand-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:var(--accent);color:var(--accent-fg);font-size:14px}.header h1 span.tag{font-family:var(--mono);font-size:9px;background:var(--blue-light);color:#fff;padding:2px 8px;border-radius:10px;font-weight:500;letter-spacing:.3px}.header-sub{color:var(--text3);font-size:10px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.header-sub span{display:flex;align-items:center;gap:4px}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.dot-blue{background:var(--blue-bar)}.dot-green{background:var(--green-light)}.header-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.toolbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius);font-size:11px;font-weight:600;cursor:pointer;border:1px solid var(--border2);background:var(--surface);color:var(--text2);font-family:var(--font);transition:all .15s ease;letter-spacing:.3px;text-transform:uppercase;box-shadow:var(--shadow-sm)}.btn:hover{background:var(--surface3);color:var(--text);border-color:var(--border3)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn-primary:hover{background:var(--accent-hover, var(--accent));border-color:var(--accent-hover, var(--accent));color:var(--accent-fg)}.btn-ghost{background:transparent}.btn-ghost:hover{background:var(--surface2)}.btn-save{background:var(--blue-bg);border-color:var(--border2);color:var(--blue-bar)}.btn-save:hover{background:var(--accent-dim);color:var(--accent)}.btn-load{background:var(--green-bg);border-color:var(--border2);color:var(--green-light)}.btn-load:hover{background:var(--green-bg);color:var(--green-light);border-color:var(--green-light)}.btn-reset{background:var(--red-bg);border-color:var(--border2);color:var(--red)}.btn-reset:hover{background:var(--red-bg);border-color:var(--red)}.btn-print{background:var(--blue-bg);border-color:var(--border2);color:var(--blue-bar)}.btn-print:hover{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius);cursor:pointer;border:1px solid var(--border2);background:var(--surface2);color:var(--text2);font-size:14px;transition:all .15s ease}.theme-toggle:hover{background:var(--surface3);color:var(--text);border-color:var(--border3)}.theme-toggle .theme-icon-dark,.theme-toggle .theme-icon-light{display:none}[data-theme=dark] .theme-toggle .theme-icon-light,[data-theme=light] .theme-toggle .theme-icon-dark{display:inline}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;display:flex;flex-direction:column;gap:4px;transition:all .15s ease;box-shadow:var(--shadow-sm)}.kpi-card:hover{border-color:var(--border3);transform:translateY(-1px);box-shadow:var(--shadow-md)}.kpi-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text3)}.kpi-value{font-size:26px;font-weight:700;font-family:var(--mono);color:var(--text);line-height:1.1}.kpi-sub{font-size:11px;color:var(--text3);font-family:var(--mono)}.kpi-card.kpi-ok{border-left:3px solid var(--status-done)}.kpi-card.kpi-ok .kpi-value{color:var(--status-done)}.kpi-card.kpi-warn{border-left:3px solid var(--risk-med)}.kpi-card.kpi-warn .kpi-value{color:var(--risk-med)}.kpi-card.kpi-danger{border-left:3px solid var(--risk-high)}.kpi-card.kpi-danger .kpi-value{color:var(--risk-high)}.kpi-card.kpi-info{border-left:3px solid var(--status-prog)}.kpi-card.kpi-info .kpi-value{color:var(--status-prog)}.kpi-card.kpi-neutral .kpi-value{color:var(--text)}.project-meta-strip{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:8px 24px;background:var(--surface2);border-bottom:1px solid var(--border);font-size:11px;color:var(--text3);font-family:var(--mono)}.project-meta-strip .meta-item{display:flex;align-items:center;gap:5px}.project-meta-strip .meta-item strong{color:var(--text);font-weight:600}.status-overlay{display:none;position:fixed;inset:0;z-index:2500;background:#00000080;backdrop-filter:blur(4px);animation:fadeIn .15s ease-out}[data-theme=light] .status-overlay{background:#11182759}.status-overlay.open{display:block}.status-panel{position:fixed;top:0;right:0;height:100vh;width:520px;max-width:95vw;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s ease-out}.status-overlay.open .status-panel{transform:translate(0)}.status-panel-header{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:var(--surface2)}.status-panel-header h2{font-size:15px;font-weight:600;color:var(--text);letter-spacing:-.2px}.status-panel-header .panel-sub{font-size:11px;color:var(--text3);margin-top:2px;font-family:var(--mono)}.status-panel-close{background:var(--surface3);border:1px solid var(--border2);color:var(--text2);width:32px;height:32px;border-radius:var(--radius-sm);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .15s}.status-panel-close:hover{background:var(--surface4);color:var(--text)}.status-panel-body{flex:1;overflow-y:auto;padding:18px 22px}.status-panel-section{margin-bottom:20px}.status-panel-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text3);margin-bottom:10px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.badge-status{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:600;font-family:var(--font);letter-spacing:.2px;white-space:nowrap;border:1px solid transparent}.badge-status:before{content:"";width:6px;height:6px;border-radius:50%;display:inline-block}.badge-status.st-0{background:color-mix(in srgb,var(--status-none) 15%,var(--surface));color:var(--status-none);border-color:color-mix(in srgb,var(--status-none) 40%,transparent)}.badge-status.st-0:before{background:var(--status-none)}.badge-status.st-1{background:color-mix(in srgb,var(--status-prog) 15%,var(--surface));color:var(--status-prog);border-color:color-mix(in srgb,var(--status-prog) 40%,transparent)}.badge-status.st-1:before{background:var(--status-prog)}.badge-status.st-2{background:color-mix(in srgb,var(--status-done) 15%,var(--surface));color:var(--status-done);border-color:color-mix(in srgb,var(--status-done) 40%,transparent)}.badge-status.st-2:before{background:var(--status-done)}.badge-status.st-3{background:color-mix(in srgb,var(--status-hold) 18%,var(--surface));color:var(--status-hold);border-color:color-mix(in srgb,var(--status-hold) 50%,transparent)}.badge-status.st-3:before{background:var(--status-hold)}.badge-risk{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:600;border:1px solid transparent;font-family:var(--font)}.badge-risk.rk-high{background:color-mix(in srgb,var(--risk-high) 15%,var(--surface));color:var(--risk-high);border-color:color-mix(in srgb,var(--risk-high) 45%,transparent)}.badge-risk.rk-med{background:color-mix(in srgb,var(--risk-med) 15%,var(--surface));color:var(--risk-med);border-color:color-mix(in srgb,var(--risk-med) 45%,transparent)}.badge-risk.rk-low{background:color-mix(in srgb,var(--risk-low) 15%,var(--surface));color:var(--risk-low);border-color:color-mix(in srgb,var(--risk-low) 45%,transparent)}.badge-risk.rk-none{background:var(--surface2);color:var(--text3);border-color:var(--border)}.check-chip{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:5px 8px;font-size:10px;font-weight:700;border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);font-family:var(--mono);transition:all .12s ease;letter-spacing:.3px;background:var(--surface2);color:var(--text3);user-select:none}.check-chip:hover{border-color:var(--border3);background:var(--surface3)}.check-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.check-chip.ok{background:color-mix(in srgb,var(--status-done) 18%,var(--surface));color:var(--status-done);border-color:color-mix(in srgb,var(--status-done) 55%,transparent)}.check-chip.ok:hover{background:color-mix(in srgb,var(--status-done) 26%,var(--surface))}.check-chip.no{background:var(--surface2);color:var(--text3);border-color:var(--border)}.check-chip.no:hover{background:var(--surface3)}.check-chip[disabled]{cursor:not-allowed;opacity:.6}.check-chip .chip-icon{font-size:11px;margin-right:3px}.td-check{padding:5px 4px!important;vertical-align:middle;min-width:58px}.td-check-group-start{border-left:2px solid var(--border2)!important}.td-check-group-end{border-right:2px solid var(--border2)!important}.td-ready{min-width:96px;padding-left:10px!important;padding-right:10px!important}.badge-ready-final{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;font-size:11px;font-weight:700;border:1.5px solid transparent;letter-spacing:.3px;text-transform:uppercase}.badge-ready-final.ready{background:color-mix(in srgb,var(--status-done) 18%,var(--surface));color:var(--status-done);border-color:color-mix(in srgb,var(--status-done) 60%,transparent)}.badge-ready-final.not-ready{background:color-mix(in srgb,var(--risk-high) 12%,var(--surface));color:var(--risk-high);border-color:color-mix(in srgb,var(--risk-high) 45%,transparent)}.badge-ready-final.done{background:var(--surface3);color:var(--text3);border-color:var(--border2)}.phase-type-chip{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.3px;border-radius:6px;padding:2px 7px;cursor:pointer;border:1px solid transparent;transition:all .15s;text-transform:uppercase;flex-shrink:0}.phase-type-chip.pt-mech{background:color-mix(in srgb,#8ab4ff 18%,var(--surface));color:#8ab4ff;border-color:color-mix(in srgb,#8ab4ff 45%,transparent)}.phase-type-chip.pt-elec{background:color-mix(in srgb,#ffb45a 20%,var(--surface));color:#ffb45a;border-color:color-mix(in srgb,#ffb45a 50%,transparent)}.phase-type-chip:hover{filter:brightness(1.12)}.phase-type-chip[disabled]{cursor:default;opacity:.75}.phase-type-chip .pt-ic{font-size:10px}.gantt-toggle-bar{display:flex;align-items:center;gap:12px;padding:8px 14px;margin:0 0 6px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);font-size:11px;color:var(--text2);flex-wrap:wrap}.gantt-toggle-bar label.toggle-inline{display:inline-flex;align-items:center;gap:6px;cursor:pointer;user-select:none;padding:4px 10px;border-radius:999px;border:1px solid var(--border2);background:var(--surface);transition:all .15s}.gantt-toggle-bar label.toggle-inline:hover{border-color:var(--accent);color:var(--text)}.gantt-toggle-bar input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.gantt-legend{display:inline-flex;gap:10px;margin-left:auto;font-size:10px;color:var(--text3)}.gantt-legend .leg-dot{display:inline-flex;align-items:center;gap:4px}.gantt-legend .leg-swatch{width:16px;height:10px;border-radius:2px;display:inline-block;border:1px solid var(--border2)}.gantt-legend .leg-swatch.leg-mech{background:linear-gradient(#0000002e,#0000002e),#4da3ff}.gantt-legend .leg-swatch.leg-elec{background-image:linear-gradient(#ffffff38,#ffffff38),repeating-linear-gradient(135deg,rgba(255,255,255,.35) 0 2px,transparent 2px 6px);background-color:#4da3ff}.machine-tabs{display:flex;gap:0;border-bottom:1px solid var(--border2);background:var(--surface);overflow-x:auto}.machine-tab{padding:10px 22px;cursor:pointer;font-size:12px;font-weight:600;color:var(--text3);border-bottom:2px solid transparent;white-space:nowrap;transition:all .15s;border-right:1px solid var(--border);letter-spacing:.1px}.machine-tab:hover{color:var(--text2);background:var(--surface2)}.machine-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--bg)}.main{padding:16px 24px}.view-tabs{display:flex;gap:0;border-bottom:1px solid var(--border2);margin-bottom:14px}.view-tab{padding:8px 20px;cursor:pointer;font-size:11px;color:var(--text3);border-bottom:2px solid transparent;transition:all .15s;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.view-tab:hover{color:var(--text2)}.view-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.view-section{display:none}.view-section.active{display:block}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;padding:12px 16px;margin-bottom:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:20}.filter-bar label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.7px;font-weight:600;margin-bottom:2px}.filter-group{display:flex;flex-direction:column;gap:3px}.filter-bar select,.filter-bar input[type=text],.filter-bar input[type=date]{background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:var(--radius);padding:7px 10px;font-size:12px;font-family:var(--font);outline:none;min-width:130px;height:34px;transition:all .15s}.filter-bar select:hover,.filter-bar input[type=text]:hover,.filter-bar input[type=date]:hover{border-color:var(--border3)}.filter-bar select:focus,.filter-bar input[type=text]:focus,.filter-bar input[type=date]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.filter-bar .btn-filter-reset{background:transparent;border:1px solid var(--border2);color:var(--text3);border-radius:var(--radius);padding:7px 14px;font-size:10px;cursor:pointer;font-family:var(--font);font-weight:600;transition:all .15s;margin-left:auto;height:34px;text-transform:uppercase;letter-spacing:.3px}.filter-bar .btn-filter-reset:hover{background:var(--surface3);color:var(--text);border-color:var(--border3)}.filter-count{font-size:11px;color:var(--text3);font-family:var(--mono);padding:0 6px}.table-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:12px}thead tr th{background:var(--surface2);color:var(--text3);font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.7px;padding:10px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;z-index:5}thead tr th:first-child{position:sticky;left:0;z-index:12}thead tr th:nth-child(2){position:sticky;left:34px;z-index:12;border-right:1px solid var(--border)}thead tr.grp-hdr th:first-child{position:sticky;left:0;z-index:12}tbody tr .td-num,tbody tr .td-name{background:var(--surface)}tbody tr:nth-child(2n) .td-num,tbody tr:nth-child(2n) .td-name{background:var(--surface2)}tbody tr:hover .td-num,tbody tr:hover .td-name{background:var(--accent-dim)}thead tr.grp-hdr th{background:var(--surface3);color:var(--text2);font-size:9px;padding:6px 10px;letter-spacing:1.2px;font-weight:700;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.th-plan{color:var(--accent)!important}.th-check{color:var(--status-done)!important}.th-loc{color:var(--status-prog)!important}.th-risk{color:var(--risk-med)!important}.th-acts{color:var(--text3)!important}tbody tr{border-bottom:1px solid var(--border);transition:background .12s}tbody tr:hover{background:var(--row-hover)}tbody tr:nth-child(2n){background:var(--surface2)}tbody tr:nth-child(2n):hover{background:var(--row-hover)}td{padding:8px 10px;vertical-align:middle}.td-num{color:var(--text3);font-family:var(--mono);font-size:10px;width:36px;text-align:center;position:sticky;left:0;z-index:2;background:var(--surface)}.td-name{color:var(--text);font-weight:500;min-width:220px;position:sticky;left:34px;z-index:2;background:var(--surface);border-right:1px solid var(--border)}.td-loc{min-width:110px;width:110px}.td-date{width:108px}.td-dur{width:58px;text-align:center;font-family:var(--mono);color:var(--text3);font-size:11px}.td-person{min-width:160px}.td-status{min-width:112px;width:112px}.td-pct{width:110px}.td-note{min-width:170px}.td-blocker{min-width:150px}.td-risk{width:72px;text-align:center}.cell-ellipsis{display:block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tr.row-risk-high{border-left:3px solid var(--red)}tr.row-risk-med{border-left:3px solid var(--orange)}tr.row-risk-low{border-left:3px solid var(--yellow)}tr.row-risk-none{border-left:3px solid transparent}.risk-icon{font-size:13px;cursor:help}.risk-tooltip,.ready-tooltip{position:relative;display:inline-block;cursor:help}.risk-tooltip .risk-tip-text,.ready-tooltip .ready-tip-text{visibility:hidden;opacity:0;width:220px;background:var(--surface2);color:var(--text2);border:1px solid var(--border3);border-radius:var(--radius);padding:10px 12px;font-size:10px;line-height:1.6;position:absolute;z-index:50;bottom:130%;left:50%;transform:translate(-50%);transition:opacity .15s;box-shadow:var(--shadow-lg);white-space:normal;text-align:left}.risk-tooltip .risk-tip-text:after,.ready-tooltip .ready-tip-text:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:var(--border3) transparent transparent transparent}.risk-tooltip:hover .risk-tip-text,.ready-tooltip:hover .ready-tip-text{visibility:visible;opacity:1}.date-error input{background:var(--red-bg)!important;border-color:var(--red)!important;color:var(--red)!important}.dur-error{color:var(--red)!important;font-weight:700}.blocker-highlight textarea{background:var(--orange-bg)!important;border-color:var(--orange)!important}select,input[type=text],input[type=date]{background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:var(--radius);padding:6px 10px;font-size:12px;font-family:var(--font);width:100%;outline:none;transition:all .15s}select:hover,input[type=text]:hover,input[type=date]:hover{border-color:var(--border3)}select:focus,input[type=text]:focus,input[type=date]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.date-input-wrap{position:relative}.date-input-wrap input{padding-right:26px;cursor:pointer;background:color-mix(in srgb,var(--status-done) 10%,var(--surface));border-color:color-mix(in srgb,var(--status-done) 40%,var(--border2));color:var(--status-done);font-family:var(--mono);font-size:11px}.date-input-wrap input.empty{background:var(--surface2);border-color:var(--border2);color:var(--text3)}.date-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:12px;color:var(--status-done);opacity:.55;transition:opacity .15s;padding:0}.date-btn:hover{opacity:1}.loc-select,.loc-pill{background:var(--surface2);border-color:var(--border2);color:var(--text);font-weight:500}select.st-0,select.st-1,select.st-2,select.st-3{font-weight:700;font-size:11px;padding:6px 10px;border-radius:999px;border:1px solid transparent}select.st-0{background:color-mix(in srgb,var(--status-none) 16%,var(--surface));border-color:color-mix(in srgb,var(--status-none) 45%,transparent);color:var(--status-none)}select.st-1{background:color-mix(in srgb,var(--status-prog) 14%,var(--surface));border-color:color-mix(in srgb,var(--status-prog) 45%,transparent);color:var(--status-prog)}select.st-2{background:color-mix(in srgb,var(--status-done) 16%,var(--surface));border-color:color-mix(in srgb,var(--status-done) 50%,transparent);color:var(--status-done)}select.st-3{background:color-mix(in srgb,var(--status-hold) 18%,var(--surface));border-color:color-mix(in srgb,var(--status-hold) 55%,transparent);color:var(--status-hold)}select.ck-da{background:color-mix(in srgb,var(--status-done) 16%,var(--surface));border-color:color-mix(in srgb,var(--status-done) 50%,transparent);color:var(--status-done);font-weight:700;font-size:10px}select.ck-ne{background:var(--surface2);border-color:var(--border);color:var(--text3);font-size:10px}.pct-bar-wrap{display:flex;align-items:center;gap:5px}.pct-bar{flex:1;height:3px;background:var(--surface4);border-radius:2px;overflow:hidden}.pct-bar-fill{height:100%;border-radius:2px;transition:width .3s}.pct-fill-normal{background:var(--accent)}.pct-fill-done{background:var(--green-light)}.pct-fill-hold{background:var(--red)}.badge-ready{display:inline-block;padding:3px 8px;border-radius:4px;font-size:9px;font-weight:700;font-family:var(--mono);letter-spacing:.3px}.badge-yes{background:color-mix(in srgb,var(--status-done) 16%,var(--surface));color:var(--status-done);border:1px solid color-mix(in srgb,var(--status-done) 45%,transparent)}.badge-no{background:var(--surface3);color:var(--text3);border:1px solid var(--border2)}.badge-done{background:var(--surface3);color:var(--text3);border:1px solid var(--border)}textarea.note-area{background:var(--surface3);border:1px solid var(--border2);color:var(--text);border-radius:var(--radius);padding:5px 8px;font-size:10px;font-family:var(--font);width:100%;outline:none;transition:all .15s;resize:vertical;min-height:34px;line-height:1.5}textarea.note-area:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.legend{display:flex;gap:14px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--border);margin-top:12px}.legend-item{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--text3)}.legend-box{width:10px;height:10px;border-radius:3px}.gantt-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border2);box-shadow:var(--shadow-sm)}.gantt-table{border-collapse:collapse;font-size:11px;min-width:100%}.gantt-table th{background:var(--surface2);color:var(--text3);font-weight:600;font-size:9px;padding:5px 6px;text-align:left;border:1px solid var(--border);white-space:nowrap}.gantt-table td{border:1px solid var(--border);padding:0;height:28px}.gantt-label{padding:2px 10px;white-space:nowrap;min-width:200px}.gantt-label-name{color:var(--text);font-weight:500;font-size:11px}.gantt-label-sub{font-size:9px;font-family:var(--mono);margin-top:1px}.gantt-label-sub{color:var(--text3)}.gantt-label-status{font-size:8px;font-family:var(--mono);display:inline}.gantt-label-status.gs-0{color:var(--yellow)}.gantt-label-status.gs-1{color:var(--blue-bar)}.gantt-label-status.gs-2{color:var(--green-light)}.gantt-label-status.gs-3{color:var(--red)}.gantt-month-hdr{background:var(--surface3);color:var(--accent);font-size:9px;font-weight:700;text-align:center;border:1px solid var(--border);padding:5px 6px;letter-spacing:.3px}.gantt-day-hdr{text-align:center;font-family:var(--mono);font-size:9px;padding:3px 0;min-width:22px;width:22px;background:var(--surface2);color:var(--text2)}.gantt-day-hdr.today-col{background:var(--gantt-today);color:var(--accent);font-weight:700}.gantt-day-hdr.wknd{color:var(--risk-high);opacity:.7;background:var(--gantt-wknd)}.gantt-cell{width:22px;min-width:22px;max-width:22px;background:var(--surface)}.gantt-cell.wknd{background:var(--gantt-wknd)}.gantt-cell.today-col{background:var(--gantt-today)}.gantt-cell.bar-phase,.gantt-cell.bar-phase-start,.gantt-cell.bar-phase-end{background:var(--accent)}.gantt-cell.bar-phase.bar-mech,.gantt-cell.bar-phase-start.bar-mech,.gantt-cell.bar-phase-end.bar-mech{background-image:linear-gradient(#0000002e,#0000002e)}.gantt-cell.bar-phase.bar-elec,.gantt-cell.bar-phase-start.bar-elec,.gantt-cell.bar-phase-end.bar-elec{background-image:linear-gradient(#ffffff38,#ffffff38),repeating-linear-gradient(135deg,rgba(255,255,255,.28) 0 2px,transparent 2px 6px)}.gantt-row:hover .bar-phase,.gantt-row:hover .bar-phase-start,.gantt-row:hover .bar-phase-end{filter:brightness(1.12)}.gantt-row:hover td{background:var(--row-hover)}.gantt-row-risk td.gantt-label{border-left:3px solid var(--risk-med)}.gantt-machine-hdr td{background:var(--surface3);color:var(--accent);font-weight:700;font-size:11px;padding:8px 12px;letter-spacing:.5px;border-top:2px solid var(--accent);border-bottom:1px solid var(--border)}.cal-overlay{display:none;position:fixed;inset:0;z-index:1000;background:#0009;backdrop-filter:blur(4px)}.cal-overlay.open{display:flex;align-items:center;justify-content:center}.cal-popup{background:var(--surface);border:1px solid var(--border3);border-radius:var(--radius-lg);width:290px;box-shadow:var(--shadow-lg);overflow:hidden;animation:popIn .15s ease-out}@keyframes popIn{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.cal-header{background:var(--surface2);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border2)}.cal-title{font-size:13px;font-weight:700;color:var(--text);font-family:var(--mono)}.cal-nav{display:flex;gap:4px}.cal-nav-btn{background:var(--surface3);border:1px solid var(--border2);color:var(--text2);border-radius:var(--radius);width:28px;height:28px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .15s}.cal-nav-btn:hover{background:var(--surface4);color:var(--text)}.cal-body{padding:10px}.cal-days-hdr{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.cal-days-hdr span{text-align:center;font-size:9px;font-weight:700;color:var(--text3);text-transform:uppercase;padding:4px 0}.cal-days-hdr span:nth-child(6),.cal-days-hdr span:nth-child(7){color:var(--red)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);cursor:pointer;font-size:11px;font-family:var(--mono);color:var(--text3);transition:all .1s;border:1px solid transparent}.cal-day:hover{background:var(--surface4);color:var(--text)}.cal-day.today{background:var(--accent-dim);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);font-weight:700}.cal-day.selected{background:var(--accent);color:var(--accent-fg);font-weight:700}.cal-day.weekend{color:var(--risk-high);opacity:.6}.cal-day.weekend:hover{background:color-mix(in srgb,var(--risk-high) 10%,transparent);color:var(--risk-high);opacity:1}.cal-day.empty{cursor:default}.cal-footer{padding:10px 12px;display:flex;justify-content:space-between;border-top:1px solid var(--border2)}.cal-btn{padding:6px 16px;border-radius:var(--radius);font-size:11px;font-weight:600;cursor:pointer;border:none;transition:all .15s;font-family:var(--font)}.cal-btn-cancel{background:var(--surface3);color:var(--text2)}.cal-btn-cancel:hover{background:var(--surface4);color:var(--text)}.cal-btn-clear{background:transparent;color:var(--red);border:1px solid color-mix(in srgb,var(--risk-high) 25%,transparent)}.cal-btn-clear:hover{background:color-mix(in srgb,var(--risk-high) 10%,transparent)}.toast{position:fixed;bottom:24px;right:24px;background:var(--surface2);border:1px solid var(--border3);border-radius:var(--radius);padding:10px 16px;font-size:12px;color:var(--text);z-index:2000;transform:translateY(60px);opacity:0;transition:all .25s;box-shadow:var(--shadow-lg)}.toast.show{transform:translateY(0);opacity:1}.td-actions{width:70px;text-align:center;white-space:nowrap}.row-btn{background:none;border:1px solid transparent;color:var(--text3);border-radius:var(--radius);cursor:pointer;font-size:12px;padding:3px 5px;transition:all .15s}.row-btn:hover{border-color:var(--border3);color:var(--text2);background:var(--surface3)}.row-btn.btn-del:hover{border-color:color-mix(in srgb,var(--risk-high) 45%,transparent);color:var(--risk-high);background:var(--red-bg)}.row-btn.btn-up:hover,.row-btn.btn-dn:hover{border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--accent);background:var(--accent-dim)}.add-phase-bar{display:flex;gap:8px;align-items:center;padding:12px 0;border-top:1px solid var(--border);margin-top:10px}.add-phase-input{flex:1;background:var(--surface3);border:1px solid var(--border2);color:var(--text);border-radius:var(--radius);padding:7px 12px;font-size:12px;font-family:var(--font);outline:none;transition:all .15s}.add-phase-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.btn-add-phase{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:11px;font-weight:700;cursor:pointer;border:1px solid color-mix(in srgb,var(--status-done) 55%,transparent);background:color-mix(in srgb,var(--status-done) 16%,var(--surface));color:var(--status-done);font-family:var(--font);transition:all .15s;white-space:nowrap;text-transform:uppercase;letter-spacing:.4px}.btn-add-phase:hover{background:color-mix(in srgb,var(--status-done) 24%,var(--surface));border-color:var(--status-done)}.phase-name-input{background:transparent;border:1px solid transparent;color:var(--text);font-family:var(--font);font-size:12px;font-weight:500;width:100%;padding:3px 5px;border-radius:var(--radius);outline:none;transition:all .15s}.phase-name-input:hover{border-color:var(--border2);background:var(--surface3)}.phase-name-input:focus{border-color:var(--accent);background:var(--surface3);box-shadow:0 0 0 2px var(--accent-dim)}.checks-container{display:flex;gap:0}.checks-container .td-check{min-width:44px}tr.row-finished{opacity:.5}tr.row-finished .phase-name-input{text-decoration:line-through;color:var(--text3)}tr.row-finished td{color:var(--text3)}.m-card.m-finished{opacity:.55}.m-card.m-finished .m-card-name{text-decoration:line-through;color:var(--text3)}.reminder-zone{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.reminder-card{padding:8px 12px;border-radius:var(--radius);font-size:11px;flex:1 1 260px;border:1px solid;display:flex;flex-direction:column;gap:2px}.reminder-card.rc-red{background:var(--red-bg);border-color:color-mix(in srgb,var(--risk-high) 60%,transparent);color:var(--risk-high)}.reminder-card.rc-yellow{background:var(--yellow-bg);border-color:color-mix(in srgb,var(--status-hold) 60%,transparent);color:var(--status-hold)}.reminder-card .rc-title{font-weight:600;font-size:12px}.reminder-card .rc-sub{font-size:10px;opacity:.8}.reminder-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}.reminder-dot.rd-red{background:var(--red)}.reminder-dot.rd-yellow{background:var(--yellow)}.gantt-machine-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-lg)}.gantt-machine-filter label{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text2);cursor:pointer;padding:4px 8px;border-radius:var(--radius);transition:background .15s}.gantt-machine-filter label:hover{background:var(--surface3)}.gantt-machine-filter input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px}.td-eng{width:130px}.meta-sub{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--text3);margin-top:2px;font-family:var(--mono)}.meta-sub span{display:flex;align-items:center;gap:3px}.role-indicator{font-size:9px;padding:2px 8px;border-radius:10px;font-weight:600;font-family:var(--mono);letter-spacing:.3px}.role-pm{background:var(--blue-bg);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}.role-viewer{background:var(--surface2);color:var(--text3);border:1px solid var(--border)}.mobile-cards{display:none}.m-card{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-lg);margin-bottom:8px;overflow:hidden;transition:border-color .15s}.m-card.m-risk-high{border-left:3px solid var(--red)}.m-card.m-risk-med{border-left:3px solid var(--orange)}.m-card.m-risk-low{border-left:3px solid var(--yellow)}.m-card-top{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:start;padding:10px 12px 8px;cursor:pointer}.m-card-name{font-weight:600;font-size:13px;color:var(--text)}.m-card-name-meta{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:4px}.m-card-name-meta .phase-type-chip{font-size:10px;padding:2px 6px}.m-card-name-meta .row-btn{font-size:10px;padding:2px 7px;margin-left:0;background:var(--surface2);border:1px solid var(--border2);color:var(--text2);border-radius:6px;cursor:pointer}.m-card-name-meta .row-btn:hover{background:var(--surface3);color:var(--text)}.m-card-name-meta .row-btn.btn-desc.has-desc{background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.m-card-name-meta .row-btn.btn-3d.has-model{background:#6ea0ff2e;border-color:#4b79c8;color:#aac8ff}.m-card-badges{display:flex;gap:4px;align-items:center;flex-shrink:0}.m-card-row{display:flex;flex-wrap:wrap;gap:6px 14px;padding:0 12px 8px;font-size:11px;color:var(--text2)}.m-card-field{display:flex;align-items:center;gap:4px}.m-card-field .m-lbl{color:var(--text3);font-size:9px;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.m-card-pct{display:flex;align-items:center;gap:6px;padding:0 12px 8px}.m-card-pct .pct-bar{flex:1;height:4px}.m-card-pct span{font-family:var(--mono);font-size:10px;color:var(--text3);min-width:30px}.m-card-details{display:none;padding:10px 12px;border-top:1px solid var(--border);background:var(--surface2);font-size:11px}.m-card-details.open{display:block}.m-card-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.m-card-detail-item{display:flex;flex-direction:column;gap:2px}.m-card-detail-item .m-lbl{color:var(--text3);font-size:9px;text-transform:uppercase;font-weight:600}.m-card-checks{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}.m-card-check{font-size:9px;padding:2px 6px;border-radius:3px;font-family:var(--mono)}.m-card-check.ck-y{background:color-mix(in srgb,var(--status-done) 18%,var(--surface));color:var(--status-done);border:1px solid color-mix(in srgb,var(--status-done) 45%,transparent)}.m-card-check.ck-n{background:var(--surface2);color:var(--text3);border:1px solid var(--border)}.m-card-actions{display:flex;gap:6px;padding:6px 12px;border-top:1px solid var(--border);justify-content:flex-end}.m-card-actions .row-btn{padding:6px 10px;font-size:13px}.m-card-edit{padding:6px 12px 10px}.m-card-edit select,.m-card-edit input,.m-card-edit textarea{font-size:13px;padding:8px 10px;margin-bottom:6px}.m-expand-btn{background:none;border:none;color:var(--text3);cursor:pointer;font-size:10px;padding:4px 8px;font-family:var(--font)}.m-expand-btn:hover{color:var(--text2)}@media (max-width: 1199px){.main{padding:12px 16px}.header-top{padding:10px 16px 8px}.kpi-zone{padding:10px 16px 12px}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:6px}.kpi-card{padding:8px 10px}.kpi-value{font-size:18px}.kpi-label{font-size:8px}.filter-bar{padding:8px 12px;gap:8px}.filter-bar select,.filter-bar input[type=text]{min-width:100px;font-size:11px;height:30px;padding:4px 6px}.machine-tab{padding:8px 14px;font-size:11px}.view-tab{padding:6px 14px;font-size:10px}td{padding:4px 6px}.td-check{width:38px}select.ck-da,select.ck-ne{font-size:9px;padding:2px 3px}.td-note,.td-blocker{min-width:110px}textarea.note-area{font-size:10px;min-height:30px}.gantt-cell,.gantt-day-hdr{width:20px;min-width:20px;max-width:20px}}@media (max-width: 767px){body{font-size:13px}.main{padding:8px 10px}.header-top{padding:8px 12px 6px;flex-direction:column;align-items:stretch;gap:6px}.header h1{font-size:13px}.header-sub{font-size:9px;gap:8px}.toolbar{justify-content:flex-start;gap:4px}.btn{padding:6px 8px;font-size:9px}.kpi-zone{padding:6px 10px 8px}.kpi-grid{grid-template-columns:repeat(3,1fr);gap:4px}.kpi-card{padding:6px 8px;border-radius:6px}.kpi-value{font-size:16px}.kpi-label{font-size:7px;letter-spacing:.4px}.kpi-sub{font-size:9px}.kpi-card.kpi-neutral .kpi-value{font-size:11px}.machine-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.machine-tab{padding:8px 14px;font-size:11px;min-width:max-content}.view-tabs{margin-bottom:8px}.view-tab{padding:7px 12px;font-size:10px}.filter-toggle-btn{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-lg);padding:10px 14px;margin-bottom:8px;cursor:pointer;color:var(--text2);font-family:var(--font);font-size:11px;font-weight:600;transition:all .15s;text-transform:uppercase;letter-spacing:.5px}.filter-toggle-btn:hover{background:var(--surface2);color:var(--text)}.filter-toggle-btn .filter-arrow{transition:transform .2s}.filter-toggle-btn.open .filter-arrow{transform:rotate(180deg)}.filter-bar{flex-direction:column;align-items:stretch;gap:8px;max-height:0;overflow:hidden;opacity:0;margin-bottom:0;border:none;padding:0;transition:max-height .25s ease,opacity .2s ease,padding .25s ease,margin .25s ease}.filter-bar.filter-open{max-height:600px;opacity:1;margin-bottom:10px;border:1px solid var(--border2);padding:10px 12px}.filter-group{flex-direction:row;align-items:center;gap:8px}.filter-group label{min-width:56px;font-size:9px}.filter-bar select,.filter-bar input[type=text]{min-width:0;flex:1;height:38px;font-size:14px;padding:6px 10px}.filter-bar .btn-filter-reset{margin-left:0;height:38px;font-size:12px}.table-wrap{display:none}.mobile-cards{display:block}.legend{font-size:9px;gap:8px;padding:8px 0}.add-phase-bar{flex-direction:column;gap:6px}.add-phase-input{font-size:14px;padding:10px 12px}.btn-add-phase{padding:10px 16px;font-size:13px;justify-content:center}.cal-popup{width:calc(100vw - 32px);max-width:320px}.cal-day{font-size:13px}.cal-btn{padding:8px 18px;font-size:12px}.cal-nav-btn{width:32px;height:32px;font-size:15px}.gantt-wrap{-webkit-overflow-scrolling:touch;border-radius:8px}.gantt-label{min-width:150px;padding:3px 8px}.gantt-label-name{font-size:10px;white-space:normal;line-height:1.3}.gantt-label-sub{font-size:8px}.gantt-cell,.gantt-day-hdr{width:20px;min-width:20px;max-width:20px}.gantt-day-hdr{font-size:8px;padding:3px 0}.gantt-month-hdr{font-size:8px;padding:3px 4px}.gantt-table td{height:30px}.m-card{margin-bottom:6px}.m-card-top{padding:12px 14px 8px;min-height:44px}.m-card-name{font-size:14px}.m-card-row{padding:0 14px 8px;font-size:12px;gap:6px 16px}.m-card-pct{padding:0 14px 10px}.m-card-details{padding:10px 14px 12px}.m-card-detail-grid{gap:8px}.m-card-detail-item select,.m-card-detail-item textarea{min-height:40px}.m-card-checks{gap:6px;margin:8px 0}.m-card-check{padding:6px 10px!important;font-size:11px!important;min-height:32px;display:inline-flex;align-items:center}.m-card-actions .row-btn,.m-card-details .row-btn{min-height:36px;min-width:36px;display:inline-flex;align-items:center;justify-content:center}.toast{left:10px;right:10px;bottom:10px;text-align:center}.filter-toggle-btn{display:flex}}.filter-toggle-btn{display:none}@media (max-width: 399px){.kpi-grid{grid-template-columns:1fr 1fr}.kpi-value{font-size:14px}.kpi-label{font-size:7px}.header h1{font-size:12px}.btn{font-size:8px;padding:5px 6px}.m-card-name{font-size:13px}.m-card-check{padding:5px 7px!important;font-size:10px!important}}.project-bar{display:flex;align-items:center;gap:10px;padding:10px 24px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.project-bar label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.7px;font-weight:600}.project-bar select{background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:var(--radius);padding:7px 10px;font-size:12px;font-family:var(--font);outline:none;min-width:200px;height:34px;transition:all .15s}.project-bar select:hover{border-color:var(--border3)}.project-bar select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.project-bar .btn-sm{padding:6px 12px;font-size:10px;border-radius:var(--radius);cursor:pointer;border:1px solid var(--border2);background:var(--surface2);color:var(--text2);font-family:var(--font);font-weight:600;transition:all .15s;height:34px}.project-bar .btn-sm:hover{background:var(--surface3);color:var(--text);border-color:var(--border3)}.wp-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);background:var(--surface2);overflow-x:auto;padding:0 10px}.wp-tab{padding:10px 18px;cursor:pointer;font-size:11px;font-weight:600;color:var(--text3);border-bottom:2px solid transparent;white-space:nowrap;transition:all .15s;letter-spacing:.2px}.wp-tab:hover{color:var(--text)}.wp-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.wp-tab .wp-code{font-family:var(--mono);font-size:9px;color:var(--text3);margin-left:4px}@media (max-width: 767px){.project-bar{padding:6px 12px;gap:6px}.project-bar select{min-width:140px;font-size:13px;height:36px}.wp-tabs{-webkit-overflow-scrolling:touch}.wp-tab{padding:8px 14px;font-size:10px}}.auth-overlay{display:flex;position:fixed;inset:0;z-index:2000;background:var(--bg);align-items:center;justify-content:center;overflow:hidden;padding:24px}.auth-overlay.hidden{display:none}.auth-overlay:before,.auth-overlay:after{content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(60px);opacity:.55;z-index:0}.auth-overlay:before{width:520px;height:520px;top:-180px;left:-160px;background:radial-gradient(circle,var(--servoteh) 0%,transparent 70%);opacity:.18}.auth-overlay:after{width:420px;height:420px;bottom:-140px;right:-120px;background:radial-gradient(circle,var(--servoteh-600) 0%,transparent 70%);opacity:.12}[data-theme=light] .auth-overlay:before{opacity:.22}[data-theme=light] .auth-overlay:after{opacity:.14}.auth-box{position:relative;z-index:1;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:36px 32px 28px;width:100%;max-width:400px;box-shadow:var(--shadow-lg)}[data-theme=light] .auth-box{box-shadow:0 24px 60px #1118271f,0 4px 12px #1118270f}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px}.auth-brand-mark{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--servoteh);color:#fff;border-radius:14px;font-size:26px;line-height:1;box-shadow:0 8px 22px #e8523a59,inset 0 1px #ffffff2e}.auth-brand-mark svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.auth-title{font-size:20px;font-weight:700;color:var(--text);letter-spacing:-.01em;text-align:center}.auth-subtitle{font-size:12px;color:var(--text3);text-align:center;letter-spacing:.2px}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:11px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.6px}.auth-box input{width:100%;padding:11px 13px;font-size:13px;background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:8px;font-family:var(--font);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.auth-box input::placeholder{color:var(--text3);opacity:.7}.auth-box input:hover{border-color:var(--border3)}.auth-box input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);background:var(--surface)}.auth-btn-primary{width:100%;padding:12px 16px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);border-radius:8px;font-family:var(--font);transition:background .15s,border-color .15s,transform .05s;display:inline-flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.2px;margin-top:4px}.auth-btn-primary:hover{background:var(--accent-hover, var(--servoteh-500));border-color:var(--accent-hover, var(--servoteh-500))}.auth-btn-primary:active{transform:translateY(1px)}.auth-btn-primary .arrow{opacity:.8;transition:transform .15s}.auth-btn-primary:hover .arrow{transform:translate(2px);opacity:1}.auth-divider{display:flex;align-items:center;gap:10px;margin:14px 0 10px;color:var(--text3);font-size:10px;letter-spacing:1px;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-btn-ghost{width:100%;padding:10px 14px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--border2);background:transparent;color:var(--text2);border-radius:8px;font-family:var(--font);transition:all .15s}.auth-btn-ghost:hover{background:var(--surface2);border-color:var(--border3);color:var(--text)}.auth-msg{font-size:12px;color:var(--text3);margin-top:12px;text-align:center;min-height:16px}.auth-err{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent);border:1px solid color-mix(in srgb,var(--red) 35%,transparent);padding:8px 12px;border-radius:6px;display:inline-block}.auth-footer{margin-top:22px;text-align:center;font-size:10px;color:var(--text3);letter-spacing:.4px}.auth-footer strong{color:var(--servoteh);font-weight:600;letter-spacing:.8px}.auth-forgot-row{display:flex;justify-content:flex-end;margin-top:-4px}.auth-link-btn{background:none;border:none;padding:4px 2px;color:var(--servoteh);cursor:pointer;font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:2px}.auth-link-btn:hover{opacity:.85}.auth-link-btn:focus-visible{outline:2px solid var(--servoteh);outline-offset:2px;border-radius:3px}.auth-reset-back{display:flex;justify-content:center;margin-top:14px}.auth-reset-back .auth-btn-ghost{padding:8px 14px;font-size:12px}.auth-reset-info{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:color-mix(in srgb,var(--red) 8%,transparent);border:1px solid color-mix(in srgb,var(--red) 30%,transparent);border-radius:8px;margin-bottom:6px}.auth-reset-info-ico{font-size:18px;line-height:1}.auth-reset-info-txt{font-size:12px;color:var(--text2);line-height:1.45}@media (max-width:480px){.auth-box{padding:28px 20px 22px;border-radius:12px}.auth-brand-mark{width:48px;height:48px;border-radius:12px}.auth-title{font-size:18px}}.module-hub{position:fixed;inset:0;z-index:1500;background:var(--bg);overflow-y:auto;display:flex;flex-direction:column}.module-hub.hidden{display:none}.module-hub:before{content:"";position:absolute;top:-220px;right:-160px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,var(--servoteh) 0%,transparent 70%);opacity:.1;filter:blur(70px);pointer-events:none;z-index:0}[data-theme=light] .module-hub:before{opacity:.18}.hub-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:18px 32px;border-bottom:1px solid var(--border);background:var(--surface)}.hub-brand{display:flex;align-items:center;gap:12px}.hub-brand-mark{width:36px;height:36px;border-radius:9px;background:var(--servoteh);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #e8523a47}.hub-brand-mark svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.hub-brand-text{display:flex;flex-direction:column;line-height:1.15}.hub-brand-text .hub-brand-title{font-size:14px;font-weight:700;color:var(--text);letter-spacing:-.01em}.hub-brand-text .hub-brand-sub{font-size:10px;color:var(--text3);letter-spacing:.5px;text-transform:uppercase}.hub-header-right{display:flex;align-items:center;gap:10px}.hub-user{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.hub-user .hub-user-email{font-size:12px;color:var(--text);font-weight:500;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-user .hub-user-role{font-size:10px;color:var(--text3);font-family:var(--mono);letter-spacing:.4px}.hub-logout{padding:7px 12px;font-size:11px;font-weight:500;border:1px solid var(--border2);background:var(--surface2);color:var(--text2);border-radius:7px;cursor:pointer;font-family:var(--font);transition:all .15s}.hub-logout:hover{background:var(--surface3);border-color:var(--border3);color:var(--text)}.hub-main{position:relative;z-index:1;flex:1;padding:56px 32px 40px;max-width:1240px;width:100%;margin:0 auto}.hub-intro{margin-bottom:40px}.hub-intro h2{font-size:28px;font-weight:700;color:var(--text);letter-spacing:-.02em;margin-bottom:8px}.hub-intro p{font-size:14px;color:var(--text2);max-width:640px;line-height:1.55}.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.hub-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px 20px 18px;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;display:flex;flex-direction:column;gap:10px;text-align:left;font-family:var(--font);color:inherit;overflow:hidden}.hub-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 10px 30px #00000040,0 0 0 1px var(--accent-dim) inset}[data-theme=light] .hub-card:hover{box-shadow:0 10px 28px #11182714,0 0 0 1px var(--accent-dim) inset}.hub-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hub-card-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;background:var(--accent-dim);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.hub-card-title{font-size:15px;font-weight:600;color:var(--text);letter-spacing:-.005em}.hub-card-desc{font-size:12px;color:var(--text3);line-height:1.5;flex:1}.hub-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.hub-card-cta{font-size:11px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.6px;display:inline-flex;align-items:center;gap:4px;transition:transform .15s}.hub-card:hover .hub-card-cta{transform:translate(2px)}.hub-card-badge{font-size:9px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--surface3);color:var(--text3);border:1px solid var(--border2);letter-spacing:.6px;text-transform:uppercase}.hub-card-badge.badge-active{background:color-mix(in srgb,var(--status-done) 18%,var(--surface));color:var(--status-done);border-color:color-mix(in srgb,var(--status-done) 45%,transparent)}.hub-card.is-disabled{cursor:not-allowed;opacity:.65}.hub-card.is-disabled:hover{transform:none;border-color:var(--border);box-shadow:none}.hub-card.is-disabled .hub-card-cta{color:var(--text3)}.hub-footer{position:relative;z-index:1;padding:18px 32px;border-top:1px solid var(--border);text-align:center;font-size:10px;color:var(--text3);letter-spacing:.4px;background:var(--surface)}.hub-footer strong{color:var(--servoteh);font-weight:700;letter-spacing:.8px}.btn-hub-back{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;font-size:11px;font-weight:500;background:var(--surface2);color:var(--text2);border:1px solid var(--border2);border-radius:7px;cursor:pointer;font-family:var(--font);transition:all .15s;margin-right:4px}.btn-hub-back:hover{background:var(--surface3);border-color:var(--border3);color:var(--text)}.btn-hub-back .back-icon{font-size:13px;line-height:1}body.hub-active>.header,body.hub-active>.project-bar,body.hub-active>.project-meta-strip,body.hub-active>.wp-tabs,body.hub-active>.print-only,body.hub-active>.main,body.hub-active>.view-section,body.hub-active>.add-phase-bar,body.hub-active>.legend,body.hub-active>.reminder-zone,body.hub-active>.filter-bar{display:none!important}@media print{.module-hub{display:none!important}}@media (max-width:640px){.hub-header{padding:14px 18px}.hub-main{padding:32px 18px 24px}.hub-intro h2{font-size:22px}.hub-grid{grid-template-columns:1fr;gap:14px}.hub-user .hub-user-email{max-width:120px}}body:not(.module-kadrovska) #module-kadrovska{display:none!important}body.module-kadrovska>.header,body.module-kadrovska>.project-bar,body.module-kadrovska>.project-meta-strip,body.module-kadrovska>.wp-tabs,body.module-kadrovska>.print-only,body.module-kadrovska>.main,body.module-kadrovska>.view-section,body.module-kadrovska>.add-phase-bar,body.module-kadrovska>.legend,body.module-kadrovska>.reminder-zone,body.module-kadrovska>.filter-bar{display:none!important}body:not(.module-settings) #module-settings{display:none!important}body.module-settings>.header,body.module-settings>.project-bar,body.module-settings>.project-meta-strip,body.module-settings>.wp-tabs,body.module-settings>.print-only,body.module-settings>.main,body.module-settings>.view-section,body.module-settings>.add-phase-bar,body.module-settings>.legend,body.module-settings>.reminder-zone,body.module-settings>.filter-bar{display:none!important}body.module-settings>#module-kadrovska{display:none!important}body.module-kadrovska>#module-settings{display:none!important}.role-indicator.role-admin{background:color-mix(in srgb,#9B51E0 22%,var(--surface));color:#9b51e0;border:1px solid color-mix(in srgb,#9B51E0 40%,transparent)}.role-indicator.role-leadpm{background:color-mix(in srgb,var(--accent) 22%,var(--surface));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}.role-indicator.role-pm{background:color-mix(in srgb,#2D9CDB 22%,var(--surface));color:#2d9cdb;border:1px solid color-mix(in srgb,#2D9CDB 40%,transparent)}.role-indicator.role-hr{background:color-mix(in srgb,#27AE60 22%,var(--surface));color:#27ae60;border:1px solid color-mix(in srgb,#27AE60 40%,transparent)}.role-indicator.role-viewer{background:var(--surface3);color:var(--text2);border:1px solid var(--border2)}.user-role-badge{display:inline-block;padding:3px 9px;border-radius:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-family:var(--mono)}.user-role-badge.role-admin{background:color-mix(in srgb,#9B51E0 18%,transparent);color:#9b51e0}.user-role-badge.role-leadpm{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.user-role-badge.role-pm{background:color-mix(in srgb,#2D9CDB 18%,transparent);color:#2d9cdb}.user-role-badge.role-hr{background:color-mix(in srgb,#27AE60 18%,transparent);color:#27ae60}.user-role-badge.role-viewer{background:var(--surface3);color:var(--text2)}.hub-card.requires-admin[data-hidden="1"]{display:none!important}.kadrovska-section{position:relative;min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.kadrovska-header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--border);background:var(--surface);gap:14px;flex-wrap:wrap}.kadrovska-header-left{display:flex;align-items:center;gap:14px}.kadrovska-header-right{display:flex;align-items:center;gap:10px}.kadrovska-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.01em}.kadrovska-title .ktitle-mark{width:30px;height:30px;border-radius:8px;background:var(--servoteh);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 3px 10px #e8523a4d}.kadrovska-toolbar{display:flex;align-items:center;gap:10px;padding:14px 24px;flex-wrap:wrap;border-bottom:1px solid var(--border);background:var(--surface2)}.kadrovska-search{flex:1 1 220px;max-width:320px;padding:8px 12px;background:var(--surface);border:1px solid var(--border2);border-radius:7px;font-family:var(--font);font-size:12px;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.kadrovska-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.kadrovska-filter{padding:8px 10px;background:var(--surface);border:1px solid var(--border2);border-radius:7px;font-family:var(--font);font-size:12px;color:var(--text);outline:none;cursor:pointer}.kadrovska-filter:focus{border-color:var(--accent)}.kadrovska-toolbar-spacer{flex:1 1 auto}.kadrovska-count{font-size:11px;color:var(--text3);font-family:var(--mono);letter-spacing:.3px}.kadrovska-main{flex:1;padding:18px 24px 40px;overflow-x:auto}.kadrovska-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;font-size:12px}.kadrovska-table thead th{background:var(--surface2);padding:10px 14px;text-align:left;font-weight:600;font-size:11px;color:var(--text2);letter-spacing:.4px;text-transform:uppercase;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}.kadrovska-table tbody td{padding:11px 14px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.kadrovska-table tbody tr:last-child td{border-bottom:none}.kadrovska-table tbody tr{transition:background .15s}.kadrovska-table tbody tr:hover{background:var(--row-hover)}.kadrovska-table .col-actions{width:110px;text-align:right;white-space:nowrap}.kadrovska-table .emp-name{font-weight:600;color:var(--text)}.kadrovska-table .emp-sub{font-size:11px;color:var(--text3);font-family:var(--mono)}.kadrovska-empty{padding:60px 20px;text-align:center;color:var(--text3);font-size:13px;background:var(--surface);border:1px dashed var(--border2);border-radius:10px}.kadrovska-empty-title{font-size:15px;font-weight:600;color:var(--text2);margin-bottom:6px}.emp-status-badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.emp-status-badge.active{background:color-mix(in srgb,var(--status-done) 18%,var(--surface));color:var(--status-done);border:1px solid color-mix(in srgb,var(--status-done) 45%,transparent)}.emp-status-badge.inactive{background:var(--surface3);color:var(--text3);border:1px solid var(--border2)}.btn-row-act{padding:5px 10px;font-size:11px;background:var(--surface2);color:var(--text2);border:1px solid var(--border2);border-radius:6px;cursor:pointer;font-family:var(--font);transition:all .15s;margin-left:4px}.btn-row-act:hover{background:var(--surface3);border-color:var(--border3);color:var(--text)}.btn-row-act.danger:hover{border-color:var(--red);color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent)}.emp-modal-overlay{position:fixed;inset:0;z-index:2500;background:#0009;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px}[data-theme=light] .emp-modal-overlay{background:#11182773}.emp-modal-overlay.hidden{display:none}.emp-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:520px;padding:24px 24px 20px;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto}.emp-modal-title{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.01em;margin-bottom:4px}.emp-modal-subtitle{font-size:11px;color:var(--text3);margin-bottom:18px;letter-spacing:.3px}.emp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;margin-bottom:14px}.emp-form-grid .col-full{grid-column:1 / -1}.emp-field{display:flex;flex-direction:column;gap:5px}.emp-field label{font-size:10px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.5px}.emp-field input,.emp-field select,.emp-field textarea{padding:9px 11px;background:var(--surface2);border:1px solid var(--border2);border-radius:7px;color:var(--text);font-family:var(--font);font-size:12px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.emp-field textarea{resize:vertical;min-height:60px;font-family:var(--font)}.emp-field input:hover,.emp-field select:hover,.emp-field textarea:hover{border-color:var(--border3)}.emp-field input:focus,.emp-field select:focus,.emp-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);background:var(--surface)}.emp-field-check{flex-direction:row;align-items:center;gap:8px}.emp-field-check input[type=checkbox]{width:auto;margin:0;accent-color:var(--accent)}.emp-field-check label{text-transform:none;letter-spacing:0;font-size:12px;color:var(--text)}.emp-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:14px;border-top:1px solid var(--border);margin-top:6px}.emp-modal-err{font-size:12px;color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent);border:1px solid color-mix(in srgb,var(--red) 35%,transparent);padding:8px 12px;border-radius:6px;margin-bottom:10px;display:none}.emp-modal-err.visible{display:block}@media (max-width:640px){.kadrovska-header{padding:12px 16px}.kadrovska-toolbar{padding:10px 16px}.kadrovska-main{padding:14px 16px 32px}.emp-form-grid{grid-template-columns:1fr}.kadrovska-table .col-hide-sm{display:none}}.kadrovska-tabs{display:flex;align-items:flex-end;gap:2px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--border);overflow-x:auto}.kadrovska-tab{padding:10px 16px;font-size:12px;font-weight:500;color:var(--text3);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;font-family:var(--font);transition:color .15s,border-color .15s,background .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.kadrovska-tab .kadr-tab-badge{font-size:10px;font-weight:600;font-family:var(--mono);padding:1px 7px;border-radius:999px;background:var(--surface3);color:var(--text3);border:1px solid var(--border2)}.kadrovska-tab:hover{color:var(--text);background:var(--surface2)}.kadrovska-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.kadrovska-tab.active .kadr-tab-badge{background:var(--accent-dim);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.kadr-panel{display:none}.kadr-panel.active{display:block}.kadr-modal-overlay{position:fixed;inset:0;z-index:2500;background:#0009;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px}[data-theme=light] .kadr-modal-overlay{background:#11182773}.kadr-modal-overlay.hidden{display:none}.kadr-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:520px;padding:24px 24px 20px;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto}.kadr-modal-title{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.01em;margin-bottom:4px}.kadr-modal-subtitle{font-size:11px;color:var(--text3);margin-bottom:18px;letter-spacing:.3px}.kadr-modal-err{font-size:12px;color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent);border:1px solid color-mix(in srgb,var(--red) 35%,transparent);padding:8px 12px;border-radius:6px;margin-bottom:10px;display:none}.kadr-modal-err.visible{display:block}.kadr-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:14px;border-top:1px solid var(--border);margin-top:6px}.kadr-type-badge{display:inline-block;padding:3px 9px;border-radius:6px;font-size:10px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;border:1px solid var(--border2);background:var(--surface3);color:var(--text2)}.kadr-type-badge.t-godisnji{background:color-mix(in srgb,#27AE60 16%,var(--surface));color:#27ae60;border-color:color-mix(in srgb,#27AE60 40%,transparent)}.kadr-type-badge.t-bolovanje{background:color-mix(in srgb,var(--red) 14%,var(--surface));color:var(--red);border-color:color-mix(in srgb,var(--red) 40%,transparent)}.kadr-type-badge.t-slobodan{background:color-mix(in srgb,#2D9CDB 14%,var(--surface));color:#2d9cdb;border-color:color-mix(in srgb,#2D9CDB 40%,transparent)}.kadr-type-badge.t-placeno{background:color-mix(in srgb,#F2994A 14%,var(--surface));color:#f2994a;border-color:color-mix(in srgb,#F2994A 40%,transparent)}.kadr-type-badge.t-neplaceno{background:var(--surface3);color:var(--text3);border-color:var(--border2)}.kadr-type-badge.t-sluzbeno{background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.kadr-type-badge.t-ostalo{background:var(--surface3);color:var(--text3);border-color:var(--border2)}.kadr-type-badge.c-neodredjeno{background:color-mix(in srgb,#27AE60 16%,var(--surface));color:#27ae60;border-color:color-mix(in srgb,#27AE60 40%,transparent)}.kadr-type-badge.c-odredjeno{background:color-mix(in srgb,#F2994A 14%,var(--surface));color:#f2994a;border-color:color-mix(in srgb,#F2994A 40%,transparent)}.kadr-type-badge.c-privremeno{background:color-mix(in srgb,#2D9CDB 14%,var(--surface));color:#2d9cdb;border-color:color-mix(in srgb,#2D9CDB 40%,transparent)}.kadr-type-badge.c-delo{background:color-mix(in srgb,#9B51E0 14%,var(--surface));color:#9b51e0;border-color:color-mix(in srgb,#9B51E0 40%,transparent)}.kadr-type-badge.c-student{background:color-mix(in srgb,#2D9CDB 12%,var(--surface));color:#2d9cdb;border-color:color-mix(in srgb,#2D9CDB 35%,transparent)}.kadr-type-badge.c-praksa{background:var(--surface3);color:var(--text2);border-color:var(--border2)}.kadr-type-badge.c-ostalo{background:var(--surface3);color:var(--text3);border-color:var(--border2)}.kadrovska-table tr.row-expired td{background:color-mix(in srgb,var(--red) 8%,transparent)}.kadrovska-table tr.row-expiring td{background:color-mix(in srgb,#F2994A 9%,transparent)}.kadr-expiry-hint{font-size:10px;font-family:var(--mono);letter-spacing:.3px;color:var(--text3);margin-top:2px}.kadr-expiry-hint.warn{color:#f2994a}.kadr-expiry-hint.danger{color:var(--red)}.kadr-totals{display:flex;gap:14px;align-items:center;padding:10px 14px;margin-top:12px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--text2);flex-wrap:wrap}.kadr-totals .kadr-total-item{display:flex;align-items:center;gap:6px}.kadr-totals .kadr-total-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.kadr-totals .kadr-total-value{font-family:var(--mono);font-weight:600;font-size:14px;color:var(--text)}.kadr-totals .kadr-total-item.accent .kadr-total-value{color:var(--accent)}.kadr-totals .kadr-total-item.overtime .kadr-total-value{color:#f2994a}.kadr-summary-strip{display:flex;flex-wrap:wrap;gap:10px;padding:10px 24px 0;background:var(--surface)}.kadr-summary-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;font-size:11px;color:var(--text2);letter-spacing:.2px}.kadr-summary-chip .kscl{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text3)}.kadr-summary-chip .kscv{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--text)}.kadr-summary-chip.ok{border-color:color-mix(in srgb,#27AE60 35%,transparent)}.kadr-summary-chip.ok .kscv{color:#27ae60}.kadr-summary-chip.warn{border-color:color-mix(in srgb,#F2994A 45%,transparent);background:color-mix(in srgb,#F2994A 6%,var(--surface2))}.kadr-summary-chip.warn .kscv{color:#f2994a}.kadr-summary-chip.danger{border-color:color-mix(in srgb,var(--red) 45%,transparent);background:color-mix(in srgb,var(--red) 7%,var(--surface2))}.kadr-summary-chip.danger .kscv{color:var(--red)}.kadr-summary-chip.accent{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 7%,var(--surface2))}.kadr-summary-chip.accent .kscv{color:var(--accent)}.kadr-summary-chip.muted .kscv{color:var(--text3)}@media (max-width:640px){.kadr-summary-strip{padding:10px 16px 0}}.grid-wrap{position:relative;overflow:auto;max-height:calc(100vh - 280px);border:1px solid var(--border);border-radius:8px;background:var(--surface)}.grid-table{border-collapse:separate;border-spacing:0;font-family:var(--mono);font-size:11px;white-space:nowrap;min-width:100%}.grid-table th,.grid-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:0;background:var(--surface)}.grid-table thead th{position:sticky;top:0;z-index:3;background:var(--surface2);color:var(--text);font-weight:600;text-align:center;height:28px;padding:0 6px;font-size:11px}.grid-table thead tr.row-day-letter th{top:28px;font-size:9px;font-weight:500;color:var(--text3);height:18px;text-transform:uppercase;letter-spacing:.4px}.grid-table thead th.col-num,.grid-table thead th.col-name,.grid-table thead th.col-kind{z-index:5}.grid-table th.col-day,.grid-table td.col-day{width:34px;min-width:34px;max-width:34px;text-align:center}.grid-table th.col-sum,.grid-table td.col-sum{width:60px;min-width:60px;text-align:center;background:var(--surface2);font-weight:600;color:var(--accent)}.grid-table th.col-num,.grid-table td.col-num{width:38px;min-width:38px;text-align:center;color:var(--text3);font-size:10px}.grid-table th.col-name,.grid-table td.col-name{width:200px;min-width:200px;max-width:200px;padding:0 10px;text-align:left;font-family:var(--font);font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis}.grid-table th.col-kind,.grid-table td.col-kind{width:90px;min-width:90px;padding:0 8px;text-align:left;font-family:var(--font);font-size:10px;color:var(--text2);font-weight:500;text-transform:uppercase;letter-spacing:.3px}.grid-table th.col-num,.grid-table td.col-num{position:sticky;left:0;z-index:2;background:var(--surface2)}.grid-table th.col-name,.grid-table td.col-name{position:sticky;left:38px;z-index:2;background:var(--surface)}.grid-table th.col-kind,.grid-table td.col-kind{position:sticky;left:238px;z-index:2;background:var(--surface)}.grid-table thead th.col-num,.grid-table thead th.col-name,.grid-table thead th.col-kind{z-index:6;background:var(--surface2)}.grid-table tr.row-emp-1 td.col-name,.grid-table tr.row-emp-1 td.col-num,.grid-table tr.row-emp-1 td.col-kind,.grid-table tr.row-emp-1 td.col-day,.grid-table tr.row-emp-1 td.col-sum{border-top:2px solid var(--border2)}.grid-table tr.row-emp-4 td{border-bottom:1px dashed var(--border2)}.grid-table tbody tr:hover td:not(.col-day):not(.col-sum){background:var(--row-hover)}.grid-table tbody tr:hover td.col-name{background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.grid-cell{width:100%;height:24px;padding:0 4px;border:1px solid transparent;background:transparent;color:var(--text);font-family:var(--mono);font-size:11px;text-align:center;outline:none;border-radius:0;box-sizing:border-box}.grid-cell:hover{background:var(--surface3)}.grid-cell:focus{background:var(--surface3);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.grid-cell:disabled{color:var(--text3);cursor:not-allowed;background:transparent}.grid-cell::placeholder{color:transparent}td.col-day.cell-weekend{background:var(--surface3)}td.col-day.cell-today{box-shadow:inset 0 0 0 1px var(--accent)}td.col-day.cell-dirty{background:color-mix(in srgb,#F2994A 18%,var(--surface))!important}td.col-day.cell-dirty .grid-cell{color:#f2994a;font-weight:600}td.col-day.cell-error{background:color-mix(in srgb,var(--red) 22%,var(--surface))!important}td.col-day.cell-error .grid-cell{color:var(--red);font-weight:600}.grid-cell.is-absence{font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:10px}.grid-cell.abs-go{background:color-mix(in srgb,#27AE60 18%,transparent);color:#27ae60}.grid-cell.abs-bo{background:color-mix(in srgb,var(--red) 18%,transparent);color:var(--red)}.grid-cell.abs-sp{background:color-mix(in srgb,#2D9CDB 18%,transparent);color:#2d9cdb}.grid-cell.abs-np{background:color-mix(in srgb,#6B7280 28%,transparent);color:var(--text3)}.grid-cell.abs-sl{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.grid-cell.abs-pr{background:color-mix(in srgb,#9B51E0 18%,transparent);color:#9b51e0}.grid-cell.is-field-domestic{background:color-mix(in srgb,#F2C94C 22%,transparent);color:#b07b00;font-weight:600}.grid-cell.is-field-foreign{background:color-mix(in srgb,#2F80ED 22%,transparent);color:#1b5bb7;font-weight:600}.grid-field-wrap{position:relative;display:block;width:100%;height:100%}.grid-cell.grid-cell-field{padding-right:18px}.fsub-btn{position:absolute;top:50%;right:1px;transform:translateY(-50%);width:16px;height:16px;padding:0;line-height:14px;font-size:9px;font-weight:800;text-align:center;border-radius:3px;border:1px solid transparent;cursor:pointer;user-select:none;font-family:inherit;transition:transform .08s,background .15s}.fsub-btn:hover{transform:translateY(-50%) scale(1.12)}.fsub-btn:active{transform:translateY(-50%) scale(.95)}.fsub-btn.is-domestic{background:#b07b00;color:#fff;border-color:#8a5f00}.fsub-btn.is-foreign{background:#1b5bb7;color:#fff;border-color:#154890}.fsub-btn.is-hidden{display:none}.fsub-btn:disabled{opacity:.55;cursor:not-allowed}.grid-cell.is-twomach{background:color-mix(in srgb,#F2994A 22%,transparent);color:#c26b14;font-weight:700}.grid-table tr.row-section td{position:sticky;left:0;z-index:4;background:var(--surface3);color:var(--accent);font-weight:700;font-family:var(--font);font-size:12px;letter-spacing:.5px;text-transform:uppercase;padding:8px 14px;border-top:2px solid var(--accent);border-bottom:2px solid var(--border2)}.grid-table tr.row-totals td{position:sticky;bottom:0;z-index:3;background:var(--surface2);font-weight:700;color:var(--text);border-top:2px solid var(--accent)}.grid-table tr.row-totals td.col-sum{color:var(--accent)}.grid-table tr.row-totals td.col-name{text-transform:uppercase;letter-spacing:.5px;font-size:11px;color:var(--accent)}.grid-legend{display:inline-flex;gap:4px;align-items:center;margin-left:6px}.grid-pill{padding:2px 7px;border-radius:4px;font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;background:var(--surface3);color:var(--text2);border:1px solid var(--border2)}.grid-pill.abs-go{background:color-mix(in srgb,#27AE60 18%,transparent);color:#27ae60;border-color:color-mix(in srgb,#27AE60 30%,transparent)}.grid-pill.abs-bo{background:color-mix(in srgb,var(--red) 18%,transparent);color:var(--red);border-color:color-mix(in srgb,var(--red) 30%,transparent)}.grid-pill.abs-sp{background:color-mix(in srgb,#2D9CDB 18%,transparent);color:#2d9cdb;border-color:color-mix(in srgb,#2D9CDB 30%,transparent)}.grid-pill.abs-np{background:color-mix(in srgb,#6B7280 28%,transparent);color:var(--text3)}.grid-pill.abs-sl{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.grid-pill.abs-pr{background:color-mix(in srgb,#9B51E0 18%,transparent);color:#9b51e0;border-color:color-mix(in srgb,#9B51E0 30%,transparent)}.grid-pill.pill-fdom{background:color-mix(in srgb,#F2C94C 22%,transparent);color:#b07b00;border-color:color-mix(in srgb,#F2C94C 35%,transparent)}.grid-pill.pill-ffor{background:color-mix(in srgb,#2F80ED 22%,transparent);color:#1b5bb7;border-color:color-mix(in srgb,#2F80ED 35%,transparent)}.grid-pill.pill-tm{background:color-mix(in srgb,#F2994A 22%,transparent);color:#c26b14;border-color:color-mix(in srgb,#F2994A 35%,transparent)}.reports-tabs{display:flex;gap:6px;padding:14px 22px 0;flex-wrap:wrap;border-bottom:1px solid var(--border2);margin-bottom:14px}.report-tab{background:transparent;color:var(--text2);border:1px solid var(--border2);border-bottom:0;border-radius:8px 8px 0 0;padding:7px 14px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.report-tab:hover{background:var(--surface2);color:var(--text)}.report-tab.active{background:var(--surface);color:var(--accent);border-color:var(--border2);box-shadow:0 1px 0 0 var(--surface);position:relative;top:1px}.report-panel{display:none}.report-panel.active{display:block}.kadr-pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.4px;border:1px solid transparent}.kadr-pill.warn{background:color-mix(in srgb,var(--red) 18%,transparent);color:var(--red);border-color:color-mix(in srgb,var(--red) 30%,transparent)}.kadr-pill.muted{background:var(--surface2);color:var(--text3);border-color:var(--border2)}.kadr-pill.ok{background:color-mix(in srgb,#27AE60 18%,transparent);color:#27ae60;border-color:color-mix(in srgb,#27AE60 30%,transparent)}.kadr-pill.accent{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.kadrovska-table tfoot tr.row-totals td{font-weight:700;background:var(--surface2);border-top:2px solid var(--border2);padding:10px 12px}@media (max-width:640px){.grid-wrap{max-height:calc(100vh - 220px)}.grid-table th.col-name,.grid-table td.col-name{width:140px;min-width:140px;max-width:140px;font-size:11px}.grid-table th.col-name,.grid-table td.col-name{left:38px}.grid-table th.col-kind,.grid-table td.col-kind{left:178px;width:78px;min-width:78px;font-size:9px}.grid-legend{display:none}}.user-bar{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text3)}.user-bar .user-email{font-family:var(--mono);color:var(--text2);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-bar .btn-logout{padding:3px 8px;font-size:9px;border-radius:4px;cursor:pointer;border:1px solid var(--border2);background:var(--surface3);color:var(--text3);font-family:var(--font)}.user-bar .btn-logout:hover{background:var(--surface4);color:var(--text)}.offline-badge{font-size:9px;padding:2px 8px;border-radius:10px;font-family:var(--mono);background:var(--yellow-bg);color:var(--yellow);border:1px solid var(--yellow);letter-spacing:.3px}.online-badge{font-size:9px;padding:2px 8px;border-radius:10px;font-family:var(--mono);background:var(--green-bg);color:var(--green-light);border:1px solid color-mix(in srgb,var(--green-light) 45%,transparent);letter-spacing:.3px}.print-only{display:none}.print-header{padding:12px 16px;border-bottom:1px solid #ccc}.print-header h1{font-size:20px;font-weight:700;color:#000;margin-bottom:4px}.print-header .print-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;color:#333}@media print{@page{size:A4 portrait;margin:10mm}html,body,*,*:before,*:after{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}*,*:before,*:after{transition:none!important;animation:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;text-shadow:none!important;filter:none!important}html,body{background:#fff!important;color:#000!important}body{font-size:10px!important}.print-only{display:block!important}.print-header h1{color:#000!important}.header-top,.project-bar,.wp-tabs,.view-tabs,.filter-bar,.filter-toggle-btn,.auth-overlay,.cal-overlay,.toast,.reminder-zone,.legend,.add-phase-bar,.td-actions,.m-card-actions,#printOverlay,.user-bar,.online-badge,.offline-badge,.role-indicator,.mobile-cards,.status-overlay,.theme-toggle,.gantt-machine-filter .filter-toggle-btn{display:none!important}body:not(.print-plan) #view-plan{display:none!important}body:not(.print-gantt) #view-gantt{display:none!important}body:not(.print-total) #view-total{display:none!important}body.print-plan #view-plan,body.print-gantt #view-gantt,body.print-total #view-total{display:block!important}thead tr th,thead tr th:first-child,thead tr th:nth-child(2),tbody tr .td-num,tbody tr .td-name{position:static!important;background:#fff!important;color:#000!important;box-shadow:none!important}.table-wrap,.gantt-wrap{overflow:visible!important;border:none!important;box-shadow:none!important;border-radius:0!important}table{width:100%!important;border-collapse:collapse!important;background:#fff!important;color:#000!important;font-size:9px!important}thead tr th{background:#f0f0f0!important;color:#000!important;border:1px solid #888!important;padding:4px 5px!important}thead tr.grp-hdr th{background:#e4e4e4!important;color:#333!important}.th-plan,.th-check,.th-loc,.th-risk{background:#e4e4e4!important;color:#000!important}tbody td{background:#fff!important;color:#000!important;border:1px solid #bbb!important;padding:3px 5px!important;vertical-align:top!important}tbody tr{page-break-inside:avoid}tbody tr:nth-child(2n) td{background:#fafafa!important}tr.row-risk-high,tr.row-risk-med,tr.row-risk-low,tr.row-risk-none{border-left:none!important}tr.row-finished td{color:#333!important}input[type=text],input[type=number],input[type=email],input[type=password],input[type=range],textarea,select,button{all:revert}.phase-name-input,.date-input-wrap input,textarea.note-area,td input,td select{background:transparent!important;border:none!important;color:#000!important;box-shadow:none!important;padding:0!important;font-size:9px!important}td input[type=range],.date-btn{display:none!important}select{background:transparent!important;border:none!important;color:#000!important;-webkit-appearance:none;appearance:none;padding:0!important}select.ck-da:after{content:"DA"}.badge-ready{border:1px solid #666!important;background:#fff!important;color:#000!important}.pct-bar{background:#eee!important;height:4px!important}.pct-bar-fill{background:#666!important}.gantt-table{font-size:8px!important}.gantt-table th,.gantt-table td{border:1px solid #bbb!important;background:#fff!important;color:#000!important}.gantt-month-hdr{background:#e4e4e4!important;color:#000!important}.gantt-day-hdr{background:#f0f0f0!important;color:#000!important}.gantt-day-hdr.today-col,.gantt-cell.today-col{background:#ddecff!important;color:#000!important}.gantt-day-hdr.wknd,.gantt-cell.wknd{background:#f5f5f5!important;color:#555!important}.gantt-cell.bar-phase,.gantt-cell.bar-phase-start,.gantt-cell.bar-phase-end{border-color:#00000040!important}.gantt-cell.bar-elec.bar-phase,.gantt-cell.bar-elec.bar-phase-start,.gantt-cell.bar-elec.bar-phase-end{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.55) 0 2px,transparent 2px 6px)!important}.gantt-cell.bar-mech.bar-phase,.gantt-cell.bar-mech.bar-phase-start,.gantt-cell.bar-mech.bar-phase-end{background-image:linear-gradient(#0000001f,#0000001f)!important}.gantt-row{page-break-inside:avoid}.gantt-label-sub,.gantt-label-status,.gantt-label-name{color:#000!important}.gantt-machine-hdr td{background:#e4e4e4!important;color:#000!important;border-top:2px solid #888!important}.reminder-dot{display:none!important}}@media print{@page print-landscape{size:A4 landscape;margin:10mm}}@media print{body.print-gantt,body.print-total{page:print-landscape}}.btn-print{background:#1a2d4a;border-color:var(--blue-light);color:#79c0ff}.btn-print:hover{background:#142e50}.btn-del-project{background:var(--red-bg)!important;border-color:#5a1e1e!important;color:#ff9a9a!important}.btn-del-project:hover{background:#401010!important;color:#ffbfbf!important}.print-overlay{display:none;position:fixed;inset:0;z-index:2500;background:#000000b3;backdrop-filter:blur(4px);align-items:center;justify-content:center}.print-overlay.open{display:flex}.print-box{background:var(--surface);border:1px solid var(--border3);border-radius:var(--radius-lg);width:360px;padding:18px;box-shadow:var(--shadow-lg)}.print-box h3{font-size:14px;color:var(--text);margin-bottom:10px;font-weight:600}.print-box .print-opt{display:flex;flex-direction:column;gap:8px;margin:12px 0}.print-box button.print-choice{background:var(--surface3);border:1px solid var(--border2);color:var(--text);padding:10px 14px;border-radius:var(--radius);cursor:pointer;font-family:var(--font);font-size:12px;text-align:left;transition:all .15s}.print-box button.print-choice:hover{background:var(--surface4);border-color:var(--accent);color:var(--text)}.print-box .print-close{width:100%;background:transparent;border:1px solid var(--border2);color:var(--text3);padding:8px;border-radius:var(--radius);cursor:pointer;font-family:var(--font);font-size:11px;margin-top:6px}.print-box .print-close:hover{color:var(--text)}.loc-list{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto;padding:4px 0}.loc-list .loc-row{display:flex;align-items:center;gap:4px;background:var(--surface3);border:1px solid var(--border2);border-radius:var(--radius);padding:4px 6px}.loc-list .loc-row input{flex:1;background:transparent;border:none;color:var(--text);font-size:11px;outline:none}.loc-list .loc-row .loc-del{background:transparent;border:1px solid transparent;color:var(--text3);border-radius:4px;cursor:pointer;padding:2px 6px;font-size:11px}.loc-list .loc-row .loc-del:hover{color:var(--red);border-color:var(--red)}.loc-add-row{display:flex;gap:4px;margin-top:6px}.loc-add-row input{flex:1;background:var(--surface3);border:1px solid var(--border2);color:var(--text);border-radius:var(--radius);padding:5px 8px;font-size:11px;outline:none}.loc-add-row button{background:var(--accent-dim);border:1px solid var(--accent);color:var(--accent);border-radius:var(--radius);padding:5px 10px;font-size:11px;cursor:pointer}.loc-chip{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-family:var(--mono);padding:2px 6px;border-radius:10px;border:1px solid;letter-spacing:.2px}.loc-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.gantt-label-loc-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px;vertical-align:middle}td.td-loc .loc-select{border-left:3px solid transparent}.loc-swatch{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px;vertical-align:middle}.gantt-day-hdr{cursor:pointer;user-select:none;transition:background .1s}.gantt-day-hdr:hover{background:#4da3ff14}.gantt-day-hdr.col-selected{background:#ffc80038!important;color:#ffd966!important;font-weight:700;outline:1px solid rgba(255,200,0,.5)}.gantt-cell.col-selected{background:#ffc80014}.gantt-cell.col-selected.bar-phase,.gantt-cell.col-selected.bar-phase-start,.gantt-cell.col-selected.bar-phase-end{box-shadow:inset 0 0 0 1px #ffc80099}.gantt-bar-wrap{position:relative;height:100%}.gantt-cell.bar-phase,.gantt-cell.bar-phase-start,.gantt-cell.bar-phase-end{position:relative}.gantt-cell.bar-phase-start,.gantt-cell.bar-phase-end,.gantt-cell.bar-phase{cursor:grab}.gantt-cell.bar-phase:active,.gantt-cell.bar-phase-start:active,.gantt-cell.bar-phase-end:active{cursor:grabbing}.gantt-drag-handle-l,.gantt-drag-handle-r{position:absolute;top:0;bottom:0;width:5px;cursor:ew-resize;background:#ffffff59;z-index:3}.gantt-drag-handle-l{left:0}.gantt-drag-handle-r{right:0}.gantt-cell.bar-phase-start .gantt-drag-handle-l,.gantt-cell.bar-phase-end .gantt-drag-handle-r{display:block}.gantt-drag-tooltip{position:fixed;z-index:3000;background:var(--surface);border:1px solid var(--accent);color:var(--accent);padding:4px 8px;border-radius:var(--radius);font-family:var(--mono);font-size:11px;pointer-events:none;box-shadow:var(--shadow-md)}.gantt-cell.bar-dragging{opacity:.7;outline:2px solid var(--accent)}.model-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;font-size:9px;border:1px solid var(--border3);background:var(--surface3);color:var(--text2);border-radius:10px;cursor:pointer;font-family:var(--mono);letter-spacing:.3px;transition:all .15s}.model-btn:hover{background:var(--surface4);border-color:var(--accent);color:var(--accent)}.model-btn.has-model{border-color:#1e4a26;background:#0e2216;color:var(--green-light)}.model-panel{padding:10px 12px;border-top:1px dashed var(--border2);background:#0d1218}.model-panel h4{font-size:11px;color:var(--accent);margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.model-panel .model-grid{display:grid;grid-template-columns:160px 1fr;gap:12px;align-items:start}.model-panel .model-thumb{width:100%;aspect-ratio:4/3;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;overflow:hidden}.model-panel .model-thumb img{max-width:100%;max-height:100%;object-fit:contain}.model-panel .model-empty{color:var(--text3);font-size:11px;text-align:center;padding:10px}.model-panel input[type=text],.model-panel textarea{font-size:11px;padding:5px 8px;margin-bottom:4px}.model-panel textarea{min-height:40px}.model-panel .model-actions{display:flex;gap:6px;margin-top:4px}.model-panel .model-link{font-size:10px;color:var(--accent);text-decoration:underline}@media (max-width: 767px){.model-panel .model-grid{grid-template-columns:1fr}.model-panel .model-thumb{aspect-ratio:16/9}}.export-box .export-opt{display:flex;flex-direction:column;gap:8px;margin:12px 0}.total-gantt-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;padding:10px 12px;margin-bottom:10px;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-lg)}.total-gantt-filters .filter-group{display:flex;flex-direction:column;gap:3px;min-width:120px}.total-gantt-filters label{font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.total-gantt-filters select,.total-gantt-filters input{background:var(--surface3);border:1px solid var(--border2);color:var(--text);border-radius:var(--radius);padding:5px 8px;font-size:11px;font-family:var(--font);outline:none;height:30px}.total-gantt-filters select:focus,.total-gantt-filters input:focus{border-color:var(--accent)}.total-gantt-filters .btn-reset-tg{background:var(--surface3);border:1px solid var(--border2);color:var(--text3);border-radius:var(--radius);padding:5px 12px;font-size:10px;cursor:pointer;height:30px;text-transform:uppercase;letter-spacing:.3px;font-weight:600}.total-gantt-filters .btn-reset-tg:hover{background:var(--surface4);color:var(--text)}@media (max-width: 767px){.gantt-drag-handle-l,.gantt-drag-handle-r{width:8px;background:#ffffff80}}.plan-main{padding:18px 24px 32px;min-height:calc(100vh - 64px);background:var(--bg)}.plan-toolbar{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.plan-body{display:flex;flex-direction:column;gap:14px}.plan-toolbar .project-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.project-select-wrap{display:flex;flex-direction:column;gap:3px}.project-select-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.7px;font-weight:600}.project-bar-actions{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}.project-bar-meta{font-size:11px;color:var(--text3);margin-left:8px;font-family:var(--mono)}.project-bar-rok:not(:empty){color:var(--text2)}.wp-tabs-wrap{display:flex;align-items:stretch;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:0 8px}.wp-tabs-wrap .wp-tabs{flex:1;border-bottom:none;background:transparent;padding:0}.wp-tabs-wrap .wp-tab{background:transparent;border:none;cursor:pointer;font-family:var(--font)}.wp-tabs-actions{display:flex;align-items:center;gap:6px;padding:6px 0}.plan-toolbar .kadrovska-tabs{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:4px;gap:4px}.plan-toolbar .kadrovska-tab.view-tab{padding:8px 16px;border-radius:6px;border-bottom:none}.plan-toolbar .kadrovska-tab.view-tab.active{background:var(--accent-dim, var(--surface2));color:var(--accent);border-bottom:none}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:11px;font-weight:600;cursor:pointer;border-radius:6px;border:1px solid var(--border2);background:var(--surface2);color:var(--text);font-family:var(--font);transition:all .15s;text-transform:uppercase;letter-spacing:.4px}.btn:hover{background:var(--surface3);border-color:var(--border3)}.btn[disabled]{opacity:.4;cursor:not-allowed}.btn-ghost.danger{color:var(--red);border-color:color-mix(in srgb,var(--red) 35%,var(--border2))}.btn-ghost.danger:hover:not([disabled]){background:color-mix(in srgb,var(--red) 10%,var(--surface2));border-color:var(--red)}.modal-overlay{position:fixed;inset:0;z-index:2500;background:#0009;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px}[data-theme=light] .modal-overlay{background:#11182773}.modal-overlay:not(.open){display:none}.modal-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:560px;box-shadow:var(--shadow-lg);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3{font-size:14px;font-weight:700;color:var(--text);margin:0;letter-spacing:-.01em}.modal-close{background:transparent;border:none;color:var(--text3);cursor:pointer;font-size:18px;line-height:1;padding:4px 8px;border-radius:4px}.modal-close:hover{background:var(--surface2);color:var(--text)}.modal-body{padding:18px 20px 20px;overflow-y:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.form-grid>label{display:flex;flex-direction:column;gap:4px;font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.form-grid input[type=text],.form-grid input[type=date],.form-grid select{background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:6px;padding:8px 10px;font-size:12px;font-family:var(--font);outline:none;transition:border-color .15s;text-transform:none;letter-spacing:0}.form-grid input:focus,.form-grid select:focus{border-color:var(--accent)}.form-checkbox-row{flex-direction:row!important;align-items:center;gap:8px!important}.form-checkbox-row input{width:auto}.form-checkbox-row span{text-transform:none;font-weight:500;color:var(--text2);letter-spacing:0}.form-hint{font-size:11px;color:var(--text3);margin-top:8px;line-height:1.5}.form-section-title{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.7px;font-weight:600;margin:14px 0 8px}.form-sep{border:none;border-top:1px solid var(--border);margin:14px 0 0}.form-actions{display:flex;gap:8px;margin-top:12px}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:18px 20px}.form-card h3{font-size:13px;font-weight:700;color:var(--text);margin:0 0 8px;letter-spacing:-.01em}.loc-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto;padding:4px 0}.loc-row{display:flex;align-items:center;gap:6px}.loc-row input{flex:1;background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:6px;padding:6px 9px;font-size:12px;font-family:var(--font);outline:none}.loc-row input:focus{border-color:var(--accent)}.loc-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:1px solid var(--border2)}.loc-del{background:transparent;border:1px solid var(--border2);color:var(--text3);cursor:pointer;padding:5px 9px;border-radius:5px;font-size:11px}.loc-del:hover{color:var(--red);border-color:var(--red)}.loc-add-row{display:flex;gap:6px;margin-top:10px}.loc-add-row input{flex:1;background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:6px;padding:7px 10px;font-size:12px;font-family:var(--font);outline:none}.loc-add-row input:focus{border-color:var(--accent)}body.module-plan>.header,body.module-plan>.project-bar,body.module-plan>.project-meta-strip,body.module-plan>.wp-tabs,body.module-plan>.print-only,body.module-plan>.main,body.module-plan>.view-section,body.module-plan>.add-phase-bar,body.module-plan>.legend,body.module-plan>.reminder-zone,body.module-plan>.filter-bar{display:none!important}@media (max-width: 767px){.plan-main{padding:14px 14px 24px}.form-grid{grid-template-columns:1fr}.project-bar-actions{width:100%}.project-bar-actions .btn{flex:1;justify-content:center}}.plan-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface);margin-top:10px}.plan-table{width:100%;border-collapse:collapse;font-size:12px;min-width:1400px}.plan-table thead th{background:var(--surface2);color:var(--text2);text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;position:sticky;top:0;z-index:2}.plan-table tbody td{padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text)}.plan-table tbody tr:hover td{background:var(--surface2)}.plan-table .td-num{text-align:center;color:var(--text3);font-family:var(--mono);width:38px}.plan-table .td-name{min-width:320px;display:flex;flex-direction:column;gap:6px;align-items:stretch}.plan-table .td-name .phase-name-row{display:flex;gap:6px;align-items:center}.plan-table .td-name .phase-meta-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.plan-table .td-name .phase-meta-row .row-btn{margin-left:0}.plan-table .td-name .phase-name-input{flex:1;background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:6px;padding:6px 9px;font:inherit;font-size:13px;font-weight:500;outline:none}.plan-table .td-name .phase-name-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.plan-table .td-loc select.loc-select{background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:6px;padding:5px 6px;font:inherit;outline:none;min-width:100px}.plan-table .td-date input[type=date]{background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:6px;padding:5px 6px;font:inherit;outline:none;min-width:105px}.plan-table .td-date.date-error input[type=date]{border-color:var(--red);background:var(--red-bg, rgba(239,68,68,.08))}.plan-table .td-dur{text-align:center;font-family:var(--mono);color:var(--text2);white-space:nowrap}.plan-table .td-dur.dur-error{color:var(--red);font-weight:600}.plan-table .td-eng select,.plan-table .td-person select,.plan-table .td-status select{background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:6px;padding:5px 6px;font:inherit;outline:none;min-width:140px}.plan-table .td-status select{min-width:110px}.plan-table .td-pct{min-width:140px}.plan-table .td-pct .pct-bar-wrap{display:flex;align-items:center;gap:6px}.plan-table .td-pct .pct-bar{flex:1;background:var(--surface3);border-radius:8px;overflow:hidden;height:8px}.plan-table .td-pct .pct-bar-fill{height:100%;transition:width .2s}.plan-table .td-pct .pct-bar-fill.pct-fill-normal{background:var(--accent)}.plan-table .td-pct .pct-bar-fill.pct-fill-done{background:var(--green)}.plan-table .td-pct .pct-bar-fill.pct-fill-hold{background:var(--orange)}.plan-table .td-pct .pct-num{font-family:var(--mono);font-size:10px;color:var(--text2);min-width:30px;text-align:right}.plan-table .td-pct input[type=range]{width:100%;margin-top:3px;accent-color:var(--accent)}.plan-table .td-check{text-align:center;padding:4px 5px}.plan-table .td-blocker textarea,.plan-table .td-note textarea{width:100%;min-width:160px;background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:6px;padding:5px 7px;font:inherit;outline:none;resize:vertical}.plan-table .td-actions{white-space:nowrap;text-align:right}.plan-table .empty-row{text-align:center;color:var(--text3);padding:24px}.plan-table th.th-check{writing-mode:vertical-rl;text-orientation:mixed;min-width:32px;padding:8px 4px;font-size:10px}.plan-table .phase-type-chip{background:var(--surface2);border:1px solid var(--border2);color:var(--text2);border-radius:6px;padding:4px 7px;cursor:pointer;font:inherit;font-size:11px;display:inline-flex;gap:4px;align-items:center}.plan-table .phase-type-chip.pt-mech{color:var(--accent);border-color:var(--accent-dim, rgba(99,102,241,.4))}.plan-table .phase-type-chip.pt-elec{color:var(--orange);border-color:var(--orange-dim, rgba(245,158,11,.4))}.plan-table .phase-type-chip:hover{background:var(--surface3)}.plan-table .row-btn{background:transparent;border:1px solid var(--border2);color:var(--text2);border-radius:6px;padding:4px 8px;cursor:pointer;font-size:11px;margin-left:3px}.plan-table .row-btn:hover{background:var(--surface3);color:var(--text)}.plan-table .row-btn.btn-del:hover{border-color:var(--red);color:var(--red)}.plan-body .filter-bar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;padding:10px 12px;border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-bottom:8px}.plan-body .fb-field{display:flex;flex-direction:column;gap:3px;min-width:130px}.plan-body .fb-field>span{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.7px;font-weight:600}.plan-body .fb-field input,.plan-body .fb-field select{background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:6px;padding:6px 8px;font:inherit;outline:none}.plan-body .fb-field input:focus,.plan-body .fb-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.plan-body .fb-actions{display:flex;gap:8px;align-items:center;margin-left:auto}.plan-body .fb-count{font-family:var(--mono);color:var(--text3);font-size:11px}.plan-body .add-phase-bar{display:flex;gap:8px;padding:8px 0}.plan-body .add-phase-bar input{flex:1;background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:8px;padding:9px 12px;font:inherit;outline:none}.plan-body .add-phase-bar input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.plan-body .reminder-zone{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.plan-body .reminder-zone:empty{display:none}.plan-body .gantt-toolbar{display:flex;gap:14px;align-items:center;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);margin-bottom:8px;flex-wrap:wrap}.plan-body .gantt-toggle{display:inline-flex;gap:6px;align-items:center;cursor:pointer;font-size:12px;color:var(--text2)}.plan-body .gantt-toggle input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.plan-body .gantt-hint{font-size:10.5px;color:var(--text3);margin-left:auto}.plan-body .gantt-empty{padding:24px;text-align:center;color:var(--text3);font-size:12px}#ganttDragTip.gantt-drag-tip{position:fixed;z-index:9999;pointer-events:none;background:var(--surface);border:1px solid var(--accent);color:var(--text);border-radius:6px;padding:6px 10px;font-size:11.5px;font-family:var(--mono);box-shadow:0 4px 12px #0000004d;display:none}.plan-body .tg-filter-bar{margin-bottom:8px}.plan-body .tg-wp-filter{display:flex;flex-wrap:wrap;gap:6px 10px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);margin-bottom:8px;align-items:center}.plan-body .tg-wp-label{font-size:9px;color:var(--text3);font-weight:600;text-transform:uppercase;letter-spacing:.7px;margin-right:4px}.plan-body .tg-wp-empty{font-size:11px;color:var(--text3)}.plan-body .tg-wp-chip{display:inline-flex;gap:4px;align-items:center;font-size:11px;color:var(--text2);background:var(--surface2);border:1px solid var(--border2);border-radius:6px;padding:3px 8px;cursor:pointer}.plan-body .tg-wp-chip:hover{border-color:var(--accent);color:var(--text)}.plan-body .tg-wp-chip input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.plan-body .tg-project-hdr{background:#0c1628;color:var(--blue-bar, #6ea0ff);font-weight:700;font-size:11px;padding:5px 10px;border-top:2px solid var(--blue-light, #4b79c8)}.plan-body .tg-wp-hdr{color:#aac8ff;font-weight:600;font-size:11px;padding:4px 10px 4px 22px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.plan-body .tg-wp-hdr .tg-wp-rn{font-size:9px;opacity:.7}.plan-body .tg-phase-label{background:var(--surface2);border-right:2px solid var(--border2);padding-left:24px}.btn-export-header{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text2);cursor:pointer;font-size:12px;font-weight:500;transition:all .15s}.btn-export-header:hover{color:var(--accent, #6ea0ff);border-color:var(--accent, #6ea0ff);background:#6ea0ff14}@media (max-width: 600px){.btn-export-header .btn-export-lbl{display:none}.btn-export-header{padding:6px 10px}}.modal-panel .export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 16px}.modal-panel .export-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;background:var(--surface2);border:1px solid var(--border2);border-radius:10px;color:var(--text);text-align:left;cursor:pointer;transition:all .15s}.modal-panel .export-tile:hover{border-color:var(--accent, #6ea0ff);background:#6ea0ff0f;transform:translateY(-1px)}.modal-panel .export-tile .exp-ic{font-size:24px;line-height:1}.modal-panel .export-tile .exp-lbl{font-weight:600;font-size:13px}.modal-panel .export-tile .exp-sub{font-size:10.5px;color:var(--text3);line-height:1.3}@media (max-width: 480px){.modal-panel .export-grid{grid-template-columns:1fr}}.modal-panel .export-import-row{margin-top:6px;padding:10px;border:1px dashed var(--border2);border-radius:8px;background:var(--surface2)}.modal-panel .export-import-label{display:flex;flex-direction:column;gap:6px;font-size:11.5px;font-weight:600;color:var(--text2)}.modal-panel .export-import-label input[type=file]{font-size:11px;color:var(--text3)}.plan-body .reminder-zone .reminder-zone-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;margin-bottom:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.plan-body .reminder-zone .rz-title{font-size:11px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.6px}.plan-body .reminder-zone .rz-send-btn{padding:5px 12px;font-size:11px}.plan-body .reminder-zone .reminder-zone-body{display:flex;flex-wrap:wrap;gap:8px}.modal-panel.modal-panel-wide{max-width:720px;width:95vw}.modal-panel .reminder-list{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow:auto;padding:4px 2px}.modal-panel .reminder-row{padding:8px 10px;border-radius:6px;border-left:3px solid;background:var(--surface2)}.modal-panel .reminder-row.rr-crit{border-left-color:#ff6b6b;background:#ff6b6b0f}.modal-panel .reminder-row.rr-warn{border-left-color:#ffd96a;background:#ffd96a0d}.modal-panel .reminder-row .rr-head{display:flex;align-items:center;gap:8px;font-size:12px}.modal-panel .reminder-row .rr-icon{font-size:12px}.modal-panel .reminder-row .rr-title{font-weight:600;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-panel .reminder-row .rr-days{font-size:10px;color:var(--text3);white-space:nowrap}.modal-panel .reminder-row .rr-meta{margin-top:3px;font-size:10.5px;color:var(--text2)}.modal-panel .reminder-row .rr-reasons{margin-top:3px;font-size:10.5px;color:var(--text3);font-style:italic}.modal-panel .model-thumb{width:100%;aspect-ratio:4/3;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:10px}.modal-panel .model-thumb img{max-width:100%;max-height:100%;object-fit:contain}.modal-panel .model-empty{width:100%;aspect-ratio:4/3;max-height:160px;background:var(--surface2);border:1px dashed var(--border2);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:12px;margin-bottom:10px}@media (max-width: 767px){.modal-panel .model-thumb,.modal-panel .model-empty{aspect-ratio:16/9}}.row-btn.btn-3d{background:var(--surface2);border:1px solid var(--border2);color:var(--text2)}.row-btn.btn-3d:hover{border-color:var(--accent);color:var(--accent)}.row-btn.btn-3d.has-model{background:#6ea0ff2e;border-color:#4b79c8;color:#aac8ff;box-shadow:0 0 0 1px #6ea0ff40 inset}.plan-status-panel{position:fixed;right:14px;bottom:14px;z-index:1500;display:inline-flex;align-items:center;gap:10px;padding:6px 12px;background:var(--surface);border:1px solid var(--border);border-radius:999px;font-size:11.5px;font-family:var(--mono, monospace);color:var(--text2);box-shadow:0 4px 14px #00000040;user-select:none;pointer-events:auto}.plan-status-panel .psp-conn{display:inline-flex;align-items:center;gap:6px}.plan-status-panel .psp-dot{width:8px;height:8px;border-radius:50%;background:#888;box-shadow:0 0 6px #ffffff1a}.plan-status-panel .psp-conn.psp-on .psp-dot{background:#3ddc84;box-shadow:0 0 8px #3ddc848c}.plan-status-panel .psp-conn.psp-off .psp-dot{background:#ff6b6b;box-shadow:0 0 8px #ff6b6b8c}.plan-status-panel .psp-conn.psp-on .psp-conn-lbl{color:#3ddc84}.plan-status-panel .psp-conn.psp-off .psp-conn-lbl{color:#ff6b6b}.plan-status-panel .psp-sep{width:1px;height:14px;background:var(--border2, #333)}.plan-status-panel .psp-save{font-size:11px}.plan-status-panel .psp-save.psp-idle{color:var(--text3)}.plan-status-panel .psp-save.psp-busy{color:#ffd96a;animation:pspBlink 1.4s ease-in-out infinite}.plan-status-panel .psp-save.psp-done{color:#3ddc84}.plan-status-panel .psp-save.psp-err{color:#ff6b6b;font-weight:600}@keyframes pspBlink{0%,to{opacity:1}50%{opacity:.55}}@media (max-width: 480px){.plan-status-panel{right:8px;bottom:8px;padding:5px 9px;font-size:10.5px}}.plan-body .mobile-cards{display:none}.plan-body .m-empty{padding:18px;text-align:center;color:var(--text3);font-size:12px}@media (max-width: 767px){.plan-body .plan-table-wrap{display:none}.plan-body .mobile-cards{display:block}.plan-body .filter-bar{padding:8px;gap:6px}.plan-body .fb-field{min-width:120px;flex:1 1 45%}.plan-body .fb-actions{width:100%;justify-content:space-between}.plan-body .add-phase-bar{flex-direction:column}.plan-body .add-phase-bar input,.plan-body .add-phase-bar .btn{width:100%}}body.module-lokacije #module-lokacije{display:flex!important;flex:1;flex-direction:column}.loc-tabs.loc-tabs{margin-bottom:0}.loc-panel{padding:16px 24px 32px;flex:1}.loc-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.loc-muted{color:var(--text3);font-size:12px;line-height:1.5}.loc-warn{color:#ffb4a8;font-size:13px;margin:0 0 12px}.loc-hint{margin-top:16px;font-size:11px}.loc-subh{font-size:13px;font-weight:600;margin:16px 0 8px;color:var(--text2)}.loc-kpi-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.loc-firstrun{margin:10px 0 14px;padding:14px 16px;border:1px solid var(--accent);border-left-width:4px;border-radius:8px;background:color-mix(in srgb,var(--accent) 8%,var(--surface2))}.loc-firstrun-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px}.loc-firstrun-sub{font-size:12px;color:var(--text2);margin:0 0 8px}.loc-firstrun-steps{margin:0;padding-left:20px;font-size:12px;color:var(--text2);line-height:1.6}.loc-firstrun-steps code{font-family:var(--mono);font-size:11px;padding:1px 4px;background:var(--surface);border:1px solid var(--border2);border-radius:3px}.loc-current-state{padding:8px 10px;background:var(--surface2);border:1px solid var(--border2);border-radius:6px}.loc-current-title{font-size:11px;color:var(--text3);margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}.loc-chip-row{display:flex;flex-wrap:wrap;gap:6px}.loc-current-state .loc-chip{display:inline-block;padding:3px 8px;background:var(--surface);border:1px solid var(--border2);border-radius:10px;font-size:11px;color:var(--text2);font-family:var(--mono)}.loc-current-state .loc-chip strong{color:var(--text);font-weight:700}.loc-qty-cell{text-align:right;font-family:var(--mono);white-space:nowrap}.loc-scan-overlay{position:fixed;inset:0;z-index:9999;background:#000;color:#fff;display:flex;flex-direction:column;overflow:hidden}.loc-scan-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000}.loc-scan-stage[hidden],.loc-scan-form-wrap[hidden]{display:none!important}.loc-scan-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.loc-scan-reticle{position:absolute;top:50%;left:50%;width:min(78vw,360px);aspect-ratio:3/1;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.9);border-radius:10px;box-shadow:0 0 0 9999px #00000073;pointer-events:none}.loc-scan-topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:linear-gradient(rgba(0,0,0,.55),transparent);z-index:2}.loc-scan-title{flex:1;text-align:center;font-size:15px;font-weight:600;color:#fff}.loc-scan-btn{width:44px;height:44px;border:0;border-radius:22px;background:#ffffff26;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.loc-scan-btn:hover{background:#ffffff47}.loc-scan-hint{position:absolute;left:0;right:0;bottom:28px;text-align:center;color:#ffffffe6;font-size:13px;line-height:1.5;z-index:2}.loc-scan-manual{display:inline-block;margin-top:6px;padding:6px 12px;background:#ffffff2e;border-radius:14px;font-size:12px;cursor:pointer}.loc-scan-form-wrap{position:absolute;inset:0;background:var(--bg, #0c0f14);overflow-y:auto;-webkit-overflow-scrolling:touch}.loc-scan-form-inner{max-width:560px;margin:0 auto;padding:0 0 24px}.loc-scan-form-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--surface, #14181f);border-bottom:1px solid var(--border2, #262c36)}.loc-scan-form-head .loc-scan-title{color:var(--text, #f1f1f1)}.loc-scan-form-head .loc-scan-btn{background:var(--surface2, #1d242e);color:var(--text, #f1f1f1)}.loc-scan-form-body{padding:14px 16px;display:flex;flex-direction:column;gap:12px}.loc-scan-form-body input,.loc-scan-form-body select{font-size:16px;padding:10px 12px}.loc-scan-chips{padding:10px 12px;background:var(--surface2, #1d242e);border:1px solid var(--border2, #262c36);border-radius:6px}.loc-scan-parsed{padding:8px 12px;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:6px;font-size:12px;line-height:1.5}.loc-scan-parsed-raw{font-family:var(--mono);color:var(--text)}.loc-scan-parsed-badge{display:inline-block;padding:1px 6px;margin-right:4px;background:color-mix(in srgb,var(--accent) 25%,transparent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:3px;font-size:10px;font-weight:600;letter-spacing:.5px;color:var(--accent);text-transform:uppercase}.loc-scan-diag{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.loc-scan-btn-reload{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;background:color-mix(in srgb,var(--warn, #f0a93a) 20%,transparent);color:var(--warn, #f0a93a);border:1px solid color-mix(in srgb,var(--warn, #f0a93a) 50%,transparent);border-radius:4px;cursor:pointer}.loc-scan-btn-reload:hover{filter:brightness(1.15)}.loc-scan-btn-reload:active{transform:translateY(1px)}.loc-picker-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 16px}.loc-picker-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;background:var(--surface2);border:2px solid var(--border2);border-radius:12px;cursor:pointer;transition:all .12s ease;color:var(--text);font:inherit}.loc-picker-card:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface2))}.loc-picker-card:active{transform:scale(.98)}.loc-picker-ico{font-size:48px;line-height:1}.loc-picker-title{font-size:20px;font-weight:800;letter-spacing:1.5px;color:var(--text)}.loc-picker-sub{font-size:12px;color:var(--text2);text-align:center;line-height:1.5}.loc-picker-sub em{font-style:italic;color:var(--text3);font-size:11px}.loc-form-breadcrumb{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:13px;color:var(--text2);font-weight:600}.loc-breadcrumb-back{background:transparent;border:1px solid var(--border2);border-radius:6px;padding:4px 10px;font-size:14px;cursor:pointer;color:var(--text)}.loc-breadcrumb-back:hover{background:var(--surface2)}.loc-path-muted{color:var(--text3);font-weight:400}.loc-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;letter-spacing:.3px;text-transform:uppercase}.loc-badge-inactive{background:color-mix(in srgb,#d97706 20%,transparent);color:#f59e0b;border:1px solid color-mix(in srgb,#d97706 40%,transparent)}.loc-edit-danger{margin-top:18px;padding:12px 14px;background:var(--surface2);border:1px dashed var(--border2);border-radius:8px;display:flex;flex-direction:column;gap:10px}.loc-edit-danger-hint{font-size:12px;color:var(--text3);line-height:1.4}.btn-danger-soft{background:color-mix(in srgb,#dc2626 14%,var(--surface));color:#fca5a5;border:1px solid color-mix(in srgb,#dc2626 40%,var(--border2));font-weight:700}.btn-danger-soft:hover{background:color-mix(in srgb,#dc2626 22%,var(--surface))}.btn-success-soft{background:color-mix(in srgb,#16a34a 14%,var(--surface));color:#86efac;border:1px solid color-mix(in srgb,#16a34a 40%,var(--border2));font-weight:700}.btn-success-soft:hover{background:color-mix(in srgb,#16a34a 22%,var(--surface))}.loc-prefix-row{display:flex;gap:6px;margin-bottom:6px;flex-wrap:wrap}.loc-prefix-btn{min-width:36px;height:32px;padding:0 10px;background:var(--surface2);border:1px solid var(--border2);border-radius:6px;font-weight:700;font-size:14px;color:var(--text);cursor:pointer}.loc-prefix-btn:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface2))}.loc-bulk-details{margin:12px 0;padding:10px 12px;background:var(--surface2);border:1px dashed var(--border2);border-radius:8px}.loc-bulk-details summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--text2);user-select:none}.loc-bulk-details summary:hover{color:var(--text)}.loc-bulk-details[open] summary{margin-bottom:10px}.loc-bulk-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.loc-bulk-grid .col-full{grid-column:1 / -1}.loc-empty-card{padding:20px;text-align:center;background:var(--surface2);border:1px solid var(--border2);border-radius:10px}.loc-empty-card .loc-empty-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:8px}.loc-empty-card p{color:var(--text2);font-size:13px;margin:0 0 14px}.loc-scan-form-body .emp-field.col-full{grid-column:1 / -1}.loc-scan-err{min-height:18px;color:var(--err, #ff6b6b);font-size:13px}.loc-scan-actions{display:flex;gap:8px;margin-top:8px}.loc-scan-actions .btn{flex:1;padding:12px;font-size:15px}.loc-scan-actions .btn-primary{flex:2}.loc-kpi{min-width:140px;padding:12px 14px;background:var(--surface2);border:1px solid var(--border2);border-radius:8px}.loc-kpi-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text3)}.loc-kpi-val{font-size:22px;font-weight:700;font-family:var(--mono);color:var(--text)}.loc-mov-list{margin:0;padding-left:18px;font-size:12px;color:var(--text2);max-height:280px;overflow:auto}.loc-mov-list li{margin-bottom:6px}.loc-mov-type{font-family:var(--mono);font-size:10px;color:var(--accent)}.loc-path{font-size:11px;color:var(--text2);word-break:break-all}.loc-code-cell{white-space:nowrap}.loc-code-strong{font-weight:600;font-family:var(--mono);font-size:11px;color:var(--text)}.loc-actions-cell{white-space:nowrap;text-align:right}.loc-actions-cell .btn{margin-left:4px}.btn-xs{padding:3px 8px!important;font-size:9px!important;letter-spacing:.2px!important;text-transform:none!important}.loc-row-inactive td{opacity:.55;font-style:italic}.loc-row-click{cursor:pointer}.loc-row-click:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)!important}.loc-view-switch{display:inline-flex;gap:0;border:1px solid var(--border2);border-radius:6px;overflow:hidden}.loc-view-switch .btn{border-radius:0;border:0;border-right:1px solid var(--border2);margin:0}.loc-view-switch .btn:last-child{border-right:0}.loc-view-switch .btn.is-active{background:var(--accent);color:#fff}.loc-tree,.loc-tree ul{list-style:none;margin:0;padding-left:18px}.loc-tree-root{padding-left:0;margin:4px 0}.loc-tree>li,.loc-tree li{margin:2px 0}.loc-tree details>summary{cursor:pointer;display:flex;gap:8px;align-items:center;padding:4px 6px;border-radius:4px;font-size:12px}.loc-tree details>summary:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.loc-tree-leaf{display:flex;gap:8px;align-items:center;padding:4px 6px 4px 22px;font-size:12px;color:var(--text2)}.loc-tree-bullet{color:var(--text3)}.loc-tree-code{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--text)}.loc-tree-name{color:var(--text2)}.loc-tree-type{font-family:var(--mono);font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.3px}.loc-tree-actions{margin-left:auto;display:inline-flex;gap:4px}.loc-tree-inactive>details>summary,.loc-tree-inactive{opacity:.55;font-style:italic}.loc-inline-check{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text2);margin-left:auto;cursor:pointer}.loc-inline-check input{margin:0}.loc-search{display:inline-flex;align-items:center;gap:8px;flex:1 1 220px;min-width:200px}.loc-items-search{flex:1 1 260px}.loc-search-input{flex:1 1 auto;min-width:180px;padding:6px 10px;font-size:12px;border:1px solid var(--border2);border-radius:6px;background:var(--surface);color:var(--text)}.loc-search-input:focus{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:0;border-color:var(--accent)}.loc-filter-hint{font-size:11px;color:var(--text3);white-space:nowrap}.loc-history-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:10px 12px;margin:10px 0;background:var(--surface2);border:1px solid var(--border2);border-radius:8px}.loc-filter-field{display:flex;flex-direction:column;gap:4px;font-size:12px}.loc-filter-field span{color:var(--text2);font-weight:500}.loc-filter-field input[type=search],.loc-filter-field input[type=date],.loc-filter-field select{padding:6px 10px;font-size:12px;border:1px solid var(--border2);border-radius:6px;background:var(--surface);color:var(--text);min-height:30px}.loc-filter-field select:focus,.loc-filter-field input:focus{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);border-color:var(--accent)}.loc-filter-actions{display:flex;align-items:flex-end;gap:6px}.loc-history-table .loc-mov-when{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;color:var(--text2)}.loc-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:8px 10px;border:1px solid var(--border2);border-radius:6px;background:var(--surface2);flex-wrap:wrap}.loc-pager-info{font-size:12px;color:var(--text2)}.loc-pager-controls{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}.loc-pager-size{display:inline-flex;gap:6px;align-items:center;font-size:11px;color:var(--text3)}.loc-pager-size select{padding:3px 6px;font-size:11px;border:1px solid var(--border2);border-radius:4px;background:var(--surface);color:var(--text)}.loc-pager .btn[disabled]{opacity:.45;cursor:not-allowed}.loc-table-wrap{overflow:auto;max-height:min(60vh,520px);border:1px solid var(--border2);border-radius:8px}.loc-table{width:100%;border-collapse:collapse;font-size:12px}.loc-table th,.loc-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border2)}.loc-table thead th{background:var(--surface2);color:var(--text3);font-size:10px;text-transform:uppercase;letter-spacing:.3px}.loc-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.kadr-subtab-strip{display:flex;gap:6px;padding:10px 20px 4px;border-bottom:1px solid var(--border2)}.kadr-subtab{padding:8px 14px;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;color:var(--text2);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.kadr-subtab:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--text)}.kadr-subtab.active{background:var(--surface);border-color:var(--border2);color:var(--accent)}.emp-modal.emp-modal-wide{max-width:780px}.emp-section{border:1px solid var(--border2);border-radius:10px;padding:14px 16px 16px;margin:0 0 16px;background:color-mix(in srgb,var(--surface2) 60%,transparent)}.emp-section legend{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--accent);padding:0 6px}.emp-form-help{font-size:11px;color:var(--text3);line-height:1.5;margin:0 0 12px}.emp-form-help code{background:var(--surface2);padding:1px 5px;border-radius:3px;font-size:11px;color:var(--text2)}.kadr-type-badge.t-sal-ugovor{background:color-mix(in srgb,#2D9CDB 14%,var(--surface));color:#2d9cdb;border-color:color-mix(in srgb,#2D9CDB 40%,transparent)}.kadr-type-badge.t-sal-dogovor{background:color-mix(in srgb,#9B51E0 14%,var(--surface));color:#9b51e0;border-color:color-mix(in srgb,#9B51E0 40%,transparent)}.kadr-type-badge.t-sal-satnica{background:color-mix(in srgb,#F2994A 14%,var(--surface));color:#f2994a;border-color:color-mix(in srgb,#F2994A 40%,transparent)}.payroll-toolbar{flex-wrap:wrap;gap:8px}.payroll-toolbar #payrPrevMonth,.payroll-toolbar #payrNextMonth{padding:6px 10px;font-size:14px;line-height:1}.payroll-hint{padding:10px 20px;font-size:11px;color:var(--text3);line-height:1.55;background:color-mix(in srgb,var(--accent) 5%,transparent);border-bottom:1px solid var(--border2)}.payroll-hint strong{color:var(--text2)}.payroll-main{padding:0!important}.payroll-grid-wrap{overflow:auto;max-height:calc(100vh - 340px);border-top:1px solid var(--border2)}.payroll-grid{width:100%;min-width:1700px;font-size:12px}.payroll-grid thead th{position:sticky;top:0;z-index:5;background:var(--surface2);border-bottom:2px solid var(--border2);font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--text3);padding:10px 8px;white-space:nowrap}.payroll-grid tbody td{padding:6px 8px;border-bottom:1px solid var(--border2);vertical-align:middle}.payroll-grid tbody tr:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}.payroll-grid tbody tr.dirty{background:color-mix(in srgb,#F2994A 10%,transparent)}.payroll-grid tbody tr.dirty:hover{background:color-mix(in srgb,#F2994A 16%,transparent)}.payroll-grid tbody tr.s-paid{opacity:.75}.payroll-grid tbody tr.s-paid td{background:color-mix(in srgb,#27AE60 5%,transparent)}.payroll-grid .sticky-col{position:sticky;left:0;z-index:3;background:var(--surface);min-width:220px;max-width:260px;box-shadow:2px 0 0 var(--border2)}.payroll-grid thead .sticky-col{background:var(--surface2);z-index:6}.payroll-grid tbody tr:hover .sticky-col{background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.payroll-grid tbody tr.dirty .sticky-col{background:color-mix(in srgb,#F2994A 12%,var(--surface))}.payroll-grid td.num,.payroll-grid th[title*=UKUPNO],.payroll-grid td.num strong{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.payr-inp{padding:5px 7px;background:var(--surface2);border:1px solid var(--border2);border-radius:5px;color:var(--text);font-family:var(--font);font-size:12px;outline:none;transition:border-color .15s,box-shadow .15s;width:100px}.payr-inp:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim);background:var(--surface)}.payr-inp:disabled{opacity:.5;cursor:not-allowed}.payr-inp.w-xs{width:58px}.payr-inp.w-sm{width:82px}.payr-inp.w-md{width:110px}.payr-cell-dual{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.payr-mul{color:var(--text3);font-weight:700;font-size:11px}.payr-status{display:inline-block;padding:3px 8px;font-size:10px;font-weight:600;border-radius:10px;white-space:nowrap;border:1px solid var(--border2);background:var(--surface2);color:var(--text2)}.payr-status.s-draft{background:color-mix(in srgb,var(--text3) 12%,var(--surface));color:var(--text2)}.payr-status.s-advance_paid{background:color-mix(in srgb,#2D9CDB 14%,var(--surface));color:#2d9cdb;border-color:color-mix(in srgb,#2D9CDB 40%,transparent)}.payr-status.s-finalized{background:color-mix(in srgb,#F2994A 14%,var(--surface));color:#f2994a;border-color:color-mix(in srgb,#F2994A 40%,transparent)}.payr-status.s-paid{background:color-mix(in srgb,#27AE60 16%,var(--surface));color:#27ae60;border-color:color-mix(in srgb,#27AE60 40%,transparent)}.btn-row-act.primary{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.btn-row-act.primary:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}@media (max-width:900px){.payroll-grid-wrap{max-height:none}.kadr-subtab{padding:6px 10px;font-size:11px}}.pm-modal-backdrop{position:fixed;inset:0;background:#0000008c;z-index:1000;backdrop-filter:blur(2px)}.pm-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--surface);color:var(--text);border:1px solid var(--border2);border-radius:10px;box-shadow:0 20px 60px #00000073;z-index:1001;display:flex;flex-direction:column;max-height:92vh;width:min(94vw,720px);overflow:hidden}.pm-modal-xl{width:min(96vw,1280px)}.pm-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border2);background:var(--surface2)}.pm-modal-header h2{margin:0;font-size:17px;font-weight:600}.pm-modal-close{background:transparent;border:0;color:var(--text2);font-size:18px;cursor:pointer;padding:4px 10px;border-radius:6px}.pm-modal-close:hover{background:var(--surface3);color:var(--text)}.pm-modal-body{flex:1 1 auto;overflow:auto;padding:14px 18px;background:var(--bg)}.pm-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-top:1px solid var(--border2);background:var(--surface2)}.pm-modal-actions{display:flex;gap:8px}.pm-modal-tabs{display:flex;align-items:center;gap:4px;padding:6px 14px;border-bottom:1px solid var(--border2);background:var(--surface2)}.pm-modal-tab{background:transparent;border:1px solid transparent;padding:6px 12px;font-size:13px;font-weight:500;color:var(--text2);border-radius:6px 6px 0 0;cursor:pointer}.pm-modal-tab:hover{background:var(--surface3);color:var(--text)}.pm-modal-tab.active{background:var(--surface);color:var(--text);border-color:var(--border2);border-bottom-color:var(--surface);margin-bottom:-1px}.pm-modal-tabs-spacer{flex:1 1 auto}.btn.btn-sm{padding:4px 10px;font-size:12px}.emp-bulk-info{display:flex;align-items:center;gap:10px;padding:8px 10px;margin-bottom:8px;background:var(--surface2);border:1px solid var(--border2);border-radius:6px;font-size:12px;color:var(--text2)}.emp-bulk-info strong{color:var(--text)}.emp-bulk-grid-wrap{overflow:auto;max-height:calc(92vh - 260px);border:1px solid var(--border2);border-radius:6px;background:var(--surface)}.emp-bulk-grid{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.emp-bulk-grid thead th{position:sticky;top:0;background:var(--surface2);color:var(--text);padding:6px 8px;text-align:left;font-weight:600;border-bottom:1px solid var(--border2);white-space:nowrap}.emp-bulk-grid td{padding:3px 4px;border-bottom:1px solid var(--border);vertical-align:middle}.emp-bulk-grid tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}.emp-bulk-grid tbody tr.err{background:color-mix(in srgb,#ef4444 8%,transparent)}.emp-bulk-grid input[type=text],.emp-bulk-grid input[type=email],.emp-bulk-grid input[type=tel],.emp-bulk-grid input[type=date],.emp-bulk-grid select{width:100%;padding:4px 6px;font-size:12px;border:1px solid var(--border2);border-radius:4px;background:var(--bg);color:var(--text)}.emp-bulk-grid input:focus,.emp-bulk-grid select:focus{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:0;border-color:var(--accent)}.emp-bulk-grid.preview td{padding:5px 8px}.bulk-idx{color:var(--text3);text-align:right;width:36px;font-variant-numeric:tabular-nums}.bulk-err{width:90px;text-align:center}.emp-bulk-status{display:inline-block;padding:2px 6px;border-radius:10px;font-size:11px;font-weight:600}.emp-bulk-status.ok{background:color-mix(in srgb,#22c55e 22%,transparent);color:#16a34a}.emp-bulk-status.err{background:color-mix(in srgb,#ef4444 22%,transparent);color:#dc2626;cursor:help}.emp-bulk-status.muted{background:var(--surface3);color:var(--text3)}.emp-bulk-actions{display:flex;gap:8px;padding:8px 0 0}.emp-bulk-summary{display:flex;gap:14px;font-size:12px}.emp-bulk-summary .ok{color:#16a34a;font-weight:600}.emp-bulk-summary .err{color:#dc2626;font-weight:600}.emp-bulk-import-drop{border:2px dashed var(--border2);border-radius:10px;padding:40px 20px;margin:20px auto;text-align:center;cursor:pointer;background:var(--surface2);color:var(--text2);max-width:600px;transition:all .15s}.emp-bulk-import-drop:hover,.emp-bulk-import-drop.over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent);color:var(--text)}.emp-bulk-import-icon{font-size:40px;margin-bottom:12px}.emp-bulk-import-drop .muted{color:var(--text3);margin-top:8px;font-size:12px}.plan-table .td-num{white-space:nowrap;padding-left:4px;padding-right:4px}.plan-table .td-num .td-num-n{display:inline-block;vertical-align:middle;color:var(--text3);font-family:var(--mono);font-size:11px}.row-drag-handle{display:inline-block;vertical-align:middle;width:14px;line-height:20px;text-align:center;color:var(--text3);font-size:14px;letter-spacing:-2px;cursor:grab;user-select:none;border-radius:4px;opacity:.55;margin-right:2px;transition:opacity .12s,background .12s,color .12s;background:transparent}.row-drag-handle:hover{opacity:1;color:var(--accent);background:var(--accent-dim)}.row-drag-handle:active{cursor:grabbing}.plan-table tbody tr.phase-row-dragging td{opacity:.45;background:var(--accent-dim)!important}.plan-table tbody tr.phase-drop-above td{box-shadow:inset 0 3px 0 0 var(--accent)}.plan-table tbody tr.phase-drop-below td{box-shadow:inset 0 -3px 0 0 var(--accent)}.phase-desc-btn{background:var(--surface2);border:1px solid var(--border2);color:var(--text3);border-radius:6px;padding:3px 8px;cursor:pointer;font:inherit;font-size:11px;display:inline-flex;gap:4px;align-items:center;transition:all .12s;white-space:nowrap}.phase-desc-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.phase-desc-btn.has-desc{border-color:var(--status-done);color:var(--status-done);background:color-mix(in srgb,var(--status-done) 10%,transparent)}.phase-desc-btn.has-desc:hover{background:color-mix(in srgb,var(--status-done) 18%,transparent)}.phase-desc-btn .pdb-ic{font-size:11px}.phase-desc-btn .pdb-lbl{text-transform:lowercase;letter-spacing:.2px}.row-btn.btn-desc.has-desc{border-color:var(--status-done);color:var(--status-done)}.phase-description-textarea{width:100%;background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:8px;padding:10px 12px;font:inherit;font-size:13px;line-height:1.55;outline:none;resize:vertical;min-height:220px}.phase-description-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}body.pdf-export{background:#fff!important;color:#000!important}body.pdf-export .header,body.pdf-export .status-panel,body.pdf-export .plan-toolbar,body.pdf-export .view-tabs,body.pdf-export .filter-bar,body.pdf-export .add-phase-bar,body.pdf-export .reminder-zone,body.pdf-export .gantt-toolbar{display:none!important}body.pdf-export .gantt-wrap{overflow:visible!important;border:1px solid #bbb!important;box-shadow:none!important;background:#fff!important}body.pdf-export .gantt-table{background:#fff!important;color:#000!important;border-collapse:collapse!important}body.pdf-export .gantt-table th,body.pdf-export .gantt-table td{border:1px solid #bbb!important;background:#fff!important;color:#000!important}body.pdf-export .gantt-month-hdr{background:#e4e4e4!important;color:#000!important;font-weight:700!important}body.pdf-export .gantt-day-hdr{background:#f0f0f0!important;color:#222!important;font-weight:600!important}body.pdf-export .gantt-day-hdr.today-col,body.pdf-export .gantt-cell.today-col{background:#ddecff!important;color:#000!important}body.pdf-export .gantt-day-hdr.wknd,body.pdf-export .gantt-cell.wknd{background:#f5f5f5!important;color:#555!important}body.pdf-export .gantt-day-hdr.col-selected,body.pdf-export .gantt-cell.col-selected{background:#fff3b3!important;color:#000!important}body.pdf-export .gantt-label{background:#fafafa!important;color:#000!important;border-right:2px solid #888!important}body.pdf-export .gantt-label-name,body.pdf-export .gantt-label-sub,body.pdf-export .gantt-label-status{color:#000!important}body.pdf-export .gantt-label-status.gs-0{color:#8a7700!important}body.pdf-export .gantt-label-status.gs-1{color:#1a56a8!important}body.pdf-export .gantt-label-status.gs-2{color:#1b7d3a!important}body.pdf-export .gantt-label-status.gs-3{color:#a52020!important}body.pdf-export .gantt-cell.bar-phase,body.pdf-export .gantt-cell.bar-phase-start,body.pdf-export .gantt-cell.bar-phase-end{border:1px solid rgba(0,0,0,.3)!important}body.pdf-export .gantt-cell.bar-mech.bar-phase,body.pdf-export .gantt-cell.bar-mech.bar-phase-start,body.pdf-export .gantt-cell.bar-mech.bar-phase-end{background-image:linear-gradient(#0000001f,#0000001f)!important}body.pdf-export .gantt-cell.bar-elec.bar-phase,body.pdf-export .gantt-cell.bar-elec.bar-phase-start,body.pdf-export .gantt-cell.bar-elec.bar-phase-end{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.55) 0 2px,transparent 2px 6px)!important}body.pdf-export .gantt-drag-handle-l,body.pdf-export .gantt-drag-handle-r,body.pdf-export .reminder-dot,body.pdf-export .row-drag-handle,body.pdf-export .phase-desc-btn{display:none!important}body.pdf-export .gantt-machine-hdr td,body.pdf-export .gantt-wp-group-hdr td,body.pdf-export .tg-group-hdr td{background:#e4e4e4!important;color:#000!important;border-top:2px solid #888!important;font-weight:700!important}body.pdf-export .tg-filter-bar,body.pdf-export .tg-wp-filter{display:none!important}.row-btn.btn-linked{background:var(--surface2);border:1px solid var(--border2);color:var(--text2);display:inline-flex;align-items:center;gap:4px}.row-btn.btn-linked:hover{border-color:var(--accent);color:var(--accent)}.row-btn.btn-linked .rb-ic{font-size:11px;line-height:1}.row-btn.btn-linked-manage{background:var(--surface2);border:1px solid var(--border2);color:var(--text2);padding:2px 6px;font-size:11px;line-height:1.4}.row-btn.btn-linked-manage:hover{border-color:var(--accent);color:var(--accent)}.phase-meta-row .phase-linked-chip:first-of-type,.phase-meta-row .row-btn.btn-linked,.phase-meta-row .row-btn.btn-linked-manage{margin-left:4px;padding-left:8px;border-left:1px solid var(--border);border-radius:6px}.phase-meta-row .phase-linked-chip:not(:first-of-type){margin-left:0;padding-left:8px;border-left:1px solid transparent}.phase-linked-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:6px;background:#6ec8822e;border:1px solid #4ba872;color:#b6e7c4;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.4;cursor:pointer;text-decoration:none;box-shadow:0 0 0 1px #6ec8822e inset}.phase-linked-chip:hover{filter:brightness(1.15);border-color:var(--accent)}.phase-linked-chip .plc-ic{font-size:11px;line-height:1}.phase-linked-chip .plc-no{letter-spacing:.02em}.m-card-name-meta .row-btn.btn-linked.has-links{background:#6ec8822e;border-color:#4ba872;color:#b6e7c4}.modal-panel.ld-panel{max-width:640px;width:95vw}.ld-panel .ld-subtitle{font-size:11px;color:var(--text3);margin-top:2px}.ld-panel .ld-section{margin-top:14px}.ld-panel .ld-section:first-of-type{margin-top:0}.ld-panel .ld-section-title{font-size:11px;text-transform:uppercase;font-weight:600;letter-spacing:.04em;color:var(--text3);margin-bottom:6px}.ld-panel .ld-list{display:flex;flex-direction:column;gap:6px;max-height:35vh;overflow:auto;padding:2px}.ld-panel .ld-row{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--surface2);border:1px solid var(--border2);border-radius:6px}.ld-panel .ld-row.ld-row-warn{border-color:color-mix(in srgb,var(--risk-med, #d4a000) 50%,transparent);background:color-mix(in srgb,var(--risk-med, #d4a000) 10%,var(--surface2))}.ld-panel .ld-no-btn{flex:1;display:flex;align-items:center;gap:8px;background:transparent;border:none;text-align:left;cursor:pointer;color:var(--text);padding:0;font-size:12px;min-width:0}.ld-panel .ld-no-code{font-family:var(--mono, monospace);font-weight:600;color:var(--accent);white-space:nowrap}.ld-panel .ld-no-btn:hover .ld-no-code{text-decoration:underline}.ld-panel .ld-meta-name{color:var(--text2);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ld-panel .ld-meta-loading,.ld-panel .ld-meta-warn{font-size:11px;color:var(--text3)}.ld-panel .ld-meta-warn{color:var(--risk-med, #d4a000)}.ld-panel .ld-btn-open,.ld-panel .ld-btn-remove{background:var(--surface3);border:1px solid var(--border2);color:var(--text2);border-radius:4px;padding:3px 7px;font-size:12px;cursor:pointer;line-height:1}.ld-panel .ld-btn-open:hover{border-color:var(--accent);color:var(--accent)}.ld-panel .ld-btn-remove:hover{border-color:var(--risk-high, #c44);color:var(--risk-high, #c44)}.ld-panel .ld-empty{font-size:12px;color:var(--text3);font-style:italic;padding:8px 4px}.ld-panel .ld-empty.ld-error{color:var(--risk-high, #c44);font-style:normal}.ld-panel .ld-rn-row,.ld-panel .ld-manual-row{display:flex;gap:6px;align-items:stretch}.ld-panel .ld-rn-select,.ld-panel .ld-manual-input{flex:1;background:var(--surface);border:1px solid var(--border2);border-radius:6px;color:var(--text);padding:6px 8px;font-size:12px;min-width:0}.ld-panel .ld-rn-select:focus,.ld-panel .ld-manual-input:focus{border-color:var(--accent);outline:none}@media (max-width: 600px){.ld-panel .ld-rn-row,.ld-panel .ld-manual-row{flex-direction:column}}.wp-assembly-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;margin:4px 0 8px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;font-size:12px}.wp-assembly-strip .wp-assembly-label{font-weight:600;color:var(--text2);white-space:nowrap}.wp-assembly-strip .wp-assembly-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:6px;border:1px solid var(--border2);background:var(--surface);color:var(--text2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;cursor:default;text-decoration:none}.wp-assembly-strip .wp-assembly-chip.has-no{cursor:pointer;background:#6ec8822e;border-color:#4ba872;color:#b6e7c4;box-shadow:0 0 0 1px #6ec88240 inset}.wp-assembly-strip .wp-assembly-chip.has-no:hover{filter:brightness(1.12);border-color:var(--accent)}.wp-assembly-strip .wp-assembly-chip.empty{color:var(--text3);font-style:italic;font-family:inherit}.wp-assembly-strip .wp-assembly-ic{font-size:12px;line-height:1}.wp-assembly-strip .wp-assembly-no{letter-spacing:.02em}.wp-assembly-strip .wp-assembly-edit{margin-left:auto;padding:3px 10px;font-size:11px}@media (max-width: 600px){.wp-assembly-strip{font-size:11px;padding:5px 8px}.wp-assembly-strip .wp-assembly-edit{margin-left:0}}.pp-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:14px}.pp-toolbar-label{font-size:12px;color:var(--text2);text-transform:uppercase;letter-spacing:.4px;font-weight:600}.pp-machine-select{background:var(--surface2);border:1px solid var(--border2);color:var(--text);padding:8px 12px;border-radius:8px;font:inherit;font-size:14px;min-width:220px;cursor:pointer}.pp-machine-select:focus{outline:2px solid color-mix(in srgb,var(--blue-bar, #4f9bff) 50%,transparent);border-color:var(--blue-bar, #4f9bff)}.pp-toolbar-spacer{flex:1}.pp-counter{font-size:13px;color:var(--text2);background:var(--surface2);padding:5px 10px;border-radius:6px;border:1px solid var(--border)}.pp-readonly-badge{font-size:11px;color:var(--text2);background:color-mix(in srgb,var(--surface3) 60%,transparent);padding:4px 10px;border-radius:999px;border:1px dashed var(--border2)}.pp-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.pp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;color:var(--text)}.pp-table thead th{position:sticky;top:0;z-index:2;background:var(--surface2);color:var(--text2);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600;padding:10px 8px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.pp-table tbody td{padding:4px 8px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:12px;line-height:1.35}.pp-table tbody tr:hover{background:var(--surface2)}.pp-table tbody tr.is-non-machining td{background:color-mix(in srgb,var(--surface2) 70%,transparent);font-style:italic;color:var(--text2)}.pp-table tbody tr.is-reassigned td:first-child{border-left:3px solid #f5a623}.pp-cell-num{text-align:right;white-space:nowrap}.pp-cell-center{text-align:center}.pp-cell-strong{font-weight:700}.pp-cell-muted{color:var(--text2)}.pp-cell-sep{color:var(--text3);margin:0 3px;opacity:.6}.pp-cell-clip{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-cell-clip:hover{overflow:visible;white-space:normal}.pp-drag-handle{cursor:grab;user-select:none;color:var(--text3, var(--text2));font-size:14px;padding:0 4px;text-align:center}.pp-drag-handle:hover{color:var(--text)}.pp-table tr.is-dragging{opacity:.45}.pp-table tr.drop-target-above td{box-shadow:inset 0 2px 0 0 var(--blue-bar, #4f9bff)}.pp-table tr.drop-target-below td{box-shadow:inset 0 -2px 0 0 var(--blue-bar, #4f9bff)}.pp-table[data-readonly=true] .pp-drag-handle{cursor:not-allowed;opacity:.45}.pp-pri{display:inline-flex;align-items:center;justify-content:center;min-width:26px;padding:2px 6px;border-radius:999px;background:var(--surface3);color:var(--text);font-size:11px;font-weight:700;border:1px solid var(--border2)}.pp-pri.is-empty{color:var(--text3);background:transparent;border-style:dashed}.pp-rok{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:5px;font-weight:600;font-size:11px;line-height:1.4;border:1px solid transparent;white-space:nowrap}.pp-rok.urgency-overdue{background:color-mix(in srgb,#ef4444 22%,transparent);color:#fca5a5;border-color:color-mix(in srgb,#ef4444 35%,transparent)}.pp-rok.urgency-today{background:color-mix(in srgb,#f97316 22%,transparent);color:#fdba74;border-color:color-mix(in srgb,#f97316 35%,transparent)}.pp-rok.urgency-soon{background:color-mix(in srgb,#eab308 22%,transparent);color:#fde68a;border-color:color-mix(in srgb,#eab308 35%,transparent)}.pp-rok.urgency-warn{background:color-mix(in srgb,#84cc16 18%,transparent);color:#bef264;border-color:color-mix(in srgb,#84cc16 30%,transparent)}.pp-rok.urgency-ok{background:color-mix(in srgb,#22c55e 14%,transparent);color:#86efac;border-color:color-mix(in srgb,#22c55e 25%,transparent)}.pp-rok.urgency-none{background:var(--surface2);color:var(--text3);border-style:dashed;border-color:var(--border2)}.pp-table tbody tr.is-urgent{background:color-mix(in srgb,#ef4444 8%,transparent);border-left:4px solid #ef4444!important;position:relative}.pp-table tbody tr.is-urgent:hover{background:color-mix(in srgb,#ef4444 14%,transparent)}.pp-table tbody tr.is-urgent-overdue{border-left-color:#dc2626!important;background:color-mix(in srgb,#ef4444 12%,transparent)}.pp-table tbody tr.is-urgent-overdue:hover{background:color-mix(in srgb,#ef4444 20%,transparent)}.pp-table tbody tr.is-urgent-today{border-left-color:#f97316!important}.pp-urgent-badge{display:inline-block;margin-right:4px;font-size:13px;line-height:1;cursor:help;text-shadow:0 0 4px rgba(239,68,68,.6);vertical-align:middle}.pp-urgent-badge.pp-urgent-overdue{color:#f87171;animation:pulseUrgent 2s ease-in-out infinite}.pp-urgent-badge.pp-urgent-today{color:#fdba74}@keyframes pulseUrgent{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.18)}}.pp-table tbody tr.is-urgent-overdue td:nth-child(3){color:#fca5a5;font-weight:800}.pp-status{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid transparent;cursor:pointer;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;line-height:1.4;transition:filter .12s ease}.pp-status:hover{filter:brightness(1.1)}.pp-status:disabled{cursor:not-allowed;opacity:.7}.pp-status:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor;opacity:.85}.pp-status.s-waiting{background:color-mix(in srgb,#6b7280 25%,transparent);color:#d1d5db;border-color:color-mix(in srgb,#6b7280 40%,transparent)}.pp-status.s-in_progress{background:color-mix(in srgb,#3b82f6 25%,transparent);color:#93c5fd;border-color:color-mix(in srgb,#3b82f6 40%,transparent)}.pp-status.s-blocked{background:color-mix(in srgb,#ef4444 25%,transparent);color:#fca5a5;border-color:color-mix(in srgb,#ef4444 40%,transparent)}.pp-status.s-completed{background:color-mix(in srgb,#10b981 25%,transparent);color:#6ee7b7;border-color:color-mix(in srgb,#10b981 40%,transparent);cursor:default}.pp-refresh-btn{background:var(--surface2);border:1px solid var(--border2);color:var(--text);padding:7px 14px;border-radius:8px;font:inherit;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.pp-refresh-btn:hover{background:var(--surface3)}.pp-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.pp-refresh-btn .pp-spin{display:inline-block;animation:pp-spin .8s linear infinite}@keyframes pp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pp-note-input{width:100%;min-height:22px;resize:vertical;background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:6px;padding:2px 6px;font:inherit;font-size:11px;line-height:1.35;outline:none;transition:border-color .12s ease}.pp-note-input:focus{border-color:var(--blue-bar, #4f9bff)}.pp-note-input:disabled{opacity:.6;cursor:not-allowed}.pp-note-saved{display:inline-block;margin-top:2px;font-size:10px;color:#6ee7b7;opacity:0;transition:opacity .15s ease}.pp-note-saved.is-visible{opacity:1}.pp-machine-cell{display:flex;flex-direction:column;gap:2px;min-width:130px}.pp-machine-original{font-size:11px;color:var(--text3)}.pp-machine-original.is-overridden{text-decoration:line-through}.pp-machine-current{font-weight:600;font-size:12px;color:var(--text)}.pp-machine-current.is-reassigned{color:#f5a623}.pp-reassign-btn{background:transparent;border:1px dashed var(--border2);color:var(--text2);padding:2px 6px;border-radius:4px;font-size:10.5px;cursor:pointer;align-self:flex-start}.pp-reassign-btn:hover{background:var(--surface3);color:var(--text)}.pp-reassign-btn:disabled{opacity:.45;cursor:not-allowed}.pp-reassign-select{background:var(--surface2);color:var(--text);border:1px solid var(--blue-bar, #4f9bff);border-radius:4px;padding:2px 4px;font:inherit;font-size:11px}.pp-state{text-align:center;padding:60px 20px;color:var(--text2)}.pp-state-icon{font-size:36px;margin-bottom:12px;opacity:.7}.pp-state-title{font-size:16px;color:var(--text);margin-bottom:6px}.pp-state-hint{font-size:13px;line-height:1.5}.pp-error{background:color-mix(in srgb,#ef4444 12%,var(--surface));border:1px solid color-mix(in srgb,#ef4444 35%,transparent);color:#fca5a5;padding:12px 14px;border-radius:8px;margin-bottom:12px;font-size:13px}.pp-state-desc{font-size:13px;color:var(--text3, var(--text2));line-height:1.5;max-width:460px;margin:6px auto 0}.zm-filter{display:inline-flex;background:var(--surface2);border:1px solid var(--border2);border-radius:8px;padding:2px}.zm-filter-btn{background:transparent;border:0;color:var(--text2);padding:6px 12px;font:inherit;font-size:12.5px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.zm-filter-btn:hover{color:var(--text)}.zm-filter-btn.is-active{background:var(--blue-bar, #4f9bff);color:#fff;font-weight:600}.zm-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;font-size:13px}.zm-table thead{background:var(--surface2)}.zm-th{padding:10px 14px;font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--text2);border-bottom:1px solid var(--border2);white-space:nowrap;user-select:none}.zm-th-left{text-align:left}.zm-th-right{text-align:right}.zm-th-sortable{cursor:pointer}.zm-th-sortable:hover{color:var(--text)}.zm-th.is-sorted{color:var(--blue-bar, #4f9bff)}.zm-sort-arrow{margin-left:4px;font-size:10px;display:inline-block}.zm-row{border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.zm-row:last-child{border-bottom:0}.zm-row:hover{background:var(--surface2)}.zm-row-total{background:var(--surface2);font-weight:600;cursor:default}.zm-row-total:hover{background:var(--surface2)}.zm-td{padding:12px 14px;vertical-align:middle;color:var(--text)}.zm-td-left{text-align:left}.zm-td-right{text-align:right}.zm-cell-machine{display:flex;flex-direction:column;gap:2px;min-width:140px}.zm-machine-code{font-weight:600;color:var(--text);font-size:13px}.zm-machine-name{font-size:11.5px;color:var(--text2)}.zm-num{font-variant-numeric:tabular-nums;font-size:13px}.zm-num-strong{font-weight:700;font-size:14px}.zm-muted{color:var(--text3, var(--text2));opacity:.55}.zm-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;margin-left:4px;font-variant-numeric:tabular-nums}.zm-pill:first-child{margin-left:0}.zm-pill-overdue{background:color-mix(in srgb,#ef4444 22%,transparent);color:#fca5a5}.zm-pill-today{background:color-mix(in srgb,#f59e0b 22%,transparent);color:#fbbf24}.zm-pill-soon{background:color-mix(in srgb,#fde047 22%,transparent);color:#facc15}.zm-pill-reassign{background:color-mix(in srgb,#3b82f6 22%,transparent);color:#93c5fd}.zm-pill-nonmach{background:color-mix(in srgb,#94a3b8 22%,transparent);color:#cbd5e1;font-style:italic}.zm-hint{font-size:12px;color:var(--text2);margin-top:12px;padding:8px 14px;background:var(--surface2);border-radius:6px;border:1px solid var(--border)}.pm-table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.pm-table{width:100%;border-collapse:collapse;font-size:12.5px}.pm-table thead{background:var(--surface2)}.pm-th{padding:10px 8px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--text2);border-bottom:1px solid var(--border2);white-space:nowrap;text-align:center}.pm-th-machine{text-align:left;padding-left:14px;min-width:150px}.pm-th-total{text-align:center}.pm-th-bucket{min-width:64px}.pm-th.is-today{background:color-mix(in srgb,var(--blue-bar, #4f9bff) 18%,transparent);color:var(--text);font-weight:700}.pm-day-label{display:inline-block}.pm-th-overdue{color:#fca5a5}.pm-th-future{color:var(--text2)}.pm-th-none{color:var(--text3, var(--text2))}.pm-row{border-bottom:1px solid var(--border)}.pm-row:last-child{border-bottom:0}.pm-row:hover{background:var(--surface2)}.pm-row-total{background:var(--surface2);font-weight:600}.pm-row-total:hover{background:var(--surface2)}.pm-td-machine{padding:10px 14px;text-align:left;cursor:pointer}.pm-td-machine:hover{background:var(--surface3)}.pm-td-total{padding:10px 8px;text-align:center;font-variant-numeric:tabular-nums}.pm-cell{padding:10px 8px;text-align:center;font-variant-numeric:tabular-nums;border-left:1px solid var(--border);min-width:64px;position:relative}.pm-cell.is-clickable{cursor:pointer}.pm-cell.is-clickable:hover{filter:brightness(1.15)}.pm-cell-num{font-weight:600;font-size:13px}.pm-cell-empty{color:var(--text3, #555);font-size:11px}.pm-cell-overdue{background:color-mix(in srgb,#ef4444 16%,transparent);color:#fca5a5}.pm-cell-today{background:color-mix(in srgb,#f59e0b 18%,transparent);color:#fbbf24}.pm-cell-soon{background:color-mix(in srgb,#fde047 14%,transparent);color:#facc15}.pm-cell-warn{background:color-mix(in srgb,#84cc16 14%,transparent);color:#bef264}.pm-cell-ok{background:color-mix(in srgb,#10b981 12%,transparent);color:#6ee7b7}.pm-cell-future{background:color-mix(in srgb,var(--text2) 8%,transparent);color:var(--text2)}.pm-cell-none{background:transparent;color:var(--text3, var(--text2))}.pm-cell-empty.pm-cell{background:transparent}.pm-legend{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:12px 14px;font-size:12px;color:var(--text2);background:var(--surface2);border:1px solid var(--border);border-radius:8px;margin-top:12px}.pm-legend-item{display:inline-flex;align-items:center;gap:6px}.pm-legend-swatch{display:inline-block;width:18px;height:14px;border-radius:3px;border:1px solid var(--border)}.pp-drawings-btn{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;background:transparent;border:1px dashed var(--border2);color:var(--text2);border-radius:5px;font-size:11px;line-height:1.4;cursor:pointer;transition:all .15s;font-variant-numeric:tabular-nums}.pp-drawings-btn:hover{background:var(--surface2);color:var(--text);border-color:var(--blue-bar, #4f9bff)}.pp-drawings-btn.has-files{background:color-mix(in srgb,var(--blue-bar, #4f9bff) 12%,transparent);border:1px solid color-mix(in srgb,var(--blue-bar, #4f9bff) 50%,transparent);color:var(--text)}.pp-drawings-btn.has-files:hover{background:color-mix(in srgb,var(--blue-bar, #4f9bff) 20%,transparent)}.pp-drawings-num{font-weight:600}.pp-bigtehn-drawing-btn{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;background:color-mix(in srgb,#fbbf24 12%,transparent);border:1px solid color-mix(in srgb,#fbbf24 40%,transparent);color:#fbbf24;border-radius:5px;font-size:11px;font-weight:600;line-height:1.4;cursor:pointer;font-variant-numeric:tabular-nums;transition:all .15s;white-space:nowrap}.pp-bigtehn-drawing-btn:hover{background:color-mix(in srgb,#fbbf24 22%,transparent);border-color:#fbbf24;color:#fcd34d}.pp-bigtehn-drawing-btn:focus-visible{outline:2px solid #fbbf24;outline-offset:1px}.pp-cell-drawing{vertical-align:middle}.pp-drawing-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.2}.pp-drawing-no{font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text);font-size:12px;font-variant-numeric:tabular-nums}.pp-drawing-pdf-icon{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;background:color-mix(in srgb,#fbbf24 14%,transparent);border:1px solid color-mix(in srgb,#fbbf24 45%,transparent);color:#fbbf24;border-radius:4px;font-size:10px;font-weight:700;line-height:1.3;cursor:pointer;transition:all .15s ease;letter-spacing:.3px;white-space:nowrap}.pp-drawing-pdf-icon:hover{background:color-mix(in srgb,#fbbf24 28%,transparent);border-color:#fbbf24;color:#fde68a;transform:translateY(-.5px)}.pp-drawing-pdf-icon:focus-visible{outline:2px solid #fbbf24;outline-offset:1px}.pp-col-customer{min-width:140px;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-col-customer:hover{overflow:visible;white-space:normal}.pp-tech-procedure-btn{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:0 4px;background:transparent;border:1px solid var(--border);color:var(--text2);border-radius:4px;font-size:11px;cursor:pointer;vertical-align:middle;transition:all .12s}.pp-tech-procedure-btn:hover{background:var(--surface3);color:var(--text);border-color:var(--blue-bar, #4f9bff)}.pp-tech-procedure-btn:focus-visible{outline:2px solid var(--blue-bar, #4f9bff);outline-offset:1px}.dm-overlay{position:fixed;inset:0;background:#000000a6;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:dmFadeIn .15s ease-out}@keyframes dmFadeIn{0%{opacity:0}to{opacity:1}}.dm-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:880px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;animation:dmZoomIn .18s ease-out}@keyframes dmZoomIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.dm-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.dm-header-title{display:flex;align-items:center;gap:12px}.dm-icon{font-size:24px}.dm-title{font-size:16px;font-weight:600;color:var(--text)}.dm-subtitle{font-size:12px;color:var(--text2);margin-top:2px}.dm-close{background:transparent;border:1px solid var(--border2);color:var(--text2);width:32px;height:32px;border-radius:8px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.dm-close:hover{background:var(--surface2);color:var(--text)}.dm-body{padding:18px 20px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.dm-uploader{border:2px dashed var(--border2);border-radius:10px;padding:22px 16px;text-align:center;cursor:pointer;transition:all .15s;background:var(--surface2)}.dm-uploader:hover,.dm-uploader.is-dragover{border-color:var(--blue-bar, #4f9bff);background:color-mix(in srgb,var(--blue-bar, #4f9bff) 10%,var(--surface2))}.dm-uploader-icon{font-size:28px;margin-bottom:6px}.dm-uploader-text{font-size:14px;color:var(--text);margin-bottom:4px}.dm-uploader-hint{font-size:11.5px;color:var(--text2)}.dm-readonly-note{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:12px;font-size:13px;color:var(--text2);text-align:center}.dm-progress{display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--blue-bar, #4f9bff) 12%,var(--surface2));border:1px solid color-mix(in srgb,var(--blue-bar, #4f9bff) 30%,transparent);border-radius:8px;padding:10px 14px;font-size:13px;color:var(--text)}.dm-spinner{width:14px;height:14px;border:2px solid color-mix(in srgb,var(--blue-bar, #4f9bff) 30%,transparent);border-top-color:var(--blue-bar, #4f9bff);border-radius:50%;animation:dmSpin .7s linear infinite}@keyframes dmSpin{to{transform:rotate(360deg)}}.dm-error{background:color-mix(in srgb,#ef4444 12%,var(--surface2));border:1px solid color-mix(in srgb,#ef4444 35%,transparent);color:#fca5a5;padding:10px 14px;border-radius:8px;font-size:13px}.dm-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;min-height:80px}.dm-state{text-align:center;padding:30px 12px;color:var(--text2);font-size:13px;grid-column:1 / -1}.dm-state.dm-empty{padding:50px 12px}.dm-state .dm-hint{font-size:12px;opacity:.7;margin-top:6px}.dm-card{background:var(--surface2);border:1px solid var(--border);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:transform .1s}.dm-card:hover{border-color:var(--blue-bar, #4f9bff);transform:translateY(-1px)}.dm-thumb{background:var(--bg, #0f1217);border:0;border-bottom:1px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;height:130px;padding:0}.dm-thumb-img{width:100%;height:100%;object-fit:contain}.dm-thumb-icon{font-size:42px;opacity:.8}.dm-meta{padding:8px 10px;flex:1;min-height:0}.dm-meta-name{font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px}.dm-meta-info{font-size:10.5px;color:var(--text2);line-height:1.4}.dm-actions{display:flex;gap:6px;padding:6px 10px 10px;justify-content:flex-end}.dm-btn{background:transparent;border:1px solid var(--border2);color:var(--text2);padding:4px 8px;border-radius:5px;font-size:12px;cursor:pointer;transition:all .1s}.dm-btn:hover{background:var(--surface3);color:var(--text)}.dm-btn-del:hover{background:color-mix(in srgb,#ef4444 18%,transparent);color:#fca5a5;border-color:color-mix(in srgb,#ef4444 40%,transparent)}.tpm-overlay{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:9000;padding:16px;animation:tpmFadeIn .15s ease-out}@keyframes tpmFadeIn{0%{opacity:0}to{opacity:1}}.tpm-modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%;max-width:1200px;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #00000080;overflow:hidden}.tpm-header{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--surface2);gap:12px}.tpm-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:2px}.tpm-subtitle{font-size:12px;color:var(--text2)}.tpm-close{background:transparent;border:1px solid var(--border);color:var(--text2);font-size:20px;line-height:1;padding:2px 10px;border-radius:6px;cursor:pointer;flex-shrink:0}.tpm-close:hover{background:var(--surface3);color:var(--text)}.tpm-body{padding:14px 18px;overflow-y:auto;flex:1}.tpm-loading,.tpm-empty,.tpm-error{text-align:center;padding:40px 20px;color:var(--text2);font-size:13px}.tpm-error{color:#fca5a5}.tpm-rn-header{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin-bottom:14px}.tpm-rn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 18px;font-size:12.5px}.tpm-key{color:var(--text2);margin-right:4px}.tpm-rn-note{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);font-size:12.5px;color:var(--text);font-style:italic}.tpm-badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.4px;margin-left:4px}.tpm-badge-done{background:color-mix(in srgb,#22c55e 20%,transparent);color:#86efac;border:1px solid color-mix(in srgb,#22c55e 40%,transparent)}.tpm-badge-locked{background:color-mix(in srgb,#ef4444 18%,transparent);color:#fca5a5;border:1px solid color-mix(in srgb,#ef4444 40%,transparent)}.tpm-badge-active{background:color-mix(in srgb,#4f9bff 18%,transparent);color:#93c5fd;border:1px solid color-mix(in srgb,#4f9bff 40%,transparent)}.tpm-ops-header{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:var(--text);margin-bottom:8px}.tpm-totals{display:flex;gap:16px;font-size:12px;color:var(--text2);font-weight:500}.tpm-muted{color:var(--text2)}.tpm-ops-table{width:100%;border-collapse:collapse;font-size:12.5px}.tpm-ops-table th,.tpm-ops-table td{padding:6px 8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.tpm-ops-table th{background:var(--surface2);color:var(--text2);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px;position:sticky;top:0;z-index:1}.tpm-ops-table tbody tr:hover{background:var(--surface2)}.tpm-num{text-align:right;font-variant-numeric:tabular-nums}.tpm-cell-strong{font-weight:700;color:var(--text)}.tpm-cell-center{text-align:center}.tpm-op-row.is-non-machining{background:color-mix(in srgb,#fbbf24 6%,transparent)}.tpm-op-row.is-non-machining td:nth-child(3):after{content:" (ne-mašinska)";color:#fcd34d;font-size:10.5px;font-style:italic}.tpm-status{display:inline-block;padding:1px 8px;border-radius:10px;font-size:10.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.tpm-status.s-waiting{background:color-mix(in srgb,#94a3b8 20%,transparent);color:#cbd5e1}.tpm-status.s-progress{background:color-mix(in srgb,#4f9bff 22%,transparent);color:#93c5fd}.tpm-status.s-blocked{background:color-mix(in srgb,#ef4444 22%,transparent);color:#fca5a5}.tpm-status.s-done{background:color-mix(in srgb,#22c55e 22%,transparent);color:#86efac}.tpm-toggle-logs{background:transparent;border:1px solid var(--border);color:var(--text2);font-size:12px;width:22px;height:22px;border-radius:4px;cursor:pointer;padding:0;line-height:1}.tpm-toggle-logs:hover{background:var(--surface3);color:var(--text)}.tpm-toggle-logs[aria-expanded=true]{background:var(--surface3);color:var(--text);border-color:var(--blue-bar, #4f9bff)}.tpm-op-num{display:inline-block;font-size:11px;color:var(--text3, #888);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;min-width:18px}.tpm-logs-row{display:none}.tpm-logs-row.is-open{display:table-row}.tpm-logs-row td{background:color-mix(in srgb,#4f9bff 5%,transparent);padding:0!important}.tpm-logs-wrap{padding:12px 16px 14px 40px}.tpm-logs-title{font-size:11px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}.tpm-logs-table{width:100%;border-collapse:collapse;font-size:11.5px}.tpm-logs-table th,.tpm-logs-table td{padding:4px 8px;border-bottom:1px solid var(--border);text-align:left}.tpm-logs-table th{background:var(--surface);color:var(--text2);font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.3px}.tpm-tag-done{display:inline-block;padding:0 6px;border-radius:4px;background:color-mix(in srgb,#22c55e 20%,transparent);color:#86efac;font-weight:700;font-size:10.5px}.tpm-pdf-section{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}.tpm-pdf-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.tpm-pdf-title{font-size:13px;color:var(--text);font-weight:600}.tpm-pdf-title strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#fbbf24}.tpm-pdf-revnote{font-size:11px;color:var(--text3);font-weight:400;cursor:help;margin-left:6px}.tpm-pdf-primary-btn{background:linear-gradient(180deg,#4f9bff,#2a73d4);border:1px solid #2a73d4;color:#fff;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .12s ease;box-shadow:0 1px 2px #00000040;min-height:40px;display:inline-flex;align-items:center;gap:6px}.tpm-pdf-primary-btn:hover:not(:disabled){background:linear-gradient(180deg,#6cabff,#3b85e6);box-shadow:0 2px 6px #4f9bff59;transform:translateY(-1px)}.tpm-pdf-primary-btn:active:not(:disabled){transform:translateY(0)}.tpm-pdf-primary-btn:disabled{opacity:.55;cursor:wait;filter:grayscale(.4)}.tpm-pdf-open-tab{background:var(--surface2);border:1px solid var(--border2);color:var(--text2);padding:4px 10px;border-radius:6px;font-size:11px;cursor:pointer;transition:all .12s ease}.tpm-pdf-open-tab:hover{background:var(--surface3);color:var(--text);border-color:var(--blue-bar, #4f9bff)}.tpm-pdf-frame-wrap{position:relative;width:100%;height:600px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;overflow:hidden}.tpm-pdf-frame{width:100%;height:100%;border:0;display:block;opacity:0;transition:opacity .2s ease}.tpm-pdf-frame.is-loaded{opacity:1}.tpm-pdf-msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text2);font-size:13px;pointer-events:none;text-align:center;padding:16px;line-height:1.4}.tpm-pdf-msg.is-error{color:#fca5a5}.tpm-pdf-msg.is-info{color:var(--text2)}.tpm-version{font-size:10px;font-weight:400;color:var(--text3, #888);background:var(--surface2);border:1px solid var(--border2);padding:1px 6px;border-radius:999px;margin-left:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;vertical-align:middle;cursor:help}@media (max-width: 720px){.tpm-pdf-frame-wrap{height:320px}.tpm-pdf-primary-btn{padding:12px 18px;font-size:15px;min-height:44px}.tpm-pdf-header{flex-direction:column;align-items:stretch;gap:10px}.tpm-pdf-header .tpm-pdf-primary-btn{width:100%;justify-content:center}}#module-sastanci .sast-tabpanel{padding:24px;max-width:1400px;margin:0 auto}.sast-loading,.sast-empty{padding:32px 16px;text-align:center;color:var(--text2, #888);font-style:italic;background:var(--surface2, #f6f6f6);border-radius:8px;margin:12px 0}.sast-empty{font-style:normal}.sast-section{background:var(--surface, #fff);border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000000d}.sast-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border, #e5e5e5)}.sast-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sast-toolbar-actions{display:flex;gap:8px}.sast-input,.sast-section input[type=text],.sast-section input[type=email],.sast-section input[type=number],.sast-section input[type=date],.sast-section input[type=time],.sast-section input[type=search],.sast-section select,.sast-section textarea{padding:6px 10px;border:1px solid var(--border, #d4d4d4);border-radius:6px;background:var(--surface, #fff);color:var(--text, #1a1a1a);font-size:13px;font-family:inherit}.sast-checkbox{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text2);cursor:pointer}.sast-dashboard{display:flex;flex-direction:column;gap:20px}.sast-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.sast-stat-card{--accent: #3b82f6;display:flex;flex-direction:column;align-items:flex-start;padding:16px;background:var(--surface, #fff);border:1px solid var(--border, #e5e5e5);border-left:4px solid var(--accent);border-radius:8px;cursor:pointer;transition:transform .12s,box-shadow .12s}.sast-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.sast-stat-icon{font-size:24px;margin-bottom:6px}.sast-stat-value{font-size:32px;font-weight:700;line-height:1;color:var(--text, #1a1a1a)}.sast-stat-label{font-size:12px;color:var(--text2, #888);margin-top:4px;text-transform:uppercase;letter-spacing:.04em}.sast-dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.sast-dash-card{background:var(--surface, #fff);border:1px solid var(--border, #e5e5e5);border-radius:8px;padding:16px}.sast-dash-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border, #e5e5e5)}.sast-dash-card h3{margin:0;font-size:14px;font-weight:600;color:var(--text, #1a1a1a)}.sast-link,.sast-link-btn{font-size:12px;color:var(--primary, #2563eb);text-decoration:none;cursor:pointer;background:none;border:none;padding:0;font-family:inherit}.sast-link:hover,.sast-link-btn:hover{text-decoration:underline}.sast-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.sast-list-item{display:flex;gap:12px;padding:8px;border-radius:6px;background:var(--surface2, #f9f9f9);align-items:flex-start}.sast-list-date{flex:0 0 80px;text-align:center;background:var(--surface, #fff);padding:6px;border-radius:6px;border:1px solid var(--border, #e5e5e5)}.sast-list-day{font-size:13px;font-weight:600}.sast-list-time{font-size:11px;color:var(--text2, #888)}.sast-list-status{flex:0 0 32px;height:32px;width:32px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.sast-list-main{flex:1;min-width:0}.sast-list-title{font-size:13px;font-weight:600;color:var(--text, #1a1a1a);margin-bottom:2px}.sast-list-meta{font-size:11px;color:var(--text2, #888)}.sast-tip-badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:10px;margin-right:6px;letter-spacing:.04em}.sast-tip-sedmicni{background:#dbeafe;color:#1d4ed8}.sast-tip-projektni{background:#fef3c7;color:#92400e}.sast-status-pill{display:inline-block;font-size:11px;font-weight:600;color:#fff;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.03em}.sast-lock-badge{display:inline-block;background:#f3e8ff;color:#6b21a8;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;margin-left:6px}.sast-table-wrap{overflow-x:auto;margin-top:8px}.sast-table{width:100%;border-collapse:collapse;font-size:13px}.sast-table th,.sast-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border, #e5e5e5);vertical-align:top}.sast-table th{background:var(--surface2, #f9f9f9);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text2, #888)}.sast-table tbody tr:hover{background:var(--surface2, #f9f9f9)}.sast-table-clickable tbody tr{cursor:pointer}.sast-row-late td{background:#ef444414}.sast-row-sub{font-size:11px;color:var(--text2, #888);margin-top:4px}.sast-th-actions{width:1%;text-align:right;white-space:nowrap}.sast-td-actions{text-align:right;white-space:nowrap}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border, #d4d4d4);border-radius:4px;background:var(--surface, #fff);color:var(--text, #1a1a1a);font-size:12px;cursor:pointer;margin-left:2px;padding:0;font-family:inherit}.btn-icon:hover{background:var(--surface2, #f6f6f6)}.btn-icon.btn-success{background:#10b981;color:#fff;border-color:#059669}.btn-icon.btn-success:hover{background:#059669}.btn-icon.btn-danger{background:#ef4444;color:#fff;border-color:#dc2626}.btn-icon.btn-danger:hover{background:#dc2626}.btn-icon.btn-primary{background:#2563eb;color:#fff;border-color:#1d4ed8}.btn-icon.btn-primary:hover{background:#1d4ed8}.sast-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:24px}.sast-modal-overlay-wide{align-items:stretch;padding:16px}.sast-modal{background:var(--surface, #fff);border-radius:8px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.sast-modal-wide{max-width:1200px;height:92vh}.sast-modal-loading{padding:32px;text-align:center;color:var(--text2)}.sast-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #e5e5e5)}.sast-modal-header h3{margin:0;font-size:16px}.sast-modal-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text2);padding:4px 8px;font-family:inherit}.sast-modal-close:hover{color:var(--text)}.sast-modal-body{flex:1;overflow-y:auto;padding:20px}.sast-modal-body-tabs{padding:0;display:flex;flex-direction:column}.sast-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border, #e5e5e5)}.sast-modal-header-rich{flex-direction:column;align-items:flex-start;gap:12px}.sast-mh-left{display:flex;flex-direction:column;gap:4px;width:100%}.sast-mh-tip{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sast-mh-title{margin:4px 0 0;font-size:18px;font-weight:600}.sast-mh-meta{font-size:12px;color:var(--text2)}.sast-mh-right{display:flex;align-items:center;gap:8px;width:100%;justify-content:flex-end}.btn-sm{padding:4px 10px!important;font-size:12px!important}.sast-inner-tabs{display:flex;border-bottom:1px solid var(--border, #e5e5e5);background:var(--surface2, #f9f9f9);flex-wrap:wrap}.sast-inner-tab{background:none;border:none;padding:10px 16px;font-size:13px;cursor:pointer;color:var(--text2);border-bottom:2px solid transparent;font-family:inherit}.sast-inner-tab.is-active{color:var(--primary, #2563eb);border-bottom-color:var(--primary, #2563eb);background:var(--surface, #fff);font-weight:600}.sast-inner-tabbody{flex:1;overflow-y:auto;padding:20px}.sast-form{display:flex;flex-direction:column;gap:12px}.sast-form-row{display:flex;flex-direction:column;gap:4px}.sast-form-row>span{font-size:12px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.03em}.sast-form-row input,.sast-form-row select,.sast-form-row textarea{padding:8px 12px!important;font-size:14px!important;border:1px solid var(--border, #d4d4d4);border-radius:6px}.sast-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.sast-info-row{background:var(--surface2, #f6f6f6);border-left:3px solid var(--primary, #2563eb);padding:8px 12px;font-size:13px;border-radius:4px;margin:8px 0}.sast-tip-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sast-tip-card{background:var(--surface, #fff);border:2px solid var(--border, #e5e5e5);border-radius:8px;padding:20px;text-align:left;cursor:pointer;transition:all .15s;font-family:inherit}.sast-tip-card:hover{border-color:var(--primary, #2563eb);background:var(--surface2, #f6f9ff);transform:translateY(-2px)}.sast-tip-icon{font-size:32px;margin-bottom:8px}.sast-tip-name{font-size:15px;font-weight:700;color:var(--text, #1a1a1a);margin-bottom:6px}.sast-tip-desc{font-size:12px;color:var(--text2, #888);line-height:1.4}.sast-step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sast-add-row{display:flex;gap:8px;margin-bottom:12px}.sast-add-row input{flex:1}.sast-ucesnici-list{margin-top:8px}.sast-agenda{list-style:decimal inside;padding:0;margin:0}.sast-agenda-item{background:var(--surface2, #f9f9f9);border-radius:6px;padding:12px;margin-bottom:8px;display:flex;justify-content:space-between;gap:12px}.sast-agenda-main{flex:1;min-width:0}.sast-agenda-title{font-weight:600;margin-bottom:4px}.sast-agenda-desc{font-size:13px;color:var(--text2);margin-bottom:4px}.sast-agenda-meta{font-size:11px;color:var(--text2)}.sast-free-themes{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.sast-free-tema-btn{padding:6px 10px;background:var(--surface2);border:1px dashed var(--border);border-radius:6px;font-size:12px;cursor:pointer;font-family:inherit;color:var(--text)}.sast-free-tema-btn:hover{background:var(--primary, #2563eb);color:#fff;border-style:solid}.sast-presek-list{display:flex;flex-direction:column;gap:16px}.sast-presek-card{background:var(--surface, #fff);border:1px solid var(--border, #e5e5e5);border-left:4px solid var(--primary, #2563eb);border-radius:8px;padding:16px;transition:box-shadow .15s}.sast-presek-card:hover{box-shadow:0 4px 12px #0000000f}.sast-presek-card.is-dragging{opacity:.5}.sast-presek-card.is-drag-over{border-top:3px solid var(--primary, #2563eb)}.sast-presek-card-header{position:relative;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border, #e5e5e5)}.sast-presek-card-meta{display:flex;gap:8px;align-items:center;margin-bottom:6px;flex-wrap:wrap}.sast-presek-rb{background:var(--primary, #2563eb);color:#fff;padding:2px 10px;border-radius:4px;font-weight:600;font-size:11px}.sast-presek-podrn{background:#f3e8ff;color:#6b21a8;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.sast-presek-card-title{margin:4px 0;font-size:16px;font-weight:600}.sast-presek-card-sub{font-size:12px;color:var(--text2)}.sast-presek-card-actions{position:absolute;top:0;right:0;display:flex;gap:4px}.sast-presek-content{padding:8px 0;line-height:1.6}.sast-presek-content ul,.sast-presek-content ol{margin:6px 0;padding-left:24px}.sast-presek-content p{margin:6px 0}.sast-presek-content h1,.sast-presek-content h2,.sast-presek-content h3,.sast-presek-content h4{margin:12px 0 4px}.sast-presek-gallery{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border, #e5e5e5)}.sast-presek-gallery-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px}.sast-presek-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.sast-presek-gal-empty{padding:16px;text-align:center;color:var(--text2);font-size:12px;background:var(--surface2);border-radius:6px}.sast-presek-thumb{position:relative;margin:0;background:var(--surface2);border-radius:6px;overflow:hidden}.sast-presek-thumb img{width:100%;height:120px;object-fit:cover;display:block;cursor:pointer}.sast-presek-thumb figcaption{padding:4px 6px;font-size:11px;color:var(--text2)}.sast-thumb-fallback{height:120px;display:flex;align-items:center;justify-content:center;font-size:32px;background:var(--surface2)}.sast-thumb-del{position:absolute;top:4px;right:4px;background:#ef4444e6;color:#fff;border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:12px;font-family:inherit}.sast-rt-toolbar{display:flex;flex-wrap:wrap;gap:4px;background:var(--surface2);padding:6px;border:1px solid var(--border);border-bottom:none;border-radius:6px 6px 0 0}.sast-rt-toolbar button{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;font-family:inherit;color:var(--text)}.sast-rt-toolbar button:hover{background:var(--primary, #2563eb);color:#fff}.sast-rt-sep{width:1px;background:var(--border);margin:4px}.sast-rt-editor{min-height:200px;padding:12px;border:1px solid var(--border);border-radius:0 0 6px 6px;background:var(--surface);font-size:14px;line-height:1.6;outline:none}.sast-rt-editor:focus{border-color:var(--primary, #2563eb);box-shadow:0 0 0 2px #2563eb26}.sast-rt-editor:empty:before{content:attr(data-placeholder);color:var(--text2);pointer-events:none}.sast-lightbox{position:fixed;inset:0;background:#000000eb;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:32px}.sast-lightbox img{max-width:100%;max-height:100%;object-fit:contain}.sast-lightbox-close{position:fixed;top:20px;right:20px;background:#fff3;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:18px;cursor:pointer;font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border:1px solid var(--border, #d4d4d4);border-radius:6px;background:var(--surface, #fff);color:var(--text, #1a1a1a);font-size:13px;cursor:pointer;font-family:inherit;text-decoration:none;transition:all .12s}.btn:hover{background:var(--surface2, #f6f6f6)}.btn.btn-primary{background:var(--primary, #2563eb);color:#fff;border-color:var(--primary, #2563eb)}.btn.btn-primary:hover{background:#1d4ed8}.btn.btn-success{background:#10b981;color:#fff;border-color:#059669}.btn.btn-danger{background:#ef4444;color:#fff;border-color:#dc2626}body.dark .sast-tip-sedmicni{background:#3b82f633;color:#93c5fd}body.dark .sast-tip-projektni{background:#f59e0b33;color:#fcd34d}body.dark .sast-presek-podrn,body.dark .sast-lock-badge{background:#a855f733;color:#d8b4fe}.sast-subtabs{display:flex;gap:6px;padding:8px 0 12px;border-bottom:1px solid var(--border, #e5e5e5);margin-bottom:12px;flex-wrap:wrap}.sast-subtab{background:transparent;border:1px solid transparent;padding:8px 14px;border-radius:6px 6px 0 0;cursor:pointer;font-size:13px;color:var(--text2, #666);transition:all .12s}.sast-subtab:hover{background:var(--surface2, #f6f6f6);color:var(--text, #1a1a1a)}.sast-subtab.is-active{background:var(--surface, #fff);color:var(--primary, #2563eb);border-color:var(--border, #e5e5e5);border-bottom-color:var(--surface, #fff);font-weight:600;position:relative;top:1px}.sast-subtab.is-hitno-tab{color:#dc2626}.sast-subtab.is-hitno-tab.is-active{color:#dc2626;background:#ef44440f}.sast-table tr.is-hitno{background:#ef44440d;box-shadow:inset 4px 0 #ef4444}.sast-table tr.is-hitno:hover{background:#ef44441a}.sast-table tr.is-razmatra{background:#fbbf2412;box-shadow:inset 4px 0 #f59e0b}.sast-table tr.is-hitno.is-razmatra{background:linear-gradient(90deg,#ef44441a,#fbbf2412);box-shadow:inset 4px 0 #ef4444,inset 8px 0 #f59e0b}.sast-table tr.is-mine{border-left:0}.sast-table tr.is-mine .tema-naslov-line strong:before{content:"👤 ";opacity:.5;font-size:.85em}.tema-naslov-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sast-flag{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.sast-flag.flag-hitno{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.sast-flag.flag-razmatra{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.sast-mine{color:var(--primary, #2563eb);font-weight:600;font-size:11px}.sast-teme-table .th-rang,.sast-pregled-table .th-rang{width:70px;text-align:center}.sast-teme-table .td-rang,.sast-pregled-table .td-rang{text-align:center;vertical-align:middle}.rang-input{width:50px;padding:4px 6px;border:1px solid var(--border, #e5e5e5);border-radius:4px;text-align:center;font-size:13px;background:var(--surface, #fff);color:var(--text, #1a1a1a)}.rang-input:focus{outline:2px solid var(--primary, #2563eb);outline-offset:-1px;border-color:var(--primary, #2563eb)}.rang-display{display:inline-block;min-width:24px;text-align:center;color:var(--text2, #888);font-weight:600;font-variant-numeric:tabular-nums}.btn-icon.btn-ghost{background:transparent;border:1px solid transparent;color:var(--text2, #888)}.btn-icon.btn-ghost:hover{background:var(--surface2, #f6f6f6);color:var(--text, #1a1a1a)}.btn-icon.btn-warn{background:#f59e0b;color:#fff;border-color:#d97706}.btn-icon.btn-warn.active,.btn-icon.btn-danger.active{outline:2px solid currentColor;outline-offset:1px}.sast-form-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;padding:10px 12px;background:var(--surface2, #f9f9f9);border-radius:6px;margin-top:4px}.sast-form-check input[type=checkbox]{margin-top:3px;width:16px;height:16px;flex-shrink:0}.sast-form-check span{flex:1;font-size:13px;line-height:1.4}.sast-pregled-header{margin-bottom:16px}.sast-pregled-header h3{margin:0 0 4px;font-size:18px;color:var(--text, #1a1a1a)}.sast-pregled-sub{margin:0;font-size:13px;color:var(--text2, #666)}.sast-pregled-grid{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}@media (max-width: 900px){.sast-pregled-grid{grid-template-columns:1fr}}.sast-pregled-projekti{background:var(--surface2, #f9f9f9);border:1px solid var(--border, #e5e5e5);border-radius:8px;padding:12px;position:sticky;top:12px;max-height:calc(100vh - 220px);overflow-y:auto}.sast-pregled-projekti h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text2, #888)}.sast-projekti-list{display:flex;flex-direction:column;gap:4px}.sast-projekat-item{background:transparent;border:1px solid transparent;border-radius:6px;padding:8px 10px;text-align:left;cursor:pointer;font-family:inherit;font-size:13px;color:var(--text, #1a1a1a);transition:all .12s}.sast-projekat-item:hover{background:var(--surface, #fff);border-color:var(--border, #e5e5e5)}.sast-projekat-item.is-active{background:var(--surface, #fff);border-color:var(--primary, #2563eb);box-shadow:0 1px 3px #2563eb26}.sast-projekat-naslov{font-weight:600;margin-bottom:2px}.sast-projekat-sub{font-size:11px;color:var(--text2, #888)}.sast-pregled-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px;flex-wrap:wrap}.sast-pregled-toolbar h4{margin:0;font-size:16px;color:var(--text, #1a1a1a)}.sast-pregled-meta{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text2, #666)}.sast-pregled-table tr[draggable=true]{cursor:grab}.sast-pregled-table tr.dragging{opacity:.4;cursor:grabbing}.sast-pregled-table tr.drop-target td{border-top:2px solid var(--primary, #2563eb)}.drag-handle{display:inline-block;color:var(--text2, #aaa);cursor:grab;padding:0 4px;user-select:none;font-size:14px;line-height:1}.drag-handle:hover{color:var(--text, #1a1a1a)}.sast-td-flags{display:flex;gap:4px;padding-top:12px}body.dark .sast-subtab.is-active{background:var(--surface, #1e1e1e);border-bottom-color:var(--surface, #1e1e1e)}body.dark .sast-table tr.is-hitno{background:#ef44441f}body.dark .sast-table tr.is-hitno:hover{background:#ef44442e}body.dark .sast-table tr.is-razmatra{background:#fbbf2424}body.dark .sast-flag.flag-hitno{background:#ef444433;color:#fca5a5;border-color:#ef444466}body.dark .sast-flag.flag-razmatra{background:#fbbf242e;color:#fcd34d;border-color:#fbbf2466}body.dark .sast-form-check{background:#ffffff0a}body.dark .sast-projekat-item.is-active{background:var(--surface, #1e1e1e);border-color:var(--primary, #3b82f6)}.mnt-wrap{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:var(--font)}.mnt-main{flex:1;padding:16px 20px 32px;max-width:1200px;margin:0 auto;width:100%}.mnt-subnav{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.mnt-subnav button{border:1px solid var(--border3);background:var(--surface2);color:var(--text);padding:8px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px}.mnt-subnav button:hover{border-color:var(--accent);color:var(--accent)}.mnt-subnav button.mnt-subnav-active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.mnt-kpi-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:20px}.mnt-kpi{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);padding:14px 16px}.mnt-kpi-label{display:block;font-size:12px;color:var(--text2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.mnt-kpi-val{display:block;font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}.mnt-kpi.mnt-kpi--running .mnt-kpi-val{color:var(--green-light)}.mnt-kpi.mnt-kpi--degraded .mnt-kpi-val{color:var(--orange)}.mnt-kpi.mnt-kpi--down .mnt-kpi-val{color:var(--red)}.mnt-kpi.mnt-kpi--maintenance .mnt-kpi-val{color:var(--blue-bar)}.mnt-kpi.mnt-kpi--late .mnt-kpi-val{color:var(--orange)}.mnt-kpi.mnt-kpi--today .mnt-kpi-val{color:var(--blue-bar)}button.mnt-kpi{font:inherit;color:var(--text);text-align:left;cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .08s}button.mnt-kpi:hover{border-color:var(--accent);box-shadow:0 2px 6px #00000014}button.mnt-kpi:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.mnt-kpi:active{transform:translateY(1px)}.mnt-kpi.mnt-kpi--zero{background:var(--surface2)}.mnt-kpi.mnt-kpi--zero .mnt-kpi-val,.mnt-kpi.mnt-kpi--zero .mnt-kpi-label{color:var(--text2);opacity:.7}.mnt-info-banner{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;margin:0 0 14px;background:var(--blue-bg);border:1px solid color-mix(in srgb,var(--blue-bar) 40%,transparent);border-radius:var(--radius);color:var(--text);font-size:13px;line-height:1.45}.mnt-info-banner-ico{flex-shrink:0;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--blue-bar);color:#fff;font-weight:700;font-size:13px}.mnt-info-banner-body{flex:1;min-width:0}.mnt-info-banner-body strong{display:block;margin-bottom:2px;color:var(--text)}.mnt-tech-details summary{cursor:pointer;color:var(--text2);font-size:12px;padding:4px 0;list-style:revert}.mnt-tech-details summary:hover{color:var(--accent)}.mnt-muted{color:var(--text2);font-size:14px}.mnt-table-wrap{overflow-x:auto;border:1px solid var(--border2);border-radius:var(--radius);background:var(--surface)}.mnt-table{width:100%;border-collapse:collapse;font-size:14px}.mnt-table th,.mnt-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border2)}.mnt-table th{color:var(--text2);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.mnt-table tbody tr{cursor:pointer}.mnt-table tbody tr:hover{background:var(--row-hover)}.mnt-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize}.mnt-badge--running{background:var(--green-bg);color:var(--green-light)}.mnt-badge--degraded{background:var(--orange-bg);color:var(--orange)}.mnt-badge--down{background:var(--red-bg);color:var(--red)}.mnt-badge--maintenance{background:var(--blue-bg);color:var(--blue-bar)}.mnt-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.mnt-tabs a,.mnt-tabs button{border:1px solid var(--border3);background:var(--surface2);color:var(--text2);padding:6px 12px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;text-decoration:none}.mnt-tabs a.mnt-tab-active,.mnt-tabs button.mnt-tab-active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.mnt-panel{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);padding:16px;margin-top:8px}.mnt-list{margin:0;padding-left:18px;color:var(--text2);font-size:14px}.mnt-list li{margin:6px 0}.mnt-attention h3{font-size:15px;margin:0;color:var(--text)}.mnt-att-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 10px}.mnt-att-count{font-size:12px}.mnt-att-list{list-style:none;margin:0;padding:0;border:1px solid var(--border2);border-radius:var(--radius);background:var(--surface);overflow:hidden}.mnt-att-row{display:grid;grid-template-columns:minmax(180px,1.4fr) auto minmax(0,1.4fr) auto;align-items:center;gap:14px;padding:10px 14px;border-bottom:1px solid var(--border2)}.mnt-att-row:last-child{border-bottom:0}.mnt-att-row:hover{background:var(--row-hover)}.mnt-att-name{font-weight:600;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mnt-att-status{display:inline-flex;gap:6px;flex-wrap:nowrap;align-items:center}.mnt-att-problem{color:var(--text2);font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mnt-att-action{padding:4px 10px;font-size:12px;background:transparent;border:1px solid var(--border3);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;white-space:nowrap}.mnt-att-action:hover{border-color:var(--accent);color:var(--accent)}.mnt-att-empty{display:flex;flex-direction:column;gap:4px;padding:18px 16px;border:1px dashed var(--border2);border-radius:var(--radius);background:var(--surface2);color:var(--text);font-size:14px}@media (max-width: 719px){.mnt-att-row{grid-template-columns:1fr auto;grid-template-areas:"name status" "problem action";row-gap:4px}.mnt-att-name{grid-area:name;white-space:normal}.mnt-att-status{grid-area:status;justify-self:end}.mnt-att-problem{grid-area:problem;white-space:normal}.mnt-att-action{grid-area:action;justify-self:end}}.mnt-catalog-link{background:transparent;border:0;padding:4px 2px;color:var(--text2);font:inherit;font-size:12px;cursor:pointer;text-decoration:none}.mnt-catalog-link:hover{color:var(--accent);text-decoration:underline}.mnt-linkish{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font:inherit;text-align:left;text-decoration:underline}.mnt-linkish:hover{color:var(--accent-hover)}.mnt-table--edit{font-size:13px}.mnt-table--edit tbody tr{cursor:default}.mnt-table--edit tbody tr:hover{background:transparent}.mnt-table--edit th{white-space:nowrap;cursor:pointer;user-select:none}.mnt-table--edit th.mnt-th-sort:hover{color:var(--accent)}.mnt-table--edit th .mnt-sort-arrow{display:inline-block;width:10px;margin-left:2px;color:var(--accent);opacity:.8}.mnt-table--edit td{padding:4px 6px;vertical-align:middle}.mnt-cell-input,.mnt-cell-select{width:100%;min-width:0;padding:6px 8px;font:inherit;color:var(--text);background:transparent;border:1px solid transparent;border-radius:4px;box-sizing:border-box}.mnt-cell-input:hover,.mnt-cell-select:hover{border-color:var(--border3);background:var(--surface2)}.mnt-cell-input:focus,.mnt-cell-select:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 2px var(--accent-dim)}.mnt-cell-input[readonly]{background:transparent!important;border-color:transparent!important;color:var(--text2);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;cursor:default}.mnt-cell-input--num{text-align:right;font-variant-numeric:tabular-nums}.mnt-col-code{min-width:110px}.mnt-col-name{min-width:200px}.mnt-col-type{min-width:140px}.mnt-col-mfr{min-width:130px}.mnt-col-model{min-width:120px}.mnt-col-serial{min-width:110px}.mnt-col-year{width:70px;min-width:70px}.mnt-col-loc{min-width:160px}.mnt-col-num{width:80px;min-width:70px}.mnt-col-docs{width:70px;min-width:60px;text-align:center}.mnt-col-track{width:60px;min-width:50px;text-align:center}.mnt-col-notes{min-width:220px}.mnt-col-act{width:240px;min-width:220px;white-space:nowrap;text-align:right}.mnt-docs-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:3px 8px;font-size:12px;font-weight:500;line-height:1.4;color:var(--text2);background:transparent;border:1px dashed var(--border2);border-radius:12px;cursor:pointer;transition:background-color .1s,color .1s,border-color .1s}.mnt-docs-badge:hover{color:var(--text);background:var(--surface2);border-color:var(--accent);border-style:solid}.mnt-docs-badge--has{color:var(--accent);background:var(--accent-dim);border-style:solid;border-color:var(--accent)}.mnt-row-dirty>td{background:var(--accent-dim)}.mnt-row-dirty>td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.mnt-row-archived>td{opacity:.55}.mnt-row-act{display:inline-flex;gap:4px;flex-wrap:nowrap}.mnt-row-act .btn{padding:3px 8px;font-size:11px;line-height:1.4}.mnt-row-act .btn[disabled]{opacity:.4;cursor:not-allowed}.mnt-edit-bar{position:sticky;bottom:0;display:flex;gap:10px;align-items:center;padding:10px 14px;margin-top:12px;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);box-shadow:0 -2px 10px #00000026;z-index:2}.mnt-edit-bar--empty{display:none}.mnt-edit-bar strong{color:var(--accent)}.mnt-admin-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--radius);margin:10px 0 14px}.mnt-admin-cta .mnt-admin-cta-text{flex:1;min-width:200px;font-size:13px;color:var(--text)}.mnt-admin-cta .btn{white-space:nowrap}.mnt-ops-header{position:sticky;top:0;z-index:5;background:var(--bg);padding:12px 0 10px;margin:-4px 0 12px;border-bottom:1px solid var(--border2)}.mnt-ops-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mnt-search-wrap{flex:1;min-width:180px;max-width:420px}.mnt-search-input{width:100%;height:38px}.mnt-loc-select{width:200px;height:38px}.mnt-header-cta{height:38px;font-weight:600;background:var(--red);color:#fff;border-color:var(--red);padding:0 16px}.mnt-header-cta:hover{background:var(--red-bg);color:var(--red)}.mnt-header-admin-btn{height:38px;background:var(--surface3);padding:0 14px}.mnt-chip-row{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.mnt-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:999px;border:1px solid var(--border3);background:var(--surface2);color:var(--text2);font-size:13px;font-weight:500;cursor:pointer;transition:background-color .12s,border-color .12s,color .12s;line-height:1.4}.mnt-chip:hover{border-color:var(--accent);color:var(--accent)}.mnt-chip--active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.mnt-chip--warn{color:var(--orange);border-color:color-mix(in srgb,var(--orange) 60%,transparent)}.mnt-chip--down{color:var(--red);border-color:color-mix(in srgb,var(--red) 60%,transparent)}.mnt-chip--today{color:var(--blue-bar);border-color:color-mix(in srgb,var(--blue-bar) 60%,transparent)}.mnt-chip--active.mnt-chip--warn{background:var(--orange-bg)}.mnt-chip--active.mnt-chip--down{background:var(--red-bg)}.mnt-chip--active.mnt-chip--today{background:var(--blue-bg)}.mnt-chip-groups{display:flex;flex-direction:column;gap:6px;margin:6px 0 8px}.mnt-chip-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mnt-chip-group-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text2);min-width:56px;flex-shrink:0}.mnt-chip-group .mnt-chip-row{margin:0;flex:1}@media (max-width: 720px){.mnt-chip-group{flex-direction:column;align-items:flex-start;gap:4px}.mnt-chip-group-label{min-width:0}}.mnt-active-filter{display:inline-flex;align-items:center;gap:6px;margin:4px 0 6px;padding:4px 6px 4px 10px;background:var(--red-bg);border:1px solid color-mix(in srgb,var(--red) 50%,transparent);border-radius:999px;width:fit-content}.mnt-active-filter-x{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:0;background:transparent;color:var(--red);font-size:16px;line-height:1;cursor:pointer;padding:0}.mnt-active-filter-x:hover{background:color-mix(in srgb,var(--red) 18%,transparent)}.mnt-summary-bar{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:4px 2px 0}.mnt-sum-meta{font-size:12px;color:var(--text2)}.mnt-sum-item{display:inline-flex;gap:6px;align-items:baseline;color:var(--text);font-size:13px}.mnt-sum-label{color:var(--text2);text-transform:lowercase}.mnt-sum-val{font-weight:700;font-variant-numeric:tabular-nums;font-size:15px}.mnt-sum-item--down .mnt-sum-val{color:var(--red)}.mnt-sum-item--late .mnt-sum-val{color:var(--orange)}.mnt-sum-item--today .mnt-sum-val{color:var(--blue-bar)}.mnt-priority{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;line-height:1.4;vertical-align:middle;margin-left:4px}.mnt-priority--down{color:var(--red);background:var(--red-bg)}.mnt-priority--warn,.mnt-priority--late{color:var(--orange);background:var(--orange-bg)}.mnt-priority--maint,.mnt-priority--today{color:var(--blue-bar);background:var(--blue-bg)}.mnt-priority--soon{color:var(--text2);background:var(--surface3)}.mnt-ops-tablewrap{display:block}.mnt-ops-table td{vertical-align:middle;padding:10px 12px}.mnt-ops-table .mnt-c-code{white-space:nowrap;width:1%}.mnt-ops-table .mnt-c-name{min-width:220px}.mnt-ops-table .mnt-c-name .mnt-name-main{font-weight:600;color:var(--text);line-height:1.25;font-size:14px}.mnt-ops-table .mnt-c-name .mnt-name-sub{color:var(--text2);font-size:12px;margin-top:2px}.mnt-ops-table .mnt-c-status,.mnt-ops-table .mnt-c-next,.mnt-ops-table .mnt-c-loc,.mnt-ops-table .mnt-c-resp{white-space:nowrap}.mnt-ops-table .mnt-c-act{text-align:right;white-space:nowrap;width:1%}.mnt-quick-actions{display:inline-flex;gap:4px;flex-wrap:nowrap}.mnt-qa{padding:5px 10px;border-radius:var(--radius-sm);border:1px solid var(--border3);background:var(--surface2);color:var(--text);font-size:12px;font-weight:500;cursor:pointer;line-height:1.4;transition:background-color .12s,border-color .12s,color .12s}.mnt-qa:hover{background:var(--surface3);border-color:var(--accent);color:var(--accent)}.mnt-qa--primary{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.mnt-qa--danger{background:var(--red-bg);border-color:color-mix(in srgb,var(--red) 60%,transparent);color:var(--red)}.mnt-qa--danger:hover{background:var(--red);color:#fff}.mnt-cards-wrap{display:none;flex-direction:column;gap:10px;margin-top:4px}.mnt-machine-card{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);padding:12px 14px;cursor:pointer}.mnt-machine-card:hover{border-color:var(--accent)}.mnt-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}.mnt-card-name{font-weight:600;font-size:15px;line-height:1.25}.mnt-card-meta{color:var(--text2);font-size:12px;margin-top:2px}.mnt-card-status{text-align:right;font-size:12px;flex-shrink:0}.mnt-card-body{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:13px;color:var(--text);margin:6px 0 8px}.mnt-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.mnt-card-actions .mnt-qa{flex:1;min-width:80px;text-align:center;padding:8px 10px;font-size:13px}@media (max-width: 719px){.mnt-ops-tablewrap{display:none}.mnt-cards-wrap{display:flex}.mnt-ops-toolbar{gap:8px}.mnt-search-wrap{flex:1 1 100%;max-width:none}.mnt-loc-select{flex:1;width:auto;min-width:0}.mnt-header-cta{flex:0 0 auto}}.mnt-overview{display:flex;flex-direction:column;gap:12px}.mnt-ovr-card{padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface2)}.mnt-ovr-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mnt-ovr-when{font-size:12px}.mnt-ovr-reason{margin-top:6px;white-space:pre-wrap}.mnt-ov-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mnt-ov-col{min-width:0}.mnt-ov-resp{font-size:14px;margin-bottom:6px}.mnt-ov-meta{margin:0 0 6px;font-size:13px}.mnt-ov-tasks{font-size:13px}.mnt-ov-subtitle{font-size:13px;color:var(--text2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.mnt-ov-list{padding-left:0;list-style:none;margin:0}.mnt-ov-list li{padding:4px 0;font-size:14px}.mnt-ov-notes{padding:10px 12px;border-left:3px solid var(--border);background:var(--surface2);white-space:pre-wrap;border-radius:0 6px 6px 0}@media (max-width: 719px){.mnt-ov-grid{grid-template-columns:1fr}}.mnt-task-group{margin-bottom:16px}.mnt-task-group-h{font-size:13px;color:var(--text2);text-transform:uppercase;letter-spacing:.04em;margin:4px 0 6px}.mnt-task-list{padding:0;list-style:none;margin:0}.mnt-task-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border2)}.mnt-task-item:last-child{border-bottom:0}.mnt-task-info{flex:1;min-width:0}.mnt-task-ok{min-width:72px;padding:8px 14px;font-size:14px;font-weight:600;background:var(--green-bg);color:var(--green-light);border:1px solid color-mix(in srgb,var(--green-light) 50%,transparent)}.mnt-task-ok:hover{background:var(--green-light);color:#fff}.mnt-hist-list{padding:0;list-style:none;margin:0}.mnt-hist-item{display:grid;grid-template-columns:140px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--border2);font-size:14px}.mnt-hist-item:last-child{border-bottom:0}.mnt-hist-when{color:var(--text2);font-size:12px;font-variant-numeric:tabular-nums;padding-top:2px}.mnt-hist-body{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.mnt-hist-kind{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.mnt-hist-kind--inc{background:var(--red-bg);color:var(--red)}.mnt-hist-kind--chk{background:var(--blue-bg);color:var(--blue-bar)}.mnt-hist-note{flex-basis:100%;font-size:12px;padding-left:4px;white-space:pre-wrap}@media (max-width: 719px){.mnt-hist-item{grid-template-columns:1fr}}.mnt-inc-photo-wrap{border:1px dashed var(--border3);border-radius:6px;padding:10px;background:var(--surface2)}.mnt-inc-photo-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent);border-radius:6px;cursor:pointer}.mnt-inc-photo-btn:hover{background:var(--accent);color:#fff}.mnt-inc-photo-hint{margin-top:4px}.mnt-inc-photo-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.mnt-inc-photo-item{position:relative;display:flex;flex-direction:column;align-items:flex-start;width:120px;padding:4px;border:1px solid var(--border2);border-radius:6px;background:var(--surface)}.mnt-inc-photo-item img{width:100%;height:80px;object-fit:cover;border-radius:4px;display:block}.mnt-inc-photo-meta{font-size:11px;margin-top:3px;line-height:1.3;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.mnt-inc-photo-x{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--red);color:#fff;border:0;font-size:14px;font-weight:700;cursor:pointer;line-height:1}.mnt-inc-photo-x:hover{background:#000}.m-body{background:#0a0e14}body.m-body{overflow:hidden}body.m-body #app{min-height:100vh;min-height:100dvh;background:var(--m-bg, #0a0e14);color:var(--m-fg, #eef2f7);font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}.m-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;width:100%;max-width:720px;margin:0 auto;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.m-shell-loading{align-items:center;justify-content:center}.m-loading-dot{width:20px;height:20px;border-radius:50%;background:#4db3ff;animation:m-pulse 1.2s ease-in-out infinite}@keyframes m-pulse{0%,to{opacity:.3;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.m-header{display:flex;align-items:center;gap:12px;padding:18px 20px;background:linear-gradient(180deg,#101720,#0a0e14);border-bottom:1px solid rgba(255,255,255,.06)}.m-brand{flex:1;min-width:0}.m-brand-title{font-weight:700;font-size:18px;letter-spacing:.04em;color:#fff;line-height:1.2}.m-brand-sub{font-size:13px;color:#8aa0b7;margin-top:2px}.m-btn-ghost{min-width:48px;min-height:48px;background:transparent;border:1px solid rgba(255,255,255,.12);color:#eef2f7;font-size:22px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.m-btn-ghost:active{background:#ffffff14}.m-user-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;background:#0f1620;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}.m-user-email{color:#8aa0b7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.m-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid transparent}.m-badge-ok{background:#22c55e26;border-color:#22c55e66;color:#86efac;cursor:default}.m-badge-warn{background:#facc1526;border-color:#facc1580;color:#fde047}.m-badge-warn:active{background:#facc1540}.m-main{flex:1;display:flex;flex-direction:column;padding:20px;gap:14px}.m-cta{display:flex;align-items:center;gap:18px;min-height:84px;padding:20px;border:1px solid transparent;border-radius:14px;font-family:inherit;font-size:18px;font-weight:600;color:#fff;cursor:pointer;text-align:left;transition:transform 80ms ease;-webkit-tap-highlight-color:transparent}.m-cta:active{transform:scale(.98)}.m-cta-ico{font-size:32px;flex-shrink:0}.m-cta-txt{display:flex;flex-direction:column;gap:2px;min-width:0}.m-cta-title{font-size:17px;font-weight:700;letter-spacing:.02em}.m-cta-sub{font-size:13px;font-weight:400;opacity:.85}.m-cta-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 20px #2563eb59}.m-cta-secondary{background:linear-gradient(135deg,#0f172a,#1e293b);border-color:#ffffff1f}.m-cta-tertiary{flex:1;min-height:72px;padding:14px 16px;background:#ffffff0a;border-color:#ffffff14;flex-direction:column;gap:4px;align-items:flex-start;font-size:15px}.m-cta-tertiary .m-cta-ico{font-size:24px}.m-cta-row{display:flex;gap:12px}.m-section-head{margin:6px 4px -4px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#6b7b8e}.m-cta-row .m-cta-secondary{flex:1;min-height:86px}.m-footer{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px calc(14px + env(safe-area-inset-bottom,0));color:#6b7b8e;font-size:12px;border-top:1px solid rgba(255,255,255,.04)}.m-dot{opacity:.5}.m-lookup-main{padding:12px;gap:12px}.m-lookup-form{display:flex;flex-direction:column;gap:6px;padding:12px;background:#121a26;border:1px solid rgba(255,255,255,.06);border-radius:12px}.m-lookup-row{display:flex;gap:8px}.m-lookup-input{flex:1;min-height:48px;padding:10px 14px;font-size:18px;font-weight:600;background:#0a0e14;color:#eef2f7;border:1px solid rgba(255,255,255,.1);border-radius:10px;outline:none}.m-lookup-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb40}.m-lookup-submit{min-height:48px;padding:0 18px;font-size:15px;font-weight:700;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:0;border-radius:10px;cursor:pointer}.m-lookup-submit:active{transform:translateY(1px)}.m-lookup-hint{font-size:11px;color:#6b7b8e;padding:0 4px}.m-lookup-summary{font-size:13px;color:#8aa0b7;padding:4px 6px}.m-lookup-summary strong{color:#eef2f7;font-weight:700}.m-lookup-results{display:flex;flex-direction:column;gap:14px}.m-lookup-hall{display:flex;flex-direction:column;gap:8px}.m-lookup-hall-head{font-size:14px;font-weight:700;color:#9cc8f0;padding:4px 6px;letter-spacing:.3px}.m-lookup-card{background:#121a26;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.m-lookup-shelf{font-size:15px;font-weight:600;color:#8af5a7}.m-lookup-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7b8e}.m-lookup-qty{font-size:14px;font-weight:700;color:#eef2f7}.m-lookup-actions{display:flex;justify-content:flex-end;padding-top:4px;border-top:1px dashed rgba(255,255,255,.06);margin-top:4px}.m-lookup-move-btn{appearance:none;border:0;background:linear-gradient(135deg,#1f8a4a,#2fb565);color:#fff;font-size:14px;font-weight:700;letter-spacing:.2px;padding:10px 14px;border-radius:10px;min-height:44px;cursor:pointer;box-shadow:0 1px 2px #0000004d}.m-lookup-move-btn:active{transform:translateY(1px)}.m-history-main{padding:12px;gap:10px}.m-history-list{display:flex;flex-direction:column;gap:10px}.m-hist-card{background:#121a26;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.m-hist-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.m-hist-drawing{font-size:16px;font-weight:600;color:#eef2f7}.m-hist-order{font-size:12px;padding:4px 8px;background:#4db3ff26;color:#9cc8f0;border-radius:6px;font-weight:500}.m-hist-move{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500;flex-wrap:wrap}.m-hist-from{color:#ffb86b}.m-hist-arrow{color:#6b7b8e}.m-hist-to{color:#8af5a7}.m-hist-qty{margin-left:auto;color:#eef2f7;font-weight:600;background:#ffffff0f;padding:3px 10px;border-radius:6px;font-size:14px}.m-hist-meta{display:flex;gap:6px;font-size:12px;color:#6b7b8e}.m-empty{text-align:center;padding:48px 20px;color:#6b7b8e}.m-empty-ico{font-size:48px;margin-bottom:12px;opacity:.5}.m-empty-title{color:#eef2f7;font-weight:600;margin-bottom:6px;font-size:16px}.m-empty-sub{font-size:13px;line-height:1.5}.m-empty-small{padding:24px 16px;text-align:center;color:#6b7b8e;font-size:14px;font-style:italic}.m-batch-main{padding:16px;gap:16px}.m-batch-setup{background:#121a26;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px}.m-field-label{color:#8aa0b7;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.m-select{background:#0a0e14;color:#eef2f7;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:14px 44px 14px 14px;font-size:16px;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%238aa0b7'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:22px}.m-batch-video-wrap{position:relative;width:100%;aspect-ratio:4 / 3;background:#000;border-radius:12px;overflow:hidden}.m-batch-video{width:100%;height:100%;object-fit:cover}.m-batch-torch,.m-batch-stop{position:absolute;z-index:2;background:#00000080;color:#fff;border:1px solid rgba(255,255,255,.25);font-size:15px;font-weight:600;padding:10px 14px;border-radius:10px;cursor:pointer}.m-batch-torch{top:12px;right:12px;padding:10px;font-size:22px}.m-batch-stop{bottom:12px;left:50%;transform:translate(-50%)}.m-batch-hint{position:absolute;top:12px;left:12px;background:#0009;padding:8px 12px;border-radius:8px;font-size:13px;color:#eef2f7;max-width:calc(100% - 90px)}.m-batch-list{display:flex;flex-direction:column;gap:8px}.m-batch-row{background:#121a26;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.m-batch-row-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.m-batch-row-idx{font-size:11px;color:#6b7b8e;font-weight:700;background:#ffffff0d;padding:2px 6px;border-radius:4px}.m-batch-row-drawing{font-size:15px;font-weight:600;color:#eef2f7}.m-batch-row-order{font-size:12px;color:#9cc8f0;background:#4db3ff26;padding:2px 8px;border-radius:6px}.m-batch-row-del{margin-left:auto;background:transparent;color:#ff7b7b;border:1px solid rgba(255,123,123,.3);border-radius:6px;width:32px;height:32px;font-size:14px;cursor:pointer}.m-batch-row-qty{display:flex;align-items:center;gap:10px}.m-qty-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:#eef2f7;font-size:22px;font-weight:700;cursor:pointer}.m-qty-btn:active{background:#ffffff1f}.m-qty-value{font-size:20px;font-weight:700;color:#eef2f7;min-width:40px;text-align:center}.m-qty-unit{color:#6b7b8e;font-size:14px}.m-batch-footer{display:flex;flex-direction:column;gap:10px;margin-top:auto}.m-batch-err{padding:10px 14px;background:#ef44441f;border:1px solid rgba(239,68,68,.35);border-radius:8px;color:#fca5a5;font-size:13px}.m-batch-err:empty{display:none}.loc-scan-status{position:absolute;left:10px;right:10px;bottom:calc(80px + env(safe-area-inset-bottom,0));z-index:3;padding:12px 14px;border-radius:10px;font-size:14px;line-height:1.45;white-space:pre-line;text-align:center;color:#fff;background:#000000b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.1);animation:loc-scan-status-in .2s ease-out}.loc-scan-status:empty{display:none}.loc-scan-status[data-kind=ok]{background:#22c55ee0;border-color:#ffffff38}.loc-scan-status[data-kind=warn]{background:#eab308eb;color:#1a1400;border-color:#00000026;font-weight:600}.loc-scan-status[data-kind=error]{background:#dc2626f2;border-color:#fff3;font-weight:600}@keyframes loc-scan-status-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.loc-scan-zoom{position:absolute;left:12px;right:12px;bottom:calc(150px + env(safe-area-inset-bottom,0));z-index:3;display:flex;align-items:center;gap:10px;padding:8px 10px;background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:26px;border:1px solid rgba(255,255,255,.12)}.loc-zoom-btn{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:22px;font-weight:600;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation}.loc-zoom-btn:active{background:#ffffff47}.loc-zoom-range{flex:1 1 auto;-webkit-appearance:none;appearance:none;height:4px;background:#ffffff4d;border-radius:3px;outline:none}.loc-zoom-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;cursor:grab;box-shadow:0 2px 6px #0006}.loc-zoom-range::-moz-range-thumb{width:22px;height:22px;border:none;border-radius:50%;background:#fff}.loc-zoom-val{flex:0 0 auto;min-width:38px;font-size:14px;font-weight:700;color:#fff;text-align:right;font-variant-numeric:tabular-nums}.loc-scan-focus-ring{position:absolute;width:64px;height:64px;border:2px solid #ffd84a;border-radius:50%;margin-left:-32px;margin-top:-32px;pointer-events:none;z-index:4;animation:loc-scan-focus-pulse .6s ease-out forwards}@keyframes loc-scan-focus-pulse{0%{opacity:0;transform:scale(1.6)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}
