:root{--navy:#10283d;--navy-2:#173a54;--green:#23866b;--green-soft:#e9f5f0;--amber:#d99a2b;--amber-soft:#fff5df;--blue:#4d76ad;--blue-soft:#edf3fa;--red:#cb4b4b;--red-soft:#fff0ef;--ink:#1b2a36;--muted:#687985;--line:#dfe7eb;--line-soft:#edf1f3;--surface:#fff;--canvas:#f4f7f8;--shadow:0 12px 35px #162b3a12}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{color:#fff;z-index:30;background:radial-gradient(circle at 15% 2%,#429f8142,#0000 28%),linear-gradient(#102c43 0%,#0e2437 70%,#0c2031 100%);flex-direction:column;width:248px;padding:28px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-link{color:inherit;text-decoration:none}.brand-mark{color:#fff;background:linear-gradient(135deg,#36a981,#1e7b64);border-radius:13px;flex:none;place-items:center;width:42px;height:42px;font-size:21px;font-weight:800;display:grid;box-shadow:0 8px 20px #15987040}.brand strong{letter-spacing:.06em;font-size:18px;display:block}.brand small{color:#ffffff94;letter-spacing:.02em;margin-top:2px;font-size:11px;display:block}.sidebar nav{gap:7px;margin-top:38px;display:grid}.sidebar nav :is(a,button){color:#ffffffad;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;min-height:45px;padding:7px 10px;text-decoration:none;transition:all .18s;display:flex}.sidebar nav :is(a,button):hover{color:#fff;background:#ffffff0f}.sidebar nav :is(a,button).active{color:#fff;background:#ffffff1f;box-shadow:inset 3px 0 #4bc198}.nav-glyph{color:currentColor;background:#ffffff0f;border-radius:8px;place-items:center;width:27px;height:27px;font-size:13px;font-weight:800;display:grid}.sidebar nav :is(a,button).active .nav-glyph{background:#4bc19833}.sidebar nav :is(a,button) b{color:#153e32;text-align:center;background:#6ed6b1;border-radius:20px;min-width:21px;margin-left:auto;padding:3px 6px;font-size:10px}.sidebar-footer{border-top:1px solid #ffffff1a;align-items:center;gap:8px;margin-top:auto;padding:17px 7px 0;display:flex}.sidebar-footer .current-user{flex:1;align-items:center;gap:9px;min-width:0;display:flex}.sidebar-footer .current-user>span:last-child{min-width:0}.sidebar-footer strong,.sidebar-footer small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-footer strong{font-size:12px}.sidebar-footer small{color:#ffffff80;margin-top:3px;font-size:10px}.sidebar-footer a,.sidebar-logout{color:#ffffffd9;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:800;text-decoration:none}.sidebar-footer a:hover,.sidebar-logout:hover{color:#fff;background:#ffffff24}.content-shell{width:calc(100% - 248px);min-height:100vh;margin-left:248px}.content-inner{width:min(1460px,100%);margin:0 auto;padding:38px 40px 70px}.mobile-header,.mobile-nav,.mobile-section-nav{display:none}.eyebrow{color:var(--green);letter-spacing:.11em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:800}.hero-row,.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px;display:flex}.hero-row h1,.page-heading h1{color:var(--navy);letter-spacing:-.035em;margin:0;font-size:clamp(28px,3vw,39px);line-height:1.08}.hero-row .subtitle,.page-heading p:last-child{color:var(--muted);margin:10px 0 0;font-size:14px}.date-chip{border:1px solid var(--line);background:#ffffffa6;border-radius:12px;min-width:220px;padding:12px 16px}.date-chip span,.date-chip strong{display:block}.date-chip span{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:700}.date-chip strong{color:var(--navy);text-transform:capitalize;font-size:13px}.demo-banner{color:#285846;background:#f0f8f5;border:1px solid #cfe7dd;border-radius:11px;align-items:flex-start;gap:11px;margin-bottom:22px;padding:12px 16px;display:flex}.demo-dot{background:var(--green);border-radius:50%;flex:none;width:8px;height:8px;margin-top:5px;box-shadow:0 0 0 4px #23866b1f}.demo-banner strong{font-size:12px;display:block}.demo-banner p{color:#537568;margin:3px 0 0;font-size:11px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.metric-card{border:1px solid var(--line-soft);background:var(--surface);min-height:128px;box-shadow:var(--shadow);border-radius:15px;align-items:center;gap:16px;padding:20px;display:flex}.metric-symbol{border-radius:13px;flex:none;place-items:center;width:46px;height:46px;font-size:16px;font-weight:800;display:grid}.metric-card.green .metric-symbol{color:var(--green);background:var(--green-soft)}.metric-card.blue .metric-symbol{color:var(--blue);background:var(--blue-soft)}.metric-card.amber .metric-symbol{color:var(--amber);background:var(--amber-soft)}.metric-card.navy .metric-symbol{color:var(--navy);background:#edf1f4}.metric-card p,.metric-card strong,.metric-card small{display:block}.metric-card p{color:var(--muted);margin:0 0 4px;font-size:11px;font-weight:700}.metric-card strong{color:var(--navy);letter-spacing:-.025em;font-size:23px}.metric-card small{color:#93a0a8;margin-top:5px;font-size:10px}.dashboard-grid{grid-template-columns:1.08fr .92fr;gap:20px;margin-bottom:20px;display:grid}.panel{border:1px solid var(--line-soft);background:var(--surface);box-shadow:var(--shadow);border-radius:15px}.panel-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:0 20px;display:flex}.panel-header h2{color:var(--navy);margin:0;font-size:14px}.panel-header>span{color:var(--muted);background:#f2f5f6;border-radius:12px;padding:4px 8px;font-size:9px;font-weight:700}.panel-header button{color:var(--green);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:700}.panel-header button span{margin-left:4px}.alert-list{padding:5px 0}.alert-item{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:10px 18px;display:flex}.alert-item:hover{background:#f8fafb}.alert-level{border-radius:4px;width:3px;height:32px}.alert-level.critical{background:var(--red)}.alert-level.warning{background:var(--amber)}.alert-level.notice{background:var(--blue)}.person-avatar{width:34px;height:34px;color:var(--navy-2);background:#e8f0f3;border-radius:10px;flex:none;place-items:center;font-size:10px;font-weight:800;display:grid}.person-avatar.small{border-radius:9px;width:30px;height:30px;font-size:9px}.alert-copy{flex:1;min-width:0}.alert-copy strong,.alert-copy small,.alert-date strong,.alert-date small{display:block}.alert-copy strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.alert-copy small{color:var(--muted);margin-top:3px;font-size:9px}.alert-date{text-align:right}.alert-date strong{color:var(--navy);font-size:10px}.alert-date small{color:var(--red);margin-top:3px;font-size:8px}.project-list{padding:11px 20px}.project-line{align-items:flex-start;gap:10px;padding:10px 0;display:flex}.project-line+.project-line{border-top:1px solid var(--line-soft)}.project-dot{border-radius:3px;flex:none;width:8px;height:8px;margin-top:3px}.project-line-copy{flex:1;min-width:0}.project-line-copy strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.project-line-copy small{color:var(--muted);margin:4px 0 8px;font-size:9px;display:block}.project-number{text-align:right}.project-number strong,.project-number small{display:block}.project-number strong{color:var(--navy);font-size:11px}.project-number small{color:var(--muted);margin-top:4px;font-size:8px}.progress-track{background:#edf1f3;border-radius:6px;height:5px;overflow:hidden}.progress-track span{background:var(--green);border-radius:6px;height:100%;display:block}.recent-panel{overflow:hidden}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{color:#87939b;letter-spacing:.03em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f7f9fa;height:38px;padding:0 20px;font-size:9px;font-weight:800}td{border-top:1px solid var(--line-soft);color:#465761;vertical-align:middle;padding:14px 20px;font-size:11px}tbody tr:hover{background:#fbfcfc}td strong{color:var(--navy)}td small{color:#89969e;margin-top:3px;font-size:9px;display:block}.table-title{max-width:330px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:700;display:block;overflow:hidden}.people-count{width:23px;height:23px;color:var(--green);background:var(--green-soft);border-radius:8px;place-items:center;margin-right:4px;font-size:9px;font-weight:800;display:inline-grid}.primary-button,.secondary-button{cursor:pointer;border-radius:10px;min-height:40px;padding:0 17px;font-size:11px;font-weight:800;transition:all .18s}.primary-button{border:1px solid var(--green);color:#fff;background:var(--green);box-shadow:0 8px 18px #23866b29}.primary-button:hover{background:#1c765e;transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.secondary-button{border:1px solid var(--line);color:var(--navy);background:#fff}.secondary-button:hover{background:#f8fafb;border-color:#b7c6ce}.secondary-button:disabled{cursor:not-allowed;opacity:.45}.page-heading{align-items:center;margin-bottom:25px}.toolbar{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:15px 18px;display:flex}.search-field{border:1px solid var(--line);background:#fbfcfc;border-radius:9px;flex:1;align-items:center;gap:8px;min-width:280px;max-width:480px;padding:0 12px;display:flex}.search-field span{color:#87959d}.search-field input{width:100%;height:38px;color:var(--ink);background:0 0;border:0;outline:0;font-size:11px}.toolbar select,.form-grid select,.form-grid input,.form-grid textarea,.notes-label textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:9px;outline:none}.toolbar select{width:145px;height:40px;padding:0 10px;font-size:10px}.result-count{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:10px}.person-cell{align-items:center;gap:10px;min-width:180px;display:flex}.person-cell strong{font-size:11px;display:block}.payment-type{color:var(--ink);white-space:nowrap;font-weight:700;display:block}.status-badge{white-space:nowrap;border-radius:20px;align-items:center;min-height:22px;padding:0 9px;font-size:8px;font-weight:800;display:inline-flex}.status-badge.active{color:#1c6c55;background:var(--green-soft)}.status-badge.leave,.status-badge.paused{color:#966515;background:var(--amber-soft)}.status-badge.inactive,.status-badge.completed{color:#687781;background:#eef2f4}.status-badge.planning{color:#4d64a0;background:#eef0fb}.date-warning{color:var(--red);font-weight:800}.entry-layout{grid-template-columns:minmax(0,1fr) 285px;align-items:start;gap:20px;display:grid}.entry-main{gap:16px;display:grid}.form-panel{padding:22px}.step-title{align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.step-title>span{color:#fff;background:var(--navy);border-radius:9px;flex:none;place-items:center;width:28px;height:28px;font-size:10px;font-weight:800;display:grid}.step-title h2{color:var(--navy);margin:1px 0 4px;font-size:14px}.step-title p{color:var(--muted);margin:0;font-size:10px}.form-grid{gap:14px;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid label,.notes-label{color:#586a75;font-size:10px;font-weight:700}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select{height:40px;margin-top:6px;padding:0 11px;font-size:11px}.form-grid textarea,.notes-label textarea{resize:vertical;margin-top:6px;padding:10px 11px;font-size:11px;line-height:1.5}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.notes-label textarea:focus{border-color:#6fb9a1;box-shadow:0 0 0 3px #23866b17}.switch-row{cursor:pointer;align-items:center;gap:10px;margin-top:16px;display:flex}.switch-row input{opacity:0;position:absolute}.switch{background:#cbd5da;border-radius:20px;flex:none;width:35px;height:20px;padding:3px;transition:all .18s}.switch:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:all .18s;display:block;box-shadow:0 1px 4px #00000026}.switch-row input:checked+.switch{background:var(--green)}.switch-row input:checked+.switch:after{transform:translate(15px)}.switch-row strong,.switch-row small{display:block}.switch-row strong{color:var(--ink);font-size:10px}.switch-row small{color:var(--muted);margin-top:2px;font-size:8px}.selection-toolbar{align-items:center;gap:8px;margin-bottom:12px;display:flex}.selection-toolbar button{border:1px solid var(--line);color:var(--green);cursor:pointer;background:#fff;border-radius:7px;padding:6px 9px;font-size:9px;font-weight:700}.selection-toolbar span{color:var(--muted);margin-left:auto;font-size:9px;font-weight:700}.worker-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.worker-option{border:1px solid var(--line);cursor:pointer;background:#fbfcfc;border-radius:10px;align-items:center;gap:9px;padding:10px;transition:all .15s;display:flex;position:relative}.worker-option:hover{border-color:#b7d9cd}.worker-option.selected{background:#f0f8f5;border-color:#70bda5;box-shadow:inset 0 0 0 1px #23866b14}.worker-option input{opacity:0;position:absolute}.worker-option .checkmark{color:#0000;background:#fff;border:1px solid #cbd7dc;border-radius:5px;place-items:center;width:18px;height:18px;font-size:10px;display:grid}.worker-option.selected .checkmark{border-color:var(--green);color:#fff;background:var(--green)}.worker-option strong,.worker-option small{display:block}.worker-option strong{color:var(--ink);font-size:10px}.worker-option small{color:var(--muted);margin-top:3px;font-size:8px}.correction-box{background:#f7fbf9;border:1px solid #d9e8e3;border-radius:10px;margin-top:14px;padding:13px}.correction-head{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:10px;display:flex}.correction-head strong{color:var(--navy);font-size:10px}.correction-head span{color:var(--muted);text-align:right;font-size:8px}.correction-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.correction-grid label{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:7px;min-height:34px;padding:4px 7px 4px 10px;display:flex}.correction-grid label>span{color:#43545f;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:9px;font-weight:700;overflow:hidden}.correction-grid input{border:1px solid var(--line);width:55px;height:25px;color:var(--navy);text-align:right;border-radius:6px;padding:0 5px;font-size:9px}.correction-grid small{color:var(--muted);font-size:8px}.notes-label{margin-top:15px;display:block}.entry-summary{padding:22px;position:sticky;top:24px}.entry-summary h2{color:var(--navy);margin:0;font-size:16px;line-height:1.35}.summary-location{color:var(--muted);margin:6px 0 0;font-size:10px}.summary-rule{background:var(--line-soft);height:1px;margin:18px 0 10px}.summary-line{justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;display:flex}.summary-line span{color:var(--muted);font-size:9px}.summary-line strong{color:var(--navy);font-size:11px}.summary-line.strong{border-top:1px dashed var(--line);margin-top:4px;padding-top:12px}.summary-line.strong strong{color:var(--green);font-size:14px}.summary-note{color:#6f7d85;background:#f4f7f8;border-radius:9px;margin:14px 0 18px;padding:10px;font-size:8px;line-height:1.5}.full-button{width:100%}.project-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.project-card{border:1px solid var(--line-soft);box-shadow:var(--shadow);background:#fff;border-radius:15px;padding:22px;position:relative;overflow:hidden}.project-card:before{content:"";background:var(--project-color);width:4px;position:absolute;inset:0 auto 0 0}.project-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.project-due{color:var(--muted);font-size:9px}.project-card h2{color:var(--navy);margin:18px 0 5px;font-size:16px;line-height:1.35}.project-card>p{color:var(--muted);margin:0;font-size:10px}.location-line{color:var(--green);margin-top:8px;font-size:9px;font-weight:700;display:block}.project-card-stats{border-block:1px solid var(--line-soft);background:#fafbfb;grid-template-columns:repeat(3,1fr);margin:20px -22px 17px;padding:14px 22px;display:grid}.project-card-stats span+span{border-left:1px solid var(--line);padding-left:14px}.project-card-stats small,.project-card-stats strong{display:block}.project-card-stats small{color:var(--muted);font-size:8px}.project-card-stats strong{color:var(--navy);margin-top:4px;font-size:12px}.project-progress-head{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:7px;font-size:8px;display:flex}.project-progress-head strong{color:var(--navy);font-size:10px}.project-card .progress-track span{background:var(--project-color)}.project-card>small{color:#91a0a8;text-align:right;margin-top:6px;font-size:8px;display:block}.production-project-banner{background:linear-gradient(120deg,#f3f8fa,#eef7f3);border:1px solid #cddfe7;border-radius:14px;justify-content:space-between;align-items:center;gap:28px;margin-bottom:18px;padding:17px 20px;display:flex}.production-project-banner>div:first-child span,.production-project-banner>div:first-child strong,.production-project-banner>div:first-child small{display:block}.production-project-banner>div:first-child span{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:800}.project-switcher{min-width:min(480px,45vw);color:var(--navy);cursor:pointer;background:0 0;border:0;outline:none;margin-top:5px;padding:0 25px 0 0;font-size:15px;font-weight:800;display:block}.production-project-banner>div:first-child small{color:var(--muted);margin-top:4px;font-size:9px}.production-project-progress{width:min(340px,38%)}.production-project-progress>span{color:var(--muted);text-align:right;margin-bottom:7px;font-size:9px;display:block}.production-project-progress>span strong{color:var(--green);font-size:14px}.production-project-progress .progress-track{background:#fffc;height:8px}.production-metrics{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.production-table-panel{overflow:hidden}.production-toolbar .compact-button{white-space:nowrap;min-height:38px;padding-inline:11px}.tower-range-filter{border-bottom:1px solid var(--line-soft);background:#f8fbfa;padding:14px 18px}.tower-range-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.tower-range-head strong,.tower-range-head span{display:block}.tower-range-head strong{color:var(--navy);font-size:11px}.tower-range-head span{color:var(--muted);margin-top:3px;font-size:9px}.tower-range-head em{color:var(--green);background:var(--green-soft);white-space:nowrap;border-radius:20px;padding:5px 9px;font-size:9px;font-style:normal;font-weight:800}.tower-range-controls{grid-template-columns:minmax(120px,180px) minmax(120px,180px) auto auto;align-items:end;gap:8px;display:grid}.tower-range-controls label{color:var(--muted);font-size:9px;font-weight:800}.tower-range-controls input{border:1px solid var(--line);width:100%;height:38px;color:var(--navy);font:inherit;background:#fff;border-radius:8px;margin-top:4px;padding:0 11px}.tower-range-controls .secondary-button,.reset-range-button{white-space:nowrap;min-height:38px}.tower-range-active,.tower-range-error{margin:9px 0 0;font-size:9px;line-height:1.45}.tower-range-active{color:#3f6f60}.tower-range-error{color:var(--red);font-weight:700}.text-button{color:var(--green);cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:800}.phase-legend{border-bottom:1px solid var(--line-soft);min-height:42px;color:var(--muted);background:#fbfcfc;align-items:center;gap:15px;padding:9px 18px;display:flex}.phase-legend>span{align-items:center;gap:5px;font-size:9px;font-weight:700;display:flex}.phase-legend>small{margin-left:auto;font-size:8px}.phase-dot{background:var(--blue);border-radius:3px;width:8px;height:8px}.phase-dot.finish{background:var(--green)}.production-table-wrap{max-height:600px;overflow:auto}.production-table thead{z-index:2;position:sticky;top:0}.production-table th,.production-table td{text-align:center;padding-inline:12px}.production-table th:nth-child(2),.production-table td:nth-child(2),.production-table th:last-child,.production-table td:last-child{text-align:left}.production-table tr.selected-row{background:#f0f8f5}.table-check{cursor:pointer;place-items:center;width:20px;height:20px;display:inline-grid;position:relative}.table-check input{opacity:0;position:absolute}.table-check span{color:#0000;background:#fff;border:1px solid #c8d4d9;border-radius:5px;place-items:center;width:18px;height:18px;font-size:9px;display:grid}.table-check input:checked+span{border-color:var(--green);color:#fff;background:var(--green)}.tower-code{min-width:40px;min-height:28px;color:var(--navy);background:#edf3f6;border-radius:8px;place-items:center;display:inline-grid}.phase-state{color:#9aa6ad;background:#f3f5f6;border-radius:15px;justify-content:center;align-items:center;min-width:60px;min-height:24px;font-size:8px;font-weight:800;display:inline-flex}.phase-state.done{color:var(--green);background:var(--green-soft)}.tower-progress{min-width:90px}.tower-progress>strong{margin-bottom:6px;font-size:10px;display:block}.quarter-track{grid-template-columns:repeat(4,1fr);gap:2px;display:grid}.quarter-track span{background:#e4e9ec;border-radius:3px;height:5px}.quarter-track span.done{background:var(--green)}.production-bottom-grid{grid-template-columns:1.05fr .95fr;gap:18px;margin-top:18px;display:grid}.session-list,.worker-performance-list{padding:6px 18px}.session-row,.worker-performance-row{align-items:center;gap:10px;min-height:58px;padding:9px 2px;display:flex}.session-row+.session-row,.worker-performance-row+.worker-performance-row{border-top:1px solid var(--line-soft)}.session-date{width:45px;color:var(--blue);flex:none;font-size:9px;font-weight:800}.session-row>span:nth-child(2),.worker-performance-row>span:nth-child(3){flex:1;min-width:0}.session-row strong,.session-row small,.worker-performance-row strong,.worker-performance-row small{display:block}.session-row strong,.worker-performance-row strong{color:var(--navy);font-size:10px}.session-row small,.worker-performance-row small{color:var(--muted);margin-top:4px;font-size:8px}.session-row>span:last-child,.worker-performance-row>span:last-child{text-align:right}.performance-rank{width:23px;height:23px;color:var(--green);background:var(--green-soft);border-radius:7px;place-items:center;font-size:9px;font-weight:800;display:grid}.floating-production-actions{z-index:45;background:#fff;border:1px solid #cbdad5;border-radius:14px;align-items:center;gap:7px;padding:8px;display:flex;position:fixed;bottom:25px;right:28px;box-shadow:0 15px 35px #1459463d}.floating-production-actions>span{min-width:135px;padding:0 7px}.floating-production-actions>span strong,.floating-production-actions>span small{display:block}.floating-production-actions>span strong{color:var(--navy);font-size:9px}.floating-production-actions>span small{color:var(--muted);margin-top:3px;font-size:8px}.floating-production-actions .primary-button,.floating-production-actions .secondary-button{min-height:38px;padding:0 13px}.selected-towers-summary{background:#f2f8f5;border:1px solid #cfe4dc;border-radius:10px;margin-bottom:17px;padding:12px 14px}.quick-tower-selector{border:1px solid var(--line);background:#fbfcfc;border-radius:10px;margin-bottom:10px;padding:13px 14px}.quick-tower-head strong,.quick-tower-head span{display:block}.quick-tower-head strong{color:var(--navy);font-size:11px}.quick-tower-head span{color:var(--muted);margin-top:3px;font-size:9px}.quick-tower-controls{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px;display:grid}.quick-tower-controls input{border:1px solid var(--line);min-width:0;height:40px;color:var(--navy);font:inherit;background:#fff;border-radius:8px;padding:0 11px}.quick-tower-controls .secondary-button{min-height:40px}.saved-range-button{min-height:34px;color:var(--green);background:var(--green-soft);cursor:pointer;border:0;border-radius:7px;margin-top:8px;padding:6px 9px;font-size:9px;font-weight:800}.saved-range-button.remove{color:#8e5d12;background:var(--amber-soft)}.quick-tower-message,.quick-tower-error{margin:8px 0 0;font-size:9px;font-weight:700;line-height:1.45}.quick-tower-message{color:var(--green)}.quick-tower-error{color:var(--red)}.selected-towers-head{align-items:center;gap:8px;display:flex}.selected-towers-head>span{color:var(--muted);font-size:9px;font-weight:700}.selected-towers-head>strong{color:var(--green);font-size:15px}.selected-towers-head>button{color:#9b3f3f;cursor:pointer;background:#fff1f1;border:0;border-radius:7px;min-height:30px;margin-left:auto;padding:5px 8px;font-size:8px;font-weight:800}.selected-towers-summary p{color:#4f675e;max-height:46px;margin:6px 0 0;font-size:9px;line-height:1.5;overflow:auto}.selected-tower-chips{flex-wrap:wrap;gap:6px;max-height:125px;margin-top:9px;display:flex;overflow-y:auto}.selected-tower-chips button{min-height:30px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #a8d2c3;border-radius:20px;align-items:center;gap:7px;padding:4px 5px 4px 9px;font-size:9px;font-weight:800;display:inline-flex}.selected-tower-chips button b{color:#fff;background:#4f8f7c;border-radius:50%;place-items:center;width:18px;height:18px;font-size:12px;line-height:1;display:grid}.selected-tower-chips button:hover{background:#fff8f8;border-color:#d18484}.selected-tower-chips button:hover b{background:#a64a4a}.modal-worker-section{margin-top:18px}.modal-worker-section>div:first-child{margin-bottom:10px}.modal-worker-section>div:first-child strong,.modal-worker-section>div:first-child small{display:block}.modal-worker-section>div:first-child strong{color:var(--navy);font-size:11px}.modal-worker-section>div:first-child small{color:var(--muted);margin-top:4px;font-size:8px;line-height:1.5}.equipment-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.equipment-status{border-radius:20px;align-items:center;min-height:22px;padding:0 9px;font-size:8px;font-weight:800;display:inline-flex}.equipment-status.available{color:#1c6c55;background:var(--green-soft)}.equipment-status.assigned{color:#47628f;background:var(--blue-soft)}.equipment-status.service{color:#966515;background:var(--amber-soft)}.equipment-status.retired{color:#687781;background:#eef2f4}.muted-cell{color:#8b989f;font-size:10px}.security-note{color:#285846;background:#f0f8f5;border:1px solid #cfe7dd;border-radius:11px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:13px 16px;display:flex}.security-note>span{color:#fff;background:var(--green);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:10px;font-weight:800;display:grid}.security-note strong{font-size:11px;display:block}.security-note p{color:#58766b;margin:3px 0 0;font-size:9px}.document-type{color:var(--blue);background:var(--blue-soft);white-space:nowrap;border-radius:7px;padding:5px 8px;font-size:8px;font-weight:800;display:inline-flex}.document-link{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:7px;padding:6px 9px;font-size:9px;font-weight:800;text-decoration:none}.upload-help{color:var(--muted);background:#f4f7f8;border-radius:8px;margin:14px 0 0;padding:10px;font-size:9px}.coming-panel{text-align:center;max-width:760px;margin:40px auto;padding:48px}.coming-icon,.report-symbol{width:52px;height:52px;color:var(--green);background:var(--green-soft);border-radius:15px;place-items:center;margin:0 auto 18px;font-size:16px;font-weight:800;display:grid}.coming-panel h2{color:var(--navy);margin:0;font-size:20px}.coming-panel p{max-width:570px;color:var(--muted);margin:12px auto 20px;font-size:12px;line-height:1.7}.feature-pills{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.feature-pills span,.soon-badge{color:var(--navy-2);background:#eef3f5;border-radius:20px;padding:6px 10px;font-size:9px;font-weight:700}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.report-card{text-align:center;padding:27px}.report-card h2{color:var(--navy);margin:0;font-size:16px}.report-card p{min-height:54px;color:var(--muted);margin:10px 0 18px;font-size:10px;line-height:1.6}.report-card.muted{opacity:.76}.soon-badge.ready{color:var(--green);background:var(--green-soft)}.report-table{margin-top:18px}.report-table .payment-type{width:fit-content;color:var(--navy-2);background:#eef3f5;border-radius:14px;margin-bottom:4px;padding:4px 7px;font-size:8px;font-weight:800;display:block}.report-table td>small{color:var(--muted);white-space:nowrap;font-size:8px;display:block}.settings-grid{grid-template-columns:1.1fr .9fr;gap:18px;display:grid}.user-list{padding:8px 18px}.user-row{align-items:center;gap:10px;padding:11px 2px;display:flex}.user-row+.user-row{border-top:1px solid var(--line-soft)}.user-row>span:nth-child(2){flex:1;min-width:0}.user-row strong,.user-row small{display:block}.user-row strong{color:var(--ink);font-size:11px}.user-row small{color:var(--muted);margin-top:3px;font-size:9px}.role-badge{color:var(--green);background:var(--green-soft);border-radius:16px;padding:5px 8px;font-size:8px;font-weight:800}.role-select{border:1px solid var(--line);height:31px;color:var(--navy);background:#fff;border-radius:8px;padding:0 7px;font-size:9px}.rule-list{padding:11px 20px}.rule-list div{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:10px;padding:10px 0;display:flex}.rule-list span{color:var(--muted);font-size:10px}.rule-list strong{color:var(--navy);font-size:10px}.panel-note{color:var(--muted);background:#f5f7f8;border-radius:8px;margin:0 20px 20px;padding:10px;font-size:9px;line-height:1.5}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#09192594;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:17px;width:min(720px,100%);max-height:calc(100vh - 48px);padding:28px;position:relative;overflow-y:auto;box-shadow:0 30px 90px #0000003b}.modal>h2{color:var(--navy);margin:0;font-size:23px}.modal-subtitle{color:var(--muted);margin:7px 0 22px;font-size:11px}.modal-close{border:1px solid var(--line);width:31px;height:31px;color:var(--muted);cursor:pointer;background:#fff;border-radius:9px;font-size:18px;position:absolute;top:17px;right:17px}.modal-actions{border-top:1px solid var(--line-soft);justify-content:flex-end;gap:10px;margin-top:22px;padding-top:17px;display:flex}.toast,.error-toast{z-index:100;color:#fff;border-radius:11px;align-items:center;gap:10px;max-width:430px;padding:13px 17px;font-size:11px;font-weight:700;animation:.2s ease-out toast-in;display:flex;position:fixed;bottom:25px;right:25px;box-shadow:0 18px 50px #0003}.toast{background:#1c735b}.toast span{background:#ffffff2e;border-radius:50%;place-items:center;width:21px;height:21px;display:grid}.error-toast{background:#a53f3f;padding-right:36px}.error-toast button{color:#fff;cursor:pointer;background:0 0;border:0;font-size:18px;position:absolute;top:6px;right:8px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.loading-state{min-height:70vh;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.loading-state strong{color:var(--navy);margin-top:16px;font-size:15px}.loading-state p{max-width:420px;font-size:11px}.loader{border:3px solid #dbe8e3;border-top-color:var(--green);border-radius:50%;width:33px;height:33px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-state .primary-button{margin-top:10px}.empty-state{text-align:center;padding:32px 20px}.empty-state strong{color:var(--navy);font-size:12px}.empty-state p{color:var(--muted);margin:5px 0 0;font-size:9px}.signin-shell{background:linear-gradient(135deg,#0c2436,#174b55);place-items:center;min-height:100vh;padding:24px;display:grid}.signin-card{text-align:center;background:#fff;border-radius:20px;width:min(440px,100%);padding:45px;box-shadow:0 30px 100px #0000004d}.signin-card .brand-mark{margin:0 auto 22px}.signin-card h1{color:var(--navy);margin:0;font-size:28px}.signin-card>p:not(.eyebrow){color:var(--muted);margin:12px 0 24px;font-size:12px;line-height:1.6}.signin-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.auth-card{width:min(500px,100%)}.auth-form{text-align:left;gap:14px;display:grid}.auth-form label{color:var(--navy);gap:6px;font-size:11px;font-weight:800;display:grid}.auth-form label small{color:var(--muted);font-size:9px;font-weight:500;line-height:1.45}.auth-form input{border:1px solid var(--line);width:100%;height:48px;color:var(--navy);background:#fff;border-radius:10px;outline:none;padding:0 13px;font-size:15px}.auth-form input:focus{border-color:#76b8a3;box-shadow:0 0 0 3px #23866b1f}.auth-form .primary-button{min-height:48px;margin-top:4px}.auth-error{background:var(--red-soft);text-align:left;border:1px solid #f0c5c1;border-radius:9px;padding:10px 12px;font-weight:700;color:#8d302c!important;margin:0!important;font-size:10px!important}.auth-back-link{color:var(--green);cursor:pointer;background:0 0;border:0;margin-top:20px;padding:0;font-size:10px;font-weight:800;text-decoration:none;display:inline-block}.portal-shell{background:radial-gradient(circle at 15% 0,#30a38038,#0000 31%),linear-gradient(145deg,#0d293e 0%,#12344a 55%,#0c2436 100%);place-items:center;min-height:100vh;padding:30px;display:grid}.portal-card{background:#f7faf9;border:1px solid #ffffff24;border-radius:24px;width:min(1120px,100%);overflow:hidden;box-shadow:0 35px 100px #0000004d}.portal-header{color:#fff;background:var(--navy);justify-content:space-between;align-items:center;gap:24px;min-height:86px;padding:18px 26px;display:flex}.portal-brand{color:#fff;text-decoration:none}.portal-brand small{color:#ffffff94}.portal-user{align-items:center;gap:18px;display:flex}.portal-user span,.portal-user strong,.portal-user small{display:block}.portal-user span{text-align:right}.portal-user strong{font-size:11px}.portal-user small{color:#ffffff8c;margin-top:3px;font-size:9px}.portal-user :is(a,button){color:#fff;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:8px;padding:8px 10px;font-size:9px;font-weight:800;text-decoration:none}.portal-intro{max-width:720px;padding:42px 42px 20px}.portal-intro h1{color:var(--navy);letter-spacing:-.045em;margin:0;font-size:clamp(30px,5vw,46px)}.portal-intro>p:last-child{color:var(--muted);margin:13px 0 0;font-size:12px;line-height:1.65}.module-launcher-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px 42px 42px;display:grid}.module-launcher{border:1px solid var(--line);min-height:230px;color:inherit;background:#fff;border-radius:17px;flex-direction:column;padding:22px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;box-shadow:0 10px 30px #162b3a0f}.module-launcher:hover{border-color:#a9d1c3;transform:translateY(-3px);box-shadow:0 18px 38px #162b3a1f}.module-launcher-icon{border-radius:12px;place-items:center;width:43px;height:43px;margin-bottom:24px;font-size:16px;font-weight:900;display:grid}.module-launcher.production .module-launcher-icon{color:var(--green);background:var(--green-soft)}.module-launcher.projects .module-launcher-icon{color:var(--blue);background:var(--blue-soft)}.module-launcher.billing .module-launcher-icon{color:#9a6816;background:var(--amber-soft)}.module-launcher.access .module-launcher-icon{color:#69489a;background:#f1ecf8}.director-portal .module-launcher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-launcher>span:nth-child(2){flex:1;display:block}.module-launcher small,.module-launcher strong,.module-launcher em{display:block}.module-launcher small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:800}.module-launcher strong{color:var(--navy);margin-top:7px;font-size:18px}.module-launcher em{color:var(--muted);margin-top:10px;font-size:10px;font-style:normal;line-height:1.55}.module-launcher b{color:var(--green);margin-top:20px;font-size:10px}.portal-note{border-top:1px solid var(--line);color:var(--muted);background:#fff;margin:0;padding:15px 42px 18px;font-size:9px;line-height:1.5}@media (width<=1100px){.module-launcher-grid,.metric-grid,.project-card-grid,.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-layout{grid-template-columns:minmax(0,1fr) 250px}}@media (width<=820px){.portal-shell{place-items:stretch stretch;padding:0}.portal-card{border:0;border-radius:0;min-height:100vh}.module-launcher-grid{grid-template-columns:1fr}.sidebar{display:none}.content-shell{width:100%;margin-left:0}.content-inner{padding:27px 18px 92px}.mobile-header{color:#fff;background:var(--navy);justify-content:space-between;align-items:center;height:65px;padding:0 17px;display:flex}.mobile-header .brand-mark{border-radius:10px;width:34px;height:34px;font-size:16px}.mobile-header .brand strong{font-size:14px}.mobile-header .brand small{font-size:9px}.mobile-header-actions{align-items:center;gap:7px;display:flex}.mobile-header-actions :is(button,a){color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:800;text-decoration:none}.mobile-nav{height:67px;padding:7px 3px max(7px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:40;background:#fffffff7;display:flex;position:fixed;inset:auto 0 0;overflow-x:auto;box-shadow:0 -8px 25px #0000000f}.mobile-nav button{color:#7c8a92;background:0 0;border:0;flex:1 0 70px;place-items:center;gap:1px;min-width:70px;padding:3px 1px;font-size:13px;display:grid}.mobile-nav button small{font-size:7px}.mobile-nav button.active{color:var(--green);font-weight:800}.hero-row,.page-heading{align-items:flex-start}.date-chip{display:none}.dashboard-grid,.settings-grid,.production-bottom-grid,.entry-layout{grid-template-columns:1fr}.entry-summary{order:-1;position:static}.entry-summary .summary-note{display:none}.project-card-grid,.equipment-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.production-project-banner{flex-direction:column;align-items:stretch;gap:14px}.production-project-progress{width:100%}.production-project-progress>span{text-align:left}.floating-production-actions{flex-wrap:wrap;bottom:78px;left:12px;right:12px}.floating-production-actions>span{flex:1;min-width:0}}@media (width<=580px){.signin-shell{align-items:start;padding:14px}.signin-card{border-radius:17px;margin-top:16px;padding:30px 20px}.signin-card h1{font-size:30px}.signin-card>p:not(.eyebrow){font-size:15px;line-height:1.55}.auth-form{gap:16px}.auth-form label{font-size:15px}.auth-form label small{font-size:13px}.auth-form input{height:54px;font-size:18px}.auth-form .primary-button{min-height:54px;font-size:16px}.auth-error{font-size:14px!important}.auth-back-link{margin-top:23px;font-size:14px}.portal-header{padding:14px 16px}.portal-user span{display:none}.portal-intro{padding:32px 20px 12px}.module-launcher-grid{padding:16px 20px 30px}.module-launcher{min-height:190px}.portal-note{padding-inline:20px}.content-inner{padding-inline:12px}.hero-row h1,.page-heading h1{font-size:27px}.hero-row .subtitle,.page-heading p:last-child{font-size:11px;line-height:1.5}.page-heading{flex-direction:column;align-items:stretch;gap:15px}.page-heading .primary-button{width:100%}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric-card{gap:10px;min-height:108px;padding:13px}.metric-symbol{border-radius:10px;width:36px;height:36px}.metric-card p{font-size:9px}.metric-card strong{font-size:17px}.metric-card small{font-size:8px}.dashboard-grid{gap:12px}.panel-header{min-height:52px;padding-inline:14px}.alert-item{padding-inline:13px}.recent-panel{border-radius:0;margin-inline:-12px}th,td{padding-inline:13px}.toolbar{flex-wrap:wrap;padding:12px}.search-field{min-width:100%}.toolbar select{flex:1}.workers-table{margin-inline:0}.form-panel{padding:16px}.form-grid.two,.form-grid.time-grid{grid-template-columns:1fr 1fr}.form-grid.two .full{grid-column:1/-1}.worker-picker{grid-template-columns:1fr}.correction-head{flex-direction:column;align-items:flex-start;gap:4px}.correction-head span{text-align:left}.correction-grid{grid-template-columns:1fr}.selection-toolbar{flex-wrap:wrap}.selection-toolbar span{width:100%;margin-left:0}.entry-summary{padding:17px}.project-card-grid,.report-grid{grid-template-columns:1fr}.production-toolbar .compact-button{flex:1}.phase-legend{flex-wrap:wrap;align-items:flex-start}.phase-legend>small{width:100%;margin-left:0}.production-table-wrap{max-height:520px}.production-modal-form .worker-picker{grid-template-columns:1fr}.coming-panel{margin-top:15px;padding:28px 18px}.modal-backdrop{padding:10px}.modal{border-radius:14px;max-height:calc(100vh - 20px);padding:22px 16px}.modal .form-grid.two{grid-template-columns:1fr}.modal .form-grid label.full{grid-column:auto}.toast,.error-toast{max-width:none;bottom:80px;left:12px;right:12px}}.production-app .content-inner{width:min(1560px,100%)}.production-sidebar nav{gap:8px}.phase-rule-card{color:#ffffff9e;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;gap:6px;margin-top:24px;padding:14px;font-size:9px;display:grid}.phase-rule-card strong{color:#fff;margin-bottom:2px;font-size:10px}.production-project-progress>small{color:var(--muted);text-align:right;margin-top:6px;font-size:8px;display:block}.period-controls{gap:8px;margin-bottom:16px;display:grid}.period-switch{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;align-items:center;gap:5px;padding:6px;display:flex}.period-switch button{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 15px;font-size:10px;font-weight:800}.period-switch button.active{color:#fff;background:var(--green);box-shadow:0 6px 16px #23866b2e}.custom-period-picker{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;align-items:end;gap:8px;padding:9px 11px;display:flex}.custom-period-picker label{color:var(--muted);font-size:8px;font-weight:700}.custom-period-picker input{border:1px solid var(--line);min-width:135px;height:34px;color:var(--navy);background:#fff;border-radius:8px;margin-top:4px;padding:0 9px;font-size:9px;display:block}.custom-period-picker button{border:1px solid var(--line);min-height:34px;color:var(--navy);cursor:pointer;background:#f8fafb;border-radius:8px;padding:0 12px;font-size:9px;font-weight:800}.custom-period-picker button.active{border-color:var(--green);color:#fff;background:var(--green)}.custom-period-picker>span{color:var(--muted);margin-left:auto;padding:0 6px 9px;font-size:9px;font-weight:700}.report-overview-grid{grid-template-columns:1.15fr .85fr;gap:18px;margin-bottom:18px;display:grid}.activity-bars{gap:13px;padding:14px 18px 16px;display:grid}.activity-bars>div{grid-template-columns:minmax(130px,1.2fr) minmax(100px,2fr) 80px;align-items:center;gap:12px;display:grid}.activity-bars span{min-width:0;color:var(--ink);font-size:9px;font-weight:700}.activity-bars span strong,.activity-bars span small{text-align:left;display:block}.activity-bars span small{overflow-wrap:anywhere;color:var(--muted);margin-top:4px;font-size:8px;font-weight:500}.activity-bars strong{color:var(--navy);text-align:right;font-size:10px}.activity-bar{background:#edf1f3;border-radius:6px;height:7px;overflow:hidden}.activity-bar i{border-radius:inherit;background:linear-gradient(90deg, var(--green), #58b995);height:100%;display:block}.day-list{padding:7px 18px}.day-list>div{justify-content:space-between;align-items:center;gap:15px;min-height:48px;display:flex}.day-list>div+div{border-top:1px solid var(--line-soft)}.day-list span strong,.day-list span small{display:block}.day-list span strong{color:var(--navy);font-size:10px}.day-list span small{color:var(--muted);margin-top:3px;font-size:8px}.day-list>div>strong{color:var(--green);font-size:12px}.billing-export-panel{margin-bottom:18px;overflow:hidden}.billing-export-head{border-bottom:1px solid var(--line-soft);background:linear-gradient(120deg,#f8fbfa,#f2f7f5);justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.billing-export-head h2{color:var(--navy);margin:0;font-size:15px}.billing-export-head>div:first-child>span{max-width:650px;color:var(--muted);margin-top:6px;font-size:9px;line-height:1.5;display:block}.billing-export-controls{flex:none;align-items:end;gap:8px;display:flex}.billing-export-controls label{color:var(--muted);font-size:8px;font-weight:800}.billing-export-controls input{border:1px solid var(--line);height:40px;color:var(--navy);background:#fff;border-radius:9px;margin-top:5px;padding:0 10px;display:block}.billing-export-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:13px 20px;display:grid}.billing-export-metrics>span{background:#f5f7f8;border-radius:9px;padding:10px 11px}.billing-export-metrics small,.billing-export-metrics strong{display:block}.billing-export-metrics small{color:var(--muted);text-transform:uppercase;font-size:7px;font-weight:800}.billing-export-metrics strong{color:var(--navy);margin-top:5px;font-size:13px}.billing-rule-note{color:var(--muted);margin:0;padding:0 20px 15px;font-size:8px;line-height:1.5}.billing-rule-note strong{color:var(--green)}.module-page{max-width:1220px;margin:0 auto}.module-project-picker{color:var(--muted);align-items:center;gap:12px;margin:-8px 0 18px;font-size:10px;font-weight:800;display:flex}.module-project-picker select{border:1px solid var(--line);min-width:min(520px,70vw);height:43px;color:var(--navy);background:#fff;border-radius:10px;padding:0 36px 0 12px;font-weight:700}.management-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}.management-card{align-content:start;gap:13px;padding:22px;display:grid}.management-card h2{color:var(--navy);margin:0;font-size:17px}.management-card>div:first-child>span{color:var(--muted);margin-top:6px;font-size:9px;line-height:1.5;display:block}.management-card label{color:var(--muted);gap:6px;font-size:9px;font-weight:800;display:grid}.management-card input,.management-card textarea{border:1px solid var(--line);width:100%;color:var(--navy);background:#fbfcfc;border-radius:9px;outline:none}.management-card input{height:40px;padding:0 11px}.management-card textarea{resize:vertical;padding:11px;line-height:1.55}.management-card input:focus,.management-card textarea:focus,.structure-admin-list input:focus{border-color:#76b8a3;box-shadow:0 0 0 3px #23866b1a}.management-date-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.field-help{color:var(--muted);font-size:8px;line-height:1.5}.structure-admin-panel{overflow:hidden}.structure-admin-panel .panel-header>div h2{color:var(--navy);margin:0;font-size:14px}.structure-admin-panel .panel-header>div span{color:var(--muted);margin-top:5px;font-size:9px;display:block}.structure-admin-list{max-height:620px;overflow-y:auto}.structure-admin-list form{border-top:1px solid var(--line-soft);grid-template-columns:38px minmax(130px,.8fr) minmax(160px,1fr) auto auto;align-items:end;gap:10px;min-height:68px;padding:10px 18px;display:grid}.structure-admin-list form:first-child{border-top:0}.sequence-number{width:30px;height:30px;color:var(--green);background:var(--green-soft);border-radius:8px;align-self:center;place-items:center;font-size:9px;font-weight:800;display:grid}.structure-admin-list label{color:var(--muted);gap:4px;font-size:8px;font-weight:800;display:grid}.structure-admin-list input{border:1px solid var(--line);width:100%;height:36px;color:var(--navy);background:#fff;border-radius:8px;outline:none;padding:0 9px}.structure-admin-list button{min-height:36px}.danger-button{color:#a63c36;background:var(--red-soft);cursor:pointer;border:1px solid #efb6b2;border-radius:9px;min-height:38px;padding:0 13px;font-size:9px;font-weight:800}.danger-button:disabled{cursor:not-allowed;opacity:.55}.worker-admin-panel{margin-top:18px;overflow:hidden}.worker-admin-panel .panel-header>div h2{color:var(--navy);margin:0;font-size:14px}.worker-admin-panel .panel-header>div span{color:var(--muted);margin-top:5px;font-size:9px;display:block}.worker-admin-layout{border-top:1px solid var(--line-soft);grid-template-columns:minmax(280px,360px) minmax(0,1fr);display:grid}.worker-create-form{border-right:1px solid var(--line-soft);background:#fbfcfc;align-content:start;gap:12px;padding:20px;display:grid}.worker-create-form h3{color:var(--navy);margin:0;font-size:15px}.worker-create-form>div:first-child>span{color:var(--muted);margin-top:5px;font-size:9px;line-height:1.5;display:block}.worker-create-form label{color:var(--muted);gap:5px;font-size:9px;font-weight:800;display:grid}.worker-create-form label small{color:#9aa6ad;margin-left:3px;font-size:8px;font-weight:600}.worker-create-form input{border:1px solid var(--line);width:100%;height:40px;color:var(--navy);background:#fff;border-radius:9px;outline:none;padding:0 11px}.worker-create-form input:focus{border-color:#76b8a3;box-shadow:0 0 0 3px #23866b1a}.worker-name-row{grid-template-columns:1fr 1fr;gap:9px;display:grid}.worker-admin-list{max-height:470px;overflow-y:auto}.worker-admin-list>div{border-bottom:1px solid var(--line-soft);grid-template-columns:38px minmax(150px,1fr) minmax(210px,280px);align-items:center;gap:11px;min-height:69px;padding:10px 16px;display:grid}.worker-admin-list>div:last-child{border-bottom:0}.worker-admin-list>div.inactive{background:#f8f9f9}.worker-admin-list>div.inactive .person-avatar,.worker-admin-list>div.inactive .worker-admin-name{opacity:.58}.worker-admin-name{min-width:0}.worker-admin-name strong,.worker-admin-name small{display:block}.worker-admin-name strong{color:var(--navy);font-size:10px}.worker-admin-name small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:8px;overflow:hidden}.worker-admin-list label{color:var(--muted);gap:4px;font-size:8px;font-weight:800;display:grid}.worker-admin-list select{border:1px solid var(--line);width:100%;height:38px;color:var(--navy);background:#fff;border-radius:8px;padding:0 30px 0 9px;font-size:9px}.worker-current-panel{min-width:0}.worker-list-toolbar{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:end;gap:16px;min-height:78px;padding:12px 16px;display:flex}.worker-list-toolbar h3{color:var(--navy);margin:0;font-size:13px}.worker-list-toolbar>div span{color:var(--muted);margin-top:4px;font-size:8px;display:block}.worker-list-toolbar label{width:min(230px,48%);color:var(--muted);gap:4px;font-size:8px;font-weight:800;display:grid}.worker-list-toolbar input{border:1px solid var(--line);width:100%;height:38px;color:var(--navy);background:#fff;border-radius:8px;outline:none;padding:0 10px}.worker-list-toolbar input:focus{border-color:#76b8a3;box-shadow:0 0 0 3px #23866b1a}.worker-admin-actions{grid-template-columns:minmax(190px,1fr) auto;align-items:end;gap:8px;display:grid}.worker-edit-button{min-height:38px;padding-inline:12px}.worker-inactive-panel{border-top:1px solid var(--line-soft);background:#fafbfb}.worker-inactive-panel summary{min-height:62px;color:var(--navy);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;list-style:none;display:flex}.worker-inactive-panel summary::-webkit-details-marker{display:none}.worker-inactive-panel summary span strong,.worker-inactive-panel summary span small{display:block}.worker-inactive-panel summary span strong{font-size:11px}.worker-inactive-panel summary span small{color:var(--muted);margin-top:4px;font-size:8px;font-weight:500}.worker-inactive-panel summary b{min-width:29px;height:29px;color:var(--muted);background:#e9edef;border-radius:9px;place-items:center;font-size:10px;display:grid}.worker-inactive-panel[open] summary{border-bottom:1px solid var(--line-soft)}.worker-inactive-panel[open] summary b{color:#fff;background:var(--green)}.worker-inactive-panel .worker-admin-list{max-height:360px}.worker-history-note{border-top:1px solid var(--line-soft);color:#58766b;background:#f2f8f5;margin:0;padding:12px 18px;font-size:9px;line-height:1.5}.worker-history-note strong{color:var(--green)}.module-footnote{color:var(--muted);margin:12px 2px 0;font-size:9px;line-height:1.55}.access-panel{margin-top:18px;overflow:hidden}.access-panel .panel-header>div h2{color:var(--navy);margin:0;font-size:14px}.access-panel .panel-header>div span{color:var(--muted);margin-top:5px;font-size:9px;display:block}.access-list>div{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:9px 18px;display:flex}.access-list>div:first-child{border-top:0}.access-list span strong,.access-list span small{display:block}.access-list span strong{color:var(--navy);font-size:10px}.access-list span small{color:var(--muted);margin-top:4px;font-size:8px}.access-list select{border:1px solid var(--line);min-width:230px;height:36px;color:var(--navy);background:#fff;border-radius:8px;padding:0 9px;font-size:9px}.role-lock{color:var(--green);background:var(--green-soft);border-radius:8px;padding:7px 10px;font-size:9px}.access-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.access-summary-grid>span{border:1px solid var(--line-soft);min-height:88px;box-shadow:var(--shadow);background:#fff;border-radius:14px;align-content:center;gap:6px;padding:16px 18px;display:grid}.access-summary-grid small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:800}.access-summary-grid strong{color:var(--navy);font-size:24px}.access-management-panel{grid-template-columns:minmax(300px,390px) minmax(0,1fr);display:grid;overflow:hidden}.access-create-form{border-right:1px solid var(--line-soft);background:#fbfcfc;align-content:start;gap:13px;padding:22px;display:grid}.access-create-form h2,.access-current-head h2,.access-login-guide h2{color:var(--navy);margin:0;font-size:16px}.access-create-form>div>span,.access-current-head span{color:var(--muted);margin-top:6px;font-size:9px;line-height:1.5;display:block}.access-create-form label,.access-admin-list label{color:var(--muted);gap:5px;font-size:9px;font-weight:800;display:grid}.access-create-form label small{color:#8a989f;font-size:8px;font-weight:500;line-height:1.45}.access-create-form input,.access-create-form select{border:1px solid var(--line);width:100%;height:42px;color:var(--navy);background:#fff;border-radius:9px;outline:none;padding:0 11px}.access-create-form input:focus,.access-create-form select:focus{border-color:#76b8a3;box-shadow:0 0 0 3px #23866b1a}.access-current-panel{min-width:0}.access-current-head{border-bottom:1px solid var(--line-soft);align-items:center;min-height:78px;padding:17px 18px;display:flex}.access-admin-list{max-height:520px;overflow-y:auto}.access-admin-list>div.blocked{opacity:.72;background:#fafafa}.access-admin-list span em{color:#7a8a93;margin-top:4px;font-size:8px;font-style:normal;display:block}.access-admin-list label{min-width:260px}.access-user-controls{justify-items:stretch;gap:7px;min-width:270px;display:grid}.access-user-controls .secondary-button{justify-content:center;align-items:center;min-height:36px;padding:6px 10px;font-size:9px;text-decoration:none;display:inline-flex}.access-password-modal{width:min(540px,100%);padding:28px}.access-password-modal>h2{color:var(--navy);margin:0;font-size:24px}.access-login-guide{grid-template-columns:minmax(220px,.75fr) minmax(320px,1.25fr);align-items:start;gap:24px;margin-top:18px;padding:21px 23px;display:grid}.access-login-guide ol{color:var(--navy);margin:0;padding-left:20px;font-size:11px;line-height:1.8}.access-login-guide>p{border-top:1px solid var(--line-soft);color:var(--muted);grid-column:1/-1;margin:0;padding-top:13px;font-size:10px}.access-login-guide>p strong{color:var(--green)}.compact-empty{min-height:120px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:6px;padding:22px;display:grid}.compact-empty span{background:#f0f4f5;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.compact-empty p{margin:0;font-size:9px}.tower-panel-head{min-height:68px}.tower-panel-head>div h2{margin:0}.tower-panel-head>div span{color:var(--muted);margin-top:5px;font-size:9px;display:block}.tower-panel-head>strong{color:var(--green);font-size:10px}.phase-dot.final{background:var(--amber)}.production-table{min-width:1250px}.production-table th:nth-child(9),.production-table td:nth-child(9){min-width:142px}.phase-state.final.done{color:#936214;background:var(--amber-soft)}.phase-track{grid-template-columns:2.25fr 2.25fr 2.25fr 2.25fr 1fr;gap:2px;display:grid}.phase-track span{background:#e4e9ec;border-radius:3px;height:5px}.phase-track span.done{background:var(--green)}.phase-track span:last-child.done{background:var(--amber)}.last-work strong,.last-work small{text-overflow:ellipsis;white-space:nowrap;max-width:180px;display:block;overflow:hidden}.last-work strong{color:var(--navy);font-size:9px}.last-work small{color:var(--muted);margin-top:4px;font-size:8px}.daily-report{margin-top:20px;scroll-margin-top:20px;overflow:hidden}.report-title{border-bottom:1px solid var(--line-soft);background:linear-gradient(120deg,#f8fbfa,#f3f7f9);justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.report-title h2{color:var(--navy);margin:0;font-size:22px}.report-title>div>span{color:var(--muted);margin-top:7px;font-size:10px;display:block}.report-kpis{border-bottom:1px solid var(--line-soft);grid-template-columns:repeat(6,1fr);gap:12px;padding:18px 24px;display:grid}.report-kpis span{background:#f4f7f8;border-radius:10px;padding:13px 15px}.report-kpis small,.report-kpis strong{display:block}.report-kpis small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:8px;font-weight:700}.report-kpis strong{color:var(--navy);margin-top:5px;font-size:16px}.report-tables{grid-template-columns:1.2fr .8fr;gap:26px;padding:22px 24px 26px;display:grid}.report-tables h3{color:var(--navy);margin:0 0 12px;font-size:12px}.report-tables table{border:1px solid var(--line-soft)}.report-tables td strong,.report-tables td small{display:block}.report-tables td small{color:var(--muted);margin-top:3px;font-size:8px}.report-actions{gap:5px;display:flex}.report-edit-button,.report-view-button{cursor:pointer;white-space:nowrap;border-radius:7px;min-height:29px;padding:0 10px;font-size:8px;font-weight:800}.report-edit-button{color:var(--green);background:var(--green-soft);border:1px solid #9bc9ba}.report-view-button{color:var(--navy);background:#f3f7f8;border:1px solid #bacbd4}.worker-report-list{border:1px solid var(--line-soft);border-radius:10px;overflow:hidden}.worker-report-list>div{align-items:center;gap:9px;min-height:58px;padding:9px 11px;display:flex}.worker-report-list>div+div{border-top:1px solid var(--line-soft)}.worker-report-list>div>span:nth-child(3){flex:1;min-width:0}.worker-report-list strong,.worker-report-list small{display:block}.worker-report-list strong{color:var(--navy);font-size:9px}.worker-report-list small{color:var(--muted);margin-top:3px;font-size:8px}.worker-report-list>div>strong{color:var(--green);font-size:11px}.modal-card{background:#fff;border-radius:17px;width:min(830px,100%);max-height:calc(100vh - 48px);padding:28px;position:relative;overflow-y:auto;box-shadow:0 30px 90px #0000003b}.modal-card>h2{color:var(--navy);margin:0;font-size:23px}.modal-card.worker-edit-modal{width:min(590px,100%)}.worker-edit-heading{padding-right:42px}.worker-edit-heading h2{color:var(--navy);margin:2px 0 0;font-size:22px}.worker-edit-heading>div>span{color:var(--muted);margin-top:7px;font-size:10px;line-height:1.5;display:block}.worker-edit-form{gap:13px;margin-top:22px;display:grid}.worker-edit-form label{color:var(--muted);gap:6px;font-size:10px;font-weight:800;display:grid}.worker-edit-form input{border:1px solid var(--line);width:100%;height:43px;color:var(--navy);background:#fff;border-radius:9px;outline:none;padding:0 11px}.worker-edit-form input:focus{border-color:#76b8a3;box-shadow:0 0 0 3px #23866b1a}.worker-edit-form-actions{justify-content:flex-end;gap:9px;margin-top:5px;display:flex}.structure-review-modal{width:min(1080px,100%)}.equivalent-rule{color:var(--green);background:#f2f8f5;border:1px solid #cfe4dc;border-radius:10px;align-items:center;gap:8px;margin:17px 0;padding:12px 14px;font-size:8px;display:flex}.equivalent-rule strong{color:var(--navy);margin-right:auto;font-size:9px}.equivalent-rule span{white-space:nowrap;background:#fff;border-radius:7px;padding:5px 8px;font-weight:800}.structure-review-list{gap:13px;display:grid}.structure-review-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.structure-review-card>header{background:#f7f9fa;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:12px;padding:12px 14px;display:grid}.structure-review-card>header small,.structure-review-card>header strong{display:block}.structure-review-card>header small{color:var(--muted);text-transform:uppercase;font-size:7px;font-weight:800}.structure-review-card>header strong{color:var(--navy);margin-top:4px;font-size:11px}.review-phase-grid{border-top:1px solid var(--line-soft);grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:12px 14px;display:grid}.review-phase-grid>span{border:1px solid var(--line);min-height:60px;color:var(--muted);background:#fbfcfc;border-radius:9px;grid-template-columns:20px 1fr;align-content:center;column-gap:7px;padding:8px;display:grid}.review-phase-grid i{color:#8b989f;background:#edf1f3;border-radius:6px;grid-row:1/3;align-self:center;place-items:center;width:20px;height:20px;font-size:8px;font-style:normal;font-weight:800;display:grid}.review-phase-grid strong,.review-phase-grid small{min-width:0;display:block}.review-phase-grid strong{color:var(--navy);font-size:8px}.review-phase-grid small{margin-top:3px;font-size:7px}.review-phase-grid>span.done{color:var(--green);background:#f2f8f5;border-color:#b8dacd}.review-phase-grid>span.done i{color:#fff;background:var(--green)}.review-phase-grid>span.final.done{color:#926214;background:var(--amber-soft);border-color:#e5ca91}.review-phase-grid>span.final.done i{background:var(--amber)}.review-history{border-top:1px solid var(--line-soft);padding:4px 14px 12px}.review-history h3{color:var(--navy);margin:11px 0 6px;font-size:10px}.review-history-row{border-top:1px solid var(--line-soft);grid-template-columns:105px minmax(190px,1.5fr) minmax(135px,1fr) minmax(120px,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:9px 0;display:grid}.review-history-row>span small,.review-history-row>span strong,.review-history-row>span em{display:block}.review-history-row>span small{color:var(--muted);font-size:7px}.review-history-row>span strong{color:var(--navy);margin-top:3px;font-size:9px;line-height:1.35}.review-history-row>span em{color:var(--muted);margin-top:3px;font-size:7px;font-style:normal}.review-history-date strong{margin-top:0!important}.review-history-row>button{justify-self:end}.entry-section{border-top:1px solid var(--line-soft);padding:18px 0}.entry-step{align-items:center;gap:10px;margin-bottom:13px;display:flex}.entry-step>span{color:#fff;background:var(--green);border-radius:8px;flex:none;place-items:center;width:27px;height:27px;font-size:10px;font-weight:800;display:grid}.entry-step h3,.entry-step p{margin:0}.entry-step h3{color:var(--navy);font-size:12px}.entry-step p{color:var(--muted);margin-top:3px;font-size:8px}.croatian-date-picker{max-width:330px}.croatian-date-picker label{color:var(--muted);font-size:9px;font-weight:700}.croatian-date-picker input{border:1px solid var(--line);width:100%;height:41px;color:var(--navy);background:#fff;border-radius:9px;outline:none;margin-top:6px;padding:0 11px}.croatian-date-picker small{color:var(--green);margin-top:6px;font-size:8px;display:block}.activity-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.activity-picker label{border:1px solid var(--line);cursor:pointer;background:#fbfcfc;border-radius:10px;align-content:center;min-height:57px;padding:10px 11px 10px 42px;display:grid;position:relative}.activity-picker label:last-child{grid-column:1/-1}.activity-picker input,.supervisor-picker input{opacity:0;position:absolute}.activity-picker label>span,.supervisor-picker label>span{color:#0000;background:#fff;border:1px solid #cbd6da;border-radius:6px;place-items:center;width:20px;height:20px;font-size:9px;display:grid;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.activity-picker strong,.activity-picker small{display:block}.activity-picker strong{color:var(--navy);font-size:10px}.activity-picker small{color:var(--muted);margin-top:4px;font-size:8px}.activity-picker label.selected{background:#eff8f4;border-color:#72bba4}.activity-picker label.selected>span{border-color:var(--green);color:#fff;background:var(--green)}.activity-picker label.final.selected{background:#fff8e9;border-color:#e0b968}.activity-picker label.final.selected>span{border-color:var(--amber);background:var(--amber)}.inline-warning{color:#8e5d12;background:var(--amber-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 0;padding:9px 11px;font-size:9px;line-height:1.5;display:flex}.inline-warning>span{flex:1;min-width:0}.inline-warning>button{color:#7e500e;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d8aa55;border-radius:7px;flex:none;min-height:32px;padding:6px 9px;font-size:8px;font-weight:800}.worker-team-picker{gap:8px;display:grid}.team-worker{border:1px solid var(--line);background:#fbfcfc;border-radius:10px;align-items:center;gap:12px;min-height:65px;padding:8px 10px;display:flex}.team-worker.selected{background:#f2f9f6;border-color:#85c4b0}.team-worker.leader{box-shadow:inset 3px 0 var(--amber)}.team-worker>label:first-child{cursor:pointer;flex:1;align-items:center;gap:9px;min-width:0;display:flex}.team-worker>label:first-child input{opacity:0;position:absolute}.team-worker .checkmark{color:#0000;background:#fff;border:1px solid #cbd6da;border-radius:6px;flex:none;place-items:center;width:20px;height:20px;font-size:9px;display:grid}.team-worker.selected .checkmark{border-color:var(--green);color:#fff;background:var(--green)}.team-worker>label:first-child>span:last-child{min-width:0}.team-worker strong,.team-worker small{display:block}.team-worker strong{color:var(--navy);font-size:10px}.team-worker small{color:var(--muted);margin-top:3px;font-size:8px}.leader-check{cursor:pointer;flex:none}.leader-check input{opacity:0;position:absolute}.leader-check span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;padding:7px 9px;font-size:8px;font-weight:800;display:block}.leader-check input:checked+span{color:#8e5d12;background:var(--amber-soft);border-color:#dfb35b}.leader-check input:disabled+span{cursor:not-allowed;opacity:.45}.automatic-team-name{color:var(--muted);background:#f2f5f6;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;font-size:9px;display:flex}.automatic-team-name strong{color:var(--navy)}.supervisor-picker{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px;display:grid}.supervisor-picker label{border:1px solid var(--line);cursor:pointer;background:#fbfcfc;border-radius:9px;align-items:center;min-height:46px;padding:0 12px 0 42px;display:flex;position:relative}.supervisor-picker label>strong{color:var(--navy);font-size:10px}.supervisor-picker label.selected{background:#eff8f4;border-color:#72bba4}.supervisor-picker label.selected>span{border-color:var(--green);color:#fff;background:var(--green)}.state-shell{background:var(--canvas);place-items:center;min-height:100vh;padding:25px;display:grid}.state-card{border:1px solid var(--line);width:min(480px,100%);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:18px;place-items:center;padding:38px;display:grid}.state-card strong{color:var(--navy);margin-top:14px;font-size:15px}.state-card p{color:var(--muted);font-size:10px;line-height:1.5}.spinner{border:3px solid #dbe8e3;border-top-color:var(--green);border-radius:50%;width:34px;height:34px;animation:.75s linear infinite spin}.error-symbol{width:34px;height:34px;color:var(--red);background:var(--red-soft);border-radius:50%;place-items:center;font-weight:800;display:grid}@media (width<=1100px){.report-overview-grid,.report-tables{grid-template-columns:1fr}.report-kpis{grid-template-columns:repeat(3,1fr)}.access-management-panel{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}}@media (width<=820px){.production-app .content-inner{padding-bottom:90px}.report-kpis{grid-template-columns:repeat(2,1fr)}.period-switch{flex-wrap:wrap}.period-switch button{flex:1 0 calc(33% - 5px)}.custom-period-picker{flex-wrap:wrap;align-items:stretch}.custom-period-picker label{flex:1 0 135px}.custom-period-picker input{width:100%}.custom-period-picker>span{text-align:center;width:100%;margin:0;padding:5px}.equivalent-rule{flex-wrap:wrap;align-items:stretch}.equivalent-rule strong{width:100%;margin:0 0 2px}.review-phase-grid,.review-history-row{grid-template-columns:repeat(2,minmax(0,1fr))}.review-history-row>button{justify-self:start}.billing-export-head{flex-direction:column;align-items:stretch}.billing-export-controls{width:100%}.billing-export-controls label{flex:1}.billing-export-controls input{width:100%}.billing-export-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.management-grid{grid-template-columns:1fr}.structure-admin-list form{grid-template-columns:34px 1fr 1fr}.structure-admin-list form button{grid-column:auto}.worker-admin-layout{grid-template-columns:1fr}.worker-create-form{border-right:0;border-bottom:1px solid var(--line-soft)}.worker-admin-list>div{grid-template-columns:42px minmax(150px,1fr) minmax(200px,260px)}.access-management-panel,.access-login-guide{grid-template-columns:1fr}.access-create-form{border-right:0;border-bottom:1px solid var(--line-soft)}.access-login-guide>p{grid-column:auto}}@media (width<=580px){.period-switch button{flex:1 0 calc(50% - 5px)}.production-app .tower-range-controls :is(.secondary-button,.reset-range-button){grid-column:1/-1;width:100%}.production-app .quick-tower-controls{grid-template-columns:1fr}.production-app .quick-tower-controls .secondary-button{width:100%}.custom-period-picker button{flex:1 0 120px}.activity-bars>div{grid-template-columns:1fr 65px}.activity-bar{grid-area:2/1/auto/-1}.report-title{flex-direction:column;align-items:stretch;padding:18px}.report-title .secondary-button{width:100%}.report-kpis{gap:7px;padding:12px}.report-tables{padding:18px 12px}.modal-card{border-radius:14px;max-height:calc(100vh - 20px);padding:22px 14px}.activity-picker,.supervisor-picker{grid-template-columns:1fr}.activity-picker label:last-child{grid-column:auto}.team-worker{flex-direction:column;align-items:stretch}.leader-check,.leader-check span{text-align:center;width:100%}.automatic-team-name{flex-direction:column;align-items:flex-start}.floating-production-actions>span{flex-basis:100%;width:100%}.floating-production-actions button{flex:1 0 calc(33% - 6px);padding-inline:7px!important}.structure-review-card>header{grid-template-columns:repeat(2,1fr)}.review-phase-grid,.review-history-row{grid-template-columns:1fr}.billing-export-controls{flex-direction:column}.billing-export-controls label,.billing-export-controls button{width:100%}.billing-export-metrics{grid-template-columns:1fr}.project-switcher,.module-project-picker select{width:100%;min-width:0}.module-project-picker{flex-direction:column;align-items:stretch}.management-date-row{grid-template-columns:1fr}.structure-admin-list form{grid-template-columns:32px 1fr;align-items:end}.structure-admin-list form label:first-of-type,.structure-admin-list form label:last-of-type,.structure-admin-list form button{grid-column:2}.worker-name-row{grid-template-columns:1fr}.worker-list-toolbar{flex-direction:column;align-items:stretch}.worker-list-toolbar h3{font-size:18px}.worker-list-toolbar>div span{font-size:14px;line-height:1.4}.worker-list-toolbar label{width:100%;font-size:14px}.worker-list-toolbar input{height:46px;font-size:16px}.worker-admin-list>div{grid-template-columns:42px minmax(0,1fr);padding:13px}.worker-admin-actions{grid-column:1/-1;grid-template-columns:1fr}.worker-admin-actions label{font-size:14px}.worker-edit-button{width:100%;min-height:44px;font-size:15px}.worker-admin-list select{height:44px;font-size:16px}.worker-admin-name strong{font-size:16px}.worker-admin-name small{white-space:normal;font-size:13px;line-height:1.4}.worker-create-form label{font-size:14px}.worker-create-form input{height:46px;font-size:16px}.worker-create-form>div:first-child>span,.worker-history-note{font-size:14px}.worker-inactive-panel summary{min-height:74px;padding:14px}.worker-inactive-panel summary span strong{font-size:16px}.worker-inactive-panel summary span small{font-size:13px;line-height:1.4}.worker-inactive-panel summary b{min-width:38px;height:38px;font-size:14px}.worker-edit-heading h2{font-size:25px}.worker-edit-heading>div>span{font-size:15px}.worker-edit-form label{font-size:14px}.worker-edit-form input{height:48px;font-size:16px}.worker-edit-form-actions{flex-direction:column-reverse;align-items:stretch}.worker-edit-form-actions button{width:100%;min-height:48px;font-size:16px}.access-list>div{flex-direction:column;align-items:stretch}.access-list select{width:100%;min-width:0}.access-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.access-summary-grid>span{min-height:82px;padding:13px}.access-summary-grid small{font-size:11px}.access-summary-grid strong{font-size:25px}.access-create-form{padding:18px 14px}.access-create-form h2,.access-current-head h2,.access-login-guide h2{font-size:20px}.access-create-form>div>span,.access-current-head span,.access-create-form label,.access-admin-list label{font-size:14px}.access-create-form label small{font-size:13px}.access-create-form input,.access-create-form select,.access-admin-list select{height:48px;font-size:16px}.access-create-form button{min-height:50px;font-size:16px}.access-current-head{min-height:92px;padding:16px 14px}.access-admin-list label{width:100%;min-width:0}.access-admin-list span em{font-size:13px;line-height:1.4}.access-user-controls{width:100%;min-width:0}.access-user-controls .secondary-button{min-height:46px;font-size:15px}.access-password-modal{padding:23px 16px}.access-login-guide{gap:15px;padding:18px 15px}.access-login-guide ol{font-size:15px;line-height:1.6}.access-login-guide>p{font-size:14px;line-height:1.5}}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.table-check input:focus-visible+span,.activity-picker input:focus-visible+span,.team-worker input:focus-visible+.checkmark,.leader-check input:focus-visible+span,.supervisor-picker input:focus-visible+span{outline-offset:2px;outline:3px solid #23866b59}@media (width<=820px){.production-app .mobile-header{z-index:50;min-height:65px;position:sticky;top:0}.production-app .mobile-header-actions :is(button,a){min-height:44px;padding-inline:12px;font-size:12px}.mobile-section-nav{z-index:49;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff7;grid-template-columns:repeat(3,minmax(0,1fr));padding:6px 8px;display:grid;position:sticky;top:65px;box-shadow:0 7px 18px #10283d12}.mobile-section-nav.project-section-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-section-nav a{min-height:44px;color:var(--navy);border-radius:9px;place-items:center;font-size:13px;font-weight:800;text-decoration:none;display:grid}.mobile-section-nav a:active{color:var(--green);background:var(--green-soft)}#pregled,#stupovi,#izvjestaj,#projekti,#radnici,#poslovodje{scroll-margin-top:124px}.production-app .content-inner{padding-top:20px;padding-bottom:145px}.production-app :is(input,select,textarea){font-size:16px}.production-app :is(.primary-button,.secondary-button),.production-app .period-switch button,.production-app .custom-period-picker button,.production-app .custom-period-picker input,.production-app .production-toolbar :is(select,button),.production-app .report-actions button,.production-app .modal-actions button{min-height:44px}.production-app .period-switch button,.production-app .custom-period-picker button,.production-app .custom-period-picker label,.production-app .custom-period-picker>span{font-size:13px}.production-app .custom-period-picker input{height:44px}.production-app .search-field{min-height:46px}.production-app .search-field input{height:44px}.production-app .production-toolbar{flex-wrap:wrap}.production-app .production-toolbar .search-field{min-width:100%}.production-app .production-toolbar select{height:44px}.production-app .tower-range-filter{padding:15px 13px}.production-app .tower-range-head strong{font-size:16px}.production-app .tower-range-head span,.production-app .tower-range-head em{font-size:13px;line-height:1.4}.production-app .tower-range-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.production-app .tower-range-controls label{font-size:14px}.production-app .tower-range-controls input{height:46px;font-size:16px}.production-app .tower-range-controls :is(.secondary-button,.reset-range-button){min-height:46px}.production-app .tower-range-active,.production-app .tower-range-error{font-size:14px;line-height:1.5}.production-app .text-button{min-height:44px;padding-inline:10px}.production-app .table-check{width:44px;height:44px}.production-app .table-check span,.production-app .activity-picker label>span,.production-app .team-worker .checkmark,.production-app .supervisor-picker label>span{width:26px;height:26px;font-size:11px}.production-app .activity-picker label{min-height:64px;padding-left:50px}.production-app .team-worker>label:first-child{min-height:48px}.production-app .leader-check span{place-items:center;min-height:44px;display:grid}.production-app .supervisor-picker label{min-height:58px;padding-left:50px}.production-app .production-entry-modal .modal-subtitle{font-size:clamp(15px,3.8vw,17px);line-height:1.5}.production-app .quick-tower-selector{padding:14px}.production-app .quick-tower-head strong{font-size:17px}.production-app .quick-tower-head span{font-size:14px;line-height:1.45}.production-app .quick-tower-controls input{min-height:46px;font-size:16px}.production-app .quick-tower-controls .secondary-button{min-height:46px}.production-app .saved-range-button{min-height:44px;font-size:14px}.production-app .quick-tower-message,.production-app .quick-tower-error{font-size:14px;line-height:1.45}.production-app .selected-towers-head>span,.production-app .selected-towers-summary p{font-size:clamp(14px,3.55vw,16px)}.production-app .selected-towers-head>strong{font-size:18px}.production-app .selected-towers-head>button{min-height:44px;padding-inline:12px;font-size:14px}.production-app .selected-towers-summary p{max-height:72px;line-height:1.55}.production-app .selected-tower-chips{gap:8px;max-height:190px}.production-app .selected-tower-chips button{gap:9px;min-height:44px;padding:6px 7px 6px 13px;font-size:16px}.production-app .selected-tower-chips button b{width:26px;height:26px;font-size:18px}.production-app .entry-step>span{font-size:14px}.production-app .entry-step h3{font-size:clamp(17px,4.3vw,19px)}.production-app .entry-step p{font-size:clamp(14px,3.55vw,16px);line-height:1.45}.production-app .croatian-date-picker label,.production-app .notes-label{font-size:clamp(15px,3.8vw,17px)}.production-app .croatian-date-picker small{font-size:clamp(14px,3.55vw,15px)}.production-app .activity-picker strong{font-size:clamp(16px,4.05vw,18px)}.production-app .inline-warning{flex-direction:column;align-items:stretch;font-size:clamp(14px,3.55vw,15px)}.production-app .inline-warning>button{white-space:normal;width:100%;min-height:44px;font-size:14px}.production-app .team-worker .person-avatar{font-size:13px}.production-app .team-worker strong{font-size:clamp(16px,4.05vw,18px)}.production-app .team-worker small{font-size:clamp(13px,3.35vw,14px);line-height:1.4}.production-app .leader-check span,.production-app .automatic-team-name{font-size:clamp(14px,3.55vw,16px)}.production-app .automatic-team-name strong{font-size:clamp(15px,3.8vw,17px)}.production-app .supervisor-picker label>strong{font-size:clamp(16px,4.05vw,18px)}.production-app .notes-label textarea{font-size:16px;line-height:1.55}.production-app .production-project-banner>div:first-child span,.production-app .panel-header>span{font-size:12px}.production-app .production-project-banner>div:first-child small,.production-app .production-project-progress>span{font-size:13px}.production-app .production-project-progress>small{text-align:left;font-size:12px}.production-app .metric-card p{font-size:13px}.production-app .metric-card small{font-size:12px;line-height:1.4}.production-app .tower-panel-head>div span{font-size:13px;line-height:1.45}.production-app .phase-legend>span,.production-app .phase-legend>small{font-size:12px;line-height:1.4}.production-app .activity-bars span{font-size:13px}.production-app .activity-bars span small{font-size:12px;line-height:1.4}.production-app .activity-bars>div>strong,.production-app .day-list span strong{font-size:14px}.production-app .day-list span small{font-size:12px;line-height:1.4}.production-app .day-list>div>strong,.production-app .last-work strong{font-size:14px}.production-app .last-work small{font-size:12px;line-height:1.4}.production-app .report-title>div>span{font-size:13px;line-height:1.4}.production-app .report-kpis small{font-size:12px}.production-app .worker-report-list strong{font-size:14px}.production-app .worker-report-list small{font-size:12px;line-height:1.4}.production-app .worker-report-list>div>strong{font-size:14px}.production-app .structure-review-modal .modal-subtitle{font-size:14px;line-height:1.5}.production-app .equivalent-rule{font-size:12px}.production-app .equivalent-rule strong{font-size:13px}.production-app .structure-review-card>header small{font-size:12px}.production-app .structure-review-card>header strong{font-size:14px}.production-app .review-phase-grid i{font-size:12px}.production-app .review-phase-grid strong{font-size:13px}.production-app .review-phase-grid small{font-size:12px;line-height:1.4}.production-app .review-history h3{font-size:15px}.production-app .review-history-row>span small,.production-app .review-history-row>span em{font-size:12px;line-height:1.4}.production-app .review-history-row>span strong{font-size:14px;line-height:1.4}.production-app .modal-close{z-index:5;width:44px;height:44px;top:10px;right:10px}.production-app .modal-card{overscroll-behavior:contain;max-height:calc(100dvh - 20px)}.production-app .floating-production-actions{right:10px;bottom:max(10px, env(safe-area-inset-bottom));grid-template-columns:1fr 1fr;gap:8px;display:grid;left:10px}.production-app .floating-production-actions>span{grid-column:1/-1;width:100%;min-width:0}.production-app .floating-production-actions>span strong{font-size:14px}.production-app .floating-production-actions>span small{font-size:12px}.production-app .floating-production-actions .primary-button{grid-column:1/-1}.production-app .floating-production-actions :is(.primary-button,.secondary-button){min-height:44px}.production-app .content-inner{padding-bottom:180px}.production-app .production-table-wrap{background:#f4f7f8;max-height:none;overflow:visible}.production-app .production-table{width:100%;min-width:0;display:block}.production-app .production-table thead{display:none}.production-app .production-table tbody{gap:10px;padding:12px;display:grid}.production-app .production-table tr{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:13px;display:grid;position:relative;box-shadow:0 4px 12px #10283d0a}.production-app .production-table tr.selected-row{box-shadow:inset 3px 0 var(--green), 0 5px 15px #23866b14;border-color:#75bda7}.production-app .production-table td{text-align:left;border:0;align-items:center;width:auto;height:auto;min-height:0;padding:0;display:flex}.production-app .production-table td:first-child{z-index:2;position:absolute;top:7px;left:8px}.production-app .production-table td:nth-child(2){grid-column:1;min-height:44px;padding-left:48px}.production-app .production-table td:nth-child(2):before{content:"Stup";color:var(--muted);margin-right:8px;font-size:12px;font-weight:700}.production-app .production-table td:nth-child(3){color:var(--navy);white-space:nowrap;grid-column:2;justify-content:flex-end;font-size:14px;font-weight:800}.production-app .production-table td:nth-child(3):before{content:"Težina";color:var(--muted);margin-right:6px;font-size:12px;font-weight:700}.production-app .production-table td:nth-child(n+4):nth-child(-n+8){background:#f5f7f8;border-radius:8px;grid-column:1/-1;justify-content:space-between;gap:10px;min-height:42px;padding:7px 9px}.production-app .production-table td:nth-child(4):before{content:"Trup · temeljna"}.production-app .production-table td:nth-child(5):before{content:"Špica · temeljna"}.production-app .production-table td:nth-child(6):before{content:"Trup · završna"}.production-app .production-table td:nth-child(7):before{content:"Špica · završna"}.production-app .production-table td:nth-child(8):before{content:"Kontrola + staze"}.production-app .production-table td:nth-child(n+4):nth-child(-n+8):before{color:var(--navy);font-size:13px;font-weight:800}.production-app .production-table .phase-state{min-width:78px;min-height:30px;font-size:12px}.production-app .production-table td:nth-child(9){grid-column:1/-1;min-width:0;padding:7px 2px 2px}.production-app .production-table .tower-progress{width:100%;min-width:0}.production-app .production-table td:nth-child(10){border-top:1px solid var(--line-soft);grid-column:1/-1;min-height:42px;padding-top:8px}.production-app .production-table td:nth-child(10):before{content:"Zadnji rad";width:100px;color:var(--muted);flex:none;font-size:12px;font-weight:700}.production-app .last-work strong,.production-app .last-work small{white-space:normal;max-width:none}.production-app .report-tables>div:first-child .table-wrap{overflow:visible}.production-app .report-tables>div:first-child table{border:0;width:100%;display:block}.production-app .report-tables>div:first-child thead{display:none}.production-app .report-tables>div:first-child tbody{gap:10px;display:grid}.production-app .report-tables>div:first-child tr{border:1px solid var(--line);background:#fff;border-radius:12px;gap:8px;padding:13px;display:grid}.production-app .report-tables>div:first-child td{border:0;grid-template-columns:105px minmax(0,1fr);align-items:center;gap:8px;min-height:30px;padding:0;font-size:14px;display:grid}.production-app .report-tables>div:first-child td:before{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.production-app .report-tables>div:first-child td strong{font-size:14px}.production-app .report-tables>div:first-child td small{font-size:12px;line-height:1.4}.production-app .report-tables>div:first-child td:first-child:before{content:"Datum / ekipa"}.production-app .report-tables>div:first-child td:nth-child(2):before{content:"Faze"}.production-app .report-tables>div:first-child td:nth-child(3):before{content:"Stupovi"}.production-app .report-tables>div:first-child td:nth-child(4):before{content:"Radnici"}.production-app .report-tables>div:first-child td:nth-child(5):before{content:"Nadzor"}.production-app .report-tables>div:first-child td:nth-child(6):before{content:"Učinak"}.production-app .report-tables>div:first-child td:nth-child(7):before{content:"Radnje"}.production-app .report-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.production-app .report-edit-button,.production-app .report-view-button{min-height:44px;font-size:12px}.production-app .modal-backdrop{place-items:stretch stretch;padding:0}.production-app .modal-card{border-radius:0;width:100%;height:100dvh;max-height:100dvh;padding:68px 14px 0}.production-app .modal-actions{z-index:4;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:#fff;margin:18px -14px 0;position:sticky;bottom:0;box-shadow:0 -8px 20px #10283d17}.production-app .production-entry-modal .modal-actions{flex-direction:column}.production-app .modal-actions button{width:100%;min-height:48px}}@media (width<=400px){.production-app .production-metrics,.production-app .report-kpis{grid-template-columns:1fr}}@media print{body{background:#fff}.sidebar,.mobile-header,.page-heading,.production-project-banner,.period-controls,.production-metrics,.report-overview-grid,.billing-export-panel,.production-table-panel,.floating-production-actions,.toast,.error-toast,.report-edit-button,.report-view-button{display:none!important}.content-shell{width:100%;margin:0}.content-inner{width:100%;padding:0}.daily-report{box-shadow:none;border:0;margin:0}.report-title button{display:none}.report-tables{grid-template-columns:1fr}}
