:root{--bg:#0d0f12;--sidebar:#0a0c0f;--panel:#15191e;--panel2:#101419;--line:#273039;--line2:#1f262d;--text:#f5f7f8;--muted:#8e98a3;--red:#e53935;--red2:#bf1f22;--green:#3ecc71;--blue:#2f98ef;--amber:#f1a11a;--radius:10px;--sidebar-w:220px}
*{box-sizing:border-box}html,body{min-height:100%;margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,"Segoe UI",Arial,sans-serif}button,input,select{font:inherit}button{color:inherit}.hidden,[hidden]{display:none!important}.conservation-mode .sidebar nav button:not([data-page="dashboard"]),.conservation-mode .settings-button,.conservation-mode .collapse{display:none!important}.conservation-screen{display:grid;place-items:center;min-height:calc(100vh - 118px);padding:24px}.conservation-card{display:grid;justify-items:center;gap:16px;width:min(620px,100%);padding:46px;border:1px solid #303b44;border-radius:14px;background:radial-gradient(circle at 50% 0,#182027,#0d1216 62%);box-shadow:0 22px 70px #0008;text-align:center}.conservation-card img{width:96px;height:96px;object-fit:contain}.conservation-card h2{margin:0;color:#f4f7f8;font-size:42px;line-height:1.05}.conservation-card p{max-width:520px;margin:0;color:#c6ced4;font-size:18px;line-height:1.45}.conservation-card small{color:#7f8a93}.conservation-admin-panel{display:grid;gap:18px}.conservation-admin-state{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #33404a;border-radius:10px;background:#10161b}.conservation-admin-state>span{width:18px;height:18px;border-radius:50%;background:#3ecc71;box-shadow:0 0 0 5px #3ecc7120}.conservation-admin-state.active>span{background:#e53935;box-shadow:0 0 0 5px #e5393522}.conservation-admin-state strong{display:block;font-size:20px}.conservation-admin-state small{color:#96a2ab}.conservation-admin-form{display:grid;gap:12px}.conservation-admin-form label{display:grid;gap:8px;color:#aeb8c0;font-weight:800}.conservation-admin-form textarea{min-height:130px;border:1px solid #33404a;border-radius:10px;background:#0d1216;color:#f5f7f8;padding:12px;resize:vertical}.conservation-admin-actions{display:flex;justify-content:flex-end;gap:10px}.conservation-admin-notes{padding:14px;border:1px dashed #38444d;border-radius:10px;color:#9faab2}.conservation-admin-notes b{display:block;color:#f2f5f6;margin-bottom:5px}.conservation-admin-notes p{margin:0}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 75% -20%,rgba(30,57,67,.22),transparent 37%),linear-gradient(135deg,transparent 48%,rgba(229,57,53,.025) 48%,rgba(229,57,53,.025) 49%,transparent 49%)}
.splash,.login-view,.preflight-view{position:fixed;z-index:30;inset:0;display:grid;place-items:center;background:#080b0e}.splash{align-content:center;text-align:center}.splash img{width:112px;height:112px;margin-bottom:16px}.wordmark,.login-card h1,.preflight-card h1{font-size:27px;font-weight:800;letter-spacing:.02em}.wordmark span,.login-card h1 span,.preflight-card h1 span,.brand span{color:var(--red)}.splash p,.login-card>p,.preflight-card>p{color:#c7ccd2}.loadbar{width:min(260px,65vw);height:6px;margin:36px auto 10px;border-radius:9px;overflow:hidden;background:#20252a}.loadbar i{display:block;height:100%;width:72%;border-radius:inherit;background:var(--red);animation:loading 1s ease-out}.splash small{color:var(--muted)}@keyframes loading{from{width:0}}
.preflight-view{background:radial-gradient(circle at 50% 18%,#172129 0,#0b0e11 38%,#060809 100%)}.preflight-card{width:min(520px,calc(100vw - 32px));padding:42px 38px;text-align:center;background:rgba(11,15,18,.88);border:1px solid #2a3238;border-radius:12px;box-shadow:0 24px 80px #0009}.preflight-card h1{margin:8px 0 2px}.preflight-card>p{margin:0 0 28px}.preflight-steps{display:grid;gap:9px;text-align:left}.preflight-steps>div{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:11px;padding:11px 12px;border:1px solid #27313a;border-radius:8px;background:#10161b}.preflight-steps i{width:13px;height:13px;border-radius:50%;background:#6f7a83;box-shadow:0 0 0 4px #6f7a8322}.preflight-steps b,.preflight-steps small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preflight-steps small{color:#8e99a3;font-size:12px}.preflight-steps .active i{background:var(--amber);box-shadow:0 0 0 4px #f1a11a24;animation:serverPulse 1s ease-in-out infinite}.preflight-steps .done{border-color:#294f39;background:#101b15}.preflight-steps .done i{background:var(--green);box-shadow:0 0 0 4px #3ecc7124}.preflight-steps .failed{border-color:#5a2828;background:#1d1112}.preflight-steps .failed i{background:var(--red);box-shadow:0 0 0 4px #e5393526}.preflight-progress{margin-top:22px}.preflight-progress i{width:12%;animation:none;transition:width .22s ease}#preflight-status{display:block;min-height:20px;margin-top:12px;color:#aeb8c0;font-size:12px}.preflight-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.preflight-actions.hidden{display:none}
.login-view{background:radial-gradient(circle at 50% 18%,#172129 0,#0b0e11 38%,#060809 100%)}.login-card{width:min(390px,calc(100vw - 32px));padding:42px 38px;text-align:center;background:rgba(11,15,18,.82);border:1px solid #2a3238;border-radius:12px;box-shadow:0 24px 80px #0009}.login-logo{width:86px}.login-card h1{margin:8px 0 2px}.login-card>p{margin:0 0 32px}.login-card form{display:grid;gap:14px;text-align:left}.login-card label:not(.check){display:grid;gap:6px}.login-card label span{font-size:12px;color:var(--muted)}input,select{width:100%;height:42px;border:1px solid #303840;border-radius:7px;background:#0f1317;color:var(--text);padding:0 12px;outline:none}input:focus,select:focus{border-color:#6f7982;box-shadow:0 0 0 3px #71808a1d}.password-field{position:relative;display:block}.password-field input{padding-right:48px}.password-toggle{position:absolute;right:6px;top:6px;width:32px;height:30px;border:0;border-radius:6px;background:transparent;color:#8e99a3;cursor:pointer;font-size:15px;line-height:30px}.password-toggle:hover,.password-toggle.active{background:#202830;color:#fff}.check{display:flex;align-items:center;gap:8px;color:#c5cbd0}.check input{position:absolute;opacity:0;width:1px}.check i{width:17px;height:17px;border:1px solid #4c565f;border-radius:3px}.check input:checked+i{background:var(--red);border-color:var(--red);box-shadow:inset 0 0 0 4px var(--red)}.check input:checked+i:after{content:"✓";display:block;color:white;font-size:12px;text-align:center;line-height:16px}.primary,.secondary{height:42px;border-radius:7px;border:0;padding:0 18px;font-weight:700;cursor:pointer}.primary{background:linear-gradient(180deg,#ef3935,var(--red2));box-shadow:inset 0 1px #ff6a66}.primary:hover{filter:brightness(1.08)}.secondary{background:#151a1f;border:1px solid #35404a}.login-card>small{display:block;margin-top:28px;color:#65717a}output{min-height:18px;color:#ff7774;font-size:12px}
.server-status{display:flex;align-items:center;justify-content:center;gap:8px;min-height:34px;margin:-18px 0 18px;padding:7px 10px;border:1px solid #2d3841;border-radius:7px;background:#10161b;color:#aeb8c0;font-size:12px;font-weight:700}.server-status i{width:9px;height:9px;border-radius:50%;background:#79848d;box-shadow:0 0 0 4px #79848d20}.server-status.online{border-color:#285238;background:#101b15;color:#8fe9aa}.server-status.online i{background:var(--green);box-shadow:0 0 0 4px #3ecc7124}.server-status.offline{border-color:#5a2828;background:#1d1112;color:#ff918e}.server-status.offline i{background:var(--red);box-shadow:0 0 0 4px #e5393526}.server-status.checking i{background:var(--amber);box-shadow:0 0 0 4px #f1a11a24;animation:serverPulse 1s ease-in-out infinite}@keyframes serverPulse{50%{opacity:.45;transform:scale(.78)}}
.app{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;z-index:10;display:flex;flex-direction:column;padding:20px 12px 14px;background:linear-gradient(180deg,#080b0e,#0c1115);border-right:1px solid var(--line2);transition:.2s}.brand{height:48px;display:flex;align-items:center;gap:9px;padding:0 8px;margin-bottom:23px;font-size:18px;white-space:nowrap}.brand img{width:38px;height:38px}.sidebar nav{display:grid;gap:5px}.sidebar nav button,.collapse{height:43px;display:flex;align-items:center;gap:13px;border:0;border-radius:7px;background:transparent;text-align:left;cursor:pointer;color:#d9dde0}.sidebar nav button b{width:22px;text-align:center;font-size:19px;font-weight:400}.sidebar nav button:hover{background:#161b20}.sidebar nav button.active{background:linear-gradient(90deg,var(--red),#ef252a);box-shadow:0 5px 18px #e5393530;color:#fff}.collapse{margin-top:auto;width:100%;border:1px solid #28313a;padding:0 10px;color:var(--muted)}.collapse b{font-size:24px}.app.compact{--sidebar-w:74px}.compact .brand strong,.compact nav span,.compact .collapse span{display:none}.compact .brand{justify-content:center;padding:0}.compact .sidebar nav button,.compact .collapse{justify-content:center}.compact .collapse b{transform:rotate(180deg)}
.workspace{min-width:0;display:grid;grid-template-rows:auto 1fr 32px;min-height:100vh}.topbar{height:69px;display:flex;align-items:center;gap:14px;padding:0 22px;border-bottom:1px solid var(--line2);background:#0b0e11db;backdrop-filter:blur(18px);position:sticky;top:0;z-index:8}.topbar>div:nth-of-type(1){margin-right:auto}.topbar h1{margin:0;font-size:19px}.topbar p{display:none;margin:0;color:var(--muted);font-size:11px}.global-search{position:relative;width:200px}.global-search span{position:absolute;left:11px;top:8px;color:#7d8790}.global-search input{height:34px;padding-left:30px;background:#101419}.icon-button{position:relative;width:36px;height:36px;border:0;border-radius:7px;background:transparent;cursor:pointer;font-size:19px}.icon-button:hover{background:#171c21}.notification i{position:absolute;top:1px;right:1px;min-width:15px;height:15px;padding:0 3px;border-radius:9px;background:var(--red);font:700 10px/15px Arial}.user-menu{display:flex;align-items:center;gap:9px;border-left:1px solid var(--line);padding-left:14px}.user-menu strong,.user-menu small{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu small{color:var(--muted);font-size:11px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#d8dce0,#6d7883) center/cover no-repeat;color:#15191e;font-weight:800}.menu-button{display:none}
.settings-button{height:40px;display:flex;align-items:center;gap:13px;margin-top:auto;border:1px solid #28313a;border-radius:7px;background:#10151a;color:#c9d0d5;text-align:left;cursor:pointer;padding:0 10px}.settings-button:hover{background:#171d22}.settings-button b{width:22px;text-align:center;letter-spacing:-.08em}.settings-button+.collapse{margin-top:8px}.app.compact .settings-button{justify-content:center}.app.compact .settings-button span{display:none}.vpn-switch{display:flex;align-items:center;gap:7px;height:34px;padding:0 8px;border:1px solid #303a43;border-radius:999px;background:#10151a;color:#89949d;font-size:10px;font-weight:900;letter-spacing:.03em;cursor:pointer}.vpn-switch i{position:relative;width:34px;height:20px;border-radius:999px;background:#3a434b;transition:.16s}.vpn-switch i:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#d7dde2;box-shadow:0 1px 3px #0006;transition:.16s}.vpn-switch.configured{border-color:#5b4824;color:#ffc766}.vpn-switch.active{border-color:#2f6a45;color:#83e5a3}.vpn-switch.active i{background:#30d158}.vpn-switch.active i:after{transform:translateX(14px);background:#fff}.vpn-switch.busy,.vpn-switch:disabled{opacity:.64;cursor:wait}
.content{padding:20px 22px 28px;min-width:0}.page-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.page-head h2{margin:0;font-size:20px}.page-head p{margin:5px 0 0;color:var(--muted)}.toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.toolbar label{display:grid;gap:5px;color:var(--muted);font-size:11px}.toolbar select,.toolbar input{min-width:160px;height:39px}.toolbar button{height:39px}.cards{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:12px;margin-bottom:14px}.metric{min-height:104px;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;padding:16px;background:linear-gradient(145deg,var(--panel),#101419);border:1px solid var(--line2);border-radius:var(--radius)}.metric-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:9px;background:#102338;color:var(--blue);font-size:22px}.metric:nth-child(2) .metric-icon{background:#102b1e;color:var(--green)}.metric:nth-child(3) .metric-icon{background:#33220e;color:var(--amber)}.metric:nth-child(4) .metric-icon{background:#321113;color:#ff5954}.metric:nth-child(5) .metric-icon{background:#24203a;color:#9083ef}.metric small{display:block;color:#cbd0d4}.metric strong{display:block;font-size:29px;line-height:1.05;margin:5px 0}.metric em{color:var(--muted);font-size:11px;font-style:normal}.panel{background:linear-gradient(145deg,var(--panel),#101419);border:1px solid var(--line2);border-radius:var(--radius);padding:16px}.panel h3{margin:0 0 16px;font-size:15px}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:12px}.dashboard-lower{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px;margin-top:12px}.line-chart{height:220px;position:relative;border-left:1px solid #29323a;border-bottom:1px solid #29323a;background:repeating-linear-gradient(0deg,transparent 0,transparent 43px,#1d252b 44px)}.line-chart svg{width:100%;height:100%}.line-chart polyline{fill:none;stroke:var(--blue);stroke-width:2}.line-chart polyline:last-child{stroke:var(--green)}.ring{width:170px;height:170px;margin:auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--red) 0 22%,var(--blue) 22% 43%,var(--green) 43% 71%,var(--amber) 71%);position:relative}.ring:after{content:"";position:absolute;inset:32px;border-radius:50%;background:#13171c}.ring div{z-index:1;text-align:center}.ring strong{display:block;font-size:30px}.list{display:grid;gap:10px}.list-row{display:flex;gap:12px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--line2)}.list-row:last-child{border:0;padding:0}.list-row b{color:var(--red)}.list-row div{flex:1}.list-row small{display:block;color:var(--muted)}.status{margin-left:auto;color:var(--green)}
.data-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#11161a}.table-scroll{position:relative;overflow:auto;max-width:100%;max-height:calc(100vh - 220px)}table{width:100%;border-collapse:collapse}th,td{padding:12px 13px;border-bottom:1px solid #263039;text-align:left;white-space:nowrap}th{position:sticky;top:0;z-index:5;background:#151b20;color:#adb5bd;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.table-scroll thead th{position:sticky;top:0;z-index:5}tbody tr:hover{background:#171d22}.badge{display:inline-flex;align-items:center;height:23px;padding:0 8px;border-radius:11px;background:#183322;color:#6ee798;font-size:11px}.badge.warn{background:#392a12;color:#ffc766}.empty{padding:50px 20px;text-align:center;color:var(--muted)}.empty b{display:block;color:var(--text);font-size:17px;margin-bottom:7px}
.dashboard-workspace{display:grid;gap:14px}.dashboard-topline{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(360px,1.1fr);gap:14px}.dashboard-crew-card{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;overflow:hidden}.dashboard-crew-card>div{display:grid;align-content:center;gap:5px;min-height:132px;padding:20px;border-right:1px solid var(--line2)}.dashboard-crew-card>div:last-child{border-right:0}.dashboard-crew-card span{color:#a5afb8;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.dashboard-crew-card strong{font-size:46px;line-height:1}.dashboard-crew-card small{color:#e1e6e9;font-size:14px;font-weight:700}.dashboard-doc-card header,.dashboard-task-card header,.dashboard-hr-card header,.dashboard-warehouse-card header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.dashboard-doc-card h3,.dashboard-task-card h3,.dashboard-hr-card h3,.dashboard-warehouse-card h3{margin:0}.dashboard-task-card header span,.dashboard-hr-card header span,.dashboard-warehouse-card header span{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#242d35;color:#dfe5e9;font-weight:900}.dashboard-status{display:inline-flex;align-items:center;height:27px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:900}.dashboard-status.warn{background:#3a2a12;color:#ffc766}.dashboard-sync-list{display:grid;gap:10px}.dashboard-sync-list span{display:grid;gap:3px;padding:11px 12px;border:1px solid #2d3841;border-radius:8px;background:#10161b}.dashboard-sync-list b{font-size:14px}.dashboard-sync-list small{color:#89949d}.dashboard-main-grid{display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(300px,.95fr) minmax(340px,1fr);gap:14px;align-items:start}.dashboard-task-list,.dashboard-request-list,.dashboard-warehouse-list{display:grid;gap:9px}.dashboard-task-row{display:grid;gap:4px;padding:11px 12px;border:1px solid #2c3740;border-radius:8px;background:#10161b}.dashboard-task-row b{font-size:14px}.dashboard-task-row p{margin:0;color:#c4ccd2;line-height:1.35}.dashboard-task-row small{color:#87929b}.dashboard-request-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid #2c3740;border-radius:8px;background:#10161b}.dashboard-request-row span{display:grid;min-width:0}.dashboard-request-row b,.dashboard-request-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-request-row small{color:#8e99a3}.dashboard-request-row i{font-style:normal;color:#ffc766;font-size:11px;font-weight:900}.dashboard-warehouse-row{display:grid;grid-template-columns:minmax(0,1fr) 54px 76px;align-items:center;gap:10px;padding:10px 11px;border:1px solid #2c3740;border-radius:8px;background:#10161b}.dashboard-warehouse-row span{display:grid;min-width:0}.dashboard-warehouse-row b,.dashboard-warehouse-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-warehouse-row small{color:#8e99a3}.dashboard-warehouse-row strong{text-align:right;font-size:18px}.dashboard-warehouse-row em{color:#99a4ad;font-size:12px;font-style:normal;text-align:right}.dashboard-empty{padding:22px 14px;border:1px dashed #37434c;border-radius:8px;color:#8e99a3;text-align:center}
@media(max-width:1180px){.dashboard-topline,.dashboard-main-grid{grid-template-columns:1fr}.dashboard-crew-card>div{min-height:112px}}
@media(max-width:620px){.dashboard-crew-card{grid-template-columns:1fr}.dashboard-crew-card>div{border-right:0;border-bottom:1px solid var(--line2)}.dashboard-crew-card>div:last-child{border-bottom:0}.dashboard-warehouse-row{grid-template-columns:minmax(0,1fr) 44px 66px}.dashboard-status{font-size:10px}}
.content:has(.dashboard-workspace){height:calc(100vh - 101px);overflow:hidden}.dashboard-workspace{height:100%;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(340px,.84fr);gap:14px;min-height:0}.dashboard-left-column,.dashboard-right-column{display:grid;gap:14px;min-height:0}.dashboard-left-column{grid-template-rows:minmax(0,1.18fr) minmax(0,.82fr)}.dashboard-right-column{grid-template-rows:104px minmax(0,1fr)}.dashboard-task-card,.dashboard-warehouse-card,.dashboard-crew-count-card,.dashboard-workday-card,.dashboard-doc-card{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}.dashboard-task-list,.dashboard-request-list,.dashboard-warehouse-list,.dashboard-sync-list{min-height:0;overflow:hidden}.dashboard-crew-count-card{place-items:center;padding:11px 13px;text-align:center}.dashboard-crew-count-card strong{display:flex;align-items:baseline;justify-content:center;gap:7px;line-height:1}.dashboard-crew-count-card strong span{color:#f3f6f8;font-size:30px;font-weight:900;letter-spacing:0;text-transform:none}.dashboard-crew-count-card strong i{color:#66717a;font-style:normal;font-size:25px;font-weight:750}.dashboard-crew-count-card strong em{color:#8ceea8;font-style:normal;font-size:32px;font-weight:950}.dashboard-crew-count-card time{display:block;margin-top:5px;color:#8e99a3;font-size:11px;font-weight:850}.dashboard-task-row{padding:11px 12px}.dashboard-task-row b,.dashboard-sync-list b{font-size:13px}.dashboard-task-row p,.dashboard-sync-list small{font-size:12px}.dashboard-warehouse-card header h3{max-width:240px}.dashboard-empty{display:grid;place-items:center;min-height:100%;padding:14px}
.dashboard-company-stats{display:grid;gap:7px;width:100%}.dashboard-company-stats>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.dashboard-company-stats>div>span{overflow:hidden;color:#cbd4da;font-size:12px;font-weight:850;text-align:left;text-overflow:ellipsis;white-space:nowrap}.dashboard-company-stats strong{justify-content:flex-end!important}.dashboard-company-stats strong b{color:#f3f6f8;font-size:25px}.dashboard-company-stats strong i{font-size:21px!important}.dashboard-company-stats strong em{font-size:27px!important}
.dashboard-workday-card{padding:13px}.dashboard-workday-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.dashboard-workday-card h3{margin:0;font-size:14px}.dashboard-workday-card header span{color:#8e99a3;font-size:11px;font-weight:850}.dashboard-workday-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start}.dashboard-workday-actions button{height:36px;min-width:0;padding:0 9px;border-radius:8px;font-size:11px;white-space:normal;line-height:1.1}.dashboard-workday-actions .primary{grid-column:span 2;height:40px;font-size:12px}
@media(max-width:1180px){.content:has(.dashboard-workspace){height:auto;overflow:visible}.dashboard-workspace{height:auto;grid-template-columns:1fr}.dashboard-left-column,.dashboard-right-column{grid-template-rows:auto}.dashboard-task-card,.dashboard-warehouse-card,.dashboard-hr-card,.dashboard-doc-card{min-height:160px}.dashboard-crew-card>div{min-height:96px}}
.timesheet-page{min-width:0}.timesheet-tools{position:sticky;top:69px;z-index:7;padding:8px 10px;margin-bottom:10px}.timesheet-toolbar-line{display:flex;align-items:end;gap:7px;min-width:0}.timesheet-toolbar-line label{display:grid;gap:3px;color:var(--muted);font-size:10px}.timesheet-toolbar-line input,.timesheet-toolbar-line select,.timesheet-toolbar-line button{height:30px;font-size:10px}.timesheet-period-picker{flex:0 0 164px}.timesheet-period-picker input{min-width:102px}.timesheet-organization-picker{flex:0 1 150px;min-width:118px}.timesheet-site-picker{flex:1 1 220px;min-width:160px}.timesheet-crew-picker{flex:0 1 170px;min-width:130px}.timesheet-export-toggle{height:30px;min-width:82px;font-size:10px}.timesheet-add-row{min-width:92px}.timesheet-approve-stack{display:grid;gap:2px;align-self:end;min-width:136px}.timesheet-approve{width:100%;min-width:0}.timesheet-save-state{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--green);font-size:7px;font-weight:800;line-height:1;text-align:center}.timesheet-wrap{overflow:auto;max-height:calc(100vh - 242px);border:1px solid var(--line);border-radius:8px;background:#101519}.timesheet{width:max-content;min-width:100%;font-size:12px}.timesheet th,.timesheet td{border-right:1px solid #2a343d;border-bottom:1px solid #2a343d;padding:0;text-align:center;height:39px}.timesheet thead th{top:0;z-index:4;height:51px;background:#151b20}.timesheet tfoot td{position:sticky;bottom:0;background:#141a1f;font-weight:700}.timesheet .num{width:40px;min-width:40px}.timesheet .person{position:sticky;left:0;z-index:3;width:165px;min-width:165px;padding:0 10px;text-align:left;background:#12181d}.timesheet .position{position:sticky;left:165px;z-index:3;width:125px;min-width:125px;padding:0 10px;text-align:left;background:#12181d}.timesheet thead .person,.timesheet thead .position{z-index:6}.timesheet .day{width:40px;min-width:40px}.timesheet .day.weekend{color:#ff4f4b}.timesheet .cell{width:40px;min-width:40px;cursor:pointer;background:color-mix(in srgb,var(--site-color,#d6c5f7) 14%,transparent)}.timesheet .cell:hover{box-shadow:inset 0 0 0 2px #d7dde2}.timesheet .cell.code-n{background:#f38d963d;color:#ff777f}.timesheet .cell.code-o{background:#73a9f3;color:#9fc9ff}.timesheet .cell.code-b{background:#bc825c4d;color:#efb58d}.timesheet .overtime,.timesheet .total{width:92px;min-width:92px;font-weight:700}.legend{display:flex;gap:18px;flex-wrap:wrap;margin:12px 4px;color:var(--muted)}.legend i{display:inline-block;width:16px;height:16px;border-radius:3px;vertical-align:-3px;margin-right:5px}.palette{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;padding:12px 14px}.palette-item{display:grid;grid-template-columns:22px 28px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:7px 9px;border-radius:6px;background:#f4f6f7;color:#26323a}.palette-item>i{width:22px;height:22px;border-radius:4px;background:var(--palette-color);box-shadow:inset 0 0 0 1px #0002}.palette-item>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-empty{color:var(--muted)}.save-state{color:var(--green);font-size:12px}.locked{color:#ffb14b}.cell-menu{position:fixed;z-index:40;width:255px;padding:8px;background:#141a20;border:1px solid #3b4650;border-radius:8px;box-shadow:0 15px 40px #000b}.cell-menu button{display:flex;width:100%;align-items:center;gap:9px;border:0;background:transparent;padding:9px;border-radius:5px;text-align:left;cursor:pointer}.cell-menu button:hover{background:#222a31}.cell-menu i{width:14px;height:14px}
.timesheet-crew-row td{position:sticky;top:51px;z-index:5;height:34px;background:#0e151af5;color:#ecf3f7;text-align:left;box-shadow:inset 0 -1px #2d3944}.timesheet-crew-row td:first-child{left:0;z-index:7;padding:0 10px}.timesheet-crew-row strong{font-size:12px}.timesheet-crew-row span{margin-left:10px;color:#91a0aa;font-size:10px;font-weight:800}.timesheet-employee-context{position:fixed;z-index:70;width:220px;padding:7px;border:1px solid #34404a;border-radius:9px;background:#11181ef7;box-shadow:0 18px 46px #000b;backdrop-filter:blur(14px)}.timesheet-employee-context button{display:flex;width:100%;align-items:center;min-height:34px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:#eef4f8;font-weight:800;text-align:left;cursor:pointer}.timesheet-employee-context button:hover{background:#24303a}.timesheet-employee-context button.danger{color:#ff8c8c}
.timesheet-export{position:relative}.timesheet-export-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-width:112px}.timesheet-export-toggle:after{content:"⌄";font-size:14px;line-height:1;transition:transform .15s}.timesheet-export.open .timesheet-export-toggle:after{transform:rotate(180deg)}.timesheet-export-menu{position:absolute;z-index:25;top:calc(100% + 6px);right:0;display:grid;width:270px;padding:6px;border:1px solid #3b4650;border-radius:9px;background:#11171c;box-shadow:0 16px 42px #000b}.timesheet-export-menu[hidden]{display:none}.timesheet-export-menu button{width:100%;height:auto;min-height:39px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:#dce1e4;font-size:11px;font-weight:650;line-height:1.25;text-align:left;cursor:pointer}.timesheet-export-menu button:hover,.timesheet-export-menu button:focus-visible{background:#222a31;color:#fff}.timesheet-export-menu button:focus-visible{outline:2px solid #f05a55;outline-offset:-1px}.timesheet-export-menu button:disabled,.timesheet-export-toggle:disabled{opacity:.48;cursor:not-allowed}.timesheet-export.busy .timesheet-export-toggle{border-color:#735236;color:#eab477}
.timesheet .cell{position:relative;user-select:none}.timesheet .cell-value{pointer-events:none}.timesheet .cell.code-v{background:#7180963d;color:#dce4ec}.overtime-corner{position:absolute;z-index:2;top:0;right:0;width:17px;height:17px;padding:0;border:0;background:transparent;cursor:crosshair}.overtime-corner:after{content:"";position:absolute;inset:0;clip-path:polygon(100% 0,0 0,100% 100%);background:#697783;opacity:.42;transition:.15s}.overtime-corner:hover:after,.overtime-corner:focus-visible:after{background:var(--amber);opacity:1}.timesheet .cell.has-overtime .overtime-corner:after{background:#ff514b;opacity:1;filter:drop-shadow(0 0 3px #ff514b88)}.timesheet .cell.has-overtime{box-shadow:inset -2px 2px 0 #ff514b38}.legend i.legend-corner{width:16px;height:16px;border-radius:0;clip-path:polygon(100% 0,0 0,100% 100%);background:#ff514b}
.timesheet-wrap{background:#f2f4f5}.timesheet tbody td{border-right-color:#cbd2d8;border-bottom-color:#cbd2d8;color:#27323a;background:#f2f4f5}.timesheet tbody .person,.timesheet tbody .position,.timesheet tbody .num,.timesheet tbody .overtime,.timesheet tbody .total{background:#f5f6f7;color:#27323a}.timesheet tbody .cell{background:color-mix(in srgb,var(--site-color,#d6c5f7) 42%,#f2f4f5)}.timesheet tbody .cell:hover{box-shadow:inset 0 0 0 2px #596976}.timesheet tbody .cell.code-n{background:color-mix(in srgb,#f38d96 50%,#f2f4f5);color:#821f29}.timesheet tbody .cell.code-v{background:color-mix(in srgb,#718096 44%,#f2f4f5);color:#24333e}.timesheet tbody .cell.code-o{background:color-mix(in srgb,#73a9f3 48%,#f2f4f5);color:#1d4f82}.timesheet tbody .cell.code-b{background:color-mix(in srgb,#bc825c 45%,#f2f4f5);color:#714126}.timesheet .cell-value{display:inline-block;font-size:19px;font-weight:800;line-height:1}.timesheet .cell-value.attendance,.legend-attendance{font-family:"Arial Black","Segoe UI Symbol","Segoe UI",sans-serif;font-size:22px;font-weight:900;color:#183d2b;-webkit-text-stroke:.45px currentColor}.legend-attendance{font-size:17px;color:#b8efcb;vertical-align:-1px}.timesheet .overtime,.timesheet .total,.timesheet tfoot td{font-size:14px}.timesheet .day{font-size:13px}.overtime-corner{width:10px;height:10px;cursor:pointer}.overtime-corner:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.overtime-hours{position:absolute;z-index:1;right:1px;bottom:1px;min-width:16px;height:14px;padding:0 3px;border-radius:8px;background:#d93431;color:#fff;font:800 10px/14px Arial,sans-serif;letter-spacing:-.2px;pointer-events:none;box-shadow:0 1px 2px #0003}.overtime-hours.negative{background:#376f9c}.overtime-hours:empty{display:none}.timesheet .cell.has-undertime .overtime-corner:after{background:#4d88b5;opacity:1;filter:drop-shadow(0 0 3px #4d88b588)}.timesheet .cell.has-undertime{box-shadow:inset -2px 2px 0 #4d88b538}.legend i.legend-corner{width:10px;height:10px;vertical-align:-1px}
.timesheet .num{position:sticky;left:0;z-index:4}.timesheet .person{left:40px;width:250px;min-width:250px}.timesheet thead .num{z-index:7;background:#151b20}.timesheet tbody td{height:48px}.timesheet tfoot .num{z-index:6;background:#141a1f}.employee-surname{display:block;overflow:hidden;color:#20272c;font-size:13px;line-height:1.15;letter-spacing:.025em;text-overflow:ellipsis;text-transform:uppercase}.employee-details{display:block;overflow:hidden;margin-top:3px;color:#66717a;font-size:10px;font-weight:500;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.employee-list-person,.timesheet-person{display:flex;align-items:center;gap:9px;min-width:0}.employee-name-block{display:block;min-width:0}.employee-avatar{position:relative;display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;overflow:hidden;border-radius:50%;background:#dce3e8;color:#35424c;font-size:11px;font-weight:800}.employee-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.timesheet-person .employee-avatar{flex-basis:32px;width:32px;height:32px}
.timesheet tfoot td{position:static;bottom:auto}.timesheet tfoot .num{z-index:4}
dialog{border:0;padding:0;background:transparent;color:var(--text)}dialog::backdrop{background:#000a;backdrop-filter:blur(3px)}.modal-card{position:relative;width:min(480px,calc(100vw - 28px));padding:24px;background:#12171c;border:1px solid #35404a;border-radius:11px;box-shadow:0 25px 70px #000}.modal-card h2{margin:0 30px 20px 0}.modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:#aeb6bd;font-size:25px;cursor:pointer}.modal-grid{display:grid;gap:13px}.modal-grid label{display:grid;gap:5px;color:#aeb6bd;font-size:12px}.modal-grid label small{color:#7f8a93}.employee-photo-field{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:14px;padding:12px;border:1px solid #303b44;border-radius:9px;background:#0f1418}.employee-photo-preview{position:relative;display:grid;place-items:center;width:82px;height:82px;overflow:hidden;border:1px dashed #65717a;border-radius:50%;background:#20272d;color:#929da6;font-size:12px}.employee-photo-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.modal-card output{display:block;margin-top:8px}#toast{position:fixed;right:20px;bottom:46px;z-index:60;transform:translateY(20px);opacity:0;padding:11px 15px;border:1px solid #345240;border-radius:7px;background:#17251d;color:#88e4a8;transition:.2s;pointer-events:none}#toast.show{transform:none;opacity:1}footer{display:flex;align-items:center;gap:22px;padding:0 22px;border-top:1px solid var(--line2);color:#87919a;font-size:11px}footer .sync{margin-left:auto}.sync i{display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:50%;background:var(--green)}.sync.active i{background:#f0b84d;box-shadow:0 0 0 4px #f0b84d22}.sync.warn i{background:#ef6661}.sync.ok i{background:var(--green)}
.modal-card.report-access-card{width:min(760px,calc(100vw - 28px));max-height:calc(100vh - 40px);overflow:auto}
.modal-card:has(.settings-modal){width:min(820px,calc(100vw - 28px))}.settings-modal{display:grid;gap:16px}.settings-section{display:grid;gap:12px;padding:14px;border:1px solid #303b44;border-radius:10px;background:#0f1418}.settings-section header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.settings-section h3{margin:0;font-size:17px}.settings-section header span{color:#8f9aa3;font-size:12px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-grid label{display:grid;gap:5px;color:#aeb6bd;font-size:12px;font-weight:750}.settings-grid .span-2{grid-column:1/-1}.settings-grid textarea{min-height:104px;padding:10px 12px;border:1px solid #303840;border-radius:7px;background:#0f1317;color:var(--text);font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical;outline:none}.settings-grid textarea:focus{border-color:#6f7982;box-shadow:0 0 0 3px #71808a1d}.settings-check{grid-column:1/-1;display:flex!important;align-items:center;gap:10px;padding:10px 12px;border:1px solid #303b44;border-radius:8px;background:#11181d;color:#e7ecef!important}.settings-check input{width:18px;height:18px}.settings-note{margin:0;padding:10px 12px;border:1px dashed #46525c;border-radius:8px;color:#9aa5ad;line-height:1.45}
.settings-company-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings-company-picker .settings-check{grid-column:auto;min-height:42px}.settings-company-picker .settings-check span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.employee-avatar.interactive{cursor:zoom-in;user-select:none}.employee-avatar.interactive:hover{box-shadow:0 0 0 2px #768590}.employee-avatar.interactive:focus-visible{outline:2px solid var(--red);outline-offset:2px}.employee-photo-dialog{max-width:none;max-height:none;border:0;padding:0;background:transparent}.employee-photo-dialog::backdrop{background:#000d;backdrop-filter:blur(5px)}.employee-photo-card{position:relative;display:grid;justify-items:center;gap:8px;width:min(620px,calc(100vw - 28px));padding:18px;border:1px solid #47535d;border-radius:13px;background:#10151a;box-shadow:0 28px 90px #000;overflow:hidden}.employee-photo-card img{display:block;width:100%;max-height:min(72vh,720px);border-radius:9px;object-fit:contain;background:#080a0c;cursor:zoom-in;transform-origin:center;transition:transform .12s ease;touch-action:none;user-select:none}.employee-photo-card img.zoomed{cursor:grab}.employee-photo-card img.dragging{cursor:grabbing;transition:none}.employee-photo-card strong{font-size:18px}.employee-photo-card small{color:var(--muted)}.photo-dialog-close{position:absolute;z-index:2;top:7px;right:8px;width:36px;height:36px;border:1px solid #ffffff38;border-radius:50%;background:#0a0d10cc;color:#fff;font-size:25px;line-height:30px;cursor:pointer}
.salary-form{display:grid;grid-template-columns:minmax(220px,1.35fr) 150px 170px auto;gap:10px;align-items:end;margin-bottom:14px}.salary-form label{display:grid;gap:5px;color:var(--muted);font-size:11px}.salary-form input,.salary-form select{height:39px}.salary-form output{grid-column:1/-1}.salary-rate-type{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;background:#142435;color:#8fc9ff;font-size:11px;font-weight:800}.salary-rate-type.month{background:#2b2211;color:#ffd283}.salary-decision-needed{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid #5d4430;border-radius:999px;background:#2b1f12;color:#f0b46e;font-size:11px;font-weight:800;white-space:normal}.salary-summary{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px;color:#aeb6bd}.salary-summary span{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid #303a43;border-radius:7px;background:#10161b}.salary-summary b{margin-left:6px;color:#fff}.salary-modal-person{display:grid;gap:3px;margin-bottom:13px;padding:11px 12px;border:1px solid #303a43;border-radius:8px;background:#0e1418}.salary-modal-person strong{font-size:15px}.salary-modal-person span{color:#8d98a1;font-size:11px}.salary-modal-note{margin:12px 0 0;color:#8f9aa3;font-size:11px;line-height:1.45}
.payroll-panel{display:grid;gap:12px}.payroll-summary{margin-bottom:0}.payroll-warning{padding:10px 12px;border:1px solid #59442b;border-radius:8px;background:#231a10;color:#f0c98c;font-size:12px}.payroll-note{margin:0;color:#8d98a1;font-size:12px;line-height:1.5}
.payroll-tabs{display:inline-flex;width:max-content;gap:6px;padding:4px;border:1px solid #303a42;border-radius:9px;background:#0d1216}.payroll-tabs button{height:42px;min-width:104px;padding:0 18px;border:0;border-radius:6px;background:transparent;color:#9aa5ad;font-size:14px;font-weight:900;cursor:pointer}.payroll-tabs button[aria-selected=true]{background:#e53935;color:#fff}.payroll-tabs button:hover{background:#20272e;color:#fff}
.payroll-sticky-head{position:relative;top:auto!important;z-index:12;margin:-4px 0 10px;padding:12px;border:1px solid #27313a;border-radius:10px;background:#0d1115;box-shadow:0 8px 20px #0006}
.payroll-scroll-region{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 2px 14px 0}
@media(min-width:821px){.workspace:has(.payroll-sticky-head){height:100dvh;min-height:0;overflow:hidden}.content:has(>.payroll-sticky-head){display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}.payroll-scroll-region>.panel{margin:0}.payroll-summary-drawer{position:static;top:auto}.payroll-crew-section>header{top:0}}
.payroll-head-row{display:grid;grid-template-columns:minmax(360px,auto) minmax(0,1fr);align-items:end;gap:16px}
.payroll-left-controls{display:flex;align-items:end;gap:10px;min-width:0}
.payroll-org-filter{display:grid;gap:5px;min-width:190px;margin:0;color:var(--muted);font-size:12px;font-weight:850;line-height:1}
.payroll-org-filter select{height:42px;min-height:42px;min-width:190px}
.payroll-search-control{display:grid;gap:5px;min-width:220px;max-width:300px;margin:0;color:var(--muted);font-size:12px;font-weight:850;line-height:1}
.payroll-search-control input{height:42px;min-height:42px;width:100%;padding:0 14px;border:1px solid #303a43;border-radius:8px;background:#0c1217;color:#edf4f8;font-weight:850}
.payroll-search-control input::placeholder{color:#6f7b84}
.organization-scope-filter{display:grid;gap:5px;margin:0;color:var(--muted);font-size:11px;font-weight:850;line-height:1}
.organization-scope-filter select{height:38px;min-height:38px;border-radius:8px;background:#0e1317}
.payroll-period-left{display:grid;gap:5px;min-width:230px;margin:0;color:var(--muted);font-size:12px;font-weight:850;line-height:1}.payroll-period-left .period-control{height:42px;grid-template-columns:38px minmax(148px,1fr) 38px;gap:6px}.payroll-period-left .period-control input[type=month]{height:42px;min-height:42px}.payroll-period-left .period-step{width:38px;height:42px!important;min-height:42px;padding:0!important;font-size:24px!important}
.payroll-right-controls{display:flex;align-items:end;justify-content:flex-end;gap:10px;min-width:0}.payroll-action-slot{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 1 320px;min-width:132px}.payroll-action-slot .primary{width:132px;height:50px;min-height:50px;padding:0 12px;font-size:13px;white-space:nowrap}.toolbar-note{max-width:180px;color:#8e99a1;font-size:10px;font-weight:800;line-height:1.2;text-align:left}
.payroll-summary-drawer{position:sticky;top:154px;z-index:11;margin:-4px 0 12px;border:1px solid #2b3540;border-radius:9px;background:#0f151af2;box-shadow:0 8px 20px #0005;backdrop-filter:blur(14px)}.payroll-summary-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:8px;background:linear-gradient(180deg,#151e25,#10171c);color:#f1f5f7;font-size:12px;font-weight:900;text-align:left;cursor:pointer}.payroll-summary-toggle:hover{background:linear-gradient(180deg,#202c34,#151e24)}.payroll-summary-toggle:before{content:"▾";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e53935;color:#fff;transition:.15s}.payroll-summary-toggle[aria-expanded="false"]:before{transform:rotate(-90deg);background:#28343d}.payroll-summary-toggle b{margin-left:auto;padding:5px 9px;border-radius:999px;background:#253039;color:#dfe7eb;font-size:10px}.payroll-summary-toggle[aria-expanded="true"] b{background:#173a25;color:#8cf0ae}.payroll-summary-content[hidden]{display:none}.payroll-summary-drawer .payroll-summary-grid{padding:10px}
.payroll-print-options{display:grid;gap:14px}.payroll-print-options>p{margin:0;color:#aeb7bd;line-height:1.5}.payroll-print-options .settings-check{cursor:pointer}.payroll-print-options .settings-check>span{display:grid;gap:3px}.payroll-print-options .settings-check b{color:#f3f6f7;font-size:14px}.payroll-print-options .settings-check small{color:#87939b;font-size:11px;line-height:1.4}
.payroll-crew-filter{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin:-2px 0 8px;color:#9ba7b0;font-size:12px;font-weight:800}.payroll-crew-filter select{width:min(360px,100%);height:34px;border:1px solid #2d3944;border-radius:8px;background:#0c1217;color:#edf4f8;font-weight:800}
.payroll-multi-filter{position:relative;display:grid;justify-content:stretch;gap:5px;min-width:310px;margin:0}.payroll-multi-filter>span{font-size:11px;line-height:1}.payroll-multi-filter-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:38px;padding:0 12px;border:1px solid #34414b;border-radius:8px;background:#0c1217;color:#edf4f8;text-align:left;cursor:pointer}.payroll-multi-filter-toggle:hover{border-color:#607786;background:#121b21}.payroll-multi-filter-toggle b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.payroll-multi-filter-toggle i{color:#9ba7b0;font-style:normal}.payroll-multi-popover{position:fixed;inset:auto;z-index:1000;max-height:min(520px,calc(100dvh - 24px));margin:0;padding:0;overflow:hidden;border:1px solid #3a4852;border-radius:10px;background:#10171c;color:#edf4f8;box-shadow:0 22px 60px #000b}.payroll-multi-popover::backdrop{background:transparent}.payroll-multi-popover header{display:grid;gap:3px;padding:13px 14px 10px;border-bottom:1px solid #29343c}.payroll-multi-popover header strong{font-size:14px}.payroll-multi-popover header small{color:#8f9ba4;font-size:10px}.payroll-multi-popover>input{width:calc(100% - 24px);height:34px;margin:10px 12px 7px;padding:0 10px;border:1px solid #34414b;border-radius:7px;background:#0b1115;color:#eef4f7;font-size:12px}.payroll-multi-actions{display:flex;gap:7px;padding:0 12px 8px}.payroll-multi-actions button{min-height:28px;padding:0 9px;border:1px solid #34414b;border-radius:6px;background:#182229;color:#dce5ea;font-size:10px;font-weight:800}.payroll-multi-options{max-height:300px;overflow:auto;border-block:1px solid #29343c}.payroll-multi-options label{display:flex;align-items:center;gap:9px;min-height:34px;padding:5px 13px;border-bottom:1px solid #202a31;color:#e5edf1;font-size:11px;font-weight:750;cursor:pointer}.payroll-multi-options label:last-child{border-bottom:0}.payroll-multi-options label:hover{background:#1a252c}.payroll-multi-options input{width:15px;height:15px;margin:0;accent-color:#ef3135}.payroll-multi-options label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payroll-multi-popover footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px}.payroll-multi-popover footer span{color:#97a3ac;font-size:10px;font-weight:800}.payroll-multi-popover footer .primary{min-height:32px;padding:0 14px;font-size:11px}@media(max-width:760px){.payroll-multi-filter{width:100%;min-width:0}.payroll-multi-popover{max-height:calc(100dvh - 24px)}}
.payroll-summary-grid{display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:stretch;gap:12px}
.payroll-period-card{display:grid;gap:2px;min-height:58px;padding:10px 12px;border:1px solid #303a43;border-radius:8px;background:#10161b;color:#aeb6bd}
.payroll-period-card span,.payroll-money-summary small{color:#8f9aa3;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.payroll-period-card strong{color:#fff;font-size:18px;line-height:1.1}.payroll-period-card small{color:#a5afb7;font-size:12px}
.payroll-money-summary{display:grid;grid-template-columns:repeat(3,minmax(126px,1fr));gap:8px;min-width:430px}
.payroll-money-summary span{display:grid;align-content:center;gap:3px;min-height:58px;padding:9px 11px;border:1px solid #303a43;border-radius:8px;background:#10161b;text-align:right}
.payroll-money-summary b{color:#fff;font-size:18px;line-height:1.1}.payroll-payable{border-color:#8a3432!important;background:#211316!important}.payroll-payable b{color:#ff7772}
.payroll-sensitive.locked{display:inline-block;filter:blur(7px);opacity:.8;pointer-events:none;user-select:none}
.payroll-sensitive-gate{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;margin:0 0 12px;padding:12px;border:1px solid rgba(245,158,11,.38);border-radius:10px;background:linear-gradient(135deg,rgba(45,30,9,.78),rgba(15,21,25,.94))}
.payroll-sensitive-gate div{display:grid;gap:3px}.payroll-sensitive-gate b{font-size:15px}.payroll-sensitive-gate span{color:#a7b0b8;font-size:12px}.payroll-sensitive-gate button{height:38px;padding:0 13px;font-size:12px}.payroll-pin-modal{display:grid;gap:12px}.payroll-pin-modal p{margin:0;color:#aab4bd}.payroll-pin-modal input{text-align:center;font-size:24px;letter-spacing:.25em}
.payroll-summary-grid-wide{grid-template-columns:minmax(270px,.75fr) minmax(680px,1.6fr)}.payroll-money-summary-five{grid-template-columns:repeat(5,minmax(122px,1fr));min-width:0}.payroll-money-summary-five span{min-height:70px}.payroll-payable-soft{border-color:#634525!important;background:#19160f!important}.payroll-payable-soft b{color:#ffd086!important}
.payroll-summary-grid-fixed{grid-template-columns:minmax(330px,1fr) minmax(760px,2.2fr)}.payroll-money-summary-matrix{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));grid-template-areas:"accrued card after" ". total all";gap:8px;min-width:0}.payroll-money-summary-matrix>span{display:grid;align-content:center;gap:3px;min-height:58px;padding:9px 11px;border:1px solid #303a43;border-radius:8px;background:#10161b;text-align:right;min-width:0}.payroll-money-summary-matrix .payroll-money-accrued{grid-area:accrued}.payroll-money-summary-matrix>span:nth-child(2){grid-area:card}.payroll-money-summary-matrix .payroll-payable-soft{grid-area:after}.payroll-money-summary-matrix .payroll-deductions-total{grid-area:total}.payroll-money-summary-matrix .payroll-payable{grid-area:all}.payroll-money-summary-matrix small{color:#8f9aa3;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.payroll-money-summary-matrix b{overflow:hidden;color:#fff;font-size:18px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.payroll-money-summary-matrix .payroll-money-secondary{min-height:46px;padding:7px 10px}.payroll-money-summary-matrix .payroll-money-secondary small{font-size:8px}.payroll-money-summary-matrix .payroll-money-secondary b{font-size:15px}.payroll-money-summary-matrix .payroll-payable b{color:#ff7772}
.compact-table-card .table-scroll{max-height:calc(100vh - 285px)}.compact-table{table-layout:auto;font-size:12px}.compact-table th,.compact-table td{height:36px;padding:5px 7px;vertical-align:middle;white-space:normal}.compact-table th{font-size:9px;line-height:1.15}.compact-person{display:grid;gap:1px;min-width:112px;line-height:1.05}.compact-person strong{overflow:hidden;color:#eef3f6;font-size:13px;font-weight:900;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.compact-person small{overflow:hidden;color:#87939c;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.muted-cell{color:#8e99a3;font-size:10px;line-height:1.2}.money-cell,.num-cell{text-align:right;white-space:nowrap}.compact-action{height:30px;padding:0 10px;font-size:10px}.salary-table th:nth-child(1),.salary-table td:nth-child(1){width:190px}.salary-table th:nth-child(2),.salary-table td:nth-child(2){width:150px}.salary-table th:nth-child(4),.salary-table td:nth-child(4){width:110px}.payroll-table{min-width:1180px}.payroll-table th:nth-child(1),.payroll-table td:nth-child(1){width:175px}.payroll-table th:nth-child(2),.payroll-table td:nth-child(2){width:72px}.payroll-table th:nth-child(3),.payroll-table td:nth-child(3){width:118px}.payroll-table th:nth-child(4),.payroll-table td:nth-child(4),.payroll-table th:nth-child(5),.payroll-table td:nth-child(5){width:48px}.payroll-table th:nth-child(6),.payroll-table td:nth-child(6),.payroll-table th:nth-child(7),.payroll-table td:nth-child(7),.payroll-table th:nth-child(8),.payroll-table td:nth-child(8),.payroll-table th:nth-child(9),.payroll-table td:nth-child(9){width:108px}.payroll-table th:nth-child(10),.payroll-table td:nth-child(10){width:60px;max-width:60px}.compact-money-input{width:96px;height:30px;padding:0 7px;text-align:right}
@media(max-width:900px){.salary-form{grid-template-columns:1fr 1fr}.salary-form button{width:100%}}@media(max-width:560px){.salary-form{grid-template-columns:1fr}}
@media(max-width:1280px){.payroll-summary-grid-wide{grid-template-columns:1fr}.payroll-money-summary-five{grid-template-columns:repeat(3,minmax(122px,1fr))}}
@media(max-width:1280px){.payroll-summary-grid-fixed{grid-template-columns:1fr}.payroll-money-summary-matrix{grid-template-columns:repeat(3,minmax(160px,1fr));grid-template-areas:"accrued card after" ". total all"}}
@media(max-width:980px){.payroll-head-row{grid-template-columns:1fr}.payroll-right-controls{justify-content:space-between}.payroll-summary-grid{grid-template-columns:1fr}.payroll-money-summary{min-width:0}}
@media(max-width:620px){.payroll-search-control{min-width:0;max-width:none;width:100%}.payroll-right-controls{display:grid;grid-template-columns:1fr}.payroll-action-slot{width:100%;flex-basis:auto}.payroll-action-slot .primary{width:100%}.payroll-tabs{width:100%}.payroll-tabs button{flex:1;min-width:0}.payroll-money-summary,.payroll-money-summary-five{grid-template-columns:1fr}.payroll-summary-drawer{top:220px}}
@media(max-width:620px){.payroll-sensitive-gate{grid-template-columns:1fr}.payroll-sensitive-gate button{width:100%}}
@media(max-width:760px){.payroll-money-summary-matrix{grid-template-columns:1fr;grid-template-areas:"accrued" "card" "after" "total" "all"}}
@media(max-width:1200px){.cards{grid-template-columns:repeat(3,1fr)}.dashboard-lower{grid-template-columns:1fr 1fr}.dashboard-lower .panel:last-child{grid-column:span 2}.global-search{display:none}}
@media(max-width:820px){.app{grid-template-columns:1fr}.sidebar{position:fixed;left:-240px;width:220px;box-shadow:18px 0 45px #000c}.sidebar.open{left:0}.menu-button{display:block}.topbar{padding:0 12px}.user-menu div{display:none}.content{padding:14px 12px 22px}.cards{grid-template-columns:1fr 1fr}.dashboard-grid,.dashboard-lower{grid-template-columns:1fr}.dashboard-lower .panel:last-child{grid-column:auto}.page-head{align-items:flex-start;flex-direction:column}.timesheet-wrap{max-height:calc(100vh - 325px)}footer{padding:0 12px}}
@media(max-width:520px){.cards{grid-template-columns:1fr}.topbar h1{font-size:16px}.notification{display:none}.toolbar,.timesheet-tools .group{width:100%}.toolbar label,.toolbar select,.toolbar input,.toolbar button{width:100%}.metric{min-height:86px}.login-card{padding:32px 24px}.timesheet .position{display:none}.timesheet .person{left:0}}

/* Администрирование доступа и сводный табель. */
.admin-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;width:100%;margin:0 0 14px;padding:4px;border:1px solid #2e3840;border-radius:9px;background:#0e1317}.admin-tabs button{min-height:36px;border:0;border-radius:6px;background:transparent;color:#929da5;padding:0 15px;font-weight:750;cursor:pointer}.admin-tabs button:hover{color:#fff;background:#1b2228}.admin-tabs button[aria-selected=true]{background:#2b343b;color:#fff;box-shadow:inset 0 0 0 1px #414c55}.admin-tabs button:focus-visible{outline:2px solid #ef5b57;outline-offset:2px}
.mtproxy-overview{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.mtproxy-overview>div{display:flex;align-items:center;gap:10px}.mtproxy-overview>div:last-child{display:grid;gap:3px;text-align:right}.mtproxy-overview span,.mtproxy-overview small{color:#8f9aa2;font-size:11px}.mtproxy-overview strong{font-size:15px}.mtproxy-service-dot,.mtproxy-status{display:block;flex:0 0 auto;width:11px;height:11px;border-radius:50%;background:#f0ab31;box-shadow:0 0 0 4px #f0ab3120}.mtproxy-service-dot.ok,.mtproxy-status.ok{background:#34c778;box-shadow:0 0 0 4px #34c77820}.mtproxy-service-dot.error,.mtproxy-status.error{background:#ef4444;box-shadow:0 0 0 4px #ef444420}.mtproxy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.mtproxy-card{display:grid;gap:13px;min-width:0;padding:16px;border:1px solid #2d3941;border-radius:8px;background:#10161a}.mtproxy-card header{display:flex;align-items:center;justify-content:space-between;gap:14px}.mtproxy-card header span,.mtproxy-card label>span{display:block;margin-bottom:4px;color:#7f8a92;font-size:10px;font-weight:700;text-transform:uppercase}.mtproxy-card h3{margin:0;font-size:19px}.mtproxy-card label{display:block;min-width:0}.mtproxy-card code{display:block;min-width:0;overflow:hidden;padding:10px;border:1px solid #29353d;border-radius:6px;background:#0b1013;color:#d8dfe3;font:600 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}.mtproxy-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.mtproxy-card dl div{display:grid;gap:3px}.mtproxy-card dt{color:#7f8a92;font-size:10px}.mtproxy-card dd{margin:0;font-size:12px;font-weight:700}.mtproxy-card dd.ok{color:#65d797}.mtproxy-card dd.error{color:#ff7a76}.mtproxy-card footer{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mtproxy-card footer button{width:100%}.mtproxy-note{margin-bottom:14px}.mtproxy-note b{font-size:14px}.mtproxy-note p{max-width:900px;margin:5px 0 0;color:#8f9aa2;font-size:11px;line-height:1.5}
.admin-demo-notice{display:flex;align-items:center;gap:7px;margin-bottom:13px;padding:10px 13px;border:1px solid #5b4326;border-radius:8px;background:#2a1f124d;color:#d9b378;font-size:11px}.admin-demo-notice b{color:#f0c986}
.admin-organization-context{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px;padding:12px 14px}.admin-organization-context>div{display:grid;min-width:0}.admin-organization-context>div>span,.admin-organization-context label>span{color:#7f8b94;font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.admin-organization-context>div>strong{margin:2px 0;font-size:15px}.admin-organization-context>div>small{color:#89959d;font-size:9px}.admin-organization-context label{display:grid;flex:0 0 min(360px,42vw);gap:4px}.admin-organization-context select{height:38px}.admin-organization-context select:disabled{opacity:.72;cursor:not-allowed}
.admin-summary{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;margin-bottom:12px}.admin-summary article{display:grid;align-content:center;min-height:96px;padding:14px 16px;border:1px solid #29323a;border-radius:9px;background:linear-gradient(145deg,#171c21,#101419)}.admin-summary article>span{color:#b9c1c7;font-size:11px}.admin-summary article>strong{margin:3px 0;color:#fff;font-size:27px;line-height:1}.admin-summary article>small{color:#78848d;font-size:9px}
.rights-summary article:last-child strong{color:#f5c45d}.rights-policy{display:grid;gap:9px;margin-bottom:12px;padding:14px}.rights-policy h3{margin:0;font-size:18px}.rights-policy>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rights-policy span{display:grid;gap:3px;padding:12px;border:1px solid #303a42;border-radius:8px;background:#10161a}.rights-policy b{font-size:14px}.rights-policy small{color:#a0abb3;font-size:12px;line-height:1.35}.rights-toolbar{margin-bottom:10px}.rights-toolbar label{display:grid;gap:6px;max-width:620px;color:#a6b0b8;font-size:13px}.rights-toolbar input{height:44px;font-size:15px}.rights-list{display:grid;gap:12px}.rights-user-card{display:grid;gap:12px;padding:15px;border:1px solid #303a42;border-radius:10px;background:linear-gradient(145deg,#151b20,#0f1418)}.rights-user-card.changed{border-color:#d85f35;box-shadow:0 0 0 1px #d85f3544}.rights-user-card>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.rights-user-card>header strong{display:block;font-size:19px}.rights-user-card>header small{display:block;overflow:hidden;color:#a0abb3;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.rights-user-card>header>b{font-size:13px}.rights-tree{display:grid;grid-template-columns:minmax(170px,.75fr) minmax(260px,1.1fr) minmax(300px,1.35fr) minmax(260px,1.2fr);gap:9px}.rights-branch{position:relative;display:grid;align-content:start;gap:8px;min-width:0;padding:12px 12px 12px 18px;border:1px solid #2b353d;border-radius:8px;background:#0d1317}.rights-branch:before{content:"";position:absolute;left:8px;top:15px;bottom:15px;width:2px;border-radius:2px;background:#3c4851}.rights-branch h4{margin:0;color:#c7d0d6;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.rights-branch small{color:#8b98a1;font-size:12px;line-height:1.35}.rights-role-pill{width:max-content;max-width:100%;padding:7px 10px;border-radius:999px;background:#2b2215;color:#f5c45d;font-size:14px;font-weight:900}.rights-flag-grid,.rights-page-grid{display:flex;gap:6px;flex-wrap:wrap}.rights-flag{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 10px;border-radius:999px;border:1px solid #3d4851;color:#aeb8bf;background:#141a1f;font:800 12px/1 var(--font);cursor:pointer}.rights-flag:disabled{cursor:not-allowed;opacity:.75}.rights-flag i{width:9px;height:9px;border-radius:50%;background:#65727b}.rights-flag.on{border-color:#2d6b47;color:#d4f6df;background:#122119}.rights-flag.on i{background:#37d978}.rights-flag:not(.on):hover{border-color:#65727b;color:#d7dde1}.rights-page-grid span{padding:7px 9px;border-radius:6px;background:#111820;color:#87939c;font-size:12px;font-weight:800}.rights-page-grid span.on{background:#18241d;color:#d4eadb}.rights-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.rights-scope span{display:grid;align-content:start;gap:5px;min-width:0}.rights-scope b{color:#c4cdd3;font-size:13px}.rights-scope small{display:block;overflow:hidden;padding:5px 7px;border-radius:5px;background:#171f25;color:#d5dce1;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.rights-user-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:2px}.rights-user-card>footer>span{color:#8c98a1;font-size:12px}.rights-user-card>footer>div{display:flex;gap:7px;flex-wrap:wrap}.rights-user-card>footer button{height:38px;font-size:12px}.rights-save[hidden]{display:none}
.rights-policy h3{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.rights-policy h3 small{color:#87939c;font-size:11px;font-weight:800}.rights-deviation-list{display:grid;gap:5px;margin-top:2px}.rights-deviation-list>span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:6px 7px;border:1px solid #34404a;border-radius:6px;background:#12191e}.rights-deviation-list>span.warning{border-color:#725522;background:#221b10}.rights-deviation-list>span.danger{border-color:#74363a;background:#251315}.rights-deviation-list b{overflow:hidden;color:#d5dde2;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.rights-deviation-list small{color:#a8b3ba;font-size:10px}.rights-baseline-ok{color:#66ce8a!important}
.admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.admin-section-head h3{margin:0 0 4px}.admin-section-head p{margin:0;color:#87929b;font-size:11px}.admin-section-head>span{flex:0 0 auto;color:#9ba5ad;font-size:11px}.admin-shared-panel{margin-bottom:14px}.admin-live-state{display:inline-flex;align-items:center;gap:6px}.admin-live-state i{width:8px;height:8px;border-radius:50%;background:#42c476;box-shadow:0 0 0 3px #42c47620}.admin-shared-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:7px;margin-top:13px}.admin-shared-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:9px 11px;border:1px solid #29343c;border-radius:8px;background:#0f1418}.admin-shared-key{display:grid;min-width:0}.admin-shared-key b,.admin-shared-key small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-shared-key b{font-size:11px}.admin-shared-key small{color:#87939b;font-size:9px}.admin-shared-list>div>strong{color:#aeb7bd;font-size:9px;white-space:nowrap}.admin-avatar-stack{display:flex;padding-left:7px}.admin-avatar-stack i{display:grid;place-items:center;width:26px;height:26px;margin-left:-7px;border:2px solid #11171b;border-radius:50%;background:#dce3e8;color:#293640;font:800 8px/1 Arial,sans-serif;font-style:normal}.admin-inline-empty{grid-column:1/-1!important;display:block!important;color:#7e8991;text-align:center}
.full-timesheet-access-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:14px;border-color:#33404a}.full-timesheet-access-person{display:flex;align-items:center;gap:12px;min-width:0}.full-timesheet-access-person h3{margin:0 0 4px;font-size:18px}.full-timesheet-access-person p{margin:0;color:#8f9aa3;font-size:13px;line-height:1.4}.full-timesheet-access-switch{display:flex;align-items:center;gap:10px;min-width:190px;height:48px;padding:0 15px;border:1px solid #3a4650;border-radius:24px;background:#171d22;color:#aeb7bd;font-weight:800}.full-timesheet-access-switch i{position:relative;width:48px;height:28px;border-radius:14px;background:#46515a;transition:background .18s ease}.full-timesheet-access-switch i::after{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#dce3e8;content:"";transition:transform .18s ease}.full-timesheet-access-switch.on{border-color:#317149;background:#11261a;color:#71dc96}.full-timesheet-access-switch.on i{background:#31a963}.full-timesheet-access-switch.on i::after{transform:translateX(20px)}.full-timesheet-access-switch:disabled{cursor:wait;opacity:.65}
.admin-user-section{display:grid;gap:10px}.admin-user-list{display:grid;gap:7px}.admin-user-card{display:grid;grid-template-columns:minmax(235px,1.3fr) 160px minmax(175px,1fr) minmax(165px,1fr) 130px auto;align-items:center;gap:12px;min-width:0;padding:11px 12px;border:1px solid #29343c;border-radius:9px;background:linear-gradient(145deg,#151b20,#101419)}.admin-user-card:hover{border-color:#3b4852;background:#171e23}.admin-user-identity{display:flex;align-items:center;gap:10px;min-width:0}.admin-user-avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#dce3e8,#83909a);color:#26343d;font-size:10px;font-weight:900}.admin-user-identity>div,.admin-editor-user>div{display:grid;min-width:0}.admin-user-identity strong,.admin-user-identity span,.admin-editor-user strong,.admin-editor-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-identity strong{font-size:12px}.admin-user-identity span{color:#85919a;font-size:9px}.admin-user-rights{display:flex;gap:4px;flex-wrap:wrap}.badge.muted{background:#242b31;color:#8d98a0}.admin-assignment-column{display:grid;gap:5px;min-width:0}.admin-assignment-column>small{color:#71808a;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.admin-assignment-column>div{display:flex;gap:4px;flex-wrap:wrap}.admin-assignment-column span{display:inline-block;max-width:160px;overflow:hidden;padding:3px 6px;border-radius:5px;background:#232b31;color:#c7cdd2;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.admin-user-meta{display:grid;gap:3px}.admin-user-meta>span{display:flex;align-items:center;gap:5px;color:#6edc93;font-size:9px;font-weight:800}.admin-user-meta>span:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.admin-user-meta>span.offline{color:#8c969e}.admin-user-meta small{color:#6f7a83;font-size:8px}.admin-user-edit{height:36px;padding:0 12px;font-size:10px}.admin-user-edit:disabled{opacity:.45;cursor:not-allowed}
.admin-crews-panel{margin-bottom:14px}.admin-add-crew{height:38px;font-size:10px}.admin-crew-counters{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 9px}.admin-crew-counters span{padding:5px 8px;border-radius:6px;background:#222a30;color:#8f9aa2;font-size:9px}.admin-crew-counters b{color:#fff;font-size:11px}.admin-crew-management-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:7px}.admin-crew-manage-card{display:grid;gap:7px;min-width:0;padding:11px;border:1px solid #303b44;border-radius:9px;background:#0e1418}.admin-crew-manage-card.inactive{opacity:.62}.admin-crew-manage-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-crew-kind{display:inline-flex;width:max-content;padding:3px 6px;border-radius:999px;font-size:8px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.admin-crew-kind.internal{background:#163223;color:#6cda94}.admin-crew-kind.contractor{background:#392819;color:#efb974}.admin-crew-status{color:#849099;font-size:8px}.admin-crew-manage-card h4{margin:0;font-size:13px}.admin-crew-manage-card p{min-height:28px;margin:0;color:#818d95;font-size:9px;line-height:1.4}.admin-crew-members-preview{display:flex;align-items:center;gap:8px;min-height:29px}.admin-crew-members-preview>strong{color:#aeb7bd;font-size:9px}.admin-crew-manage-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.admin-crew-manage-actions button{height:34px;padding:0 8px;font-size:9px}.admin-crew-manage-actions button:disabled{opacity:.35;cursor:not-allowed}
.modal-card.admin-access-modal{width:min(820px,calc(100vw - 28px))}.admin-access-editor{display:grid;gap:14px}.admin-editor-user{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #303a43;border-radius:9px;background:#0e1317}.admin-editor-user small{color:#85919a}.admin-access-editor fieldset{min-width:0;margin:0;border:1px solid #303b44;border-radius:9px;padding:10px}.admin-access-editor legend{padding:0 6px;color:#aeb6bc;font-size:10px;font-weight:800}.admin-permissions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-permissions label,.admin-check-option{display:flex;align-items:flex-start;gap:8px;padding:9px;border:1px solid #2d3740;border-radius:8px;background:#0d1216;cursor:pointer}.admin-permissions input,.admin-check-option input,.admin-filter-options input{flex:0 0 auto;width:17px;height:17px;margin:1px 0 0;accent-color:#e53935}.admin-permissions label>span,.admin-check-option>span{display:grid;min-width:0}.admin-permissions b,.admin-check-option b{font-size:10px}.admin-permissions small,.admin-check-option small{color:#7e8a93;font-size:8px;line-height:1.35}.admin-editor-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-check-list{display:grid;gap:5px;max-height:250px;overflow:auto}.admin-check-option:has(input:checked){border-color:#4a604f;background:#15221a}.admin-editor-note{margin:0;padding:9px 11px;border-left:3px solid #4c697a;background:#101920;color:#8ea1ae;font-size:9px;line-height:1.45}
.admin-visibility-exclusions>p{margin:0 0 9px;color:#8f9ba3;font-size:10px;line-height:1.4}.admin-visibility-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:220px}.admin-visibility-option:has(input:checked){border-color:#7b3a40;background:#28171a}.admin-visibility-option:has(input:checked) b{color:#ffacb0}.admin-visibility-option[hidden]{display:none}
.admin-check-option.inactive{opacity:.58;cursor:not-allowed}.admin-check-option.retired-assignment{border-color:#6a4b27;background:#241b12}.admin-check-option.retired-assignment small{color:#e0ae6d}.admin-editor-warning{margin:0;padding:9px 11px;border:1px solid #6a4b27;border-radius:8px;background:#271d12;color:#d4b07f;font-size:9px;line-height:1.45}.admin-editor-warning b{color:#efc17e}.modal-card.admin-crew-modal{width:min(590px,calc(100vw - 28px))}.admin-crew-editor{display:grid;gap:13px}.admin-active-toggle{display:flex!important;align-items:flex-start;gap:8px;padding:9px;border:1px solid #303b44;border-radius:8px;background:#0e1418}.admin-active-toggle input{flex:0 0 auto;width:17px;height:17px;margin:1px 0 0;accent-color:#e53935}.admin-active-toggle>span{display:grid}.admin-active-toggle b{color:#e7ebed;font-size:10px}.admin-active-toggle small{color:#7f8a93;font-size:8px}.modal-card.admin-crew-members-modal{width:min(850px,calc(100vw - 28px))}.admin-crew-members-editor{display:grid;gap:12px}.admin-crew-members-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:10px;border:1px solid #303b44;border-radius:9px;background:#0d1216}.admin-crew-members-head h3{margin:4px 0 0;font-size:16px}.admin-crew-members-head label{display:grid;gap:4px;color:#8c979f;font-size:9px}.admin-crew-members-head input{width:155px;height:38px}.admin-member-search{display:grid;gap:4px;color:#8d98a0;font-size:9px}.admin-member-search input{height:39px}.admin-member-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:390px;overflow:auto;padding:2px}.admin-member-picker>label{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:8px;border:1px solid #2f3941;border-radius:8px;background:#0e1418;cursor:pointer}.admin-member-picker>label:has(input:checked){border-color:#45604d;background:#142219}.admin-member-picker>label>input{width:17px;height:17px;margin:0;accent-color:#e53935}.admin-member-person{display:flex;align-items:center;gap:8px;min-width:0}.admin-member-person .employee-avatar{width:32px;height:32px;flex-basis:32px;font-size:8px}.admin-member-person>span{display:grid;min-width:0}.admin-member-person b,.admin-member-person small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-member-person b{font-size:10px}.admin-member-person small{color:#7f8a93;font-size:8px}.admin-member-selection-summary{display:flex;align-items:baseline;gap:7px;padding:8px 10px;border-radius:8px;background:#1c242a;color:#9ba6ae;font-size:9px}.admin-member-selection-summary strong{color:#fff;font-size:19px}
.admin-consolidated-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px;padding:12px}.admin-filter-bar{display:flex;align-items:flex-end;gap:7px;flex-wrap:wrap}.admin-period-filter{display:grid;gap:4px;color:#8e99a1;font-size:9px}.admin-period-filter input{width:145px;height:38px}.admin-filter{position:relative;min-width:155px}.admin-filter summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;height:38px;padding:0 10px;border:1px solid #33404a;border-radius:7px;background:#10161a;color:#aeb7bd;cursor:pointer;list-style:none}.admin-filter summary::-webkit-details-marker{display:none}.admin-filter summary:after{content:"⌄";grid-column:2;grid-row:1/3;color:#7b8790}.admin-filter summary span{grid-column:1;grid-row:1;font-size:8px;text-transform:uppercase}.admin-filter summary b{grid-column:1;grid-row:2;color:#eef1f3;font-size:10px}.admin-filter[open] summary{border-color:#63717b}.admin-filter-options{position:absolute;z-index:20;top:43px;left:0;display:grid;gap:4px;width:max-content;min-width:100%;max-width:280px;max-height:260px;overflow:auto;padding:7px;border:1px solid #3b4750;border-radius:8px;background:#11171c;box-shadow:0 14px 36px #000b}.admin-filter-options label{display:flex;align-items:center;gap:7px;min-width:180px;padding:7px;border-radius:6px;color:#c9d0d5;font-size:10px;cursor:pointer}.admin-filter-options label:hover{background:#222a31}.admin-filter-empty{padding:10px;color:#77838c;font-size:9px}.admin-clear-filters{height:38px;font-size:10px}.admin-clear-filters:disabled{opacity:.35;cursor:not-allowed}.admin-export-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.admin-export-actions>span{color:#849099;font-size:9px}.admin-export-actions button{height:38px;padding:0 12px;font-size:10px}.admin-consolidated-summary{grid-template-columns:repeat(5,minmax(140px,1fr))}
.modal-card.admin-payout-modal{width:min(760px,calc(100vw - 28px))}.admin-payout-prep{display:grid;gap:12px}.admin-payout-prep p{margin:0;color:#a6b0b8;font-size:13px;line-height:1.45}.admin-payout-actions{display:flex;gap:8px;justify-content:flex-end}.admin-payout-actions button{height:34px;font-size:10px}.admin-payout-crew-list{display:grid;gap:7px;max-height:410px;overflow:auto;padding:1px}.admin-payout-crew-row{display:grid!important;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid #303b44;border-radius:8px;background:#0e1418;cursor:pointer}.admin-payout-crew-row:has(input:checked){border-color:#526d58;background:#14221a}.admin-payout-crew-row input{width:18px;height:18px;margin:0;accent-color:#e53935}.admin-payout-crew-row span{display:grid;min-width:0}.admin-payout-crew-row b,.admin-payout-crew-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-payout-crew-row b{font-size:13px}.admin-payout-crew-row small{color:#7f8a93;font-size:10px}.admin-payout-crew-row strong{color:#dbe5dc;font-size:10px;white-space:nowrap}
.admin-consolidated-list{display:grid;gap:15px}.admin-organization-group{overflow:hidden;border:1px solid #35414a;border-radius:11px;background:#0e1317}.admin-organization-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border-bottom:1px solid #3b444c;background:linear-gradient(90deg,#251719,#171b20)}.admin-organization-head span{color:#ef6661;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.admin-organization-head h3{margin:2px 0 0;font-size:17px}.admin-organization-head>strong{padding:4px 8px;border-radius:999px;background:#342124;color:#e5a09d;font-size:9px}.admin-site-group{padding:12px}.admin-site-group+.admin-site-group{border-top:1px solid #2a343c}.admin-site-head{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px;margin-bottom:8px}.admin-site-head>span{width:10px;height:38px;border-radius:5px;background:var(--site-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--site-color) 17%,transparent)}.admin-site-head small,.admin-crew-label{color:#74818a;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.admin-site-head h4{margin:1px 0 0;font-size:14px}.admin-site-head>b{color:#9ba6ae;font-size:9px}.admin-crew-card{overflow:hidden;margin-top:7px;border:1px solid #344049;border-radius:9px;background:#13191e}.admin-crew-card>header{display:grid;grid-template-columns:minmax(190px,1fr) minmax(250px,2fr) auto;align-items:center;gap:12px;padding:9px 11px;border-bottom:1px solid #303a42}.admin-crew-card h5{margin:1px 0 0;font-size:12px}.admin-crew-audit{display:grid;min-width:0}.admin-crew-audit strong,.admin-crew-audit small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-crew-audit strong{color:#c3cbd0;font-size:9px}.admin-crew-audit small{color:#74808a;font-size:8px}.admin-crew-total{display:grid;justify-items:end;color:#fff;font-size:18px;font-weight:900}.admin-crew-total small{color:#7f8b93;font-size:8px;font-weight:600}.admin-timesheet-wrap{overflow:auto;background:#eef1f3}.admin-timesheet{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;color:#27323a;font-size:10px}.admin-timesheet th,.admin-timesheet td{height:39px;min-width:35px;padding:0 4px;border-right:1px solid #c9d0d5;border-bottom:1px solid #c9d0d5;text-align:center}.admin-timesheet th{position:sticky;top:0;z-index:3;height:34px;background:#dfe4e7;color:#53616b;font-size:8px}.admin-timesheet th:first-child,.admin-timesheet td:first-child{position:sticky;left:0;z-index:4;min-width:38px;background:#e9edef}.admin-timesheet th:nth-child(2),.admin-timesheet td:nth-child(2){position:sticky;left:38px;z-index:4;width:235px;min-width:235px;padding:0 9px;background:#f5f7f8;text-align:left}.admin-timesheet th:first-child,.admin-timesheet th:nth-child(2){z-index:5;background:#dfe4e7}.admin-timesheet td>span{font-size:13px;font-weight:850}.admin-timesheet td.attendance{background:#dff1e5;color:#24583a}.admin-timesheet td.absent{background:#f2dadd;color:#8a2932}.admin-timesheet td.weekend{background:#dce5eb;color:#4a5e6b}.admin-timesheet td.overtime{position:relative;background:#f3ead8;color:#795320}.admin-timesheet td.undertime{position:relative;background:#dbeaf3;color:#285f80}.admin-timesheet td small{position:absolute;right:1px;bottom:1px;padding:0 2px;border-radius:4px;background:#c5781d;color:#fff;font-size:7px;font-weight:900}.admin-timesheet td small.negative{background:#33729b}.admin-timesheet .empty-day{background:#f1f3f4}.admin-timesheet .admin-hours-total{min-width:55px;background:#e4e9ec;font-weight:900}.admin-timesheet .admin-employee-name .employee-surname{font-size:10px}.admin-timesheet .admin-employee-name .employee-details{font-size:8px}.admin-timesheet .admin-employee-name .employee-avatar{width:28px;height:28px;flex-basis:28px;font-size:8px}.admin-filter-result{margin:0;border:1px dashed #34404a;border-radius:10px}
.admin-site-list{display:grid;gap:8px}.admin-site-card{display:grid;grid-template-columns:12px minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid #303b43;border-radius:9px;background:#11171c}.admin-site-card.inactive{opacity:.62}.admin-site-color{width:12px;height:40px;border-radius:6px;background:var(--site-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--site-color) 18%,transparent)}.admin-site-card strong{display:block;overflow:hidden;color:#e9edf0;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.admin-site-card small{display:block;margin-top:3px;color:#7f8991;font-size:9px}.admin-site-actions{display:flex;justify-content:flex-end;gap:6px}.admin-site-actions button{height:31px;padding:0 10px;font-size:8px}.admin-site-actions .danger{border-color:#583035;color:#ef9a9a}.admin-site-editor{display:grid;gap:14px}.admin-site-color-grid{display:grid;gap:8px;margin:0;padding:11px;border:1px solid #303b43;border-radius:9px}.admin-site-color-grid legend{padding:0 6px;color:#8d98a0;font-size:9px}.admin-site-color-grid{grid-template-columns:repeat(8,1fr)}.admin-site-color-option{display:grid;place-items:center}.admin-site-color-option input{position:absolute;opacity:0}.admin-site-color-option span{display:block;width:28px;height:28px;border:2px solid transparent;border-radius:50%;background:var(--site-color);cursor:pointer}.admin-site-color-option input:checked+span{border-color:#fff;box-shadow:0 0 0 3px #ef333a55}.admin-site-active{display:flex;align-items:center;gap:8px;color:#dbe2e6;font-size:11px}

@media(max-width:1250px){.admin-user-card{grid-template-columns:minmax(230px,1.2fr) 150px minmax(180px,1fr) minmax(160px,1fr) auto}.admin-user-meta{display:none}.admin-consolidated-toolbar{align-items:stretch;flex-direction:column}.admin-export-actions{justify-content:flex-end}.admin-consolidated-summary{grid-template-columns:repeat(3,minmax(140px,1fr))}.rights-tree{grid-template-columns:repeat(2,minmax(0,1fr))}.rights-policy>div{grid-template-columns:1fr}}
@media(max-width:960px){.admin-summary{grid-template-columns:repeat(2,minmax(150px,1fr))}.admin-user-card{grid-template-columns:minmax(220px,1fr) auto auto}.admin-user-rights{justify-content:flex-end}.admin-assignment-column{grid-column:span 1}.admin-user-edit{grid-column:3;grid-row:2}.admin-shared-list{grid-template-columns:1fr}.admin-filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-period-filter,.admin-period-filter input,.admin-filter{width:100%}.admin-clear-filters{width:100%}.admin-crew-card>header{grid-template-columns:minmax(150px,1fr) minmax(200px,1.5fr) auto}.rights-tree{grid-template-columns:1fr}.rights-scope{grid-template-columns:1fr}}
@media(max-width:620px){.admin-tabs{display:grid;grid-template-columns:1fr;width:100%}.admin-organization-context{align-items:stretch;flex-direction:column}.admin-organization-context label{flex-basis:auto;width:100%}.admin-summary,.admin-consolidated-summary{grid-template-columns:1fr 1fr}.admin-summary article{min-height:82px}.admin-section-head,.admin-export-actions{align-items:stretch;flex-direction:column}.admin-add-crew{width:100%}.admin-crew-management-grid{grid-template-columns:1fr}.admin-user-card{grid-template-columns:minmax(0,1fr) auto;gap:9px}.admin-user-rights{justify-content:flex-start}.admin-assignment-column{grid-column:1/-1}.admin-user-edit{grid-column:2;grid-row:1}.admin-editor-columns,.admin-permissions{grid-template-columns:1fr}.admin-crew-members-head{align-items:stretch;flex-direction:column}.admin-crew-members-head input{width:100%}.admin-member-picker{grid-template-columns:1fr}.admin-filter-bar{grid-template-columns:1fr}.admin-export-actions{display:grid;grid-template-columns:repeat(3,1fr)}.admin-export-actions>span{grid-column:1/-1}.admin-export-actions button{width:100%;padding:0 6px}.admin-organization-head h3{font-size:14px}.admin-site-group{padding:8px}.admin-crew-card>header{grid-template-columns:minmax(0,1fr) auto}.admin-crew-audit{grid-column:1/-1;grid-row:2}.admin-timesheet th:nth-child(2),.admin-timesheet td:nth-child(2){width:185px;min-width:185px}.modal-card.admin-access-modal{padding:18px}.rights-user-card>header{grid-template-columns:auto minmax(0,1fr)}.rights-user-card>header>b{grid-column:2}.rights-user-card>footer{align-items:stretch;flex-direction:column}.rights-user-card>footer>div{display:grid;grid-template-columns:1fr 1fr}.rights-user-card>footer button{width:100%}.mtproxy-overview{align-items:flex-start;flex-direction:column}.mtproxy-overview>div:last-child{text-align:left}.mtproxy-grid{grid-template-columns:1fr}.mtproxy-card footer{grid-template-columns:1fr}}
@media(max-width:620px){.full-timesheet-access-panel{align-items:stretch;flex-direction:column}.full-timesheet-access-switch{justify-content:center;width:100%}}
.admin-role-list{display:grid;gap:12px}.admin-role-card{border:1px solid #303a42;border-radius:10px;background:linear-gradient(145deg,#151b20,#0f1418);overflow:hidden}.admin-role-card summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;padding:13px 16px;cursor:pointer}.admin-role-card summary::-webkit-details-marker{display:none}.admin-role-card summary span{display:grid;gap:4px;min-width:0}.admin-role-card summary b{font-size:19px}.admin-role-card summary small{overflow:hidden;color:#98a4ad;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.admin-role-card summary>strong{display:grid;place-items:center;min-width:44px;height:34px;border-radius:999px;background:#26323a;color:#fff;font-size:16px}.admin-role-card>p{margin:0 16px 12px;color:#a8b2ba;font-size:13px}.admin-role-members{display:grid;gap:7px;padding:0 14px 14px}.admin-role-user{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(190px,260px) auto;align-items:center;gap:10px;padding:9px;border:1px solid #29333b;border-radius:8px;background:#0d1317}.admin-role-user.changed{border-color:#d85f35;background:#171712}.admin-role-user strong{display:block;font-size:15px}.admin-role-user small{display:block;overflow:hidden;color:#92a0aa;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.admin-role-user select{height:38px;font-size:13px}.admin-role-user button{height:38px;font-size:12px}.admin-role-user button[hidden]{display:none}.admin-role-editor textarea{resize:vertical}.payroll-pay-cell{display:grid;justify-items:end;gap:2px}.payroll-pay-cell strong{font-size:18px}.payroll-pay-cell b{color:#fff;font-size:15px}.payroll-pay-cell small{color:#8d99a3;font-size:10px;font-weight:800;text-transform:uppercase}.payroll-money-summary-extended span{align-content:center;gap:3px}.payroll-money-summary-extended span small+b,.payroll-money-summary-extended span b+small{display:block}@media(max-width:760px){.admin-role-user{grid-template-columns:auto minmax(0,1fr)}.admin-role-user select,.admin-role-user button{grid-column:2;width:100%}}
.payroll-filter-row{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:0 0 12px}.payroll-filter-row label{min-width:240px}.payroll-object-summary{display:grid;gap:7px;margin-top:12px;padding-top:12px;border-top:1px solid #2d3740}.payroll-object-summary header{display:flex;align-items:end;justify-content:space-between;gap:10px}.payroll-object-summary h4{margin:0;color:#fff;font-size:18px}.payroll-object-summary header span{color:#97a3ac;font-size:12px;font-weight:800;text-transform:uppercase}.payroll-object-head,.payroll-object-row{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(150px,.8fr));gap:10px;align-items:center}.payroll-object-head{color:#89959f;font-size:11px;font-weight:900;text-transform:uppercase}.payroll-object-row{min-height:42px;padding:8px 10px;border:1px solid #26313a;border-radius:7px;background:#0e1418}.payroll-object-row span{display:flex;align-items:center;gap:8px;min-width:0;font-weight:850}.payroll-object-row span i{width:12px;height:12px;border-radius:3px;background:var(--site-color)}.payroll-object-row span small{margin-left:auto;color:#8b98a1;font-size:12px}.payroll-object-row b{text-align:right;font-size:15px}@media(max-width:760px){.payroll-object-head,.payroll-object-row{grid-template-columns:1fr}.payroll-object-row b{text-align:left}.payroll-filter-row label{min-width:0;width:100%}}
.salary-org-label{display:block;margin-top:3px;color:#77838d;font-size:10px;font-weight:800;line-height:1.15}
.admin-site-expenses{display:grid;gap:12px;margin-top:16px}.admin-site-expenses>header{display:flex;align-items:end;justify-content:space-between;gap:16px}.admin-site-expenses h3{margin:0;color:#fff;font-size:18px}.admin-site-expenses p{margin:3px 0 0;color:#82909a;font-size:12px}.admin-site-expenses>header>strong{padding:9px 12px;border:1px solid #4b3940;border-radius:8px;background:#201316;color:#ffb0ad;font-size:14px;white-space:nowrap}.admin-site-expense-table th:nth-child(1){min-width:230px}.admin-site-expense-table th:nth-child(2){min-width:280px}.admin-site-expense-table .center{text-align:center}.admin-site-expense-table .num{text-align:right;font-weight:800}.site-pill{display:inline-flex;align-items:center;gap:8px;font-weight:850}.site-pill i{width:12px;height:12px;border-radius:3px;background:var(--site-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--site-color) 16%,transparent)}.row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;width:100%}.row-actions .icon{display:inline-grid;place-items:center;width:31px;height:31px;padding:0;border-radius:8px;border:1px solid #34404a;background:#111820;color:#dce5ea;font-size:13px;font-weight:900}.row-actions .icon.danger{border-color:#5f3035;background:#241417;color:#ff8a86;font-size:21px}.admin-site-expenses footer{display:flex;justify-content:center}.admin-expense-add{display:grid;place-items:center;width:42px;height:42px;padding:0;border-radius:50%;border:1px solid #6e2d33;background:#2a1518;color:#ff7772;font-size:25px;font-weight:900;box-shadow:0 8px 20px #0005}.admin-expense-add:hover{background:#3a181d}.admin-expense-add:disabled{opacity:.45;cursor:not-allowed}.admin-expense-modal-total{display:grid;align-content:center;gap:4px;min-height:64px;padding:12px;border:1px solid #32404a;border-radius:8px;background:#111920}.admin-expense-modal-total span{color:#8f9aa3;font-size:11px;font-weight:800;text-transform:uppercase}.admin-expense-modal-total strong{color:#fff;font-size:24px;text-align:right}
.payroll-double-amount{gap:5px!important}.payroll-double-amount em{margin-top:4px;color:#9aa6ae;font-style:normal;font-size:10px;font-weight:900;text-transform:uppercase}.payroll-double-amount strong{color:#dfe7ec;font-size:16px;line-height:1.05}.payroll-payable.payroll-double-amount strong{color:#ff9a95}

/* Отдельный мобильный интерфейс дневного журнала смен. */
body.mobile-timesheet-mode{background:#0b0e11;font-family:"Segoe UI",Tahoma,Arial,sans-serif}
body.mobile-timesheet-mode:before{background:radial-gradient(circle at 50% -10%,#26313a66,transparent 34%),linear-gradient(180deg,#0d1013,#090b0e 56%)}
.mobile-timesheet-mode .app{position:relative;z-index:1;grid-template-columns:1fr}
.mobile-timesheet-mode .sidebar{display:none}
.mobile-timesheet-mode .workspace{display:block;min-height:100vh}
.mobile-timesheet-mode .topbar{height:56px;padding:0 14px;border-bottom-color:#283039;background:#0a0d10ed}
.mobile-timesheet-mode .topbar .menu-button,.mobile-timesheet-mode .topbar .global-search,.mobile-timesheet-mode .topbar .notification,.mobile-timesheet-mode .topbar .user-menu{display:none}
.mobile-timesheet-mode .topbar>div:first-of-type{margin-right:auto}
.mobile-timesheet-mode .topbar h1{font-size:16px;letter-spacing:.01em}
.mobile-timesheet-mode .topbar p{display:block;color:#e34a46;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.mobile-timesheet-mode .topbar #logout{width:40px;height:40px;border:1px solid #303942;background:#11161b}
.mobile-timesheet-mode .content{width:min(100%,520px);margin:0 auto;padding:0 10px 34px}
.mobile-timesheet-mode footer{display:none}
.mobile-timesheet-page{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding-top:10px}
.mobile-timesheet-page>*{min-width:0}
.mobile-journal-nav{position:sticky;top:56px;z-index:9;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px;border:1px solid #333d46;border-radius:12px;background:#0f1419f2;box-shadow:0 10px 24px #0008;backdrop-filter:blur(14px)}
.mobile-journal-nav button{height:34px;border:1px solid #3a4650;border-radius:9px;background:#1a2228;color:#f3f6f8;font-size:12px;font-weight:900;cursor:pointer}
.mobile-journal-nav button:hover{border-color:#e34a46;background:#232b31}
.mobile-journal-head{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 14px;border:1px solid #343d45;border-radius:14px;background:linear-gradient(145deg,#1b2026,#101419);box-shadow:0 12px 32px #0005}
.mobile-journal-main{display:grid;gap:4px;min-width:0}
.mobile-journal-head h1{margin:0;font-size:24px;line-height:1;text-transform:capitalize}
.mobile-weekday{color:#87929b;font-size:12px;font-weight:850;text-transform:capitalize}
.mobile-journal-head p{display:flex;align-items:center;gap:7px;min-width:0;margin:0;color:#b5bec6;font-size:12px}
.mobile-journal-head p span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mobile-crew-line{padding-left:17px}
.mobile-journal-head p i{flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:var(--site-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--site-color) 25%,transparent)}
.mobile-head-chips{display:flex;flex-wrap:wrap;gap:6px}
.mobile-basis-chip{display:inline-flex;margin-top:2px;padding:3px 7px;border-radius:999px;background:#252d34;color:#b9c2c9;font-size:9px;font-weight:700}
.mobile-eyebrow{color:#ef5c57;font-size:9px;font-weight:900;letter-spacing:.14em}
.mobile-edit-state{justify-self:start;max-width:100%;overflow:hidden;padding:4px 8px;border:1px solid;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap}
.mobile-edit-state.editable{border-color:#315c43;background:#162c20;color:#79dfa0}
.mobile-edit-state.locked{border-color:#5d4430;background:#2e2117;color:#f3b36e}
.mobile-date-bar{position:sticky;top:100px;z-index:7;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:6px;padding:6px;border:1px solid #38434c;border-radius:12px;background:#12171cf5;box-shadow:0 9px 24px #0008;backdrop-filter:blur(14px);scroll-margin-top:100px}
.mobile-date-bar>button{width:40px;height:42px;border:1px solid #3a4650;border-radius:9px;background:#1b2228;color:#fff;font-size:27px;line-height:1;cursor:pointer}
.mobile-date-bar>button:disabled{opacity:.25;cursor:not-allowed}
.mobile-date-bar>label{position:relative;display:grid;align-content:center;justify-items:center;min-width:0;border:1px solid #303942;border-radius:11px;background:#0e1216;overflow:hidden}
.mobile-date-bar>label>span{color:#7f8b94;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.mobile-date-bar>label>strong{max-width:100%;overflow:hidden;padding:0 8px;color:#f7f8f9;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.mobile-date-bar input[type=date]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.mobile-date-bar>small{grid-column:1/-1;padding:2px 4px 0;text-align:center;color:#8f9aa3;font-size:9px}
.mobile-date-bar>small.editable{color:#70d798}
.mobile-date-bar>small.locked{color:#e8a25c}
.mobile-site-navigator{display:grid;gap:5px;padding:11px 13px;border:1px solid #303941;border-radius:14px;background:#11161a}
.mobile-site-navigator label{display:grid;gap:5px;color:#a0abb3;font-size:10px;font-weight:800}
.mobile-site-navigator select{height:46px;border-color:#3a4650;border-radius:10px;background:#0d1216;font-size:14px}
.mobile-site-navigator small{color:#77838c;font-size:9px;line-height:1.35}
.mobile-journal-section{display:grid;gap:14px;margin:0;padding:16px;border-radius:16px}
.mobile-collapsible-section{display:block}
.mobile-collapsible-section summary{display:block;list-style:none;cursor:pointer}
.mobile-collapsible-section summary::-webkit-details-marker{display:none}
.mobile-collapsible-section summary .mobile-section-head:after{content:"⌄";display:grid;place-items:center;width:28px;height:28px;border:1px solid #35414a;border-radius:9px;background:#151c21;color:#c7d0d6;font-size:15px;transition:transform .15s}
.mobile-collapsible-section[open] summary .mobile-section-head:after{transform:rotate(180deg)}
.mobile-collapsible-section>.mobile-site-navigator,.mobile-collapsible-section>.mobile-shift-fields,.mobile-collapsible-section>.mobile-wide-action{margin-top:12px}
.mobile-section-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px}
.mobile-section-head h2{margin:0;color:#f5f7f8;font-size:17px;line-height:1.15}
.mobile-section-head p{margin:4px 0 0;color:#8d98a1;font-size:11px}
.mobile-step{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e53935;color:#fff;font-size:15px;font-weight:900;box-shadow:0 7px 18px #e5393530}
.mobile-section-count{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:999px;background:#252d34;color:#cdd3d8;font-size:11px;font-weight:800}
.mobile-shift-fields{display:grid;gap:10px}
.mobile-shift-fields label,.mobile-brigade-field,.mobile-result-field{display:grid;gap:6px;color:#9ba5ad;font-size:10px;font-weight:700}
.mobile-shift-fields select,.mobile-shift-fields input,.mobile-brigade-field input{height:48px;border-color:#36414a;border-radius:10px;background:#0e1317;font-size:14px}
.mobile-site-lock-note{color:#b88b5f;font-size:9px;font-weight:500;line-height:1.35}
.mobile-conditional-field{padding:10px;border:1px solid #5e442b;border-radius:12px;background:#2e211560}
.mobile-photo-block{display:grid;gap:10px;padding-top:2px}
.mobile-photo-block-title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mobile-photo-block-title div{display:grid}
.mobile-photo-block-title b{font-size:13px}
.mobile-photo-block-title div span{color:#7f8a93;font-size:10px}
.mobile-photo-block-title>span{display:grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:999px;background:#252d34;color:#d7dce0;font-size:10px;font-weight:800}
.mobile-camera-button{display:flex;align-items:center;gap:12px;min-height:62px;padding:10px 13px;border:1px dashed #53616d;border-radius:12px;background:#151c21;color:#f3f5f6;cursor:pointer;transition:.15s}
.mobile-camera-button:hover{border-color:#e0524e;background:#1d2024}
.mobile-camera-button:focus-within{outline:2px solid #f05a55;outline-offset:2px;border-color:#e0524e}
.mobile-camera-button.result{border-color:#4d6557;background:#142019}
.mobile-camera-button>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.mobile-camera-button>b{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:11px;background:#e53935;color:#fff;font-size:26px;font-weight:400}
.mobile-camera-button.result>b{background:#2e8b57}
.mobile-camera-button>span{display:grid}
.mobile-camera-button strong{font-size:13px}
.mobile-camera-button small{color:#8b969f;font-size:10px}
.mobile-camera-button.disabled{opacity:.45;cursor:not-allowed}
.mobile-photo-gallery{display:grid;gap:8px}
.mobile-photo-gallery.compact:not(:empty){margin-top:-3px}
.mobile-action-stack{display:grid;gap:9px}
.mobile-action-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:68px;padding:11px 13px;border:1px solid #394650;border-radius:14px;background:linear-gradient(145deg,#172026,#101419);color:#f5f7f8;text-align:left;cursor:pointer;box-shadow:0 8px 22px #0004}
.mobile-action-card:hover{border-color:#e0524e;background:#1b2329}
.mobile-action-card>b{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#e53935;color:#fff;font-size:27px;font-weight:500}
.mobile-action-card span{display:grid;min-width:0}
.mobile-action-card strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.mobile-action-card small{overflow:hidden;color:#8d98a1;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.mobile-action-card em{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#252e36;color:#cdd5db;font-size:11px;font-style:normal;font-weight:900}
.mobile-action-card:disabled{opacity:.45;cursor:not-allowed}
.mobile-photo-item{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr) 44px;align-items:center;gap:10px;min-height:76px;padding:7px;border:1px solid #313b43;border-radius:12px;background:#0e1317;overflow:hidden}
.mobile-photo-open{width:76px;height:62px;overflow:hidden;padding:0;border:0;border-radius:8px;background:#20272d;cursor:zoom-in}
.mobile-photo-open img{display:block;width:100%;height:100%;object-fit:cover}
.mobile-photo-item>div{display:grid;min-width:0}
.mobile-photo-item strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.mobile-photo-item small{color:#818c95;font-size:10px}
.mobile-photo-delete{width:44px;height:44px;border:1px solid #543538;border-radius:10px;background:#29171a;color:#ff8581;font-size:22px;cursor:pointer}
.mobile-photo-preview{display:grid;gap:8px;padding:10px;border:1px solid #3c4851;border-radius:12px;background:#10161a}
.mobile-photo-preview-head{display:flex;align-items:center;justify-content:space-between;color:#d6dce0;font-size:11px}
.mobile-photo-preview-head span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#29323a;font-weight:800}
.mobile-photo-preview-list{display:grid;gap:7px}
.mobile-photo-preview-item{display:grid;grid-template-columns:54px minmax(0,1fr) 44px;align-items:center;gap:9px;min-width:0;padding:6px;border:1px solid #303a42;border-radius:10px;background:#0c1115}
.mobile-photo-preview-item.error{border-color:#7b3639;background:#2b1719}
.mobile-photo-preview-item img{width:54px;height:48px;border-radius:7px;background:#20272d;object-fit:cover}
.mobile-photo-preview-item>div{display:grid;min-width:0}
.mobile-photo-preview-item strong,.mobile-photo-preview-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mobile-photo-preview-item strong{font-size:11px}.mobile-photo-preview-item small{color:#89949c;font-size:9px}
.mobile-photo-preview-item.error small{color:#ff918e}
.mobile-photo-preview-remove{width:44px;height:44px;padding:0;border:1px solid #543538;border-radius:10px;background:#29171a;color:#ff8581;font-size:22px;cursor:pointer}
.mobile-confirm-photos{width:100%;height:46px}
.mobile-photo-missing{display:grid;place-items:center;height:100%;color:#8c969e;font-size:9px}
.mobile-photo-empty{display:grid;justify-items:center;gap:3px;padding:18px 12px;border:1px dashed #38434c;border-radius:12px;background:#0e1216;color:#8d98a1;text-align:center}
.mobile-photo-empty b{color:#cbd1d5;font-size:12px}
.mobile-photo-empty>span:last-child{max-width:280px;font-size:10px}
.mobile-photo-empty-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:3px;border-radius:50%;background:#20272d;color:#aeb7be;font-size:20px}
.mobile-wide-action{width:100%;height:46px}
.mobile-day-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:10px;border:1px solid #303941;border-radius:14px;background:#11161a}
.mobile-day-summary span{display:grid;justify-items:center;gap:1px;min-width:0;padding:9px 4px;border-radius:10px;background:#181e23}
.mobile-day-summary b{font-size:20px;line-height:1}
.mobile-day-summary small{max-width:100%;overflow:hidden;color:#8d98a1;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.mobile-employees-section{padding:5px 0 0}
.mobile-employees-section>.mobile-section-head{padding:0 3px}
.mobile-member-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 3px}
.mobile-member-actions button{height:34px;padding:0 10px;border-color:#3b4750;background:#141b20;font-size:10px}
.mobile-member-tools{display:grid;gap:8px;padding:9px;border:1px solid #333f48;border-radius:12px;background:#10161a}
.mobile-member-tools summary{list-style:none;color:#d7dde1;font-size:12px;font-weight:900;cursor:pointer}
.mobile-member-tools summary::-webkit-details-marker{display:none}
.mobile-member-tools summary:after{content:"⌄";float:right;color:#9ba6ae}
.mobile-member-tools[open] summary:after{transform:rotate(180deg)}
.mobile-member-tools .mobile-member-actions{margin-top:8px;padding:0}
.mobile-employee-list{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;min-width:0}
.mobile-employee-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 142px;grid-template-areas:"person controls" "site controls" "overtime overtime";align-items:center;gap:7px 10px;min-width:0;min-height:102px;padding:9px 9px 9px 10px;border:1px solid #354049;border-left:3px solid var(--site-color);border-radius:12px;background:linear-gradient(145deg,#171d22,#101419);box-shadow:0 7px 18px #0003;transition:.15s}
.mobile-employee-card.saving{opacity:.6;pointer-events:none}
.mobile-employee-card>header{grid-area:person;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;min-width:0}
.mobile-employee-card .timesheet-person{min-width:0}
.mobile-employee-card .timesheet-person .employee-avatar{flex-basis:44px;width:44px;height:44px;font-size:11px}
.mobile-employee-card .employee-surname{color:#f5f7f8;font-size:17px;font-weight:950;line-height:1.05}
.mobile-employee-card .employee-details{margin-top:2px;color:#8e99a2;font-size:12px;line-height:1.12}
.mobile-card-total{display:grid;justify-items:end;flex:0 0 auto}
.mobile-card-total b{font-size:16px;line-height:1}
.mobile-card-total small{min-height:16px;margin-top:2px;padding:1px 5px;border-radius:999px;background:#3a1c1e;color:#ff8c87;font-size:8px;font-weight:800}
.mobile-card-total small.negative{background:#172c3d;color:#8bc9f3}
.mobile-card-meta{grid-area:site;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:7px;min-width:0}
.mobile-card-site{display:flex;align-items:center;gap:6px;min-width:0;color:#9ea8b0;font-size:10px}
.mobile-card-site i{flex:0 0 7px;width:7px;height:7px;border-radius:2px;background:var(--site-color)}
.mobile-card-site span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mobile-card-site b{color:#dfe6ea;font-weight:950}.mobile-card-site em{color:#ff9a95;font-style:normal;font-weight:950}.mobile-card-site em.negative{color:#8bc9f3}
.mobile-employee-card.site-mismatch{border-color:#725331;border-left-color:#e4a24e;background:linear-gradient(145deg,#251d15,#111519)}
.mobile-card-site.warning{align-items:flex-start;padding:7px 8px;border-radius:8px;background:#352718;color:#efbd7d}
.mobile-card-site.warning span{overflow:visible;white-space:normal}
.mobile-status-controls{grid-area:controls;display:grid;grid-template-columns:repeat(3,42px);grid-auto-rows:36px;align-self:center;justify-content:end;gap:5px}
.mobile-status-controls button{display:grid;place-items:center;min-width:0;min-height:36px;height:36px;padding:0;border:1px solid #37424b;border-radius:9px;background:#11161a;color:#9da7af;cursor:pointer;touch-action:manipulation}
.mobile-status-controls button b{font-family:"Segoe UI",Tahoma,Arial,sans-serif;font-size:20px;font-weight:950;line-height:1}
.mobile-status-controls .mobile-status-check b{font-size:25px}
.mobile-status-controls button.active{border-color:#687680;background:#273039;color:#fff;box-shadow:inset 0 0 0 1px #ffffff12}
.mobile-status-controls button.active.attendance{border-color:#3d8159;background:#193625;color:#85e3a8}
.mobile-status-controls button.active.absent{border-color:#9a4149;background:#3e1b1f;color:#ff918e}
.mobile-status-controls button.active.weekend,.mobile-status-controls button.active.vacation{border-color:#4778a4;background:#172c3e;color:#9ed1fb}
.mobile-status-controls button.active.sick{border-color:#9a6d42;background:#352516;color:#f3be82}
.mobile-status-controls button:disabled{cursor:not-allowed;opacity:.48}
.mobile-status-controls .mobile-overtime-toggle{display:grid;place-items:center;width:auto;max-width:none;height:36px;padding:0;border-radius:9px;font-size:12px}
.mobile-status-controls .mobile-overtime-toggle:after{display:none}
.mobile-status-controls .mobile-overtime-toggle.has-value{border-color:#734047;background:#2b191c;color:#ff9a95}
.mobile-status-controls .employee-actions-trigger,.mobile-status-controls .mobile-actions-inline{position:static;width:auto;height:36px;min-width:0;border:1px solid #37424b;border-radius:9px;background:#11161a;color:#dce2e6;font-size:15px;letter-spacing:0}
.mobile-overtime-toggle{display:inline-flex;align-items:center;gap:5px;height:29px;padding:0 8px;border:1px solid #3d4851;border-radius:8px;background:#161d22;color:#c8d0d6;font-size:9px;font-weight:800;cursor:pointer;white-space:nowrap}
.mobile-overtime-toggle:after,.mobile-bulk-overtime-toggle:after{content:"⌄";font-size:13px;line-height:1;transition:transform .15s}
.mobile-overtime-toggle[aria-expanded=true]:after,.mobile-bulk-overtime-toggle[aria-expanded=true]:after{transform:rotate(180deg)}
.mobile-overtime-toggle.has-value{border-color:#734047;background:#2b191c;color:#ff9a95}
.mobile-overtime-toggle.has-value b{font-size:9px}
.mobile-overtime-toggle:disabled{opacity:.42;cursor:not-allowed}
.mobile-overtime-panel{grid-area:overtime;display:grid;grid-template-columns:minmax(90px,1fr) auto auto;align-items:end;gap:6px;padding:7px;border-top:1px solid #29323a;border-radius:0 0 8px 8px;background:#0c1115}
.mobile-overtime-panel[hidden],.mobile-bulk-overtime-panel[hidden]{display:none}
.mobile-overtime-panel label{display:grid;gap:3px;color:#8f9aa3;font-size:8px;font-weight:700}
.mobile-overtime-panel select{height:36px;border-radius:8px;background:#0e1317;font-size:11px}
.mobile-overtime-panel button{height:36px;padding:0 10px;font-size:10px}
.mobile-overtime-clear{min-width:43px;border:0;background:transparent;color:#f07975;font-weight:800;cursor:pointer}
.mobile-bulk-overtime{display:grid;gap:7px;margin-top:3px;padding:10px;border:1px solid #35414a;border-radius:12px;background:#11171b}
.mobile-bulk-overtime-toggle{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;height:40px;font-size:11px}
.mobile-bulk-overtime-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding-top:2px}
.mobile-bulk-overtime-panel label{display:grid;gap:4px;color:#9da7af;font-size:9px;font-weight:700}
.mobile-bulk-overtime-panel select{height:40px;border-radius:9px;background:#0d1216}
.mobile-bulk-overtime-panel>button{height:40px;padding:0 12px;font-size:10px}
.mobile-bulk-overtime-panel>small{grid-column:1/-1;color:#7f8b94;font-size:9px;text-align:center}
.mobile-bulk-progress{grid-column:1/-1;display:grid;gap:5px;color:#c7ced3;font-size:9px;text-align:center}
.mobile-bulk-progress i{display:block;height:4px;overflow:hidden;border-radius:999px;background:#2b343c}
.mobile-bulk-progress i b{display:block;height:100%;border-radius:inherit;background:#e34a46;transition:width .15s}
.mobile-bulk-progress.done i b{background:#42b96d}
.mobile-result-field textarea{min-height:104px;resize:vertical;border:1px solid #36414a;border-radius:11px;background:#0e1317;color:#f3f5f6;padding:11px;font:inherit;outline:none}
.mobile-result-field textarea:focus{border-color:#6b7882;box-shadow:0 0 0 3px #71808a1d}
.mobile-result-field>span{display:flex;justify-content:space-between;gap:8px}
.mobile-result-field small{color:#737f88;font-weight:500}
.mobile-close-shift{width:100%;height:50px;font-size:14px}
.mobile-request-change-button{width:100%;height:46px}
.mobile-end-section.closed{border-color:#315c43;background:linear-gradient(145deg,#15221a,#101419)}
.mobile-close-note{margin:-5px 0 0;color:#bd8e5f;font-size:10px;text-align:center}
.mobile-desktop-note{margin:2px auto 0;max-width:420px;padding:13px 16px;border:1px solid #2d3740;border-radius:12px;background:#10151a;color:#8f9aa3;font-size:10px;line-height:1.45;text-align:center}
.mobile-timesheet-mode button:focus-visible,.mobile-timesheet-mode input:focus-visible,.mobile-timesheet-mode select:focus-visible,.mobile-timesheet-mode textarea:focus-visible{outline:2px solid #f05a55;outline-offset:2px}

.mobile-photo-upload-dialog{display:grid;gap:12px}
.mobile-photo-upload-dialog p{margin:0;color:#aeb8c0;font-size:13px;line-height:1.4}
.mobile-photo-upload-dialog label:not(.mobile-camera-button){display:grid;gap:6px;color:#a5afb7;font-size:12px;font-weight:800}
.mobile-photo-upload-dialog textarea,.mobile-change-request textarea{min-height:120px;resize:vertical;border:1px solid #36414a;border-radius:11px;background:#0e1317;color:#f3f5f6;padding:11px;font:inherit;outline:none}
.mobile-upload-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:8px}
.mobile-upload-preview article{display:grid;gap:5px;min-width:0}
.mobile-upload-preview img{width:100%;aspect-ratio:1;border-radius:9px;background:#20272d;object-fit:cover}
.mobile-upload-preview span{overflow:hidden;color:#87929a;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.mobile-change-request{display:grid;gap:14px}
.mobile-change-request-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 12px;padding:12px;border:1px solid #37434c;border-radius:12px;background:#10161a}
.mobile-change-request-card span{color:#818c95;font-size:11px;font-weight:800;text-transform:uppercase}
.mobile-change-request-card b{min-width:0;overflow:hidden;color:#f2f5f7;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.mobile-change-request label{display:grid;gap:6px;color:#a5afb7;font-size:12px;font-weight:800}

.mobile-member-modal{width:min(520px,calc(100vw - 20px));max-height:calc(100dvh - 20px);overflow:auto;padding:18px}
.mobile-member-modal h2{margin-bottom:14px;font-size:18px}
.mobile-member-loading,.mobile-member-empty{display:grid;justify-items:center;gap:4px;padding:24px 12px;border:1px dashed #38434c;border-radius:11px;background:#0e1317;color:#87929a;text-align:center}
.mobile-member-loading b,.mobile-member-empty b{color:#d6dce0;font-size:12px}
.mobile-member-loading span,.mobile-member-empty span{font-size:10px}
.mobile-member-picker{display:grid;gap:9px;min-width:0}
.mobile-member-search{display:grid;gap:5px;color:#9da7af;font-size:10px;font-weight:700}
.mobile-member-search input{height:40px;border-radius:9px;background:#0d1216}
.mobile-member-options{display:grid;gap:6px;max-height:min(52vh,470px);overflow:auto;overscroll-behavior:contain;padding-right:2px}
.mobile-member-option{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px;border:1px solid #303b44;border-radius:10px;background:#0d1216}
.mobile-member-option .employee-avatar{width:36px;height:36px;flex-basis:36px;font-size:10px}
.mobile-member-option>div{display:grid;min-width:0}
.mobile-member-option>div>strong,.mobile-member-option>div>span,.mobile-member-option>div>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mobile-member-option>div>strong{font-size:11px}
.mobile-member-option>div>span{color:#939ea6;font-size:9px}
.mobile-member-option>div>small{margin-top:2px;color:#d0a363;font-size:8px}
.mobile-member-option>div>small.available{color:#69cf8c}
.mobile-member-option>button{height:36px;padding:0 10px;font-size:9px}
.mobile-new-member-form{display:grid;gap:12px}
.mobile-member-modal .employee-photo-field{grid-template-columns:60px minmax(0,1fr);gap:10px;padding:9px}
.mobile-member-modal .employee-photo-preview{width:60px;height:60px;font-size:10px}
.mobile-member-modal .employee-photo-field label{display:grid;gap:4px;color:#aeb6bd;font-size:10px}
.mobile-member-modal .employee-photo-field label>small{color:#7f8a93;font-size:8px;font-weight:500}
.mobile-member-modal .employee-photo-field input{height:38px;padding:7px;font-size:9px}
.mobile-member-modal .modal-grid{gap:9px}
.mobile-member-modal .modal-grid label{font-size:10px}
.mobile-member-modal .modal-grid input{height:40px;border-radius:9px}
.mobile-member-date-note{margin:0;padding:9px 10px;border:1px solid #3f4c55;border-radius:9px;background:#10171c;color:#8f9aa3;font-size:9px;line-height:1.4}
.mobile-member-modal .modal-actions{margin-top:14px}

@media(max-width:520px){
  .mobile-timesheet-mode .content{padding:0 10px 34px}
  .mobile-timesheet-page{gap:11px;padding-top:10px}
  .mobile-journal-head{padding:15px}
  .mobile-journal-head h1{font-size:20px}
  .mobile-journal-section{padding:14px}
  .mobile-date-bar{grid-template-columns:44px minmax(0,1fr) 44px}
  .mobile-date-bar>button{width:44px}
  .mobile-overtime-panel{grid-template-columns:minmax(0,1fr) auto}
  .mobile-overtime-clear{grid-column:1/-1;height:26px}
  .mobile-bulk-overtime-panel{grid-template-columns:minmax(0,1fr)}
  .mobile-bulk-overtime-panel>button{width:100%}
  .mobile-member-modal{padding:15px}
  .mobile-member-option{grid-template-columns:32px minmax(0,1fr) auto;gap:7px;padding:7px}
  .mobile-member-option .employee-avatar{width:32px;height:32px;flex-basis:32px}
  .mobile-member-option>button{padding:0 8px}
}

/* Final desktop table adaptation for MacBook Neo / Pro 14" / Pro 16". */
@media (min-width:821px) and (max-width:1512px){
  .workspace{min-width:0;overflow:hidden}
  .content{min-width:0;overflow:auto}
  .data-card,.table-scroll,.timesheet-wrap{max-width:100%;min-width:0}
  .table-scroll{overflow:auto;max-height:calc(100vh - 176px)}
  .data-card table th,.data-card table td{padding:10px 11px;font-size:13px}
  .data-card table th{font-size:10px;letter-spacing:.03em}
  .employee-list-person,.compact-person{min-width:0}
  .compact-person strong,.compact-person small,
  .employee-list-person .employee-surname,.employee-list-person .employee-details{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .timesheet-tools{top:64px;padding:7px 8px}
  .timesheet-toolbar-line{gap:6px}
  .timesheet-toolbar-line input,.timesheet-toolbar-line select,.timesheet-toolbar-line button{height:31px;font-size:10px}
  .timesheet-period-picker{flex:0 0 160px}
  .timesheet-organization-picker{flex:0 1 142px;min-width:112px}
  .timesheet-site-picker{flex:1 1 190px;min-width:145px}
  .timesheet-crew-picker{flex:0 1 150px;min-width:118px}
  .timesheet-approve-stack{min-width:128px}
  .timesheet-wrap{max-height:calc(100vh - 202px);border-radius:7px}
  .timesheet{font-size:12px}
  .timesheet th,.timesheet td{height:44px}
  .timesheet thead th{height:49px}
  .timesheet .num{width:36px;min-width:36px;max-width:36px}
  .timesheet .person{left:36px;width:246px;min-width:246px;max-width:246px;padding:0 7px}
  .timesheet .day,.timesheet .cell{width:32px;min-width:32px;max-width:32px}
  .timesheet .overtime,.timesheet .total{width:62px;min-width:62px;max-width:62px;font-size:12px}
  .timesheet thead .day{font-size:12px}
  .timesheet thead .day small{font-size:9px}
  .timesheet .cell-value{font-size:18px}
  .timesheet .cell-value.attendance{font-size:22px}
  .timesheet-person{grid-template-columns:34px minmax(0,1fr) 23px;gap:6px;min-height:42px}
  .timesheet-person .employee-avatar{width:32px;height:32px;flex-basis:32px}
  .timesheet-person .employee-surname{font-size:14px;line-height:1.05}
  .timesheet-person .employee-details{font-size:10px;line-height:1.1}
  .timesheet-person .employee-position-line{display:none}
  .timesheet-person .employee-actions-trigger{width:22px;height:22px;min-width:22px;border-radius:6px}
  .timesheet-crew-row td{top:49px;height:30px}
  .timesheet-crew-row strong{font-size:11px}
  .legend{gap:11px;margin:8px 3px;font-size:11px}

  .payroll-panel{gap:10px}
  .payroll-table{min-width:980px}
  .payroll-table th:nth-child(1),.payroll-table td:nth-child(1){width:156px;min-width:156px;max-width:156px}
  .payroll-table th:nth-child(2),.payroll-table td:nth-child(2){width:58px;min-width:58px;max-width:58px}
  .payroll-table th:nth-child(3),.payroll-table td:nth-child(3){width:86px;min-width:86px;max-width:86px}
  .payroll-table th:nth-child(4),.payroll-table td:nth-child(4),
  .payroll-table th:nth-child(5),.payroll-table td:nth-child(5){width:42px;min-width:42px;max-width:42px}
  .payroll-table th:nth-child(6),.payroll-table td:nth-child(6),
  .payroll-table th:nth-child(7),.payroll-table td:nth-child(7),
  .payroll-table th:nth-child(8),.payroll-table td:nth-child(8),
  .payroll-table th:nth-child(9),.payroll-table td:nth-child(9){width:92px;min-width:92px;max-width:92px}
  .payroll-table th:nth-child(10),.payroll-table td:nth-child(10){width:48px;min-width:48px;max-width:48px}
  .payroll-table .money-cell,.payroll-table .payroll-pay-cell{font-size:13px}
  .payroll-table .payroll-pay-cell strong{font-size:15px}
  .compact-money-input{width:82px;height:28px;font-size:12px}
  .payroll-money-summary-matrix{grid-template-columns:minmax(220px,1.1fr) repeat(4,minmax(126px,.72fr))}
  .payroll-money-summary-matrix span{min-height:58px;padding:9px 10px}
  .payroll-money-summary-matrix b{font-size:20px}
  .payroll-object-head,.payroll-object-row{grid-template-columns:minmax(210px,1.4fr) repeat(3,minmax(118px,.7fr));gap:8px}
  .payroll-object-row b{font-size:13px}

  .salary-table{min-width:820px}
  .salary-table th:nth-child(1),.salary-table td:nth-child(1){width:160px;min-width:160px;max-width:160px}
  .salary-table th:nth-child(2),.salary-table td:nth-child(2){width:120px;min-width:120px;max-width:120px}
  .salary-table th:nth-child(3),.salary-table td:nth-child(3){width:180px}
  .salary-table th:nth-child(4),.salary-table td:nth-child(4){width:95px;min-width:95px;max-width:95px}
  .salary-table th:nth-child(5),.salary-table td:nth-child(5){width:150px}

  .employee-directory{min-width:900px}
  .employee-directory th,.employee-directory td{padding:9px 10px}
  .employee-directory th:first-child,.employee-directory td:first-child{min-width:210px}
  .employee-directory th:nth-child(2),.employee-directory td:nth-child(2){min-width:120px}
  .employee-directory th:nth-child(3),.employee-directory td:nth-child(3){min-width:150px}

  .database-layout{grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:10px}
  .database-directory{padding:10px}
  .database-person-list{max-height:calc(100vh - 276px)}
  .database-person{grid-template-columns:34px minmax(0,1fr);gap:7px;padding:7px}
  .database-person .employee-avatar{width:34px;height:34px;flex-basis:34px}
  .database-person .employee-status{display:none}
  .database-employee-head{grid-template-columns:120px minmax(0,1fr) auto;gap:12px;padding:12px}
  .database-photo{width:120px;height:120px;border-radius:14px}
  .database-employee-head h3{font-size:20px}
  .database-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .database-custom-fields>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (min-width:821px) and (max-width:1180px){
  .table-scroll{max-height:calc(100vh - 160px)}
  .timesheet-toolbar-line{display:grid;grid-template-columns:140px minmax(125px,.8fr) minmax(150px,1.2fr) minmax(120px,.8fr) minmax(150px,1fr) auto auto minmax(120px,auto);align-items:end}
  .timesheet-period-picker,.timesheet-organization-picker,.timesheet-site-picker,.timesheet-crew-picker{min-width:0;flex-basis:auto}
  .timesheet-wrap{max-height:calc(100vh - 212px)}
  .timesheet .num{width:32px;min-width:32px;max-width:32px}
  .timesheet .person{left:32px;width:202px;min-width:202px;max-width:202px}
  .timesheet .day,.timesheet .cell{width:29px;min-width:29px;max-width:29px}
  .timesheet .overtime,.timesheet .total{width:54px;min-width:54px;max-width:54px;font-size:11px}
  .timesheet-person{grid-template-columns:30px minmax(0,1fr) 22px;min-height:39px}
  .timesheet-person .employee-avatar{width:28px;height:28px;flex-basis:28px}
  .timesheet-person .employee-surname{font-size:12px}
  .timesheet-person .employee-details{font-size:9px}
  .timesheet .cell-value{font-size:16px}
  .timesheet .cell-value.attendance{font-size:20px}
  .payroll-table{min-width:900px}
  .payroll-table th:nth-child(1),.payroll-table td:nth-child(1){width:140px;min-width:140px;max-width:140px}
  .payroll-table th:nth-child(3),.payroll-table td:nth-child(3){width:76px;min-width:76px;max-width:76px}
  .payroll-table th:nth-child(6),.payroll-table td:nth-child(6),
  .payroll-table th:nth-child(7),.payroll-table td:nth-child(7),
  .payroll-table th:nth-child(8),.payroll-table td:nth-child(8),
  .payroll-table th:nth-child(9),.payroll-table td:nth-child(9){width:82px;min-width:82px;max-width:82px}
  .payroll-money-summary-matrix{grid-template-columns:repeat(3,minmax(130px,1fr));grid-template-areas:"accrued card after" ". total all"}
  .payroll-object-head,.payroll-object-row{grid-template-columns:minmax(170px,1.2fr) repeat(3,minmax(100px,.7fr))}
  .salary-table{min-width:760px}
  .database-layout{grid-template-columns:240px minmax(0,1fr)}
  .database-employee-head{grid-template-columns:92px minmax(0,1fr);gap:10px}
  .database-photo{width:92px;height:92px}
  .database-employee-head>button{grid-column:1/-1;justify-self:start}
  .database-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.petr-access-switches{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.petr-access-switches .full-timesheet-access-switch{min-width:210px}
.petr-dismiss-access-switch.on{border-color:#8a4a35;background:#2b1713;color:#ff9d7c}
.petr-dismiss-access-switch.on i{background:#d8673f}
.timesheet-employee-search{flex:0 1 190px;min-width:150px}
.timesheet-employee-search input{width:100%;min-width:0;padding:0 9px}
.timesheet-employee-search input::placeholder{color:#74808a}
.mobile-timesheet-search{display:grid;gap:5px;margin:10px 0;color:#9da7af;font-size:10px;font-weight:800}
.mobile-timesheet-search input{height:40px;width:100%;padding:0 12px;border-radius:8px;background:#0d1216}
@media(max-width:620px){
  .petr-access-switches{display:grid;width:100%}
  .petr-access-switches .full-timesheet-access-switch{min-width:0}
}

.dashboard-right-column:has(.dashboard-manager-status-card){
  grid-template-rows:104px minmax(124px,.72fr) minmax(0,1fr);
}
.dashboard-manager-status-card{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  min-height:0;
  overflow:hidden;
  padding:12px;
}
.dashboard-manager-status-card header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
}
.dashboard-manager-status-card h3{margin:0;font-size:14px}
.dashboard-manager-status-card header span{color:#8e99a3;font-size:11px;font-weight:850}
.dashboard-manager-status-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(72px,1fr));
  gap:8px;
  min-height:0;
  overflow:auto;
  scrollbar-width:thin;
}
.dashboard-manager-status-button{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-rows:1fr auto;
  align-items:center;
  gap:6px 10px;
  width:100%;
  min-height:0;
  padding:12px;
  border:1px solid #34414a;
  border-radius:8px;
  background:linear-gradient(145deg,#141c22,#10151a);
  color:#e8eef2;
  text-align:left;
  cursor:pointer;
}
.dashboard-manager-status-button:hover{border-color:#556572;background:#182128}
.dashboard-manager-status-button strong{grid-row:1/3;font-size:34px;line-height:1;color:#fff}
.dashboard-manager-status-button span{font-size:12px;font-weight:900;line-height:1.2}
.dashboard-manager-status-button em{display:flex;gap:6px;font-style:normal}
.dashboard-manager-status-button i{
  display:grid;
  place-items:center;
  min-width:28px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  font-size:11px;
  font-weight:950;
  font-style:normal;
}
.dashboard-manager-status-button i.green{background:#143622;color:#93efad}
.dashboard-manager-status-button i.red{background:#3b171a;color:#ff9692}
.dashboard-manager-status-button i.gray{background:#202a32;color:#c2ccd3}
.dashboard-manager-status-button i.brown{background:#352313;color:#edbd7a}
.dashboard-manager-status-button i.blue{background:#142a40;color:#9bd1ff}
.dashboard-manager-status-item{
  display:grid;
  justify-items:center;
  gap:4px;
  padding:7px 5px;
  border:1px solid #303b44;
  border-radius:8px;
  background:#11171c;
  text-align:center;
}
.dashboard-manager-status-item div{
  display:grid;
  place-items:center;
  width:95px;
  max-width:100%;
  height:76px;
  border-radius:7px;
  overflow:hidden;
  background:#202a32;
}
.dashboard-manager-status-item img{width:100%;height:100%;object-fit:cover}
.dashboard-manager-status-item div span{font-size:20px;font-weight:950;color:#dce4ea}
.dashboard-manager-status-item strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;text-transform:uppercase}
.dashboard-manager-status-item small{font-size:10px;color:#9da7af}
.dashboard-manager-status-item.green{border-color:#2f8f52;background:#102418}
.dashboard-manager-status-item.green small{color:#8ceea8}
.dashboard-manager-status-item.red{border-color:#a33b42;background:#2b1215}
.dashboard-manager-status-item.red small{color:#ff918e}
.dashboard-manager-status-item.brown{border-color:#8b6035;background:#2b1d12}
.dashboard-manager-status-item.brown small{color:#e7b16f}
.dashboard-manager-status-item.blue{border-color:#386f9e;background:#102236}
.dashboard-manager-status-item.blue small{color:#9bd1ff}
.dashboard-manager-status-item.gray{opacity:.82}
.content:has(.admin-dashboard-workspace){height:calc(100vh - 101px);overflow:hidden}.admin-dashboard-workspace{height:100%;display:grid;grid-template-columns:minmax(0,1fr) 178px;gap:14px;min-height:0}.admin-dashboard-main,.admin-dashboard-companies{min-height:0}.admin-dashboard-main>header,.admin-dashboard-companies>header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.admin-dashboard-main h3,.admin-dashboard-companies h3{margin:0;color:#f5f8fa;font-size:20px}.admin-dashboard-main span,.admin-dashboard-companies span,.admin-dashboard-main small{color:#8f9aa2;font-size:12px;font-weight:850}.admin-manager-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-content:start;min-height:0;max-height:calc(100vh - 176px);overflow:auto;padding-right:2px;scrollbar-width:thin}.admin-manager-card{position:relative;display:grid;justify-items:center;gap:3px;min-width:0;min-height:135px;padding:7px 6px 8px;border:1px solid #303b44;border-radius:8px;background:#11171c;text-align:center;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.admin-manager-card>i.attention{position:absolute;z-index:2;top:6px;right:6px;display:grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border:2px solid #11171c;border-radius:999px;background:#ff9f0a;color:#15100a;box-shadow:0 2px 8px #0008;font-style:normal}.admin-manager-card>i.attention b{font-size:9px;line-height:1}.admin-manager-card.green{border-color:#2f8f52;background:#112a1c;box-shadow:inset 0 0 0 1px #35c86f22}.admin-manager-card.red{border-color:#9e3840;background:#321418;box-shadow:inset 0 0 0 1px #e5393522}.admin-manager-card.brown{border-color:#8b6035;background:#2b1d12;box-shadow:inset 0 0 0 1px #d48a2b22}.admin-manager-card.blue{border-color:#386f9e;background:#102b43;box-shadow:inset 0 0 0 1px #4d9de022}.admin-manager-card.gray{border-color:#303b44;background:#11171c}.admin-manager-photo{display:grid;place-items:center;width:54px;height:81px;border:1px solid #3a4650;border-radius:7px;background:#202a32;overflow:hidden}.admin-manager-photo img{width:100%;height:100%;object-fit:cover}.admin-manager-photo span{color:#dce4ea;font-size:15px;font-weight:950}.admin-manager-card strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f5f8fa;font-size:13px;font-weight:950;text-transform:uppercase}.admin-manager-card small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9da7af;font-size:10px;font-weight:800}.admin-manager-card.green small{color:#91dfaa}.admin-manager-card.red small{color:#f4a0a0}.admin-manager-card.brown small{color:#e7b16f}.admin-manager-card.blue small{color:#9bd1ff}.admin-manager-empty{display:grid;place-items:center;min-height:220px;border:1px dashed #37434c;border-radius:10px;color:#8e99a3}.admin-company-tiles{display:grid;gap:9px}.admin-company-tile{display:grid;align-content:space-between;min-height:134px;aspect-ratio:1;border:1px solid #303b44;border-radius:8px;background:#11171c;padding:10px}.admin-company-tile b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f5f8fa;font-size:16px;font-weight:950}.admin-company-tile strong{display:flex;align-items:baseline;gap:4px;color:#f5f8fa;font-size:28px;line-height:1}.admin-company-tile strong i{color:#69737c;font-size:20px;font-style:normal}.admin-company-tile strong em{color:#8ceea8;font-style:normal}.admin-company-tile span{color:#8f9aa2;font-size:11px;font-weight:850}@media(max-width:1260px){.admin-manager-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.admin-dashboard-workspace{grid-template-columns:minmax(0,1fr) 160px}.admin-manager-card{min-height:126px;padding:6px 5px 7px}.admin-manager-photo{width:48px;height:72px}.admin-manager-card strong{font-size:12px}.admin-manager-card small{font-size:9px}}@media(max-width:820px){.content:has(.admin-dashboard-workspace){height:auto;overflow:visible}.admin-dashboard-workspace{height:auto;grid-template-columns:1fr}.admin-manager-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:none}.admin-company-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-company-tile{min-height:92px}}
.admin-company-tiles{gap:6px;align-content:start;max-height:calc(100vh - 176px);overflow:auto;scrollbar-width:thin}
.admin-company-tile{min-height:62px;aspect-ratio:auto;align-content:center;gap:3px;padding:7px 9px}
.admin-company-tile b{font-size:13px;line-height:1.08}
.admin-company-tile strong{font-size:23px}
.admin-company-tile strong i{font-size:17px}
.admin-company-tile span{display:none}
.manager-status-modal{
  display:grid;
  gap:12px;
  min-width:min(760px,calc(100vw - 56px));
}
.manager-status-modal>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#9da7af;
  font-weight:900;
}
.manager-status-modal>div{
  display:grid;
  gap:8px;
  max-height:min(64vh,640px);
  overflow:auto;
  padding-right:4px;
}
.manager-status-modal-row{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:68px;
  padding:8px 10px;
  border:1px solid #303b44;
  border-radius:8px;
  background:#11171c;
}
.manager-status-photo{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:8px;
  overflow:hidden;
  background:#202a32;
}
.manager-status-photo img{width:100%;height:100%;object-fit:cover}
.manager-status-photo span{font-size:15px;font-weight:950}
.manager-status-modal-row strong{display:block;font-size:14px}
.manager-status-modal-row small{display:block;color:#8e99a3;font-size:11px}
.manager-status-modal-row p{margin:3px 0 0;color:#c8d0d6;font-size:11px}
.manager-status-modal-row>b{
  justify-self:end;
  padding:5px 8px;
  border-radius:999px;
  background:#202a32;
  font-size:11px;
}
.manager-status-modal-row.green{border-color:#2f8f52}
.manager-status-modal-row.green>b{background:#143622;color:#93efad}
.manager-status-modal-row.red{border-color:#a33b42}
.manager-status-modal-row.red>b{background:#3b171a;color:#ff9692}
.manager-status-modal-row.brown{border-color:#8b6035}
.manager-status-modal-row.brown>b{background:#352313;color:#edbd7a}
.manager-status-modal-row.blue{border-color:#386f9e}
.manager-status-modal-row.blue>b{background:#142a40;color:#9bd1ff}
.mobile-head-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
}
.mobile-manager-status-button{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  min-height:58px;
  width:100%;
  padding:9px 12px;
  border:1px solid #3a464f;
  border-radius:13px;
  background:#172027;
  color:#f3f6f8;
  font-weight:950;
  text-align:left;
}
.mobile-manager-status-strip{display:block}
.mobile-manager-status-button .employee-avatar{
  flex:0 0 42px;
  width:42px;
  height:42px;
  font-size:14px;
}
.mobile-manager-status-button>span:last-child{min-width:0}
.mobile-manager-status-button strong{display:block;font-size:18px;line-height:1.05;text-transform:uppercase}
.mobile-manager-status-button small{display:block;margin-top:4px;color:#9aa6ae;font-size:11px;font-weight:800;line-height:1.25}
.mobile-manager-status-button:not(:disabled){
  border-color:#348654;
  background:#143622;
  color:#93efad;
}
.mobile-manager-status-button:not(:disabled) small{color:#c6f6d5}
.mobile-manager-status-button:disabled{opacity:.6}
.mobile-status-upload-dialog,
.mobile-manager-status-options{
  display:grid;
  gap:10px;
}
.mobile-manager-status-options{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.mobile-manager-status-options label{
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-height:48px;
  padding:7px;
  border:1px solid #34414a;
  border-radius:10px;
  background:#11171c;
  cursor:pointer;
}
.mobile-manager-status-options input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.mobile-manager-status-options span{
  display:grid;
  place-items:center;
  width:42px;
  height:34px;
  border-radius:9px;
  background:#182128;
  color:#dce4ea;
  font-size:22px;
  font-weight:950;
}
.mobile-manager-status-options b{font-size:13px}
.mobile-manager-status-options label:has(input:checked){
  border-color:#ef4440;
  background:#241619;
  box-shadow:inset 0 0 0 1px rgba(239,68,64,.28);
}

.blank-timesheet-choice{display:grid;gap:16px}
.blank-timesheet-choice p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}
.blank-timesheet-choice>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.blank-timesheet-choice button{height:86px;font-size:18px;line-height:1.1}
.blank-timesheet-choice small{display:block;margin-top:7px;color:inherit;font-size:12px;font-weight:800;opacity:.78}
@media(max-width:620px){.blank-timesheet-choice>div{grid-template-columns:1fr}.blank-timesheet-choice button{height:74px}}

@media(max-width:520px){
  .timesheet-export{width:100%}
  .timesheet-export-menu{right:0;left:0;width:100%}
}

/* Авторизация и регистрация по телефону. */
.login-view{display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:24px 0}
.login-card{width:min(440px,calc(100vw - 32px));margin:auto 0;padding:34px 38px}
.login-card>p{margin-bottom:20px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 18px;padding:4px;border:1px solid #2d363e;border-radius:9px;background:#0c1115}
.auth-tabs button{height:38px;border:0;border-radius:6px;background:transparent;color:#8f9aa3;font-weight:750;cursor:pointer}
.auth-tabs button:hover{background:#171d22;color:#e7ebed}
.auth-tabs button[aria-selected="true"]{background:#273139;color:#fff;box-shadow:inset 0 0 0 1px #3c4851}
.auth-tabs button:focus-visible{outline:2px solid #ef5b57;outline-offset:2px}
.auth-registration{text-align:left}
.auth-password-reset{display:grid;gap:14px;text-align:left}
.auth-password-reset form{display:grid;gap:14px}
.auth-login-options{display:flex;align-items:center;justify-content:space-between;gap:12px}
.auth-login-options .check{margin:0}
.auth-login-options .auth-link-button{min-height:30px;padding:0;text-align:right}
.auth-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.auth-name-grid label{min-width:0}
.auth-registration label span small{color:#68747d;font-size:10px}
.auth-note{margin:0;padding:10px 11px;border:1px solid #303a42;border-radius:7px;background:#11171c;color:#9ca6ad;font-size:11px;line-height:1.45}
.auth-note:before{content:"ⓘ";margin-right:6px;color:#e8a84a}
.auth-link-button{min-height:34px;border:0;background:transparent;color:#9fabb3;font-weight:650;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.auth-link-button:hover{color:#fff}
.auth-link-button:focus-visible{outline:2px solid #ef5b57;outline-offset:2px}
.auth-link-button:disabled,.login-card button:disabled{opacity:.48;cursor:not-allowed}
.auth-switch-user{display:block;width:max-content;margin:18px 0 0;padding:0;border:0;background:transparent;color:#9fabb3;font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.auth-switch-user:hover{color:#fff}
.auth-switch-user:focus-visible{outline:2px solid #ef5b57;outline-offset:4px}
.auth-step-heading{display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid #314339;border-radius:8px;background:#142019}
.auth-step-heading>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#28593b;color:#a4efbd;font-weight:850}
.auth-step-heading strong,.auth-step-heading small{display:block}
.auth-step-heading small{margin-top:2px;color:#91a099;font-size:10px}
.sms-code-input{text-align:center;font-size:21px;font-weight:850;letter-spacing:.28em}
.registration-status{display:grid;justify-items:center;gap:11px;padding:8px 0 2px;text-align:center}
.registration-status-icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid #5b492c;border-radius:50%;background:#2c2113;color:#f1b95c;font-size:25px}
.registration-status-icon.approved{border-color:#2e6040;background:#172a1e;color:#75dc99}
.registration-status-icon.rejected,.registration-status-icon.expired{border-color:#6a3435;background:#2d1819;color:#f37d79}
.registration-status h2{margin:0;font-size:18px}
.registration-status p{margin:0;color:#aab2b8;font-size:12px;line-height:1.55}
.registration-status .secondary{width:100%}
.registration-status output{width:100%}
.login-card>small{margin-top:20px}

@media(max-width:520px){
  .login-view{padding:12px 0}
  .login-card{width:min(100% - 20px,440px);padding:26px 20px}
  .login-logo{width:72px}
  .login-card h1{font-size:24px}
  .login-card>p{margin-bottom:16px;font-size:12px}
  .auth-tabs{margin-bottom:15px}
  .auth-name-grid{grid-template-columns:1fr;gap:14px}
  .auth-note{font-size:10px}
}

/* Employee cards, HR workflow and approved crew controls */
textarea{width:100%;min-height:72px;resize:vertical;border:1px solid #303840;border-radius:7px;background:#0f1317;color:var(--text);padding:10px 12px;outline:none;font:inherit}
textarea:focus{border-color:#6f7982;box-shadow:0 0 0 3px #71808a1d}
.auth-field-note{display:block;margin-top:-2px;color:#78848d!important;font-size:9px!important;line-height:1.35;text-align:left}
.login-card{max-height:calc(100vh - 24px);overflow:auto}
.employee-directory .employee-card-open{height:32px;padding:0 12px;font-size:11px}.employee-directory .employee-card-menu{display:grid;place-items:center;width:32px;padding:0;font-size:14px;line-height:1;letter-spacing:1px}.employee-affiliation{display:grid;gap:2px;min-width:0}.employee-affiliation b,.employee-affiliation small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-affiliation b{color:#e8edf0;font-size:13px}.employee-affiliation small{color:#8d98a0;font-size:11px;font-weight:700}
.employee-directory-filters{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(220px,1.2fr) minmax(180px,.8fr) minmax(190px,.9fr) auto auto auto;align-items:end;gap:10px;margin-bottom:12px;padding:12px}
.employee-directory-filters label{display:grid;gap:5px;color:#aeb6bd;font-size:11px;font-weight:800}
.employee-directory-filters input,.employee-directory-filters select{height:38px;border-radius:8px;background:#0e1317}
.employee-directory-filters button{height:38px;padding:0 12px;font-size:10px}
.employee-directory-filters>strong{display:grid;align-content:center;justify-items:end;min-width:82px;color:#f1f5f7;font-size:24px;line-height:1}
.employee-directory-filters>strong small{color:#87939c;font-size:10px}
.database-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.database-card-actions .danger{border-color:#6b2929;background:#2a1113;color:#ff8e8a}
.employee-status{display:inline-flex;align-items:center;min-height:24px;padding:2px 9px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}
.employee-status.active{background:#173322;color:#77e49d}
.employee-status.termination-pending{background:#3b2813;color:#ffc56e}
.employee-status.dismissed{background:#302327;color:#bd9ca4}
.employee-status-toggle{gap:6px;border:1px solid currentColor;font:inherit;cursor:pointer;transition:filter .16s ease,transform .16s ease}
.employee-status-toggle small{padding-left:6px;border-left:1px solid currentColor;font-size:9px;font-weight:900;opacity:.9}
.employee-status-toggle:hover{filter:brightness(1.22)}
.employee-status-toggle:active{transform:scale(.96)}
.employee-status-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}
.timesheet-person{position:relative}
.employee-actions-trigger{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;margin-left:auto;padding:0;border:1px solid #9ba5ad;border-radius:7px;background:#eef1f3;color:#34414a;font:900 18px/1 Arial;cursor:pointer}
.employee-actions-trigger:hover,.employee-actions-trigger[aria-expanded=true]{border-color:#e35a56;background:#fff;color:#b52629}
.employee-actions-trigger:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.employee-action-popover{position:fixed;z-index:80;display:grid;width:260px;padding:6px;border:1px solid #48545e;border-radius:10px;background:#11171c;box-shadow:0 18px 55px #000c}
.employee-action-popover button{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:7px;min-height:42px;padding:7px 9px;border:0;border-radius:7px;background:transparent;color:#dbe0e4;text-align:left;cursor:pointer}
.employee-action-popover button:hover,.employee-action-popover button:focus-visible{background:#242d34;color:#fff;outline:0}
.employee-action-popover button:first-child{color:#ff8985}
.employee-action-popover button span{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:#29323a;font-weight:900}
.modal-card.employee-card-modal{width:min(880px,calc(100vw - 28px));max-height:min(88vh,900px);overflow:auto}
.employee-card-editor,.employee-new-editor,.admin-user-creator,.admin-employee-field-editor{display:grid;gap:14px}
.employee-card-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #303b44;border-radius:9px;background:#0d1216}
.employee-card-status>div{display:grid;gap:2px}
.employee-card-status>div>strong{font-size:16px}
.employee-card-id{color:#75818a;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.employee-editor-section{display:grid;gap:10px;padding:13px;border:1px solid #2c363e;border-radius:10px;background:#0f1418}
.employee-editor-section h3{margin:0;font-size:14px}
.employee-editor-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.employee-editor-heading small{color:#7f8a93;font-size:9px}
.employee-editor-grid,.employee-custom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.employee-editor-grid>label,.employee-custom-field{display:grid;align-content:start;gap:5px;color:#aeb6bd;font-size:10px}
.employee-editor-grid .span-2,.employee-custom-grid .span-2{grid-column:1/-1}
.employee-editor-grid label small,.employee-custom-field>span small{color:#77838b;font-size:8px}
.employee-custom-field>span b{color:#ef6965}
.employee-custom-field.inactive{opacity:.55}
.employee-boolean-field{display:flex;align-items:center;gap:8px;height:42px;padding:0 11px;border:1px solid #303840;border-radius:7px;background:#0f1317;color:#d8dde0}
.employee-boolean-field input{width:18px;height:18px;margin:0;accent-color:var(--red)}
.employee-readonly-field{display:grid;gap:5px;padding:9px 11px;border:1px solid #303840;border-radius:7px;background:#0d1216}
.employee-readonly-field span{color:#929da5;font-size:10px}
.employee-personal-section{gap:12px}.employee-personal-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.employee-personal-switch label{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid #303840;border-radius:8px;background:#0d1216;color:#cdd5da;font-size:11px;font-weight:800;cursor:pointer}.employee-personal-switch input{width:16px;height:16px}.employee-personal-kind{display:grid;gap:10px;padding:10px;border:1px solid #27323a;border-radius:9px;background:#10161a}.employee-personal-kind[hidden]{display:none}
.employee-fields-empty{grid-column:1/-1;margin:0;padding:16px;border:1px dashed #34404a;border-radius:8px;color:#7d8992;text-align:center}
.employee-termination-note,.employee-action-warning,.employee-action-danger{display:grid;gap:4px;padding:11px 13px;border:1px solid #6b4c29;border-radius:9px;background:#281e13;color:#e6b879}
.employee-termination-note span,.employee-action-warning span,.employee-action-danger span{font-size:10px;line-height:1.5}
.employee-action-danger{border-color:#74383a;background:#2c181a;color:#f49a96}
.employee-action-note,.employee-photo-action>p{margin:12px 0 0;color:#89949d;font-size:10px}
.mobile-reopen-shift{width:100%;margin-top:7px;border-color:#684a2b;color:#e9b16f}
.mobile-brigade-approved{display:grid;gap:3px;padding:8px 10px;border:1px solid #35414a;border-radius:8px;background:#10161a}.mobile-brigade-approved span{color:#808c95;font-size:8px}.mobile-brigade-approved strong{font-size:10px}

/* HR dashboard */
.hr-summary{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:11px;margin-bottom:13px}
.hr-summary article{display:grid;gap:2px;min-height:96px;padding:15px;border:1px solid #29333b;border-radius:10px;background:linear-gradient(145deg,#161c21,#101419)}
.hr-summary span{color:#9da7af;font-size:11px}.hr-summary strong{font-size:28px}.hr-summary small{color:#727f88;font-size:9px}
.hr-summary article:first-child strong{color:#ff7773}.hr-summary article:nth-child(2) strong{color:#e8b463}.hr-summary article:last-child strong{color:#66db91}
.hr-dashboard-panel{display:grid;gap:13px}
.hr-dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.hr-dashboard-head h3{margin:0 0 4px}.hr-dashboard-head p{margin:0;color:#8f9aa2;font-size:10px}
.hr-filter-tabs{display:flex;gap:4px;padding:4px;border:1px solid #303a42;border-radius:8px;background:#0d1216}
.hr-filter-tabs button{height:32px;padding:0 11px;border:0;border-radius:6px;background:transparent;color:#8e99a1;font-size:10px;font-weight:750;cursor:pointer}
.hr-filter-tabs button[aria-selected=true]{background:#2a333a;color:#fff}
.hr-notification-list{display:grid;gap:8px}
.hr-notification-card{display:grid;gap:7px;padding:13px 14px;border:1px solid #303a42;border-left:3px solid #596771;border-radius:9px;background:#10161a}
.hr-notification-card.unread{border-left-color:#e84a46;background:linear-gradient(90deg,#241719,#11171b 24%)}
.hr-notification-card.handled{opacity:.68;border-left-color:#459061}
.hr-notification-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.hr-notification-kind{color:#e2716d;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.hr-notification-state{padding:2px 7px;border-radius:999px;background:#28323a;color:#aab4bb;font-size:8px;font-weight:800}
.hr-notification-card h3{margin:0;font-size:14px}.hr-notification-card p{margin:0;color:#afb7bd;font-size:11px;line-height:1.45}.hr-notification-card>small{color:#737f88;font-size:8px}
.hr-notification-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:3px}.hr-notification-actions button{height:34px;padding:0 12px;font-size:9px}

/* Custom field and user administration */
.admin-user-section-actions{display:flex;align-items:center;gap:10px}.admin-user-section-actions>span{color:#8f9aa3;font-size:10px}.admin-user-section-actions button{height:37px}
.admin-employee-field-grid{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:10px}
.admin-employee-field-card{display:grid;align-content:start;gap:7px;min-height:190px;padding:13px;border:1px solid #303a42;border-radius:10px;background:linear-gradient(145deg,#151b20,#101419)}
.admin-employee-field-card.inactive{opacity:.62}.admin-employee-field-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-field-type{padding:3px 7px;border-radius:999px;background:#1b3041;color:#85bce2;font-size:8px;font-weight:850}.admin-field-order{color:#79858d;font-size:8px}.admin-employee-field-card h4{margin:2px 0 0;font-size:14px}.admin-employee-field-card h4 b{color:#ef6661}.admin-employee-field-card code{color:#86939c;font-size:9px}.admin-employee-field-card p{margin:0;color:#89959d;font-size:9px;line-height:1.4}.admin-field-audience{display:flex;gap:4px;flex-wrap:wrap}.admin-field-audience span{padding:3px 6px;border-radius:5px;background:#252e35;color:#b0b8be;font-size:8px}.admin-employee-field-card>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;height:auto;margin-top:auto;padding:9px 0 0;border-top:1px solid #29333b;color:inherit;font-size:inherit}.admin-employee-field-card>footer>span{font-size:8px;font-weight:800}.admin-employee-field-card>footer .enabled{color:#6dde97}.admin-employee-field-card>footer .disabled{color:#ad8e95}.admin-employee-field-card>footer button{height:32px;font-size:9px}
.modal-card.admin-employee-field-modal{width:min(720px,calc(100vw - 28px))}.admin-field-flags,.admin-field-audience-picker,.admin-primary-crew{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0;padding:11px;border:1px solid #303a42;border-radius:9px}.admin-field-flags legend,.admin-field-audience-picker legend,.admin-primary-crew legend{padding:0 5px;color:#98a3ab;font-size:10px;font-weight:800}.admin-field-flags label,.admin-field-audience-picker label{display:flex;align-items:flex-start;gap:8px;padding:8px;border-radius:7px;background:#151b20;cursor:pointer}.admin-field-flags input,.admin-field-audience-picker input{flex:0 0 auto;width:17px;height:17px;margin:0;accent-color:var(--red)}.admin-field-flags label>span{display:grid}.admin-field-flags b{font-size:10px}.admin-field-flags small{color:#7d8992;font-size:8px}.admin-field-audience-picker span{font-size:9px}
.modal-card.admin-user-create-modal{width:min(820px,calc(100vw - 28px));max-height:min(88vh,900px);overflow:auto}
.admin-primary-crew{margin-top:12px}.admin-primary-crew label{display:grid;gap:4px;color:#9aa5ad;font-size:9px}.admin-primary-crew label small{color:#74808a;font-size:8px}
.admin-user-card-actions,.employee-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.admin-user-card-actions .admin-user-edit{position:static;white-space:nowrap}.admin-access-secondary{display:block;margin-top:4px;color:#75818a!important;font-size:7px!important}.admin-user-hub,.admin-password-reset{display:grid;gap:13px}.admin-user-hub-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:7px}.admin-user-hub-actions button{min-height:40px;font-size:9px}.admin-user-hub>p,.admin-password-reset>p{margin:0;padding:9px 11px;border:1px solid #303a42;border-radius:8px;background:#0f1519;color:#87939b;font-size:9px;line-height:1.45}.employee-row-actions button{height:31px;padding:0 9px;font-size:8px}
.admin-invites-panel{display:grid;gap:13px}.admin-invite-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.admin-invite-card{display:grid;gap:8px;padding:13px;border:1px solid #303a42;border-radius:10px;background:linear-gradient(145deg,#151b20,#101419)}.admin-invite-card.inactive{opacity:.58}.admin-invite-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-invite-card header span{padding:3px 8px;border-radius:999px;background:#173322;color:#77e49d;font-size:10px;font-weight:900}.admin-invite-card.inactive header span{background:#302327;color:#bd9ca4}.admin-invite-card header small{color:#96a1a9;font-size:11px;font-weight:800;letter-spacing:.06em}.admin-invite-card h4{margin:0}.admin-invite-card p{margin:0;color:#aeb8bf}.admin-invite-card div{display:flex;gap:7px;flex-wrap:wrap;color:#86929b}.admin-invite-card button{justify-self:start}
.modal-card.admin-invite-modal{width:min(720px,calc(100vw - 28px))}

@media(max-width:900px){
  .admin-employee-field-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}
}

@media(max-width:620px){
  .employee-editor-grid,.employee-custom-grid,.admin-field-flags,.admin-field-audience-picker,.admin-primary-crew{grid-template-columns:1fr}
  .employee-editor-grid .span-2{grid-column:auto}
  .employee-editor-heading,.employee-card-status,.hr-dashboard-head{align-items:stretch;flex-direction:column}
  .modal-card.employee-card-modal,.modal-card.admin-user-create-modal,.modal-card.admin-employee-field-modal{padding:18px}
  .admin-employee-field-grid{grid-template-columns:1fr}
  .hr-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .hr-summary article{min-height:76px;padding:10px}.hr-summary strong{font-size:22px}.hr-summary small{display:none}
  .hr-filter-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.hr-filter-tabs button{padding:0 5px}
  .hr-notification-actions{display:grid;grid-template-columns:1fr}.hr-notification-actions button{width:100%}
  .admin-user-section-actions{align-items:stretch;flex-direction:column;width:100%}.admin-user-section-actions button{width:100%}
  .admin-user-hub-actions{grid-template-columns:1fr}
}

@media(max-width:520px){
  .mobile-employee-card{grid-template-columns:minmax(0,1fr) 136px;gap:6px 8px;min-height:98px;padding:8px;border-radius:10px}
  .mobile-employee-card>header{padding-right:0}
  .mobile-employee-card .timesheet-person .employee-avatar{width:40px;height:40px;flex-basis:40px}
  .mobile-employee-card .employee-surname{font-size:16px}
  .mobile-employee-card .employee-details{font-size:11px}
  .mobile-status-controls{grid-template-columns:repeat(3,40px);grid-auto-rows:34px;gap:5px}
  .mobile-status-controls button,.mobile-status-controls .mobile-overtime-toggle,.mobile-status-controls .employee-actions-trigger,.mobile-status-controls .mobile-actions-inline{min-height:34px;height:34px;border-radius:8px}
  .mobile-status-controls button b{font-size:18px}.mobile-status-controls .mobile-status-check b{font-size:24px}
  .mobile-employee-card .employee-actions-trigger{position:absolute;top:7px;right:7px;width:25px;height:25px;min-width:25px;border-color:#3c4851;background:#151b20;color:#dce2e6;font-size:17px}
  .mobile-status-controls .employee-actions-trigger{position:static;width:auto;height:34px;min-width:0;font-size:14px}
  .employee-action-popover{width:min(260px,calc(100vw - 16px))}
  .employee-directory th:nth-child(2),.employee-directory td:nth-child(2),.employee-directory th:nth-child(3),.employee-directory td:nth-child(3){display:none}
}

/* Читаемое основное имя в табелях; вторичные сведения остаются компактными. */
.employee-surname{font-size:15px;font-weight:900;line-height:1.15}
.admin-timesheet .admin-employee-name .employee-surname{font-size:14px;font-weight:900;line-height:1.15}
.mobile-employee-card .employee-surname{font-size:16px;font-weight:900;line-height:1.15}
@media(max-width:520px){.mobile-employee-card .employee-surname{font-size:15px}}

/* Personal appearance switch and full-site inverted light theme. */
.personal-appearance-panel{gap:12px}.personal-theme-control{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:70px;padding:13px 15px;border:1px solid #34414a;border-radius:13px;background:linear-gradient(135deg,#151d23,#0d1317);cursor:pointer}.personal-theme-control>span{display:grid;gap:4px}.personal-theme-control b{font-size:16px}.personal-theme-control small{color:#909da6;font-size:12px}.personal-theme-control input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.personal-theme-control>i{position:relative;flex:0 0 auto;width:56px;height:30px;border:1px solid #59656e;border-radius:999px;background:#252e35;box-shadow:inset 0 2px 6px #0005;transition:.18s}.personal-theme-control>i:after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#dce2e6;box-shadow:0 2px 5px #0007;transition:.18s}.personal-theme-control input:checked+i{border-color:#ef4a46;background:#e53935}.personal-theme-control input:checked+i:after{transform:translateX(26px);background:#fff}.personal-theme-control input:focus-visible+i{outline:3px solid #e5393544;outline-offset:3px}.personal-theme-note{margin:0;color:#84919a;font-size:12px;line-height:1.5}

html[data-theme="light"]{--red:#e53935;--red2:#bf1f22;background:#eef1f3;color-scheme:light}
html[data-theme="light"] body{background:#eef1f3}
html[data-theme="light"] body:before{background:none}
html[data-theme="light"] body>*:not(script){filter:invert(1) hue-rotate(180deg)}
html[data-theme="light"] body>*:not(script) :where(img,video,canvas,iframe,[style*="background-image"]){filter:invert(1) hue-rotate(180deg)}
/* Brand is intentionally transformed: white becomes black, while red stays vivid. */
html[data-theme="light"] :where(.brand img,.login-logo,.splash img){content:url("zeus-logo-light-v2.png");filter:invert(1) hue-rotate(180deg)!important}
html[data-theme="light"] :where(.wordmark,.login-card h1,.preflight-card h1,.brand strong){filter:invert(1) hue-rotate(180deg);color:#0b0b0b}
html[data-theme="light"] :where(.wordmark span,.login-card h1 span,.preflight-card h1 span,.brand span){filter:none;color:#e53935}
html[data-theme="light"] :where(
  .primary,
  .sidebar nav button.active,
  .payroll-tabs button[aria-selected="true"],
  .personal-tabs button[aria-selected="true"],
  .approval-filter-tabs button[aria-selected="true"],
  .mobile-app-nav button.active,
  .timesheet-photo-tabs button.active,
  .site-resource-tabs button.active,
  .public-guest-sidebar nav button.active,
  .messenger-new,
  .messenger-send,
  .pnr-topic-send,
  .notification i,
  .check input:checked+i,
  .warehouse-ms-check input:checked+i
){filter:invert(1) hue-rotate(180deg);border-color:#e53935!important;background:#e53935!important;color:#fff!important;box-shadow:0 7px 18px rgba(229,57,53,.24)}
/* These grids are already deliberately light in the standard theme. */
html[data-theme="light"] :where(.timesheet-wrap,.admin-timesheet-wrap,.database-timesheet-horizontal,.personal-calendar-month){filter:invert(1) hue-rotate(180deg)}
html[data-theme="light"] :where(.timesheet-wrap,.admin-timesheet-wrap,.database-timesheet-horizontal,.personal-calendar-month) :where(img,video,canvas,iframe,[style*="background-image"]){filter:none}
html[data-theme="light"] .timesheet thead th,
html[data-theme="light"] .timesheet tfoot td{background:#e2e7ea;color:#27323a}
html[data-theme="light"] .timesheet thead .num,
html[data-theme="light"] .timesheet thead .person,
html[data-theme="light"] .timesheet thead .position{background:#dce2e6;color:#27323a}
@media(max-width:620px){.personal-theme-control{min-height:64px;padding:11px 12px}.personal-theme-control b{font-size:14px}.personal-theme-note{font-size:11px}}

/* Personal employee cabinet */
.personal-hero{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:14px;padding:18px;border:1px solid #303b43;border-radius:18px;background:linear-gradient(135deg,#151d23,#0f1418)}
.personal-photo{position:relative;display:grid;place-items:center;width:176px;height:176px;overflow:hidden;border-radius:24px;background:#dce3e8;color:#34414b}
.personal-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.personal-photo b{font-size:42px;font-weight:950}
.personal-hero small{color:#91a0aa;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.personal-hero h2{margin:4px 0;font-size:30px;line-height:1.1}.personal-hero p{margin:0;color:#aeb8bf;font-size:17px}.personal-hero>.employee-status{justify-self:end}
.personal-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.personal-tabs button{height:42px;padding:0 18px;border:1px solid #34404a;border-radius:12px;background:#12181d;color:#d8e0e5;font-weight:850}.personal-tabs button[aria-selected=true]{background:#e63232;border-color:#ff5555;color:white}
.personal-notification-list{display:grid;gap:10px}.personal-notification-card{display:grid;gap:9px;padding:14px;border:1px solid #303b43;border-left:4px solid #52616b;border-radius:12px;background:#0f1519}.personal-notification-card.unread{border-left-color:#ef3b3d;background:linear-gradient(90deg,rgba(239,59,61,.12),#0f1519 25%)}.personal-notification-card.read{border-left-color:#d2a33a}.personal-notification-card.handled{opacity:.7;border-left-color:#49b978}.personal-notification-card header,.personal-notification-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.personal-notification-card header span{font-size:11px;font-weight:900;color:#ef7778;text-transform:uppercase;letter-spacing:.05em}.personal-notification-card header small,.personal-notification-card footer>small{color:#7f8a92}.personal-notification-card h3,.personal-notification-card p{margin:0}.personal-notification-card h3{font-size:16px}.personal-notification-card p{color:#aeb8bf;line-height:1.45}.personal-notification-card footer div{display:flex;gap:8px}.personal-notification-card button{min-height:36px;padding:0 13px}
.documentation-act-highlight{outline:2px solid #58a8e8;box-shadow:0 0 0 6px rgba(88,168,232,.12),0 12px 30px rgba(0,0,0,.25);animation:documentation-highlight 1.4s ease-out}@keyframes documentation-highlight{0%{transform:translateY(-4px);filter:brightness(1.35)}100%{transform:none;filter:none}}
.payroll-card-payments-button{height:50px;min-height:50px;padding:0 16px!important;border-color:#257950!important;background:linear-gradient(180deg,#173b2c,#11291f)!important;color:#8cf0b7!important;font-weight:900;white-space:nowrap}.payroll-action-slot:has(.payroll-card-payments-button){flex-basis:390px;min-width:370px}.payroll-card-import-dialog{width:min(1040px,calc(100vw - 36px));max-height:calc(100vh - 36px);padding:0;border:1px solid #37434c;border-radius:18px;background:#0d1216;color:#eef3f5;box-shadow:0 28px 90px rgba(0,0,0,.7)}.payroll-card-import-dialog::backdrop{background:rgba(0,0,0,.76);backdrop-filter:blur(4px)}.payroll-card-import-dialog form{display:grid;grid-template-rows:auto auto minmax(190px,1fr) auto;max-height:calc(100vh - 38px)}.payroll-card-import-dialog header,.payroll-card-import-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #29333a}.payroll-card-import-dialog header h3{margin:3px 0;font-size:24px}.payroll-card-import-dialog header p,.payroll-card-import-dialog header small{margin:0;color:#8f9aa2}.payroll-card-import-dialog footer{justify-content:flex-end;border-top:1px solid #29333a;border-bottom:0}.payroll-card-import-actions{display:grid;grid-template-columns:auto minmax(280px,1fr);gap:12px;padding:16px 20px}.payroll-card-file{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 13px;border:1px dashed #44525c;border-radius:11px;background:#12191e;cursor:pointer}.payroll-card-file input{position:absolute;opacity:0;pointer-events:none}.payroll-card-file span{font-weight:900;color:#82dbaa}.payroll-card-file small{margin-left:auto;color:#87939b}.payroll-card-import-dialog [data-card-preview]{min-height:0;overflow:auto;padding:0 20px 18px}.payroll-card-import-empty,.payroll-card-preview-summary{display:grid;gap:6px;padding:18px;border:1px solid #303b43;border-radius:12px;background:#11171b}.payroll-card-import-empty p,.payroll-card-preview-summary span{margin:0;color:#909ca4}.payroll-card-preview-summary.ready{border-color:#286a48;background:#102219}.payroll-card-preview-summary.has-errors{border-color:#81383b;background:#261416}.payroll-card-preview-table{margin-top:10px;overflow:auto;border:1px solid #303b43;border-radius:11px}.payroll-card-preview-table table{width:100%;border-collapse:collapse;white-space:nowrap}.payroll-card-preview-table th,.payroll-card-preview-table td{padding:10px 12px;border-bottom:1px solid #263139;text-align:left}.payroll-card-preview-table th{position:sticky;top:0;background:#182127;color:#aeb9c0;font-size:11px}.payroll-card-preview-table tr.changed td:last-child{color:#7ee0a8;font-weight:900}.payroll-card-preview-table tr.error{background:#251416;color:#ff9a9a}.payroll-card-preview-table tr.muted{opacity:.6}
@media(max-width:900px){.payroll-action-slot:has(.payroll-card-payments-button){min-width:0;flex-basis:auto}.payroll-card-import-actions{grid-template-columns:1fr}.payroll-card-import-dialog header{align-items:flex-start}.personal-notification-card footer{align-items:flex-start;flex-direction:column}.personal-notification-card footer div{width:100%;flex-wrap:wrap}}
.admin-total-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:9px;padding:10px 12px;margin-bottom:10px}.admin-total-toolbar label{display:grid;flex:1 1 155px;gap:4px;min-width:145px;max-width:250px}.admin-total-toolbar label:first-child{flex-basis:210px}.admin-total-toolbar .admin-total-search{flex-basis:220px}.admin-total-toolbar label>span:first-child{color:#89959d;font-size:9px;font-weight:900}.admin-total-toolbar input,.admin-total-toolbar select{height:39px}.admin-total-toolbar .period-control{display:grid;grid-template-columns:38px minmax(105px,1fr) 38px;gap:5px}.admin-total-toolbar .period-control button{height:39px;min-width:0;padding:0}.admin-total-tabs{display:flex;flex:0 0 auto;gap:4px;margin-left:auto;padding:4px;border:1px solid #303b43;border-radius:11px;background:#0c1115}.admin-total-tabs button{height:36px;padding:0 19px;border:0;border-radius:8px;background:transparent;color:#a3adb4;font-weight:900}.admin-total-tabs button[aria-selected=true]{background:#25313a;color:#fff;box-shadow:inset 0 -3px #ef393b}.admin-total-note{display:flex;align-items:center;gap:14px;padding:12px 16px;margin-bottom:10px;border:1px solid #275879;border-left:4px solid #4ca8e8;border-radius:11px;background:#10202b}.admin-total-note b{white-space:nowrap}.admin-total-note span{color:#9db0bc;font-size:12px}.admin-total-table .admin-total-overridden{position:relative;background-color:rgba(34,117,172,.14)}.admin-total-table .admin-total-crew-day{background:#0e151af5}.admin-total-mark{position:absolute;right:1px;top:1px;width:0;height:0;border-top:9px solid #51b4f2;border-left:9px solid transparent}.admin-total-payroll{display:grid;gap:10px}.admin-total-payroll .payroll-row-add-advance{display:none}.admin-total-payroll .payroll-summary-drawer{position:static;margin-bottom:2px}.admin-total-payroll .payroll-summary-content{display:block!important}.admin-total-payroll .data-card{margin-top:0}.admin-total-payroll .admin-site-expenses{margin-top:2px}@media(max-width:900px){.admin-total-toolbar{align-items:stretch;flex-direction:column}.admin-total-toolbar label{max-width:none;min-width:0}.admin-total-tabs{width:100%;margin-left:0}.admin-total-tabs button{flex:1}.admin-total-note{align-items:flex-start;flex-direction:column;gap:5px}}
.personal-overview-grid{display:grid;gap:14px}.personal-panel{display:grid;gap:14px;padding:16px;border:1px solid #303b43;border-radius:16px;background:#11171b}.personal-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.personal-section-head h2{margin:0 0 4px;font-size:22px}.personal-section-head p{margin:0;color:#97a3ab;font-size:15px;line-height:1.45}.personal-section-head>span{color:#75d99a;font-weight:900}
.personal-action-grid,.personal-doc-actions,.personal-doc-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.personal-action-grid button,.personal-doc-actions button{min-height:48px;font-size:15px}.personal-action-grid .done{background:#20a35a;border-color:#37c573}.personal-doc-summary article{padding:14px;border:1px solid #303b43;border-radius:12px;background:#151c21}.personal-doc-summary b{display:block;font-size:28px}.personal-doc-summary span{color:#9ba6ad;font-size:14px}
.personal-calendar-list{display:grid;gap:12px}.personal-calendar-month{overflow:hidden;border:1px solid #344049;border-radius:14px;background:#eef1f3;color:#182027}.personal-calendar-month>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#151c21;color:#f1f5f7}.personal-calendar-month h3{margin:2px 0 0;font-size:20px}.personal-calendar-month header span{color:#8e9aa3;font-size:12px}.personal-calendar-month header strong{font-size:22px}.personal-calendar-month header small{font-size:13px;color:#9ba6ad}.personal-calendar-weekdays,.personal-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px}.personal-calendar-weekdays{background:#d5dce1;color:#53606a;font-size:12px;font-weight:900;text-align:center}.personal-calendar-weekdays span{padding:8px 2px}.personal-calendar-grid{background:#cfd7dc}.personal-calendar-day{position:relative;display:grid;align-content:start;gap:3px;min-height:78px;padding:8px;background:#f7f9fa}.personal-calendar-day.empty{background:#edf1f3}.personal-calendar-day b{font-size:13px;color:#66727c}.personal-calendar-day i{font-style:normal;font-size:24px;font-weight:950;color:#81909a}.personal-calendar-day.worked i{color:#086344}.personal-calendar-day small{font-size:12px;font-weight:850;color:#26323a}.personal-calendar-day em{position:absolute;right:6px;bottom:5px;padding:2px 6px;border-radius:999px;background:#e8fff0;color:#07864e;font-size:11px;font-style:normal;font-weight:900}.personal-calendar-day em.negative{background:#fff0e8;color:#b6531e}.personal-calendar-day.calendar-red-day{background:#f2e1e3}.personal-calendar-day.calendar-saturday{background:#f3e8d8}
@media(max-width:760px){.personal-hero{grid-template-columns:72px minmax(0,1fr);gap:12px}.personal-photo{width:72px;height:72px;border-radius:16px}.personal-hero h2{font-size:23px}.personal-hero p{font-size:15px}.personal-hero>.employee-status{grid-column:1/-1;justify-self:start}.personal-action-grid,.personal-doc-actions,.personal-doc-summary{grid-template-columns:1fr}.personal-calendar-day{min-height:66px;padding:6px}.personal-calendar-day i{font-size:20px}.personal-calendar-day small{font-size:10px}}

/* Scoped employee database */
.database-layout{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);align-items:start;gap:13px;min-height:calc(100vh - 210px)}
.database-directory,.database-detail{min-width:0;border:1px solid #2d3740;border-radius:11px;background:#101519}
.database-directory{position:sticky;top:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:12px}
.database-directory>.organization-scope-filter{grid-column:1/-1}
.database-directory>label{display:grid;gap:5px;color:#9da7af;font-size:9px;font-weight:750}
.database-directory>label input,.database-directory>label select{height:40px;border-radius:9px;background:#0b1014}
.database-directory-count{display:grid;place-items:center;align-content:center;min-width:54px;padding:5px;border:1px solid #313c44;border-radius:9px;background:#171d22}
.database-directory-count strong{font-size:17px}.database-directory-count span{color:#7d8991;font-size:8px}
.database-inactive-toggle{grid-column:1/-1;height:32px;font-size:9px}.database-inactive-toggle.active{border-color:#6b4b21;background:#22190d;color:#f4c36e}
.database-person-list{grid-column:1/-1;display:grid;gap:5px;max-height:calc(100vh - 300px);overflow:auto;overscroll-behavior:contain;padding-right:2px}
.database-person{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px;border:1px solid #2a343c;border-radius:9px;background:#0d1216;color:#e5e9eb;text-align:left;cursor:pointer}
.database-person:hover,.database-person.active{border-color:#515e68;background:#1a2228}.database-person.active{box-shadow:inset 3px 0 #e54844}
.database-person .employee-avatar{width:38px;height:38px;flex-basis:38px}.database-person>span{display:grid;min-width:0}.database-person strong,.database-person small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.database-person strong{font-size:11px}.database-person small{margin-top:2px;color:#85919a;font-size:8px}.database-person .employee-status{min-height:20px;padding:1px 6px;font-size:7px;font-style:normal}
.database-detail{min-height:520px;padding:13px}.database-welcome{display:grid;place-items:center;align-content:center;gap:7px;min-height:490px;padding:30px;color:#839099;text-align:center}.database-welcome>span{display:grid;place-items:center;width:62px;height:62px;border:1px solid #39454e;border-radius:50%;background:#171e23;color:#c6cdd2;font-size:30px}.database-welcome h3{margin:5px 0 0;color:#e0e5e7}.database-welcome p{max-width:420px;margin:0;font-size:10px;line-height:1.5}
.database-workspace{display:grid;gap:12px}.database-workspace-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;border:1px solid #303a42;border-radius:9px;background:#0b1014}.database-workspace-tabs button{height:36px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:#8f9aa3;font-size:9px;font-weight:800;cursor:pointer}.database-workspace-tabs button[aria-selected=true]{background:#29333a;color:#fff}
.database-card-panel{display:grid;gap:12px}.database-employee-head{display:grid;grid-template-columns:176px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px;border:1px solid #303b43;border-radius:10px;background:linear-gradient(145deg,#171e23,#101519)}.database-photo{position:relative;display:grid;place-items:center;width:176px;height:176px;overflow:hidden;border-radius:18px;background:#dce3e8;color:#35424c}.database-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.database-photo b{font-size:38px}.database-employee-head h3{margin:8px 0 5px;font-size:28px;line-height:1.1}.database-employee-head p{margin:0;color:#919ca4;font-size:14px}.database-employee-head>button{height:38px;font-size:9px}
.database-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.database-facts>div{display:grid;gap:5px;padding:12px;border:1px solid #2d3740;border-radius:8px;background:#0d1216}.database-facts span,.database-custom-fields small{color:#7f8b94;font-size:9px}.database-facts strong,.database-custom-fields strong{overflow-wrap:anywhere;font-size:13px}
.database-custom-fields{display:grid;gap:8px;padding:12px;border:1px solid #2d3740;border-radius:9px;background:#0e1317}.database-custom-fields h4{margin:0;font-size:12px}.database-custom-fields>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.database-custom-fields>div>span{display:grid;gap:3px;padding:8px;border-radius:7px;background:#171d22}.database-custom-fields p{grid-column:1/-1;margin:0;color:#7f8b94;font-size:9px}
.database-timesheet-section,.database-documents-section{display:grid;gap:10px}.database-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.database-section-heading h3{margin:0 0 3px;font-size:14px}.database-section-heading p{margin:0;color:#7f8b94;font-size:9px;line-height:1.4}.database-section-heading>span{color:#75d99a;font-size:8px;font-weight:800;white-space:nowrap}.database-section-heading>button{height:36px;font-size:9px}
.database-timesheet-vertical{display:grid;gap:9px;max-height:540px;overflow-y:auto;overscroll-behavior:contain;padding-right:3px}.database-timesheet-month{overflow:hidden;border:1px solid #344049;border-radius:9px;background:#11171b}.database-timesheet-month>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;border-bottom:1px solid #303a42}.database-timesheet-month>header div{display:flex;align-items:baseline;gap:7px}.database-timesheet-month>header span{color:#78858e;font-size:8px}.database-timesheet-month>header h4{margin:0;font-size:12px}.database-timesheet-month>header>strong{font-size:13px}.database-timesheet-month>header>strong small{color:#7f8a93;font-size:8px;font-weight:600}.database-timesheet-horizontal{overflow-x:auto;background:#eef1f3}.database-timesheet-table{min-width:max-content}.database-timesheet-table th,.database-timesheet-table td{min-width:34px}.database-timesheet-table th:last-child,.database-timesheet-table td:last-child{position:sticky;right:0;z-index:4;min-width:54px;background:#dfe4e7}.database-timesheet-table td:last-child{background:#e4e9ec}
.database-document-list{display:grid;gap:8px}.database-document{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border:1px solid #303a42;border-radius:9px;background:#0e1317}.database-document-preview{position:relative;display:grid;place-items:center;width:74px;height:58px;overflow:hidden;border-radius:9px;background:#172028;color:#9bc8e3}.database-document-preview img{width:100%;height:100%;object-fit:cover}.database-document-preview b{font-size:13px}.database-document-preview small{margin:0;color:#7f9caf;font-size:7px;text-transform:uppercase}.database-document-preview.pdf{background:#261d1d;color:#ffbbb7}.database-document-preview.image{background:#0a0f12}.database-document-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#24313a;color:#9bc8e3;font-size:17px}.database-document>div:nth-child(2){display:grid;min-width:0}.database-document h4{overflow:hidden;margin:0;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.database-document p{margin:2px 0 0;color:#939da5;font-size:8px}.database-document small{margin-top:2px;color:#6f7b84;font-size:7px}.database-document>div:last-child{display:flex;align-items:center;gap:5px}.database-document button{height:31px;padding:0 9px;font-size:8px}.danger-link{border:1px solid #673b3d;border-radius:6px;background:#29191b;color:#ef7b77;cursor:pointer}.database-document-editor{display:grid;gap:12px}.database-document-editor>p{margin:0;color:#8d99a1;font-size:10px}.document-upload-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.document-upload-head div{display:grid;gap:2px}.document-upload-head span{color:#8d99a1;font-size:10px}.document-upload-head strong{font-size:18px}.document-dropzone{display:grid;place-items:center;gap:7px;min-height:176px;padding:18px;border:1px dashed #56636d;border-radius:12px;background:#0d1216;color:#d9e0e5;text-align:center;cursor:pointer;transition:border-color .18s ease,background .18s ease}.document-dropzone.dragover{border-color:#79d49b;background:#132018}.document-dropzone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.document-dropzone-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#24313a;color:#9bc8e3;font-size:22px}.document-dropzone b{font-size:16px}.document-dropzone small{max-width:320px;color:#88949d;font-size:11px}.document-upload-preview{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border:1px solid #303a42;border-radius:10px;background:#10161a}.document-upload-preview img,.document-upload-preview>span{display:grid;place-items:center;width:70px;height:56px;border-radius:9px;background:#1e2931;color:#9bc8e3;object-fit:cover}.document-upload-preview>span.pdf{background:#2b1c1d;color:#ffaaa5}.document-upload-preview strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.document-upload-preview small{display:block;margin-top:2px;color:#7f8b94;font-size:9px}

@media(max-width:980px){
  .database-layout{grid-template-columns:minmax(230px,280px) minmax(0,1fr)}
  .database-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .database-custom-fields>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .database-person{grid-template-columns:34px minmax(0,1fr)}.database-person .employee-status{display:none}.database-person .employee-avatar{width:34px;height:34px;flex-basis:34px}
}
@media(max-width:760px){
  .database-layout{grid-template-columns:1fr;min-height:0}.database-directory{position:static}.database-person-list{max-height:245px}.database-detail{min-height:380px;padding:9px}.database-welcome{min-height:350px}.database-workspace-tabs{position:sticky;top:0;z-index:8;grid-template-columns:repeat(2,minmax(0,1fr))}.database-employee-head{grid-template-columns:58px minmax(0,1fr)}.database-photo{width:58px;height:58px}.database-employee-head>button{grid-column:1/-1;width:100%}.database-timesheet-vertical{max-height:430px}
}
@media(max-width:520px){
  .database-layout{gap:8px}.database-directory{padding:9px}.database-person-list{max-height:210px}.database-detail{padding:8px}.database-workspace{gap:9px}.database-workspace-tabs button{height:34px;padding:0 4px;font-size:8px}.database-employee-head{gap:9px;padding:10px}.database-employee-head h3{font-size:16px}.database-facts,.database-custom-fields>div{grid-template-columns:1fr 1fr}.database-facts>div{padding:8px}.database-timesheet-vertical{max-height:390px}.database-document{grid-template-columns:58px minmax(0,1fr);gap:8px;padding:8px}.database-document-preview{width:58px;height:48px}.database-document-icon{width:32px;height:32px}.database-document>div:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.database-document button{width:100%}.database-section-heading{align-items:stretch;flex-direction:column}.database-section-heading>button{width:100%}.document-upload-preview{grid-template-columns:56px minmax(0,1fr)}.document-upload-preview button{grid-column:1/-1}.employee-personal-switch{grid-template-columns:1fr}
}

/* Production calendar: calm column tint that leaves status marks readable. */
.calendar-red-day{background-image:linear-gradient(#d867701c,#d867701c)!important;box-shadow:inset 2px 0 #b84b536b,inset -1px 0 #b84b5326}
.calendar-saturday{background-image:linear-gradient(#d58a3519,#d58a3519)!important;box-shadow:inset 2px 0 #bb772d66,inset -1px 0 #bb772d22}
.calendar-shortened{background-image:linear-gradient(#bda43b18,#bda43b18)!important;box-shadow:inset 0 -3px #c7ac4670}
.timesheet th.calendar-red-day,.admin-timesheet th.calendar-red-day,.database-timesheet-table th.calendar-red-day{background-color:#e9d9dc!important;color:#793a40}
.timesheet th.calendar-saturday,.admin-timesheet th.calendar-saturday,.database-timesheet-table th.calendar-saturday{background-color:#eadfce!important;color:#765124}
.timesheet th.calendar-shortened,.admin-timesheet th.calendar-shortened,.database-timesheet-table th.calendar-shortened{background-color:#e8e2ca!important;color:#6e6229}
.timesheet td.calendar-red-day .cell-value,.timesheet td.calendar-saturday .cell-value,.admin-timesheet td.calendar-red-day>span,.admin-timesheet td.calendar-saturday>span{position:relative;z-index:1}
.mobile-journal-head.calendar-red-day{border-color:#6a3b40;background-image:linear-gradient(135deg,#2b191c,#11171b 68%)!important;box-shadow:inset 4px 0 #b84b53}
.mobile-journal-head.calendar-saturday{border-color:#654825;background-image:linear-gradient(135deg,#291f14,#11171b 68%)!important;box-shadow:inset 4px 0 #b97930}
.mobile-journal-head.calendar-shortened{border-color:#625729;box-shadow:inset 0 -4px #bda43b}
.mobile-calendar-chip{display:inline-flex;margin:6px 0 0 5px;padding:3px 7px;border:1px solid #855057;border-radius:999px;background:#351f23;color:#f0a4a8;font-size:8px;font-weight:800;vertical-align:middle}
.production-calendar-legend{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin:8px 0;color:#849099;font-size:9px}.production-calendar-legend span{display:inline-flex;align-items:center;gap:5px}.production-calendar-legend i{display:inline-block;width:18px;height:12px;border:1px solid #44505a;border-radius:3px;box-shadow:none}.production-calendar-legend i.calendar-red-day{background-color:#3b2327}.production-calendar-legend i.calendar-saturday{background-color:#382a19}.production-calendar-legend i.calendar-shortened{background-color:#35321e}.production-calendar-legend.compact{justify-content:flex-start;margin:2px 0 5px;font-size:8px}
@media(max-width:620px){.production-calendar-legend{justify-content:flex-start;gap:7px;font-size:8px}.production-calendar-legend i{width:14px;height:10px}}

/* Readability pass for employee names in the web interface. */
html,body,button,input,select{font-family:"Segoe UI Variable","Segoe UI",Tahoma,Arial,sans-serif}
.employee-surname{
  color:#101820;
  font-size:16px;
  font-weight:950;
  line-height:1.12;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.employee-details{
  margin-top:4px;
  color:#4c5963;
  font-size:12px;
  font-weight:650;
  line-height:1.22;
  letter-spacing:0;
}
.timesheet tbody td{height:54px}
.timesheet .person{width:285px;min-width:285px}
.timesheet-person{align-items:center;gap:10px}
.timesheet-person .employee-avatar{flex-basis:34px;width:34px;height:34px}
.admin-timesheet th:nth-child(2),.admin-timesheet td:nth-child(2){width:275px;min-width:275px}
.admin-timesheet .admin-employee-name .employee-surname{font-size:15px;font-weight:950;letter-spacing:.035em}
.admin-timesheet .admin-employee-name .employee-details{font-size:11px;font-weight:650;color:#4f5d68}
.employee-list-person .employee-surname,.database-person strong{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.025em}

/* Accessibility/readability pass: larger type across the whole CRM. */
html,body{
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
button,input,select,textarea{font-size:16px}
input,select{height:48px;padding:0 14px}
.primary,.secondary{min-height:48px;height:auto;padding:0 20px;font-size:16px;font-weight:800}
.login-card{width:min(460px,calc(100vw - 28px));padding:44px 42px}.login-card h1{font-size:32px}.login-card>p{font-size:16px}.login-card label span{font-size:15px}output{font-size:14px}
.sidebar{--readable-nav-size:16px}.brand{font-size:20px}.sidebar nav button,.collapse{height:50px;font-size:var(--readable-nav-size);font-weight:700}.sidebar nav button b{font-size:21px}
.topbar{height:78px}.topbar h1{font-size:24px}.topbar p{font-size:14px}.global-search{width:260px}.global-search input{height:42px}.user-menu strong{font-size:16px}.user-menu small{font-size:13px}.avatar{width:40px;height:40px;font-size:15px}
.content{padding:24px 26px 34px}.page-head h2{font-size:26px}.page-head p{font-size:15px}.toolbar label{font-size:14px}.toolbar select,.toolbar input,.toolbar button{height:46px}
.panel{padding:20px}.panel h3{font-size:20px}.metric small,.metric em,.list-row small,.empty,.legend,.save-state,footer{font-size:14px}.metric strong{font-size:34px}.badge{height:29px;padding:0 11px;font-size:14px}
th{font-size:13px}td{font-size:15px}.data-card table th,.data-card table td{padding:14px 15px}
.timesheet{font-size:15px}.timesheet th,.timesheet td{height:52px}.timesheet thead th{height:58px}.timesheet .day{width:46px;min-width:46px;font-size:15px}.timesheet .cell{width:46px;min-width:46px}.timesheet .num{width:48px;min-width:48px}.timesheet .person{left:48px;width:310px;min-width:310px}.timesheet .overtime,.timesheet .total{width:105px;min-width:105px;font-size:16px}.timesheet .cell-value{font-size:23px}.timesheet .cell-value.attendance{font-size:27px}.overtime-hours{min-width:20px;height:18px;font-size:12px;line-height:18px}
.employee-surname{font-size:18px;font-weight:950;line-height:1.18}.employee-details{font-size:14px;font-weight:650;line-height:1.25}.employee-avatar{width:42px;height:42px;flex-basis:42px;font-size:13px}.timesheet-person .employee-avatar{width:40px;height:40px;flex-basis:40px}
.modal-card{width:min(560px,calc(100vw - 28px));padding:30px}.modal-card h2{font-size:24px}.modal-grid label,.modal-grid label small,.admin-editor-note,.auth-note{font-size:14px}.modal-actions{gap:12px}.modal-close{font-size:30px}
.admin-summary article span,.admin-summary article small,.admin-section-head p,.admin-user-section-actions>span,.admin-access-secondary,.admin-editor-warning,.admin-check-option small,.admin-field-audience span,.hr-notification-card p,.database-section-heading p{font-size:13px!important;line-height:1.45}
.admin-summary article strong{font-size:30px}.admin-section-head h3{font-size:21px}.admin-user-card,.admin-crew-manage-card,.admin-invite-card,.employee-directory td,.database-person{font-size:15px}.admin-user-card h4,.admin-crew-manage-card h4,.admin-invite-card h4{font-size:18px}.admin-user-card small,.admin-crew-manage-card p,.admin-crew-counters span,.admin-invite-card p,.admin-invite-card div{font-size:13px}
.admin-timesheet{font-size:13px}.admin-timesheet th{height:42px;font-size:11px}.admin-timesheet td{height:48px;font-size:13px}.admin-timesheet td>span{font-size:18px}.admin-timesheet .admin-employee-name .employee-surname{font-size:17px}.admin-timesheet .admin-employee-name .employee-details{font-size:13px}.admin-timesheet .admin-employee-name .employee-avatar{width:36px;height:36px;flex-basis:36px}
.database-person strong{font-size:16px}.database-person small,.database-facts span,.database-custom-fields small,.database-document p,.database-document small{font-size:13px}.database-employee-head h3{font-size:24px}.database-employee-head p,.database-facts strong,.database-custom-fields strong,.database-document h4{font-size:15px}
.mobile-timesheet-mode{font-size:16px}.mobile-journal-head h2{font-size:24px}.mobile-journal-head p,.mobile-section-head p,.mobile-date-bar>small,.mobile-site-navigator label,.mobile-shift-fields label,.mobile-brigade-field,.mobile-result-field{font-size:14px}.mobile-date-bar>label>span,.mobile-eyebrow,.mobile-edit-state,.mobile-basis-chip,.mobile-site-navigator small,.mobile-photo-block-title div span,.mobile-day-summary small,.mobile-card-site,.mobile-overtime-toggle,.mobile-bulk-overtime-panel>small{font-size:12px}.mobile-employee-card .employee-surname{font-size:18px}.mobile-employee-card .employee-details{font-size:13px}.mobile-status-controls button span{font-size:11px}.mobile-status-controls button b{font-size:19px}.mobile-member-actions button,.mobile-overtime-panel button,.mobile-bulk-overtime-panel>button{font-size:14px}
@media(max-width:760px){
  html,body{font-size:16px}.content{padding:18px 14px 26px}.topbar h1{font-size:21px}.global-search{display:none}
  .page-head h2{font-size:23px}.panel{padding:16px}.cards{grid-template-columns:1fr}
  .modal-card{padding:24px}.employee-surname{font-size:17px}.employee-details{font-size:13px}
}

/* Dense desktop timesheet layout: keep 31 days visible on common wide screens. */
.timesheet-wrap{overflow:auto}
.timesheet{table-layout:fixed;min-width:0;width:max-content}
.timesheet th,.timesheet td{height:58px}
.timesheet thead th{height:58px}
.timesheet .num{width:48px;min-width:48px;max-width:48px}
.timesheet .person{left:48px;width:495px;min-width:495px;max-width:495px}
.timesheet .day,.timesheet .cell{width:35px;min-width:35px;max-width:35px}
.timesheet .overtime,.timesheet .total{width:74px;min-width:74px;max-width:74px;font-size:14px}
.timesheet thead .day{font-size:14px}.timesheet thead .day small{font-size:11px}
.timesheet .cell-value{font-size:22px}.timesheet .cell-value.attendance{font-size:26px}
.timesheet-person{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) 30px;align-items:center;gap:8px;min-height:50px;padding-right:0}
.timesheet-person .employee-avatar{width:42px;height:42px;flex-basis:42px;grid-row:1/3}
.timesheet-person .employee-avatar span{font-size:13px}
.timesheet-person>span:not(.employee-avatar){min-width:0}
.timesheet-person .employee-surname{font-size:18px;font-weight:950;line-height:1.05;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timesheet-person .employee-details{margin-top:3px;font-size:13px;font-weight:650;line-height:1.15;color:#52616c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timesheet-person .employee-position-line{display:block;margin-top:2px;color:#6f7b84;font-size:11px;font-weight:650;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timesheet-person .employee-actions-trigger{position:static;align-self:center;justify-self:end;width:28px;height:28px;min-width:28px;border-radius:8px}
.timesheet .overtime-corner{width:10px;height:10px}
.timesheet .overtime-corner::before{border-width:0 10px 10px 0}
@media(min-width:1500px){.timesheet .day,.timesheet .cell{width:36px;min-width:36px;max-width:36px}.timesheet .person{width:500px;min-width:500px;max-width:500px}}
@media(max-width:1450px){.timesheet .person{width:430px;min-width:430px;max-width:430px}.timesheet .day,.timesheet .cell{width:32px;min-width:32px;max-width:32px}.timesheet .overtime,.timesheet .total{width:66px;min-width:66px;max-width:66px}.timesheet-person .employee-surname{font-size:16px}.timesheet-person .employee-details{font-size:12px}.timesheet-person .employee-position-line{font-size:10px}}

/* Rebalance employee column without shrinking attendance cells. */
.timesheet .person{width:285px;min-width:285px;max-width:285px}
.timesheet .day,.timesheet .cell{width:40px;min-width:40px;max-width:40px}
.timesheet .overtime,.timesheet .total{width:86px;min-width:86px;max-width:86px}
.timesheet-person{grid-template-columns:44px minmax(0,1fr) 26px;gap:6px;min-height:58px}
.timesheet-person .employee-avatar{width:40px;height:40px;flex-basis:40px}
.timesheet-person .employee-actions-trigger{width:24px;height:24px;min-width:24px}
.personal-action-grid .start-workday{background:linear-gradient(135deg,#e63232,#ff6b4a);box-shadow:0 10px 24px #e6323240}

/* Compact personal cabinet: web version is a clean employee card, not a giant mobile page. */
.personal-hero{grid-template-columns:176px minmax(0,1fr) auto;padding:16px;border-radius:14px}
.personal-photo{width:176px;height:176px;border-radius:24px}
.personal-hero h2{font-size:25px}.personal-hero p{font-size:15px}
.personal-panel{padding:14px;border-radius:14px}.personal-section-head h2{font-size:19px}.personal-section-head p{font-size:13px}
.personal-data-card dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.personal-data-card dt{color:#87939c;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.personal-data-card dd{margin:3px 0 0;color:#eef3f6;font-size:15px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.personal-calendar-list{grid-template-columns:repeat(3,minmax(238px,1fr));align-items:start}
.personal-calendar-month>header{padding:9px 10px}.personal-calendar-month h3{font-size:17px}.personal-calendar-month header strong{font-size:18px}
.personal-calendar-weekdays span{padding:5px 2px;font-size:10px}
.personal-calendar-day{min-height:47px;padding:5px}.personal-calendar-day b{font-size:10px}.personal-calendar-day i{font-size:17px}.personal-calendar-day small{font-size:9px}.personal-calendar-day em{right:3px;bottom:3px;padding:1px 4px;font-size:9px}
@media(max-width:980px){.personal-calendar-list{grid-template-columns:1fr}.personal-data-card dl{grid-template-columns:1fr 1fr}}

.document-preview-dialog{width:min(980px,96vw);max-width:96vw;border:0;background:transparent;padding:0;color:#edf3f6}
.document-preview-dialog::backdrop{background:#000b;backdrop-filter:blur(3px)}
.document-preview-card{overflow:hidden;border:1px solid #3a4650;border-radius:18px;background:#10161a;box-shadow:0 24px 80px #000c}
.document-preview-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid #2d3740;background:#151c21}
.document-preview-card h3{margin:2px 0;font-size:20px}.document-preview-card p{margin:0;color:#9aa6ae;font-size:13px}.document-preview-card small{color:#7e8a93;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.document-preview-body{display:grid;place-items:center;min-height:420px;max-height:72vh;background:#0b0f12}
.document-preview-media{max-width:100%;max-height:72vh;object-fit:contain}
.document-preview-frame{width:100%;height:72vh;border:0;background:#fff}
.document-preview-empty{max-width:420px;padding:34px;text-align:center}.document-preview-empty b{display:block;margin-bottom:8px;font-size:20px}.document-preview-empty p{color:#9ca7af}
.document-preview-card>footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid #2d3740;background:#151c21}.document-preview-card>footer a{text-decoration:none}
.photo-download{height:34px;padding:0 14px;text-decoration:none}.work-journal-panel{display:grid;gap:14px}.work-journal-filters{display:grid;grid-template-columns:minmax(220px,1fr) 150px 150px auto;gap:10px;align-items:end}.work-journal-filters label,.work-journal-text{display:grid;gap:5px;color:#aeb6bd;font-size:11px}.work-journal-reminder{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #5a4630;border-radius:8px;background:#211a10;color:#f2c679}.work-journal-reminder b{color:#ffd796}.work-journal-reminder span{color:#c5a97a;font-size:11px}.work-journal-list{display:grid;gap:10px}.work-journal-entry{display:grid;gap:10px;padding:14px;border:1px solid #303a42;border-radius:8px;background:#10161a}.work-journal-entry header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.work-journal-entry header div{display:grid;gap:3px}.work-journal-entry header b{font-size:15px}.work-journal-entry header span,.work-journal-entry header small{color:#8d99a1;font-size:10px}.work-journal-entry p{margin:0;color:#dce3e8;font-size:13px;line-height:1.55}.work-journal-photos{display:flex;gap:8px;flex-wrap:wrap}.work-journal-photo{position:relative;width:94px;height:72px;overflow:hidden;padding:0;border:1px solid #36424b;border-radius:8px;background:#20272d;cursor:zoom-in}.work-journal-photo img{display:block;width:100%;height:100%;object-fit:cover}.work-journal-photo span{position:absolute;inset:auto 0 0;padding:4px;background:#0009;color:#fff;font-size:8px}.work-journal-editor{display:grid;gap:12px}.work-journal-text textarea{min-height:150px;resize:vertical}.work-journal-editor-actions{display:flex;gap:8px;flex-wrap:wrap}.work-journal-file{display:grid;place-items:center;cursor:pointer}.work-journal-file input{display:none}.work-journal-preview{display:grid;gap:6px}.work-journal-preview span{display:flex;justify-content:space-between;gap:10px;padding:8px;border:1px solid #303a42;border-radius:7px;background:#0e1317;color:#d8dee2;font-size:10px}.work-journal-preview small{color:#87919a}

.warehouse-shell{display:grid;gap:12px}.warehouse-scan-panel{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;align-items:end;gap:10px}.warehouse-scan-panel label{display:grid;gap:5px;color:#aeb6bd;font-size:12px}.warehouse-scan-panel input{height:44px;font-size:18px;font-weight:900}.warehouse-scan-panel button{height:44px;white-space:nowrap}.warehouse-summary{grid-template-columns:repeat(4,minmax(130px,1fr));margin-bottom:0}.warehouse-summary article{min-height:82px}.warehouse-summary article span{font-size:11px}.warehouse-summary article strong{font-size:28px}.warehouse-filter-panel{padding:12px}.warehouse-table .table-scroll{max-height:calc(100vh - 360px)}.warehouse-kind,.warehouse-status{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:900}.warehouse-kind.tool{background:#142b3d;color:#8ccfff}.warehouse-kind.ppe{background:#342216;color:#ffbf7c}.warehouse-kind.consumable{background:#1c2f22;color:#86e69d}.warehouse-status.in_stock{background:#163323;color:#75e89d}.warehouse-status.issued{background:#382817;color:#ffc36f}.warehouse-status.repair{background:#1d2b3a;color:#98caff}.warehouse-status.written_off,.warehouse-status.lost{background:#321d22;color:#f0a0a8}.warehouse-item-name{display:grid;gap:2px;min-width:220px}.warehouse-item-name strong{font-size:14px}.warehouse-item-name small{color:#87939c;font-size:11px}.warehouse-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.warehouse-row-actions button{height:30px;padding:0 8px;font-size:10px}.warehouse-row-actions .warehouse-more{width:30px;padding:0;letter-spacing:1px}.warehouse-log{display:grid;gap:8px}.warehouse-log h3{margin:0 0 3px}.warehouse-log-row{display:grid;grid-template-columns:92px minmax(0,1fr) 150px;align-items:center;gap:10px;padding:9px 10px;border:1px solid #303a42;border-radius:8px;background:#0e1418}.warehouse-log-row b{color:#f07672}.warehouse-log-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.warehouse-log-row small{color:#84909a;text-align:right}.warehouse-empty{padding:18px}.warehouse-operation-editor{display:grid;gap:12px}.warehouse-operation-editor p{display:grid;gap:3px;margin:0;padding:10px;border:1px solid #303a42;border-radius:8px;background:#0e1418}.warehouse-operation-editor p span{color:#8d98a1;font-size:11px}.warehouse-operation-editor label{display:grid;gap:5px;color:#aeb6bd;font-size:12px}.employee-warehouse span{border-color:#39434c!important;background:#101920!important}
.warehouse-ms-shell{display:grid;gap:12px;min-width:0}.warehouse-ms-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px}.warehouse-ms-title,.warehouse-ms-head-actions{display:flex;align-items:center;gap:12px}.warehouse-ms-logo{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:linear-gradient(145deg,#f06b30,#e23b27);color:#fff;font-size:12px;font-weight:950;box-shadow:0 8px 22px #e4482630}.warehouse-ms-title>div{display:grid;gap:3px}.warehouse-ms-title strong{font-size:18px}.warehouse-ms-title small{display:flex;align-items:center;gap:6px;color:#919ca5;font-size:11px;max-width:680px}.warehouse-ms-title small i{width:8px;height:8px;border-radius:50%;background:#e0ac3d}.warehouse-ms-title small i.ready{background:#36d979;box-shadow:0 0 0 4px #36d97916}.warehouse-ms-title small i.error{background:#ef5350}.warehouse-ms-head-actions span{color:#8f9aa3;font-size:11px}.warehouse-ms-head-actions b{color:#e6edf1}.warehouse-ms-head-actions button{height:36px}.warehouse-ms-toolbar{display:grid;grid-template-columns:minmax(220px,320px) minmax(280px,1fr) auto;align-items:end;gap:10px;padding:12px 14px}.warehouse-ms-toolbar>label:not(.warehouse-ms-check){display:grid;gap:5px;color:#929da6;font-size:11px;font-weight:800}.warehouse-ms-toolbar select,.warehouse-ms-toolbar input{height:42px}.warehouse-ms-check{display:flex;align-items:center;gap:8px;height:42px;padding:0 12px;border:1px solid #35414a;border-radius:8px;color:#bcc5cb;font-size:12px;font-weight:800;white-space:nowrap}.warehouse-ms-check input{position:absolute;opacity:0;pointer-events:none}.warehouse-ms-check i{width:17px;height:17px;border:1px solid #53606a;border-radius:5px;background:#12191e}.warehouse-ms-check input:checked+i{border-color:#ef4138;background:#ef4138;box-shadow:inset 0 0 0 4px #ef4138}.warehouse-ms-check input:checked+i:after{content:"✓";display:grid;place-items:center;color:#fff;font-size:12px;line-height:15px}.warehouse-ms-stats{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.warehouse-ms-stats article{display:grid;gap:4px;padding:13px 15px;border:1px solid #303b44;border-radius:10px;background:linear-gradient(145deg,#12191e,#0e1418)}.warehouse-ms-stats span{color:#8d98a1;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.warehouse-ms-stats strong{font-size:24px}.warehouse-ms-table{min-width:0}.warehouse-ms-table .table-scroll{max-height:calc(100vh - 348px)}.warehouse-ms-table table{min-width:1120px}.warehouse-ms-table th{position:sticky;top:0;z-index:2;background:#182127}.warehouse-ms-table td{vertical-align:middle}.warehouse-ms-table td.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:800;white-space:nowrap}.warehouse-ms-table td.num small{color:#77838c;font-size:10px}.warehouse-ms-table td.reserve{color:#ffc45e}.warehouse-ms-table td.transit{color:#83b9ee}.warehouse-ms-table td.available{color:#76e29a}.warehouse-ms-table td.money{color:#d5dce0;font-weight:700}.warehouse-ms-product{display:grid;grid-template-columns:38px minmax(220px,1fr);align-items:center;gap:9px}.warehouse-ms-product-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#1f2a32;color:#91a0aa;font-size:9px;font-weight:950}.warehouse-ms-product>div{display:grid;gap:3px}.warehouse-ms-product strong{font-size:13px}.warehouse-ms-product small{max-width:520px;overflow:hidden;text-overflow:ellipsis;color:#7f8b94;font-size:10px;white-space:nowrap}.warehouse-ms-source{color:#8fc9ff;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}.warehouse-ms-table footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid #2d3740;color:#89959e;font-size:11px}.warehouse-ms-table footer>div{display:flex;gap:7px}.warehouse-ms-table footer button{height:32px;padding:0 10px}.warehouse-ms-connect,.warehouse-ms-empty{display:flex;align-items:center;gap:18px;min-height:112px;padding:20px}.warehouse-ms-connect>div{display:grid;gap:5px;min-width:0;flex:1}.warehouse-ms-connect h2,.warehouse-ms-connect p,.warehouse-ms-empty h3,.warehouse-ms-empty p{margin:0}.warehouse-ms-connect p,.warehouse-ms-empty p{color:#929da6}.warehouse-ms-connect-form{display:grid;gap:12px}.warehouse-ms-connect-form p{margin:0 0 2px;color:#9aa5ad}.warehouse-ms-connect-form label{display:grid;gap:5px;color:#aeb7be;font-size:12px}
.warehouse-ms-tabs{display:flex;align-items:center;gap:5px;padding:5px;border:1px solid #303a43;border-radius:10px;background:#0f1519}.warehouse-ms-tabs button{min-width:190px;height:39px;padding:0 16px;border:0;border-radius:7px;background:transparent;color:#8d99a2;font-weight:900}.warehouse-ms-tabs button.active{background:#26323a;color:#fff;box-shadow:inset 0 -3px 0 #ef3f3b}.warehouse-ms-receipt-toolbar{grid-template-columns:minmax(240px,360px) minmax(260px,1fr)}.warehouse-ms-recent-caption{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;height:42px;color:#8f9aa3;font-size:11px}.warehouse-ms-recent-caption b{color:#d9e0e4}.warehouse-ms-receipts>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border-bottom:1px solid #2d3840}.warehouse-ms-receipts>header>div{display:grid;gap:3px}.warehouse-ms-receipts h3,.warehouse-ms-receipts p{margin:0}.warehouse-ms-receipts h3{font-size:17px}.warehouse-ms-receipts p{color:#839099;font-size:11px}.warehouse-ms-receipts table{min-width:720px}.warehouse-ms-receipts .table-scroll{max-height:calc(100vh - 342px)}.warehouse-ms-receipts:not(:has(footer)) .table-scroll{max-height:none}.warehouse-ms-receipts th:first-child,.warehouse-ms-receipts td:first-child{width:54px;text-align:center}.warehouse-ms-receipt-index{color:#687681;font-size:11px;font-weight:900}.warehouse-ms-receipts time{color:#c6ced3;font-size:12px;white-space:nowrap}.warehouse-ms-continue{display:flex;justify-content:center;padding:13px;border-top:1px solid #2d3840}.warehouse-ms-continue button{min-width:240px;height:40px}
@media(max-width:900px){.warehouse-ms-toolbar{grid-template-columns:1fr}.warehouse-ms-stats{grid-template-columns:repeat(2,1fr)}.warehouse-ms-head{align-items:flex-start}.warehouse-ms-head-actions{align-items:flex-end;flex-direction:column}.warehouse-ms-title small{max-width:50vw}}

/* MySklad inventory valuation */
.warehouse-ms-stats{grid-template-columns:repeat(5,minmax(150px,1fr))}
.warehouse-ms-stats article>small{color:#7f8b94;font-size:10px}
.warehouse-ms-stats .warehouse-ms-stock-value{border-color:#38574a;background:linear-gradient(145deg,#13221b,#0e1713)}
.warehouse-ms-table table{min-width:1320px}
.warehouse-ms-table td.money.missing{color:#e09a65}
.warehouse-ms-table td.money .warehouse-cost-source{display:block;margin-top:3px;color:#77838c;font-size:10px;font-weight:700}
@media(max-width:900px){.warehouse-ms-stats{grid-template-columns:repeat(2,1fr)}.warehouse-ms-stock-value{grid-column:1/-1}}

.database-timesheet-heading{align-items:center}.database-month-controls{display:flex;align-items:center;gap:8px;flex:0 0 auto}.database-month-controls strong{min-width:150px;color:#eef3f6;text-align:center;font-size:16px}.database-month-controls button{width:40px;height:38px;padding:0;font-size:24px;line-height:1}.database-timesheet-calendar{max-width:620px}.database-calendar-month{max-width:620px}.database-timesheet-section.loading{opacity:.65;pointer-events:none}

.messenger-shell{display:grid;grid-template-columns:340px minmax(0,1fr);height:calc(100vh - 132px);min-height:560px;overflow:hidden;border:1px solid #25313a;border-radius:10px;background:#0a0f13;box-shadow:0 18px 55px #0005}.messenger-sidebar{display:grid;grid-template-rows:auto 1fr;min-width:0;border-right:1px solid #26323b;background:#11181d}.messenger-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;height:70px;padding:12px 14px;border-bottom:1px solid #26323b;background:#151d23}.messenger-sidebar-head div{display:grid;gap:2px}.messenger-sidebar-head strong{font-size:20px;font-weight:900}.messenger-sidebar-head span{color:#8e99a3;font-size:12px}.messenger-new{display:grid;place-items:center;width:38px;height:38px;padding:0;border-radius:50%;border:0;background:#e53935;color:#fff;font-size:25px;font-weight:800;line-height:1;box-shadow:0 8px 22px #e5393535}.messenger-thread-list{overflow:auto;padding:8px;display:grid;align-content:start;gap:3px}.messenger-thread{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:66px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:#dfe5e9;text-align:left;cursor:pointer}.messenger-thread:hover{background:#182128}.messenger-thread.active{background:#222d35}.messenger-avatar{display:grid!important;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#e53935,#7b2322);color:#fff;font-size:12px;font-weight:900;box-shadow:inset 0 0 0 1px #ffffff1a}.messenger-avatar.big{width:46px;height:46px;font-size:13px}.messenger-thread-main{display:grid;min-width:0;gap:2px}.messenger-thread b,.messenger-thread small,.messenger-thread em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messenger-thread b{font-size:14px}.messenger-thread em{color:#9faab2;font-size:12px;font-style:normal}.messenger-thread-meta{display:grid!important;justify-items:end;align-self:stretch;align-content:center;gap:5px;min-width:48px}.messenger-thread-meta small{color:#76838d;font-size:10px}.messenger-thread-meta i{display:grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#e53935;color:#fff;font:900 10px/1 Arial,sans-serif;font-style:normal}.messenger-room{display:grid;grid-template-rows:70px 1fr auto;min-width:0;background:radial-gradient(circle at 65% 0,#152027 0,#0d1317 36%,#090d10 100%)}.messenger-room>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 16px;border-bottom:1px solid #26323b;background:#111a20cc;backdrop-filter:blur(8px)}.messenger-chat-title{display:flex;align-items:center;gap:12px;min-width:0}.messenger-chat-title h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px}.messenger-chat-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#87939c;font-size:12px}.messenger-header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.messenger-call{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #335846;border-radius:50%;background:#183424;color:#84efaa;font-size:18px;line-height:1;cursor:pointer}.messenger-call:hover{background:#215536;color:#fff}.messenger-policy{flex:0 0 auto;padding:6px 10px;border:1px solid #39454f;border-radius:999px;background:#151e24;color:#aeb8c0;font-size:11px;font-weight:800}.messenger-messages{overflow:auto;padding:18px 18px 20px;display:grid;align-content:start;gap:7px;background-image:linear-gradient(135deg,#ffffff05 1px,transparent 1px);background-size:22px 22px}.messenger-day{justify-self:center;margin:8px 0 5px;padding:4px 10px;border-radius:999px;background:#19232a;color:#9aa6af;font-size:11px;font-weight:800}.messenger-message{position:relative;display:grid;gap:4px;max-width:min(650px,74%);padding:8px 12px 6px;border:0;border-radius:14px 14px 14px 4px;background:#172129;color:#e8eef2;box-shadow:0 4px 14px #0003}.messenger-message.mine{justify-self:end;border-radius:14px 14px 4px 14px;background:#274f3d}.messenger-message-author{color:#ff7772;font-size:11px;font-weight:900}.messenger-message p{margin:0;color:#eef4f5;font-size:14px;line-height:1.42;white-space:pre-wrap;overflow-wrap:anywhere}.messenger-message time{justify-self:end;color:#afbbc2;font-size:10px;line-height:1}.messenger-message.mine time{color:#cfe5d8}.messenger-composer{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:end;gap:8px;padding:10px 14px 14px;border-top:1px solid #26323b;background:#111a20}.messenger-composer textarea{height:44px;min-height:44px;max-height:120px;padding:10px 14px;border-radius:22px;resize:none;background:#0d1419}.messenger-send,.pnr-topic-send{display:grid;place-items:center;width:44px!important;min-width:44px;height:44px!important;min-height:44px;padding:0!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:50%!important;background:rgba(229,57,53,.72)!important;color:#fff!important;font:900 21px/1 Tahoma,"Segoe UI",Arial,sans-serif!important;box-shadow:0 10px 24px rgba(229,57,53,.22)!important;backdrop-filter:blur(8px);cursor:pointer}.messenger-send:hover,.pnr-topic-send:hover{background:rgba(239,37,42,.88)!important;transform:translateY(-1px)}.messenger-send:active,.pnr-topic-send:active{transform:translateY(0);background:rgba(188,32,36,.9)!important}.messenger-send:disabled,.pnr-topic-send:disabled{opacity:.45;cursor:not-allowed;transform:none}.messenger-empty{align-self:center}
.messenger-contact-picker{min-width:0;margin:0;padding:10px;border:1px solid #303b44;border-radius:8px}.messenger-contact-picker legend{padding:0 6px;color:#9ca7af;font-size:10px;font-weight:900}.messenger-contact-picker>div{display:grid;gap:5px;max-height:210px;overflow:auto}.messenger-contact-option{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:8px;border:1px solid #28323a;border-radius:7px;background:#0e1418;cursor:pointer}.messenger-contact-option:has(input:checked){border-color:#48624d;background:#15231a}.messenger-contact-option input{width:16px;height:16px;accent-color:#e53935}.messenger-contact-option span{display:grid;min-width:0}.messenger-contact-option b,.messenger-contact-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messenger-contact-option b{font-size:11px}.messenger-contact-option small,.messenger-contact-empty{color:#84909a;font-size:9px}
.messenger-call-picker{display:grid;gap:7px;max-height:min(520px,70vh);overflow:auto}.messenger-call-picker button{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:58px;padding:8px 10px;border:1px solid #283640;border-radius:8px;background:#0f171c;color:#edf4f6;text-align:left;cursor:pointer}.messenger-call-picker button:hover{border-color:#315b42;background:#15241b}.messenger-call-picker span:last-child{display:grid;min-width:0;gap:2px}.messenger-call-picker b,.messenger-call-picker small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messenger-call-picker b{font-size:13px}.messenger-call-picker small{color:#9eabb4;font-size:11px}
.messenger-nav-badge{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:grid;place-items:center;min-width:36px;height:36px;padding:0 8px;border-radius:999px;background:rgba(229,57,53,.62);border:1px solid rgba(255,255,255,.16);color:#fff;font:900 13px/1 Tahoma,"Segoe UI",Arial,sans-serif;font-style:normal;box-shadow:0 8px 22px rgba(229,57,53,.22),0 0 0 2px rgba(17,24,29,.55)}.sidebar nav button{position:relative}.messenger-notification-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:7px 10px;border:1px solid #5b3131;border-radius:9px;background:#241516;color:#ffcbc9;font-size:11px;font-weight:850;cursor:pointer}.messenger-notification-summary span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.messenger-notification-summary b{color:#fff;font-size:14px}.messenger-notification-summary:after{content:"сбросить";margin-left:auto;color:#f08480;font-size:9px;text-transform:uppercase}
.messenger-incoming-call{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px}.messenger-incoming-call strong,.messenger-incoming-call small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messenger-incoming-call strong{font-size:18px}.messenger-incoming-call small{margin-top:3px;color:#9eabb4}.messenger-incoming-call footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.messenger-incoming-call footer button{height:40px}
.messenger-call-shell{position:fixed;z-index:80;inset:0;display:none;place-items:center;padding:22px;background:#020405d9;backdrop-filter:blur(10px)}.messenger-call-shell.open{display:grid}.messenger-call-card{display:grid;grid-template-rows:auto minmax(340px,68vh) auto;width:min(1080px,calc(100vw - 34px));overflow:hidden;border:1px solid #33414b;border-radius:14px;background:#0c1216;box-shadow:0 28px 90px #000}.messenger-call-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid #27343d;background:#111a20}.messenger-call-card h3{margin:1px 0;font-size:21px}.messenger-call-card small{color:#ef6c68;font-size:10px;font-weight:900;text-transform:uppercase}.messenger-call-card p{margin:0;color:#9aa6ae;font-size:12px}.messenger-call-card>header button{width:38px;height:38px;border:1px solid #3a454e;border-radius:50%;background:#141d23;color:#dce4e8;font-size:28px;line-height:32px}.messenger-call-stage{position:relative;display:grid;background:#05080a}.messenger-remote-video,.messenger-local-video{position:relative;display:grid;place-items:center;overflow:hidden;background:#080d11;color:#71808a}.messenger-remote-video video,.messenger-remote-video audio,.messenger-local-video video{width:100%;height:100%;object-fit:cover}.messenger-remote-video span,.messenger-local-video span{font-weight:900}.messenger-local-video{position:absolute;right:16px;bottom:16px;width:min(260px,28vw);aspect-ratio:16/10;border:1px solid #ffffff35;border-radius:10px;background:#111a20;box-shadow:0 14px 40px #0008}.messenger-call-card>footer{display:flex;justify-content:center;gap:10px;padding:13px 16px;border-top:1px solid #27343d;background:#111a20}.messenger-call-card>footer button{height:42px;padding:0 16px;border-radius:999px}.messenger-call-card>footer .off{border-color:#5b4030;background:#241810;color:#f4b27d}.messenger-call-card>footer .danger{border:0;background:#e53935;color:#fff}

.timesheet tbody tr.present-at-work .person,.timesheet-person.present-at-work{background:linear-gradient(90deg,#dff5e7,#f5f6f7);box-shadow:inset 4px 0 0 #26a85b}.timesheet-person.present-at-work{margin:-2px -4px;padding:5px 4px;border-radius:10px}.employee-presence-chip{display:inline-flex;width:max-content;margin-top:3px;padding:2px 6px;border-radius:999px;background:#1f8f4b;color:#fff;font-size:9px;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.04em}.mobile-employee-card.present-at-work{border-color:#3a7b50;border-left-color:#2bb45f;background:linear-gradient(145deg,#183324,#101419);box-shadow:0 7px 18px #0003,0 0 0 1px #2bb45f33}.mobile-employee-card.present-at-work .timesheet-person.present-at-work{background:transparent;box-shadow:none}.mobile-employee-card.present-at-work .employee-presence-chip{background:#2bb45f;color:#07130b}

/* Readability pass: Cyrillic text must look like a working tool, not a microscope test. */
html,body,button,input,select,textarea{
  font-family:Tahoma,"Segoe UI",Arial,sans-serif!important;
  font-size:16px;
  line-height:1.5;
  letter-spacing:0;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6,.brand,.topbar h1,.page-head h2,.panel h3,.metric strong,.list-row,.user-menu strong,.user-menu small{
  font-family:Tahoma,"Segoe UI",Arial,sans-serif!important;
  letter-spacing:0;
}
.topbar{height:80px}
.topbar h1{font-size:26px;font-weight:900;line-height:1.2}
.topbar p{font-size:14px}
.content{padding:26px 28px 36px}
.page-head h2{font-size:28px;font-weight:900;line-height:1.2}
.page-head p,.toolbar label,.save-state,.legend,footer{font-size:15px;line-height:1.45}
.sidebar nav button,.collapse{font-size:17px;font-weight:800}
.brand{font-size:21px;font-weight:900}
.panel{padding:22px}
.panel h3{font-size:21px;font-weight:900}
.metric{min-height:118px}
.metric small{font-size:15px;font-weight:700;color:#d9dee2}
.metric strong{font-size:36px}
.metric em,.list-row small{font-size:14px;line-height:1.4}
.list-row{font-size:16px}
th{font-size:14px;letter-spacing:0}
td{font-size:16px}
button,.primary,.secondary{font-weight:850}
input,select,textarea{font-weight:650}
.employee-surname,
.employee-list-person .employee-surname,
.database-person strong,
.admin-timesheet .admin-employee-name .employee-surname,
.mobile-employee-card .employee-surname,
.timesheet-person .employee-surname{
  font-family:Tahoma,"Segoe UI",Arial,sans-serif!important;
  font-size:19px;
  font-weight:900;
  line-height:1.1;
  letter-spacing:0;
  text-transform:uppercase;
}
.employee-details,
.timesheet-person .employee-details,
.admin-timesheet .admin-employee-name .employee-details,
.mobile-employee-card .employee-details{
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:0;
}
.employee-position-line{font-size:12px;font-weight:700;letter-spacing:0}
.database-person strong{font-size:17px}
.database-person small,.database-facts span,.database-custom-fields small,.database-document p,.database-document small{font-size:13px}
.mobile-timesheet-mode,
.mobile-timesheet-mode *{
  font-family:Tahoma,"Segoe UI",Arial,sans-serif!important;
  letter-spacing:0;
}
.mobile-timesheet-mode .topbar h1{font-size:16px}
.mobile-journal-head h1{font-size:22px}
.mobile-section-head h2{font-size:17px}
.mobile-section-head p,.mobile-date-bar>small,.mobile-site-navigator label,.mobile-shift-fields label,.mobile-brigade-field,.mobile-result-field{font-size:12px}
.mobile-employee-card .employee-surname{font-size:17px}
.mobile-employee-card .employee-details{font-size:12px}

/* Current UI polish: compact left menu, square timesheet cells, role chips, nicer request dialog. */
.sidebar nav button,.collapse{
  font-family:"Arial Narrow","Segoe UI Condensed","Roboto Condensed",Tahoma,"Segoe UI",Arial,sans-serif!important;
  font-size:18px;
  font-weight:800;
  letter-spacing:.01em;
}
.timesheet tbody td.cell,
.timesheet tbody td.num,
.timesheet tbody td.overtime,
.timesheet tbody td.total{
  height:36px;
}
.timesheet .day,
.timesheet .cell{
  width:36px;
  min-width:36px;
  max-width:36px;
}
.timesheet tbody .cell{
  aspect-ratio:1/1;
}
.timesheet .cell-value{font-size:20px}
.timesheet .cell-value.attendance{font-size:24px}
.period-picker{min-width:230px}
.period-control{display:grid;grid-template-columns:38px minmax(138px,1fr) 38px;gap:6px;align-items:center}
.period-control input[type=month]{height:42px;color:#fff;color-scheme:dark;background:#10161b;border-color:#43505a}
.period-control input[type=month]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:1;cursor:pointer}
.period-step{display:grid;place-items:center;width:38px;height:42px!important;min-height:42px;padding:0!important;color:#fff!important;font-size:26px!important;line-height:1;background:#1a2228!important;border-color:#46535d!important}
.period-step:hover{background:#26313a!important}
.timesheet-person{gap:7px}
.timesheet-person .employee-name-block{flex:1 1 auto}
.timesheet-person .employee-position-line{display:none!important}
.employee-role-chip{
  display:grid;
  place-items:center;
  flex:0 0 24px;
  width:24px;
  height:24px;
  margin-left:auto;
  border:1px solid #b9c3cb;
  border-radius:50%;
  background:#fff;
  color:#24313a;
  font:900 12px/1 Tahoma,"Segoe UI",Arial,sans-serif;
  box-shadow:0 1px 2px #0001;
}
.timesheet-person .employee-actions-trigger{margin-left:2px}

/* Stable timesheet row: compact name block, square day cells, role above actions. */
.timesheet tbody td.cell,
.timesheet tbody td.num,
.timesheet tbody td.overtime,
.timesheet tbody td.total{
  height:40px;
}
.timesheet .day,
.timesheet .cell{
  width:45px;
  min-width:45px;
  max-width:45px;
}
.timesheet .person{
  width:315px;
  min-width:315px;
  max-width:315px;
}
.timesheet-person{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 24px;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:2px 0;
}
.timesheet-person .employee-avatar{
  width:34px;
  height:34px;
  flex-basis:34px;
}
.timesheet-person .employee-name-block{
  min-width:0;
}
.timesheet-person .employee-surname{
  font-size:15px;
  line-height:1.05;
}
.timesheet-person .employee-details{
  margin-top:1px;
  font-size:11px;
  line-height:1.1;
}
.employee-side-actions{
  display:grid;
  grid-template-rows:20px 20px;
  align-items:center;
  justify-items:center;
  gap:2px;
  width:24px;
  margin-left:auto;
}
.timesheet-person .employee-role-chip{
  width:20px;
  height:20px;
  flex-basis:20px;
  margin:0;
  font-size:10px;
}
.timesheet-person .employee-actions-trigger{
  width:22px;
  height:20px;
  min-width:22px;
  margin:0;
  border-radius:6px;
  font-size:16px;
  line-height:1;
}
.timesheet-person.present-at-work{
  margin:-1px -3px;
  padding:3px;
}
.timesheet tbody td.person{
  height:40px;
  padding:0 8px;
}
.timesheet tbody .timesheet-person{
  grid-template-columns:32px minmax(0,1fr) 22px;
  min-height:38px;
  padding:0;
}
.timesheet tbody .timesheet-person .employee-avatar{
  width:30px;
  height:30px;
  flex-basis:30px;
}
.timesheet tbody .timesheet-person .employee-surname{
  font-size:14px;
}
.timesheet tbody .timesheet-person .employee-details{
  font-size:10px;
}
.timesheet tbody .employee-side-actions{
  grid-template-rows:18px 18px;
  gap:1px;
  width:22px;
}
.timesheet tbody .timesheet-person .employee-role-chip{
  width:18px;
  height:18px;
  flex-basis:18px;
  font-size:9px;
}
.timesheet tbody .timesheet-person .employee-actions-trigger{
  width:20px;
  height:18px;
  min-width:20px;
  font-size:14px;
}
.timesheet tbody tr.dismissed-employee td,
.timesheet tbody tr.dismissed-employee td.cell,
.timesheet tbody tr.dismissed-employee td.num,
.timesheet tbody tr.dismissed-employee td.person,
.timesheet tbody tr.dismissed-employee td.overtime,
.timesheet tbody tr.dismissed-employee td.total{
  background-color:rgba(229,57,53,.50)!important;
  background-image:repeating-linear-gradient(45deg,rgba(112,0,0,.24) 0 6px,rgba(255,255,255,.10) 6px 12px)!important;
  color:#2a1010;
}
.timesheet tbody tr.dismissed-employee .cell{
  box-shadow:inset 0 0 0 1px rgba(122,0,0,.35);
}
.timesheet tbody tr.dismissed-employee .timesheet-person,
.timesheet-person.dismissed-employee{
  background:repeating-linear-gradient(45deg,rgba(112,0,0,.22) 0 6px,transparent 6px 12px),rgba(229,57,53,.24);
  box-shadow:inset 4px 0 0 rgba(190,20,20,.92);
}
.timesheet tbody tr.dismissed-employee .employee-surname,
.timesheet tbody tr.dismissed-employee .employee-details,
.timesheet tbody tr.dismissed-employee .cell-value,
.timesheet tbody tr.dismissed-employee .overtime,
.timesheet tbody tr.dismissed-employee .total{
  color:#2a1010!important;
}
.employee-dismissed-chip{
  display:inline-flex;
  width:max-content;
  margin-top:3px;
  padding:2px 6px;
  border-radius:999px;
  background:#9d1f1b;
  color:#fff;
  font-size:9px;
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.employee-dismissed-toggle{border:0;cursor:pointer;transition:filter .16s ease,transform .16s ease}
.employee-dismissed-toggle:hover{filter:brightness(1.18)}
.employee-dismissed-toggle:active{transform:scale(.95)}
.employee-dismissed-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}
.mobile-employee-card.dismissed-employee{
  border-color:#e53935;
  border-left-color:#e53935;
  background:repeating-linear-gradient(45deg,rgba(112,0,0,.24) 0 6px,transparent 6px 12px),linear-gradient(145deg,rgba(229,57,53,.50),#101419);
}
.mobile-employee-card.dismissed-employee .timesheet-person.dismissed-employee{
  background:transparent;
  box-shadow:none;
}
.timesheet-toolbar-line .timesheet-period-picker{min-width:0}
.timesheet-toolbar-line .period-control{grid-template-columns:26px minmax(104px,1fr) 26px;gap:4px}
.timesheet-toolbar-line .period-control input[type=month]{height:30px}
.timesheet-toolbar-line .period-step{width:26px;height:30px!important;min-height:30px;padding:0!important;font-size:16px!important}
.timesheet-toolbar-line .primary,.timesheet-toolbar-line .secondary{height:30px;padding:0 9px;font-size:10px}
.timesheet-toolbar-line .timesheet-export-toggle{min-width:82px}
.timesheet-toolbar-line .timesheet-site-picker select{height:30px}
.personal-request-modal{display:grid;gap:16px;min-width:min(520px,calc(100vw - 52px))}
.personal-request-modal>header{padding:16px;border:1px solid #34414a;border-radius:14px;background:linear-gradient(135deg,#1b242b,#11171c)}
.personal-request-modal>header span{color:#ff706b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.personal-request-modal>header h3{margin:4px 0 6px;font-size:24px}
.personal-request-modal>header p{margin:0;color:#a8b3bb;font-size:14px;line-height:1.45}
.personal-request-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.personal-request-grid .span-2{grid-column:1/-1}
.personal-request-grid label{display:grid;gap:6px;color:#dce3e7;font-size:14px;font-weight:800}
.personal-request-grid input,.personal-request-grid textarea{border-radius:10px;background:#0d1216;border-color:#3b4750}
.personal-request-grid textarea{min-height:130px;padding:12px;resize:vertical}
.personal-request-photo{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:74px;padding:12px;border:1px dashed #56636d;border-radius:14px;background:#11181d;cursor:pointer}
.personal-request-photo:hover{border-color:#ef5b56;background:#151d22}
.personal-request-photo span{display:grid;gap:2px}
.personal-request-photo b{font-size:16px}
.personal-request-photo small{color:#8e9aa3;font-size:12px;font-weight:650;line-height:1.35}
.personal-request-photo img{width:70px;height:54px;border-radius:9px;object-fit:cover;background:#222b32}
.personal-payroll{display:grid;gap:12px}
.personal-payroll-toolbar{display:flex;align-items:center;justify-content:center;gap:10px;padding:9px;border:1px solid #303b44;border-radius:10px;background:#0f1519}
.personal-payroll-toolbar button{width:38px;height:36px;padding:0;font-size:22px}
.personal-payroll-toolbar strong{min-width:150px;text-align:center;font-size:16px}
.personal-payroll-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px}
.personal-payroll-grid article{display:grid;gap:5px;min-height:92px;padding:13px;border:1px solid #303b44;border-radius:10px;background:#11181d}
.personal-payroll-grid span{color:#9da7af;font-size:11px;font-weight:850;text-transform:uppercase}
.personal-payroll-grid b{font-size:23px;line-height:1.05}
.personal-payroll-grid small{color:#8c98a1;font-size:11px}
.personal-payroll-grid .payable{border-color:#2c6c44;background:#102219}
.personal-payroll-grid .payable b{color:#83e7a4}
.personal-payroll-details{display:grid;gap:7px}
.personal-payroll-details h3{margin:4px 0;font-size:14px}
.personal-payroll-details p{margin:0;padding:12px;border:1px dashed #3a4650;border-radius:8px;color:#8d99a1}
.personal-payroll-detail{display:grid;grid-template-columns:90px minmax(0,1fr);gap:5px 10px;padding:9px 10px;border:1px solid #303b44;border-radius:8px;background:#0f1519}
.personal-payroll-detail span{color:#9da7af;font-size:12px;font-weight:850}
.personal-payroll-detail b{text-align:right}
.personal-payroll-detail small{grid-column:1/-1;color:#7e8992}
@media(max-width:760px){
  .timesheet .day,.timesheet .cell{width:34px;min-width:34px;max-width:34px}
  .timesheet tbody td.cell{height:34px}
  .personal-request-grid{grid-template-columns:1fr}
  .personal-request-modal{min-width:0}
  .personal-payroll-grid{grid-template-columns:1fr 1fr}
  .personal-payroll-grid .payable{grid-column:1/-1}
}

/* Payroll table: dense money view with D/M rate chips and clickable payment details. */
.payroll-table{width:100%;min-width:1340px;table-layout:fixed}
.payroll-table th:nth-child(1),.payroll-table td:nth-child(1){width:178px;min-width:178px;max-width:178px}
.payroll-table th:nth-child(2),.payroll-table td:nth-child(2){width:42px;min-width:42px;max-width:42px;text-align:center}
.payroll-table th:nth-child(3),.payroll-table td:nth-child(3){width:86px;min-width:86px;max-width:86px}
.payroll-table th:nth-child(4),.payroll-table td:nth-child(4),
.payroll-table th:nth-child(5),.payroll-table td:nth-child(5){width:42px;min-width:42px;max-width:42px}
.payroll-table th:nth-child(6),.payroll-table td:nth-child(6){width:108px;min-width:108px;max-width:108px}
.payroll-table th:nth-child(7),.payroll-table td:nth-child(7){width:112px;min-width:112px;max-width:112px}
.payroll-table th:nth-child(8),.payroll-table td:nth-child(8){width:140px;min-width:140px;max-width:140px}
.payroll-table th:nth-child(9),.payroll-table td:nth-child(9){width:126px;min-width:126px;max-width:126px}
.payroll-table th:nth-child(10),.payroll-table td:nth-child(10){width:120px;min-width:120px;max-width:120px;overflow:visible;text-overflow:clip}
.payroll-table .payroll-paid-amount-head,.payroll-table .payroll-paid-amount-cell{width:146px;min-width:146px;max-width:146px;text-align:right}
.payroll-paid-amount-cell label{display:grid;gap:3px;justify-items:stretch}
.payroll-paid-amount-cell input{width:100%;min-width:0;height:34px;padding:0 10px;border:1px solid #348d55;border-radius:7px;background:#12301f;color:#9af2b7;font:900 15px/1 Tahoma,"Segoe UI",Arial,sans-serif;letter-spacing:.15px;text-align:right;box-shadow:inset 0 0 0 1px #54c97917}
.payroll-paid-amount-cell input:hover{border-color:#58c77c;background:#153a25}
.payroll-paid-amount-cell input:focus{border-color:#6ee397;outline:0;box-shadow:0 0 0 3px #45d77b24,inset 0 0 0 1px #7bed9e1f}
.payroll-paid-amount-cell input:disabled{border-color:#31533e;background:#102219;color:#6d9c7c;cursor:not-allowed;opacity:.75}
.payroll-paid-amount-cell small{color:#70c98e;font-size:8px;font-weight:800;line-height:1.1;white-space:nowrap}
.payroll-table .payroll-settlement-head,.payroll-table .payroll-settlement-cell{width:112px;min-width:112px;max-width:112px;text-align:center}
.payroll-table .payroll-special-head,.payroll-table .muted-cell{width:126px;min-width:126px;max-width:126px}
.payroll-table .payroll-status-head,.payroll-table .payroll-status-cell{width:40px;min-width:40px;max-width:40px;text-align:center}
.payroll-settlement-check{display:inline-grid;grid-template-columns:24px;justify-items:center;gap:3px;color:#86939d;cursor:pointer;user-select:none}
.payroll-settlement-check input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.payroll-settlement-check span{display:grid;place-items:center;width:24px;height:24px;border:1px solid #47545f;border-radius:7px;background:#121a20;color:transparent;font:900 15px/1 Tahoma,"Segoe UI",Arial,sans-serif;transition:.15s ease}
.payroll-settlement-check small{font-size:8px;font-weight:800;line-height:1;white-space:nowrap}
.payroll-settlement-check:hover span{border-color:#64d98a;box-shadow:0 0 0 3px #2fca6c1a}
.payroll-settlement-check input:focus-visible+span{outline:2px solid #68d98e;outline-offset:2px}
.payroll-settlement-check input:checked+span{border-color:#348d55;background:#173d27;color:#75e59b;box-shadow:0 0 0 3px #2fca6c12}
.payroll-settlement-check.is-paid{color:#68d98e}
.payroll-settlement-check.is-saving{opacity:.55;cursor:wait}
.payroll-crew-section .table-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;scrollbar-gutter:stable}
.payroll-crew-section{display:grid;gap:8px;margin-bottom:14px}
.payroll-crew-section>header{position:sticky;top:198px;z-index:9;display:flex;align-items:center;gap:12px;min-height:38px;padding:7px 10px;border:1px solid #27333c;border-radius:8px;background:#10171df2;box-shadow:0 8px 16px #0003;backdrop-filter:blur(12px)}
.payroll-crew-section h3{margin:0 auto 0 0;color:#f3f7fa;font-size:14px;line-height:1.15}
.payroll-crew-section span,.payroll-crew-section b{color:#94a2ac;font-size:11px;white-space:nowrap}
.payroll-crew-section strong{color:#fff;font-size:12px;white-space:nowrap}
.payroll-crew-section .compact-table-card .table-scroll{max-height:none}
.payroll-bonus-table{min-width:860px}.payroll-bonus-table th:nth-child(1),.payroll-bonus-table td:nth-child(1){width:230px}.payroll-bonus-table th:nth-child(2),.payroll-bonus-table td:nth-child(2),.payroll-bonus-table th:nth-child(3),.payroll-bonus-table td:nth-child(3),.payroll-bonus-table th:nth-child(4),.payroll-bonus-table td:nth-child(4){width:150px}.payroll-bonus-table th:nth-child(5),.payroll-bonus-table td:nth-child(5){width:130px}
.payroll-rate-chip{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#15324b;color:#9dd3ff;font:900 11px/1 Tahoma,"Segoe UI",Arial,sans-serif}
.payroll-rate-chip.month{background:#432f0f;color:#ffd47a}
.payroll-rate-chip.schedule{width:34px;border-radius:999px;font-size:10px}
.payroll-rate-inline{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;min-width:100%;white-space:nowrap}
.payroll-rate-edit{display:inline-grid;place-items:center;width:27px;height:25px;padding:0;border:1px solid #3a4751;border-radius:6px;background:#182129;color:#d9e1e6;font:900 16px/1 Tahoma,"Segoe UI",Arial,sans-serif;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}
.payroll-rate-edit:hover,.payroll-rate-edit:focus-visible{border-color:#ef3737;background:#2b2021;color:#fff;outline:none}
.payroll-detail-trigger{display:inline-flex;align-items:center;justify-content:flex-end;min-width:72px;height:28px;padding:0 6px;border:1px solid transparent;border-radius:6px;background:transparent;color:#f3f6f8;font:inherit;font-weight:850;text-align:right;cursor:default}
.payroll-detail-trigger.has-details{border-color:#344755;background:#111a21;color:#dff1ff;cursor:pointer}
.payroll-detail-trigger.has-details:hover{border-color:#e35a56;color:#fff}
.payroll-manager-advance-cell{text-align:right}
.payroll-advance-inline{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0;white-space:nowrap}
.payroll-row-add-advance{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;padding:0;border:1px solid #7b3434;border-radius:6px;background:#241214;color:#ff7671;font:900 19px/1 Tahoma,"Segoe UI",Arial,sans-serif;cursor:pointer}
.payroll-row-add-advance:hover{border-color:#ef5b56;background:#e53935;color:#fff}
.payroll-row-add-advance.writeoff{border-color:#54606a;background:#151c22;color:#b9c3cb}
.payroll-row-add-advance.writeoff:hover{border-color:#d9e0e5;background:#303942;color:#fff}
.payroll-row-add-advance:focus-visible{outline:2px solid #ef5b56;outline-offset:2px}
.payroll-detail-modal{display:grid;gap:7px;min-width:min(420px,calc(100vw - 60px))}
.payroll-detail-row{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;border:1px solid #303b44;border-radius:8px;background:#0e1418}
.payroll-detail-row span{color:#9aa5ad;font-size:12px;font-weight:800}
.payroll-detail-row strong{text-align:right;font-size:15px}
.payroll-detail-row small{grid-column:1/-1;color:#7f8a93;font-size:11px}
.payroll-detail-empty{padding:12px;border:1px dashed #3b4650;border-radius:8px;color:#9aa5ad}
.payroll-detail-modal footer{display:flex;justify-content:space-between;padding:10px 2px 0;border:0;color:#aeb6bd}
.payroll-detail-modal footer strong{color:#fff}
.payroll-status-cell{text-align:center}
.payroll-status-dot{display:inline-grid;width:14px;height:14px;padding:0;border:1px solid #4a5560;border-radius:50%;background:#6d7780;box-shadow:0 0 0 3px #ffffff08;cursor:pointer}
.payroll-status-dot.ok{border-color:#338c55;background:#2fca6c}
.payroll-status-dot.warn{border-color:#9b6a24;background:#f2b84b}
.payroll-status-dot:hover{box-shadow:0 0 0 4px #e5393526}
.payroll-status-dot:focus-visible{outline:2px solid #ef5b56;outline-offset:2px}
.payroll-status-modal{display:grid;gap:8px;min-width:min(360px,calc(100vw - 60px))}
.payroll-status-modal strong{font-size:18px}
.payroll-status-modal p{margin:0;color:#a8b3bb;line-height:1.45}
.payroll-print-frame{position:fixed;right:0;bottom:0;width:0;height:0;border:0;opacity:0;pointer-events:none}

/* Reports: PNR readiness matrix. */
.reports-shell{display:grid;gap:12px;min-height:calc(100vh - 142px)}
.content:has(.reports-shell){overflow-x:hidden}
.reports-crumbs{display:flex;align-items:center;gap:8px;color:#98a4ad;font-size:12px;font-weight:850;text-transform:uppercase}
.reports-crumbs button{height:auto;padding:0;border:0;background:transparent;color:#98a4ad;font:inherit;text-transform:inherit;cursor:pointer}
.reports-crumbs button:hover{color:#fff}
.reports-crumbs button+button:before,.reports-crumbs button+b:before{content:"/";margin-right:8px;color:#59656f}
.reports-crumbs b{color:#eef3f6;text-transform:none;font-size:14px}
.reports-crumbs>span+b:before{content:"/";margin-right:8px;color:#59656f}
.reports-navigation-shell{align-content:start}
.reports-navigation-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0 4px;border-bottom:1px solid #27313a}
.reports-navigation-head h2{margin:0;color:#f4f7f9;font-size:24px;line-height:1.1}
.reports-navigation-head p{margin:5px 0 0;color:#8f9aa3;font-size:13px}
.reports-navigation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,420px));gap:10px;align-content:start;padding-top:4px}
.reports-navigation-grid-root{grid-template-columns:minmax(280px,520px)}
.reports-navigation-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 16px;min-height:118px;padding:17px 18px;border:1px solid #303c46;border-radius:8px;background:#111820;color:#f2f6f8;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.reports-navigation-card:hover{border-color:#e34a46;background:#161d23;transform:translateY(-1px)}
.reports-navigation-card span{grid-column:1/-1;color:#ef5955;font-size:11px;font-weight:900;text-transform:uppercase}
.reports-navigation-card strong{font-size:20px;line-height:1.15}
.reports-navigation-card small{grid-column:1/2;color:#9ba7b0;font-size:12px;line-height:1.4}
.reports-navigation-card b{grid-column:2;grid-row:2/4;align-self:center;color:#c8d1d8;font-size:11px;white-space:nowrap}
.reports-sticky-head{position:sticky;top:0;z-index:12;display:grid;gap:8px;padding-bottom:8px;background:#0d0f12}
.reports-toolbar{display:grid;grid-template-columns:minmax(250px,1fr) auto auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid #28343e;border-radius:8px;background:rgba(15,20,25,.96);backdrop-filter:blur(12px)}
.reports-toolbar h2{margin:0;font-size:21px;line-height:1.1}
.reports-toolbar p{margin:4px 0 0;color:#8f9aa3;font-size:12px}
.reports-object-tabs{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #28343e;border-radius:8px;background:#10161b}
.reports-object-tabs button{height:32px;padding:0 12px;border-radius:7px;font-size:12px;font-weight:900}
.reports-object-tabs button.active{border-color:#8f1d22;background:#7c1518;color:#fff}
.pnr-status-legend,.pnr-summary{display:flex;align-items:center;gap:9px;white-space:nowrap}
.pnr-status-legend span,.pnr-summary span{display:inline-flex;align-items:center;gap:5px;color:#aeb8c1;font-size:12px;font-weight:800}
.pnr-status-legend i,.pnr-summary i{width:10px;height:10px;border-radius:50%}
.pnr-summary span{height:32px;min-width:58px;justify-content:center;padding:0 9px;border:1px solid #2d3944;border-radius:7px;background:#111920}
.pnr-summary b{color:#f5f8fa;font-size:16px}
.pnr-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;min-height:0}
.pnr-groups{display:grid;gap:12px;align-content:start;min-width:0}
.pnr-group{display:block;min-width:0;width:100%}
.pnr-group header{position:sticky;top:132px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:12px;height:39px;padding:0 12px;border:1px solid #2b3742;border-radius:8px;background:#111821}
.pnr-group h3{margin:0;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pnr-group header span{color:#9ca8b1;font-size:12px;font-weight:850;white-space:nowrap}
.pnr-system-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(102px,1fr));gap:8px;min-width:0;width:100%;margin-top:9px}
.pnr-system{min-width:0;height:52px;display:grid;grid-template-columns:minmax(0,1fr) 26px;border:1px solid #2d3945;border-radius:8px;overflow:hidden;background:#121a22}
.pnr-system-main,.pnr-system-more{min-width:0;border:0;color:inherit}
.pnr-system-main{display:grid;place-items:center;padding:0 5px;font-size:14px;font-weight:950;line-height:1.05;text-align:center;cursor:pointer}
.pnr-system-more{border-left:1px solid rgba(255,255,255,.16);background:#111a22;color:#dfe6eb;font-size:15px;font-weight:950;letter-spacing:1px;cursor:pointer}
.pnr-system.not-ready .pnr-system-main,.pnr-detail-status.not-ready,.pnr-status-legend .not-ready,.pnr-summary .not-ready{background:#dc2f35;color:#fff}
.pnr-system.mechanical-ready .pnr-system-main,.pnr-detail-status.mechanical-ready,.pnr-status-legend .mechanical-ready,.pnr-summary .mechanical-ready{background:#ff8a00;color:#160b00}
.pnr-system.valves-ready .pnr-system-main,.pnr-detail-status.valves-ready,.pnr-status-legend .valves-ready,.pnr-summary .valves-ready{background:#ffe66b;color:#211800}
.pnr-system.pnr-ready .pnr-system-main,.pnr-detail-status.pnr-ready,.pnr-status-legend .pnr-ready,.pnr-summary .pnr-ready{background:#2eb872;color:#06140d}
.pnr-system-main:hover{filter:brightness(1.08)}
.pnr-detail-panel{position:sticky;top:132px;align-self:start;max-height:calc(100vh - 245px);overflow:auto;padding:14px;border:1px solid #33414d;border-radius:8px;background:#111821;box-shadow:0 18px 60px rgba(0,0,0,.32)}
.pnr-detail-panel.open{position:fixed;right:24px;top:188px;z-index:35;width:min(360px,calc(100vw - 48px));max-height:calc(100vh - 220px)}
.pnr-detail-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #27333d}
.pnr-detail-panel small{display:block;color:#9ba7b0;font-size:11px;font-weight:850;line-height:1.25}
.pnr-detail-panel h3{margin:4px 0 0;font-size:25px}
.pnr-detail-status{display:inline-flex;align-items:center;height:30px;padding:0 10px;border-radius:7px;font-size:12px;font-weight:950;margin-bottom:8px}
.pnr-checklist{display:grid;gap:7px;margin:2px 0 10px;padding:10px;border:1px solid #2f3c47;border-radius:8px;background:#0f151a}
.pnr-checklist h4{margin:0 0 2px;font-size:13px}
.pnr-checklist label{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;min-height:30px;color:#dfe5e9;font-size:12px;font-weight:850;cursor:pointer}
.pnr-checklist input{position:absolute;opacity:0;width:1px;height:1px}
.pnr-checklist i{display:grid;place-items:center;width:18px;height:18px;border:1px solid #4a5660;border-radius:5px;background:#121b22}
.pnr-checklist input:checked+i{border-color:#2eb872;background:#2eb872;color:#07150d}
.pnr-checklist input:checked+i:after{content:"✓";font-size:13px;font-weight:950}
.pnr-checklist span{min-width:0;line-height:1.25}
.pnr-detail-list{display:grid}
.pnr-detail-row{display:grid;grid-template-columns:108px minmax(0,1fr);gap:9px;padding:7px 0;border-bottom:1px solid #222d36}
.pnr-detail-row span{color:#8f9aa3;font-size:12px;font-weight:800;line-height:1.2}
.pnr-detail-row b{font-size:13px;line-height:1.25}
.pnr-detail-note,.pnr-detail-empty{margin:0;color:#8e99a3;font-size:12px;line-height:1.4}
.pnr-detail-empty{display:grid;place-items:center;min-height:180px;text-align:center;border:1px dashed #394550;border-radius:8px}
.pnr-topic-chat{display:grid;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid #27333d}
.pnr-topic-chat h4{margin:0;font-size:13px}
.pnr-topic-message-list{display:grid;gap:7px;max-height:220px;overflow:auto}
.pnr-topic-message{padding:8px 9px;border:1px solid #2d3944;border-radius:8px;background:#0f151a}
.pnr-topic-message header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 5px;padding:0;border:0}
.pnr-topic-message header b{font-size:11px}.pnr-topic-message header span{color:#83909a;font-size:10px}
.pnr-topic-message p{margin:0;color:#e4eaee;font-size:12px;line-height:1.35;white-space:pre-wrap}
.pnr-topic-composer{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:end;gap:8px}
.pnr-topic-composer textarea{min-height:48px;resize:vertical;border-radius:8px;background:#0e1317}
.pnr-topic-composer button{align-self:end}
.reports-object-tabs .access-mode{pointer-events:none;color:#dfe6eb;border-color:#43505c;background:#18222b}
.report-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.report-page-card{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:92px;padding:15px;border:1px solid #2e3a45;border-radius:8px;background:#111821}
.report-page-card span{display:block;color:#9aa7b1;font-size:11px;font-weight:900;text-transform:uppercase}
.report-page-card h3{margin:4px 0;font-size:18px}
.report-page-card p{margin:0;color:#aeb8c1;font-size:12px;font-weight:800}
.report-access-modal{display:grid;gap:12px;width:100%;min-width:0}
.report-access-note{display:grid;gap:4px;min-width:0;margin:0;color:#e4e9ed;font-size:13px;font-weight:850;overflow-wrap:anywhere}
.report-access-note span{display:block;max-width:100%;color:#8f9aa3;font-size:12px;font-weight:700;line-height:1.35}
.report-access-list{display:grid;gap:7px;max-height:220px;overflow:auto}
.report-access-row{display:grid;grid-template-columns:minmax(0,1fr) 112px 74px;align-items:center;gap:7px;padding:8px;border:1px solid #2c3843;border-radius:8px;background:#0f151a}
.report-access-row b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.report-access-row span{display:block;color:#8f9aa3;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.report-access-add{display:grid;gap:11px;padding:12px;border:1px solid #2c3843;border-radius:8px;background:#111820}
.report-access-add-head,.report-access-submit-row{display:flex;align-items:end;justify-content:space-between;gap:12px}
.report-access-add h4,.report-access-add output{margin:0}
.report-access-mode{display:inline-flex;height:34px;padding:2px;border:1px solid #34414d;border-radius:8px;background:#0e1419}
.report-access-mode button{height:28px;border:0;border-radius:6px;background:transparent;color:#97a3ad;font-size:12px;font-weight:900;cursor:pointer}
.report-access-mode button.active{background:#263440;color:#f2f6f8}
.report-access-mode button:disabled{opacity:.35;cursor:not-allowed}
.report-access-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.report-access-fields .wide{grid-column:1/-1}
.report-access-add label{display:grid;gap:5px;color:#aeb8c1;font-size:12px;font-weight:800}
.report-access-add output{min-height:18px;color:#8ee0a8;font-size:13px;font-weight:850}
.report-access-add button{justify-self:start}
.report-access-submit-row label{min-width:180px}
@media(max-width:720px){
  .modal-card.report-access-card{width:min(520px,calc(100vw - 28px));padding:18px}
  .report-access-row{grid-template-columns:1fr;align-items:stretch}
  .report-access-row select,.report-access-row button{width:100%}
  .report-access-add-head,.report-access-submit-row{align-items:stretch;flex-direction:column}
  .report-access-fields{grid-template-columns:1fr}
  .report-access-submit-row label{min-width:0}
  .report-access-add button{width:100%}
}
.session-log-toolbar{display:grid;grid-template-columns:minmax(220px,1.2fr) 190px 190px auto auto auto;align-items:end;gap:10px;margin-bottom:12px;padding:12px}
.session-log-toolbar label{display:grid;gap:5px;color:#aeb8c1;font-size:11px;font-weight:850}
.session-log-toolbar input{height:36px}
.session-online-filter{display:flex!important;align-items:center;gap:8px;height:36px;padding:0 10px;border:1px solid #303b44;border-radius:8px;background:#10161b;color:#dce3e8!important}
.session-online-filter input{width:16px;height:16px;accent-color:var(--green)}
.session-log-toolbar>strong{display:flex;align-items:center;gap:7px;height:36px;padding:0 12px;border:1px solid #294d37;border-radius:999px;background:#102017;color:#8ee5aa;white-space:nowrap}
.session-log-toolbar>strong i,.session-user i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#69747d}
.session-log-toolbar>strong i,.session-user i.online{background:var(--green);box-shadow:0 0 0 4px #3ecc7124}
.session-user{display:grid;grid-template-columns:12px minmax(0,1fr);align-items:center;column-gap:8px;min-width:220px}
.session-user b,.session-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.session-user small{grid-column:2;color:#8f9aa3;font-size:11px}
.session-role{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;background:#142435;color:#9dccff;font-size:11px;font-weight:900}
.session-role.guest{background:#2a2234;color:#d8b8ff}
.session-online,.session-offline{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:900}
.session-online{background:#12341f;color:#84eca6}.session-offline{background:#262d34;color:#9ba6ae}
.session-agent{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8f9aa3}
.session-log-card .table-scroll{max-height:calc(100vh - 245px)}
@media(max-width:1080px){.session-log-toolbar{grid-template-columns:1fr 1fr}.session-log-toolbar>strong{justify-content:center}.session-log-card .table-scroll{max-height:calc(100vh - 300px)}}
.super-panel-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-height:calc(100vh - 150px)}
.super-panel-users{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0;padding:12px}
.super-panel-users label{display:grid;gap:6px;color:#aeb8c1;font-size:11px;font-weight:850}
.super-panel-users input{height:38px}
.super-user-list{display:grid;align-content:start;gap:6px;min-height:0;overflow:auto;padding-right:2px}
.super-user{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;column-gap:10px;min-height:58px;padding:8px;border:1px solid #26323b;border-radius:8px;background:#10161b;color:#e9eef1;text-align:left;cursor:pointer}
.super-user:hover{background:#171f25}.super-user.active{border-color:#4c6a56;background:#142119}
.super-user b,.super-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.super-user small{grid-column:2;color:#8f9aa3;font-size:11px}
.super-panel-preview{display:grid;align-content:start;gap:14px;min-width:0}
.super-panel-selector{display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:end;gap:12px;padding-bottom:14px;border-bottom:1px solid #26323b}
.super-panel-selector label{display:grid;gap:6px;color:#aeb8c1;font-size:11px;font-weight:850}.super-panel-selector select{height:40px}
.super-panel-selector button{height:40px}
.super-person-head{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid #26323b}
.admin-user-avatar.big{width:70px;height:70px;font-size:21px}
.super-person-head h3{margin:0;font-size:24px}.super-person-head p{margin:4px 0 0;color:#97a3ad}
.super-person-head strong{display:inline-flex;align-items:center;height:30px;padding:0 10px;border-radius:999px;background:#172839;color:#9fd0ff;font-size:12px;white-space:nowrap}
.super-panel-actions{display:flex;gap:10px;justify-content:flex-end}.super-panel-actions button{height:40px}
.super-panel-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);align-items:start;gap:14px}
.super-panel-details{display:grid;align-content:start;gap:14px;min-width:0}
.super-access-grid{display:grid;grid-template-columns:1fr;gap:14px}
.super-access-grid h4,.super-phone-card h4{margin:0 0 10px;font-size:14px}
.super-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:7px}
.super-page-grid span{display:grid;place-items:center;min-height:34px;padding:0 10px;border:1px solid #2d3841;border-radius:999px;background:#10161b;color:#7f8b94;font-size:12px;font-weight:900;text-align:center}
.super-page-grid span.enabled{border-color:#2c5b3d;background:#102017;color:#95ecae}
.super-access-list{display:grid;gap:8px;max-height:360px;overflow:auto}
.super-access-row{display:grid;gap:4px;padding:10px 11px;border:1px solid #2d3841;border-radius:8px;background:#10161b}
.super-access-row strong{font-size:14px}.super-access-row span{color:#e5ebef;font-size:12px;font-weight:850}
.super-access-row small{color:#8f9aa3;font-size:11px}.super-access-row.muted{border-style:dashed;color:#8f9aa3}
.super-phone-card{display:grid;gap:14px;padding:14px;border:1px solid #2d3841;border-radius:8px;background:#10161b;color:#aeb8c1}
.super-phone-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px}
.super-phone-toolbar h4{margin:0 0 4px!important}.super-phone-toolbar span{color:#7f8b94;font-size:11px;font-weight:850}
.super-phone-toolbar label{display:grid;gap:5px;min-width:220px;color:#aeb8c1;font-size:11px;font-weight:850}.super-phone-toolbar select{height:38px}
.super-device-preview{display:grid;place-items:center;min-height:520px;padding:18px;border:1px solid #202a32;border-radius:12px;background:radial-gradient(circle at 50% 0,#27323b70,transparent 42%),#080b0e;overflow:auto}
.super-device-frame{position:relative;width:min(100%,330px);aspect-ratio:calc(1 / var(--preview-ratio));max-height:720px;padding:13px;border:8px solid #030405;border-radius:42px;background:#090c0f;box-shadow:0 22px 60px #000c,0 0 0 1px #39434b}
.super-device-frame.ios:before{content:"";position:absolute;top:10px;left:50%;z-index:4;width:96px;height:27px;transform:translateX(-50%);border-radius:999px;background:#030405;box-shadow:inset 0 0 0 1px #1c2329}
.super-device-frame.android:before{content:"";position:absolute;top:15px;left:50%;z-index:4;width:14px;height:14px;transform:translateX(-50%);border-radius:50%;background:#030405;box-shadow:0 0 0 1px #222b32}
.super-device-status{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;height:31px;padding:0 12px;color:#edf2f5;font-size:11px;font-weight:900}.super-device-status i{width:42px;height:10px;border-radius:999px;background:linear-gradient(90deg,#edf2f5 45%,#edf2f555 45%)}
.super-device-app{height:calc(100% - 47px);overflow:hidden;border:1px solid #25313a;border-radius:28px;background:#0d1115}
.super-device-app header{display:grid;gap:2px;padding:22px 14px 12px;border-bottom:1px solid #202a32;background:#0b0f13}.super-device-app header b{font-size:17px;color:#fff}.super-device-app header small{overflow:hidden;color:#8e99a2;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.super-device-app nav{display:grid;gap:7px;padding:11px;background:#0f151a}.super-device-app nav span{height:34px;display:flex;align-items:center;padding:0 10px;border:1px solid #27333c;border-radius:10px;background:#141b20;color:#cdd5da;font-size:11px;font-weight:900}.super-device-app nav span.active{border-color:#ef3a36;background:#e93430;color:#fff}
.super-device-app section{display:grid;gap:10px;padding:13px}.super-device-app section strong{font-size:20px;color:#fff}.super-device-app section p{margin:0;color:#8e99a2;font-size:11px;line-height:1.35}.super-device-app section div{display:grid;gap:2px;padding:10px;border:1px solid #26323b;border-radius:10px;background:#11171c}.super-device-app section div b{color:#eef3f6;font-size:12px}.super-device-app section div span{color:#8e99a2;font-size:10px}
.super-device-home{position:absolute;left:50%;bottom:10px;width:112px;height:4px;transform:translateX(-50%);border-radius:999px;background:#eef3f6}
.super-phone-actions{display:flex;align-items:center;gap:12px;justify-content:space-between}.super-phone-actions button{height:40px}.super-phone-actions small{max-width:520px;color:#7f8b94;font-size:11px;line-height:1.35}
.super-impersonation-banner{position:fixed;left:12px;bottom:14px;z-index:60;display:grid;gap:8px;width:max(196px,calc(var(--sidebar-w) - 24px));max-width:calc(100vw - 24px);padding:10px;border:1px solid #715624;border-radius:12px;background:#22180bd9;color:#ffe0a3;box-shadow:0 14px 42px #0009;backdrop-filter:blur(14px)}
.super-impersonation-banner span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.25}.super-impersonation-banner button{width:100%;height:34px;border:0;border-radius:9px;background:#f1a11a;color:#17120a;font-weight:900;cursor:pointer}
body.super-phone-preview{display:grid;justify-items:center;align-items:start;min-height:100vh;overflow:auto;background:#060809}
body.super-phone-preview .app{width:min(var(--super-phone-width,430px),100vw)!important;max-width:min(var(--super-phone-width,430px),100vw)!important;min-height:min(var(--super-phone-height,852px),100vh);margin:0 auto;grid-template-columns:minmax(0,1fr);box-shadow:0 0 0 1px #26323b,0 18px 70px #000c}
body.super-phone-preview .sidebar{display:none!important}
body.super-phone-preview .workspace{display:block;min-width:0;width:100%;min-height:min(var(--super-phone-height,852px),100vh)}
body.super-phone-preview .topbar{height:58px!important;min-height:58px!important;padding:0 12px!important;gap:8px;border-bottom-color:#283039;background:#0a0d10ed}
body.super-phone-preview .topbar>div:first-of-type{min-width:0;margin-right:auto}
body.super-phone-preview .topbar h1{font-size:17px!important;line-height:1.1!important}
body.super-phone-preview .topbar p{display:block;color:#e34a46;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
body.super-phone-preview .menu-button,body.super-phone-preview .global-search,body.super-phone-preview .notification,body.super-phone-preview .user-menu,body.super-phone-preview #vpn-toggle{display:none!important}
body.super-phone-preview .topbar #logout{display:grid;width:40px;height:40px;border:1px solid #303942;background:#11161b}
body.super-phone-preview .content{width:100%!important;max-width:100%!important;min-width:0;padding:8px 8px 82px!important}
body.super-phone-preview.mobile-timesheet-mode .content{width:100%!important;max-width:100%!important;padding:8px 8px 82px!important}
body.super-phone-preview.mobile-timesheet-mode .mobile-timesheet-page{gap:8px;padding-top:8px}
body.super-phone-preview.mobile-timesheet-mode .production-calendar-legend{display:none}
body.super-phone-preview.mobile-timesheet-mode .mobile-journal-section{padding:12px}
body.super-phone-preview.mobile-timesheet-mode .mobile-action-card{min-height:58px;padding:9px 10px}
body.super-phone-preview.mobile-timesheet-mode .mobile-action-card>b{width:38px;height:38px;border-radius:10px;font-size:23px}
body.super-phone-preview .content:has(.dashboard-workspace){height:auto;min-height:calc(100vh - 58px);overflow:auto}
body.super-phone-preview .dashboard-workspace{height:auto;grid-template-columns:1fr;gap:10px}
body.super-phone-preview .dashboard-left-column,body.super-phone-preview .dashboard-right-column{gap:10px;grid-template-rows:auto}
body.super-phone-preview .dashboard-right-column{grid-row:1}
body.super-phone-preview .dashboard-left-column{grid-row:2}
body.super-phone-preview .dashboard-workday-actions{gap:7px}
body.super-phone-preview .dashboard-workday-actions button{height:38px;font-size:11px}
body.super-phone-preview .super-impersonation-banner{left:8px;bottom:8px;width:min(220px,calc(100vw - 16px));border-radius:12px}
.approval-page{display:grid;gap:18px}
.approval-actions-panel{display:flex;align-items:center;justify-content:space-between;gap:18px}
.approval-actions-panel h3,.dashboard-approval-card h3{margin:0;color:#f5f7fa;font-size:22px}
.approval-actions-panel p{margin:6px 0 0;color:#98a3ad}
.approval-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.approval-filter-tabs{display:flex;gap:8px;flex-wrap:wrap}
.approval-filter-tabs button{height:44px;padding:0 16px;border:1px solid #2d3a45;border-radius:10px;background:#111820;color:#aab3bc;font-weight:800}
.approval-filter-tabs button[aria-selected="true"]{background:#ef3333;border-color:#ff5858;color:#fff}
.approval-list{display:grid;gap:12px}
.approval-request-card{border:1px solid #2b3844;border-radius:12px;background:rgba(17,24,30,.92);padding:14px;display:grid;gap:12px}
.approval-request-card header,.approval-request-card footer,.approval-request-main{display:flex;align-items:center;justify-content:space-between;gap:12px}
.approval-request-main>div{min-width:0}
.approval-request-main h3{margin:0;color:#fff;font-size:20px}
.approval-request-main p,.approval-request-main small,.approval-request-main em{display:block;margin:4px 0 0;color:#9aa5ae;font-style:normal}
.approval-request-main em{color:#d7dde3}
.approval-status{display:inline-flex;align-items:center;height:30px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:900;text-transform:uppercase}
.approval-status.pending{background:rgba(245,158,11,.18);color:#ffd08a}
.approval-status.approved{background:rgba(34,197,94,.18);color:#86efac}
.approval-status.rejected{background:rgba(239,68,68,.2);color:#fca5a5}
.approval-request-card.approved{border-color:rgba(34,197,94,.34)}
.approval-request-card.rejected{border-color:rgba(239,68,68,.34)}
.approval-upload-modal,.approval-review-modal{display:grid;gap:14px}
.approval-file-drop.has-file{border-color:#4e765e;background:#101b15}
.approval-file-preview{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border:1px solid #303b44;border-radius:10px;background:#10161a}
.approval-file-preview img,.approval-file-preview>span{display:grid;place-items:center;width:72px;height:58px;border-radius:9px;background:#1c2831;color:#b7d9ed;object-fit:cover;font-weight:900}
.approval-file-preview>span.pdf{background:#2b1c1d;color:#ffaaa5}
.approval-file-preview div{min-width:0}
.approval-file-preview strong,.approval-file-preview small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.approval-file-preview strong{color:#f3f7f9;font-size:13px}
.approval-file-preview small{margin-top:3px;color:#8d98a1;font-size:10px}
.approval-upload-status{min-height:20px;color:#8d98a1;font-size:12px;font-weight:800}
.approval-upload-status.ready{color:#91d6a5}
.approval-upload-status.active{color:#ffd08a}
.approval-upload-status.success{color:#86efac}
.approval-review-modal p{margin:0;padding:12px;border:1px solid #2c3742;border-radius:10px;background:#111820}
.approval-review-modal p b,.approval-review-modal p span{display:block}
.approval-review-modal p span{margin-top:4px;color:#9aa5ae}
.dashboard-approval-card header{display:flex;align-items:center;justify-content:space-between}
.dashboard-approval-card header span{display:grid;place-items:center;min-width:34px;height:30px;border-radius:999px;background:#202a33;color:#dce3e8;font-weight:900}
.dashboard-approval-card>div{display:grid;gap:8px;margin-top:12px}
.dashboard-approval-card button{display:grid;gap:3px;text-align:left;border:1px solid #2b3844;background:#101820;color:#eef2f5;border-radius:10px;padding:10px 12px}
.dashboard-approval-card small{color:#9aa5ae}
@media(max-width:1180px){.super-panel-workspace{grid-template-columns:1fr}.super-phone-card{max-width:520px;width:100%;justify-self:center}}
@media(max-width:980px){.super-panel-shell{grid-template-columns:1fr}.super-access-grid{grid-template-columns:1fr}.super-panel-selector{grid-template-columns:1fr}.super-person-head{grid-template-columns:56px minmax(0,1fr)}.super-person-head strong{grid-column:1/-1;justify-self:start}.admin-user-avatar.big{width:56px;height:56px}.super-phone-toolbar,.super-phone-actions{align-items:stretch;flex-direction:column}.super-phone-toolbar label{min-width:0}.super-device-preview{min-height:520px}}
@media(max-width:980px){.employee-directory-filters{grid-template-columns:1fr 1fr}.employee-directory-filters>strong{justify-items:start}}
.pnr-layout.mobile-preview{grid-template-columns:minmax(300px,420px);justify-content:center}
.pnr-layout.mobile-preview .pnr-detail-panel{position:fixed;inset:auto 12px 12px 12px;width:auto;z-index:20;max-height:58vh;display:none}
.pnr-layout.mobile-preview .pnr-detail-panel.open{display:block}
.pnr-layout.mobile-preview .pnr-system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.pnr-layout.mobile-preview .pnr-system{height:54px}
@media(max-width:980px){
  .reports-sticky-head{position:sticky;top:0}
  .reports-toolbar{grid-template-columns:1fr;align-items:start}
  .pnr-layout{grid-template-columns:1fr}
  .pnr-detail-panel{position:fixed;inset:auto 12px 12px 12px;width:auto;z-index:20;max-height:60vh;display:none}
  .pnr-detail-panel.open{display:block}
  .pnr-group header{top:205px}
}
@media(max-width:620px){
  .reports-shell{min-height:0}
  .reports-crumbs{font-size:10px;gap:5px;overflow:auto;white-space:nowrap}
  .reports-crumbs b{font-size:12px}
  .reports-navigation-head{padding-top:8px}
  .reports-navigation-head h2{font-size:20px}
  .reports-navigation-grid,.reports-navigation-grid-root{grid-template-columns:1fr}
  .reports-navigation-card{min-height:104px;padding:14px}
  .reports-toolbar{padding:11px}
  .reports-toolbar h2{font-size:18px}
  .reports-object-tabs{overflow:auto}
  .pnr-status-legend{display:none}
  .pnr-summary{width:100%;justify-content:space-between}
  .pnr-summary span{flex:1;min-width:0}
  .pnr-layout,.pnr-groups,.pnr-group,.pnr-system-grid{min-width:0;max-width:100%}
  .pnr-system-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .pnr-system{height:52px}
  .pnr-system-main{font-size:13px}
  .pnr-group h3{font-size:13px}
  .pnr-detail-row{grid-template-columns:96px minmax(0,1fr)}
}

/* Stable app shell: one left menu style across every page. */
body.web-runtime #vpn-toggle{display:none!important}
.sidebar{width:var(--sidebar-w);padding:16px 12px 12px!important;overflow:hidden}
.brand{display:grid!important;grid-template-columns:58px minmax(0,1fr);align-items:center;height:72px!important;gap:14px!important;margin:0 0 16px!important;padding:0 8px!important;font:900 24px/1 Tahoma,"Segoe UI",Arial,sans-serif!important;letter-spacing:0!important}
.brand img{display:block;width:56px!important;height:56px!important;object-fit:contain}
.brand strong{display:flex;align-items:center;height:56px;min-width:0;white-space:nowrap}
.sidebar nav{display:grid!important;grid-auto-rows:auto;gap:4px!important;align-content:start;min-height:0;overflow:auto;padding-right:2px}
.sidebar nav button,.settings-button,.collapse{height:42px!important;min-height:42px!important;border-radius:7px!important;font:800 14px/1 Tahoma,"Segoe UI",Arial,sans-serif!important;letter-spacing:0!important}
.sidebar nav button{display:grid!important;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px!important;width:100%;padding:0 10px!important}
.sidebar nav button b,.settings-button b,.collapse b{display:grid!important;place-items:center;width:28px!important;min-width:28px!important;font:800 17px/1 Tahoma,"Segoe UI",Arial,sans-serif!important;text-align:center}
.sidebar nav button span,.settings-button span,.collapse span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar nav .nav-group,.sidebar nav .nav-subgroup{display:grid;min-width:0}
.sidebar nav .nav-group>summary,.sidebar nav .nav-subgroup>summary{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:9px;height:42px;padding:0 8px 0 10px;border:0;border-radius:7px;color:#d9dde0;font:800 14px/1 Tahoma,"Segoe UI",Arial,sans-serif;list-style:none;cursor:pointer;user-select:none}
.sidebar nav .nav-group>summary::-webkit-details-marker,.sidebar nav .nav-subgroup>summary::-webkit-details-marker{display:none}
.sidebar nav .nav-group>summary:hover,.sidebar nav .nav-subgroup>summary:hover{background:#161b20}
.sidebar nav .nav-group>summary b,.sidebar nav .nav-subgroup>summary b{display:grid;place-items:center;width:28px;font:800 17px/1 Tahoma,"Segoe UI",Arial,sans-serif}
.sidebar nav .nav-group>summary span,.sidebar nav .nav-subgroup>summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar nav .nav-group>summary i,.sidebar nav .nav-subgroup>summary i{font-style:normal;text-align:center;transition:transform .16s ease}
.sidebar nav .nav-group[open]>summary i,.sidebar nav .nav-subgroup[open]>summary i{transform:rotate(180deg)}
.sidebar nav .nav-group.active>summary{background:#20272d;color:#fff}
.sidebar nav .nav-group-items,.sidebar nav .nav-subgroup-items{display:grid;gap:3px;padding:3px 0 3px 13px}
.sidebar nav .nav-subgroup>summary{height:38px;padding-left:9px;font-size:13px}
.sidebar nav .nav-subgroup-items{padding-left:13px}
.sidebar nav .nav-group-items button,.sidebar nav .nav-subgroup-items button{height:38px!important;min-height:38px!important;font-size:13px!important}
.sidebar nav .nav-subgroup-items button{grid-template-columns:22px minmax(0,1fr);padding-left:8px!important}
.sidebar nav .nav-subgroup-items button b{width:22px!important;min-width:22px!important;font-size:14px!important}
.settings-button{display:grid!important;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px!important;width:100%;margin-top:auto!important;padding:0 10px!important}
.collapse{display:grid!important;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px!important;width:100%;margin-top:8px!important;padding:0 10px!important}
.app.compact .brand{grid-template-columns:1fr;justify-items:center}
.app.compact .brand img{width:46px!important;height:46px!important}
.app.compact .sidebar nav button,.app.compact .settings-button,.app.compact .collapse{grid-template-columns:1fr;justify-items:center;padding:0!important}
.app.compact .sidebar nav .nav-group>summary,.app.compact .sidebar nav .nav-subgroup>summary{grid-template-columns:1fr;justify-items:center;padding:0}
.app.compact .sidebar nav .nav-group>summary span,.app.compact .sidebar nav .nav-group>summary i,.app.compact .sidebar nav .nav-subgroup>summary span,.app.compact .sidebar nav .nav-subgroup>summary i{display:none}
.app.compact .sidebar nav .nav-group-items,.app.compact .sidebar nav .nav-subgroup-items{padding-left:0}
.topbar{height:68px!important;min-height:68px!important}
.topbar h1{font-size:22px!important;line-height:1.15!important}

.phone-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:8px;min-height:0;padding:10px;border-bottom:1px solid #26323b;background:#0e151a}
.phone-panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.phone-panel-title strong{font-size:14px;font-weight:900}
.phone-panel-title span{display:grid;place-items:center;min-width:26px;height:22px;padding:0 7px;border-radius:999px;background:#202930;color:#cfd6dc;font-size:11px;font-weight:900}
.phone-panel label{display:grid;gap:5px;color:#9da8b0;font-size:11px;font-weight:850}
.phone-panel>.organization-scope-filter select{height:34px;border-radius:10px;background:#0b1115;font-size:12px}
.phone-panel input{height:34px;border-radius:7px;background:#0b1115;font-size:12px}
.phone-contact-list{display:grid!important;grid-template-columns:1fr!important;align-content:start;gap:5px;min-height:190px;max-height:none;overflow:auto;padding-right:2px}
.phone-contact{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;width:100%;min-height:54px;padding:8px;border:1px solid #202b33;border-radius:8px;background:#10171c;color:#e6edf1;text-align:left;cursor:pointer}
.phone-contact:hover{background:#182128}
.phone-contact.active{border-color:#315b42;background:#15241b}
.phone-contact-main{display:grid;min-width:0;gap:1px}
.phone-contact b,.phone-contact small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.phone-contact b{font-size:13px;font-weight:900}
.phone-contact small{color:#99a6ae;font-size:11px}
.phone-contact-empty{padding:14px;border:1px dashed #37434c;border-radius:8px;color:#8e99a3;text-align:center}
.phone-selected-card{display:none!important;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-height:48px;padding:7px 8px;border:1px solid #2d3a43;border-radius:8px;background:#0b1115}
.phone-selected-card span:last-child{display:grid;min-width:0;gap:1px}
.phone-selected-card b,.phone-selected-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.phone-selected-card b{font-size:12px}
.phone-selected-card small{color:#8f9aa3;font-size:10px}
.phone-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:7px}
.phone-panel button{height:34px;padding:0 8px;font-size:12px}

/* Phone-first layout */
.messenger-shell{grid-template-columns:360px minmax(0,1fr)}
.messenger-shell>*{min-height:0}
.messenger-sidebar{grid-template-rows:minmax(0,1fr)!important;min-height:0;overflow:hidden}
.phone-panel{height:100%;min-height:0!important;grid-template-rows:auto auto minmax(0,1fr) auto;padding:12px 12px 24px;background:#0d1419;overflow:hidden}
.phone-search span{display:none}
.phone-search input{height:42px;border-radius:12px;padding:0 14px;background:#111a20;font-size:14px}
.phone-dialer-toggle{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%;height:38px!important;min-height:38px!important;padding:0 12px!important;border:1px solid #26333c!important;border-radius:12px!important;background:#101820!important;color:#e6edf1!important;font-size:13px!important;font-weight:900!important;cursor:pointer}
.phone-dialer-toggle b{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#1d2932;color:#c7d1d8;font-size:15px;line-height:1}
.phone-dialer-toggle.open{border-color:#3b4b57!important;background:#131d24!important}
.phone-dialer[hidden]{display:none!important}
.phone-dialer{display:grid;gap:12px;justify-items:center;padding:14px 14px 12px;border:1px solid #26333c;border-radius:18px;background:linear-gradient(180deg,#111a20,#0b1115)}
.phone-dial-display{width:100%;height:44px!important;padding:0 12px!important;border:0!important;border-bottom:1px solid #2c3943!important;border-radius:0!important;background:transparent!important;color:#f4f8fb!important;font-size:24px!important;font-weight:900!important;line-height:1;text-align:center;letter-spacing:0!important}
.phone-dial-display::placeholder{color:#66727b}
.phone-dialpad{display:grid;grid-template-columns:repeat(3,56px);gap:9px 14px;justify-content:center}
.phone-dialpad-key{display:grid!important;place-items:center!important;width:56px!important;height:56px!important;min-height:56px!important;padding:6px 0 5px!important;border:1px solid #303d47!important;border-radius:999px!important;background:#1b252d!important;color:#eef5f8!important;box-shadow:inset 0 1px rgba(255,255,255,.08),0 7px 14px rgba(0,0,0,.18);line-height:1!important}
.phone-dialpad-key b{font-size:21px;font-weight:950;line-height:1}
.phone-dialpad-key small{height:11px;color:#8e9aa3;font-size:8px;font-weight:900;line-height:1;letter-spacing:0!important}
.phone-dialpad-key:hover{border-color:#53616d!important;background:#26313a!important}
.phone-dialer-actions{display:grid;grid-template-columns:56px 64px 56px;align-items:center;justify-content:center;gap:14px;width:100%}
.phone-sip-call-button{display:grid!important;place-items:center!important;width:64px!important;height:64px!important;min-height:64px!important;padding:0!important;border:0!important;border-radius:999px!important;background:#25d366!important;color:#062414!important;font-size:28px!important;font-weight:950!important;box-shadow:0 12px 26px rgba(37,211,102,.26),inset 0 1px rgba(255,255,255,.26)}
.phone-dial-delete{display:grid!important;place-items:center!important;width:48px!important;height:48px!important;min-height:48px!important;padding:0!important;border:1px solid #303d47!important;border-radius:999px!important;background:#172129!important;color:#c8d2d9!important;font-size:18px!important;font-weight:950!important}
.phone-dial-delete:hover{border-color:#596875!important;color:#fff!important}
.phone-contact-list{min-height:0;gap:6px;padding:2px 3px 8px 0;overscroll-behavior:contain}
.phone-contact{grid-template-columns:44px minmax(0,1fr);min-height:62px;padding:9px 10px;border-color:transparent;background:transparent;border-radius:10px}
.phone-contact:hover{background:#172129}
.phone-contact.active{border-color:#315b42;background:#16251c}
.phone-contact .messenger-avatar,.phone-contact .employee-avatar{width:44px;height:44px;min-width:44px;font-size:12px}
.phone-contact .employee-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.phone-contact b{font-size:14px}.phone-contact small{font-size:11px}
.phone-selected-card{display:none!important;min-height:54px;margin-top:2px;border-color:#2b3943;background:#101920}
.phone-actions{position:sticky;bottom:12px;z-index:2;grid-template-columns:1fr 1fr 1fr;padding:4px 0 2px;background:#0d1419}
.phone-actions button{height:44px!important;border-radius:12px;font-size:13px;font-weight:900}
.phone-room-placeholder{display:grid;place-items:center;text-align:center;color:#8f9aa3}
.messenger-back{display:none;place-items:center;width:36px;height:36px;padding:0;border:1px solid #33404a;border-radius:50%;background:#141d23;color:#dbe4e9;font-size:30px;line-height:1;cursor:pointer}
.messenger-call-shell.audio-only .messenger-call-card{grid-template-rows:auto minmax(280px,48vh) auto;width:min(520px,calc(100vw - 28px))}
.messenger-audio-stage{display:none;place-items:center;align-content:center;gap:10px;padding:24px;background:radial-gradient(circle at 50% 12%,#1e2c34,#080c0f 66%)}
.messenger-audio-stage .messenger-avatar.big{width:96px;height:96px;font-size:24px}
.messenger-audio-stage strong{font-size:24px;text-align:center}.messenger-audio-stage small{color:#9aa6ae;font-size:14px;text-transform:none}
.messenger-call-shell.audio-only .messenger-audio-stage{display:grid}
.messenger-call-shell.audio-only .messenger-call-stage{display:none}
.messenger-call-shell.audio-only #messenger-call-camera{display:none!important}

/* Mac desktop responsiveness: 16" keeps the roomy layout, 14" and narrower windows compact the shell. */
@media (min-width:821px) and (max-width:1512px){
  :root{--sidebar-w:200px}
  .sidebar{padding:14px 10px 10px!important}
  .brand{grid-template-columns:50px minmax(0,1fr)!important;height:62px!important;gap:10px!important;font-size:20px!important}
  .brand img{width:48px!important;height:48px!important}
  .sidebar nav{grid-auto-rows:auto;gap:3px!important}
  .sidebar nav button,.settings-button,.collapse{height:39px!important;min-height:39px!important;font-size:13px!important}
  .topbar{height:64px!important;min-height:64px!important;padding:0 16px!important;gap:10px!important}
  .topbar h1{font-size:20px!important}
  .global-search{width:210px}
  .global-search input{height:38px}
  .user-menu{padding-left:10px}
  .user-menu strong{max-width:116px;font-size:14px!important}
  .user-menu small{max-width:116px;font-size:11px!important}
  .avatar{width:36px;height:36px}
  .content{padding:18px 20px 28px}
  .panel{padding:14px}
  .page-head{gap:12px}
  .toolbar{gap:8px}
  .toolbar select,.toolbar input{min-width:136px}
  .content:has(.dashboard-workspace){height:auto;min-height:calc(100vh - 96px);overflow:auto}
  .dashboard-workspace{height:auto;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:10px}
  .dashboard-left-column,.dashboard-right-column{gap:10px}
  .dashboard-crew-count-card strong span{font-size:26px}
  .dashboard-crew-count-card strong em{font-size:28px}
  .dashboard-company-stats strong b{font-size:22px}
  .dashboard-company-stats strong em{font-size:24px!important}
  .table-scroll{max-height:calc(100vh - 190px)}
  .compact-table-card .table-scroll{max-height:calc(100vh - 250px)}
  .payroll-sticky-head{top:64px;padding:10px}
  .payroll-head-row{gap:10px}
  .payroll-left-controls,.payroll-right-controls{gap:8px}
  .payroll-period-left{min-width:210px}
  .payroll-search-control{min-width:170px;max-width:230px}
  .payroll-tabs button{height:38px;min-width:92px;padding:0 12px;font-size:13px}
  .payroll-action-slot .primary{height:44px;min-height:44px}
  .timesheet .person{width:380px;min-width:380px;max-width:380px}
  .timesheet .day,.timesheet .cell{width:31px;min-width:31px;max-width:31px}
  .timesheet .overtime,.timesheet .total{width:62px;min-width:62px;max-width:62px;font-size:13px}
  .timesheet-person .employee-surname{font-size:15px}
  .timesheet-person .employee-details{font-size:11px}
}
@media (min-width:821px) and (max-width:1180px){
  :root{--sidebar-w:78px}
  .app{grid-template-columns:var(--sidebar-w) minmax(0,1fr)}
  .brand{grid-template-columns:1fr!important;justify-items:center!important;height:58px!important;padding:0!important}
  .brand img{width:44px!important;height:44px!important}
  .brand strong,.sidebar nav button span,.settings-button span,.collapse span{display:none!important}
  .sidebar nav .nav-group>summary,.sidebar nav .nav-subgroup>summary{grid-template-columns:1fr!important;justify-items:center!important;padding:0!important}
  .sidebar nav .nav-group>summary span,.sidebar nav .nav-group>summary i,.sidebar nav .nav-subgroup>summary span,.sidebar nav .nav-subgroup>summary i{display:none!important}
  .sidebar nav .nav-group-items,.sidebar nav .nav-subgroup-items{padding-left:0!important}
  .sidebar nav button,.settings-button,.collapse{grid-template-columns:1fr!important;justify-items:center!important;padding:0!important}
  .sidebar nav button b,.settings-button b,.collapse b{width:100%!important}
  .topbar{padding:0 12px!important}
  .topbar .global-search{width:170px}
  .topbar-refresh{padding:0 10px!important}
  .user-menu small{display:none!important}
  .user-menu strong{max-width:96px}
  .content{padding:14px 14px 24px}
  .page-head{align-items:stretch;flex-direction:column}
  .toolbar select,.toolbar input{min-width:120px}
  .dashboard-workspace{grid-template-columns:1fr}
  .dashboard-left-column,.dashboard-right-column{grid-template-rows:auto}
  .payroll-head-row{grid-template-columns:1fr}
  .payroll-left-controls{flex-wrap:wrap}
  .payroll-right-controls{justify-content:space-between;flex-wrap:wrap}
  .payroll-search-control{min-width:210px;max-width:none;flex:1 1 210px}
  .payroll-summary-drawer{top:132px}
  .messenger-shell{grid-template-columns:300px minmax(0,1fr)}
  .timesheet .person{width:285px;min-width:285px;max-width:285px}
  .timesheet .day,.timesheet .cell{width:29px;min-width:29px;max-width:29px}
  .timesheet .overtime,.timesheet .total{width:56px;min-width:56px;max-width:56px}
}

@media(max-width:820px){
  html,body{width:100%;overflow-x:hidden}
  .app{grid-template-columns:minmax(0,1fr);width:100%;min-width:0}
  .workspace{min-width:0;width:100%;grid-template-rows:auto minmax(0,1fr) 0}
  .topbar{height:58px!important;min-height:58px!important;padding:0 10px!important;gap:8px}
  .topbar h1{font-size:18px!important;line-height:1.1!important}
  .topbar .user-menu{display:none}
  .menu-button{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid #303a43;border-radius:8px;background:#10161b;color:#dfe6ea}
  .content{width:100%;min-width:0;padding:12px 10px 24px}
  .topbar #vpn-toggle{display:none!important}
  .content:has(.dashboard-workspace){height:auto;min-height:calc(100vh - 58px);overflow:auto;padding:10px}
  .dashboard-workspace{height:auto;grid-template-columns:1fr;gap:10px}
  .dashboard-left-column,.dashboard-right-column{gap:10px;grid-template-rows:auto}
  .dashboard-right-column{grid-row:1}
  .dashboard-left-column{grid-row:2}
  .dashboard-crew-count-card{min-height:74px;padding:9px 10px}
  .dashboard-company-stats{gap:4px}
  .dashboard-company-stats>div>span{font-size:10px}
  .dashboard-company-stats strong b{font-size:22px}
  .dashboard-company-stats strong i{font-size:18px!important}
  .dashboard-company-stats strong em{font-size:24px!important}
  .dashboard-company-stats time{font-size:10px}
  .dashboard-workday-card{padding:10px}
  .dashboard-workday-card header{margin-bottom:8px}
  .dashboard-workday-actions{gap:7px}
  .dashboard-workday-actions button{height:38px;font-size:11px}
  .dashboard-task-card,.dashboard-warehouse-card{min-height:0;padding:12px}
  .dashboard-task-card header,.dashboard-warehouse-card header{margin-bottom:9px}
  .dashboard-task-row,.dashboard-warehouse-row{padding:8px 9px}
  .dashboard-task-list,.dashboard-warehouse-list{max-height:210px;overflow:auto}
  .sidebar{position:fixed;left:-248px;top:0;width:232px;height:100dvh;box-shadow:18px 0 45px #0009}
  .sidebar.open{left:0}
  .brand{height:42px!important;margin-bottom:12px!important}
  .messenger-shell{grid-template-columns:1fr;height:calc(100vh - 112px);min-height:0;border-radius:0;border:0}
  .messenger-shell:not(.phone-chat-open) .messenger-room{display:none}
  .messenger-shell.phone-chat-open .messenger-sidebar{display:none}
  .messenger-sidebar{display:grid;grid-template-rows:minmax(0,1fr)!important;border-right:0;border-bottom:0}
  .phone-panel{grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0;padding:10px 10px 84px}
  .phone-dialer-toggle{height:38px!important;min-height:38px!important;border-radius:11px!important;font-size:13px!important}
  .phone-dialer{gap:10px;padding:12px;border-radius:16px}
  .phone-dial-display{height:40px!important;font-size:21px!important}
  .phone-dialpad{grid-template-columns:repeat(3,52px);gap:8px 13px}
  .phone-dialpad-key{width:52px!important;height:52px!important;min-height:52px!important}
  .phone-dialpad-key b{font-size:20px}
  .phone-dialer-actions{grid-template-columns:52px 60px 52px;gap:13px}
  .phone-sip-call-button{width:60px!important;height:60px!important;min-height:60px!important}
  .phone-dial-delete{width:46px!important;height:46px!important;min-height:46px!important}
  .phone-contact-list{min-height:0;max-height:none}
  .phone-contact{grid-template-columns:40px minmax(0,1fr);min-height:58px;padding:8px}
  .phone-contact .messenger-avatar,.phone-contact .employee-avatar{width:40px;height:40px;min-width:40px}
  .phone-actions{grid-template-columns:1fr 1fr 1fr;margin-bottom:10px}
  .messenger-avatar{width:34px;height:34px}
  .messenger-room{grid-template-rows:58px minmax(0,1fr) auto}
  .messenger-room>header{padding:8px 10px}
  .messenger-chat-title{gap:8px}
  .messenger-back{display:grid}
  .messenger-avatar.big{width:38px;height:38px}
  .messenger-chat-title h3{font-size:15px}
  .messenger-chat-title small{font-size:10px}
  .messenger-policy{display:none}
  .messenger-call{display:grid!important;width:42px;height:42px;font-size:20px}
  .messenger-messages{padding:12px 10px}
  .messenger-message{max-width:88%}
  .messenger-composer{grid-template-columns:minmax(0,1fr) 44px;padding:8px 10px 10px}
  .messenger-call-card{grid-template-rows:auto minmax(260px,60vh) auto;width:calc(100vw - 18px)}
  .messenger-local-video{right:10px;bottom:10px;width:36vw}
}

.employee-home-page{display:grid;gap:12px;width:min(100%,520px);margin:0 auto;padding:4px 0 12px}
.employee-home-date{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:2px 2px 0}
.employee-home-date>div{display:grid;gap:2px}.employee-home-date small{color:#8d98a0;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.employee-home-date h2{margin:0;font-size:22px}.employee-home-date>span{color:#5ee293;font-size:10px}
.employee-home-shift{display:grid;gap:11px;padding:14px;border:1px solid #334049;border-radius:15px;background:#12191e}
.employee-home-shift>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.employee-home-shift>header>div{display:grid;gap:4px}
.employee-home-shift>header small{color:#8d98a0;font-size:10px;text-transform:uppercase;letter-spacing:.07em}.employee-home-shift h3{margin:0;font-size:16px}
.employee-home-shift>header em{padding:5px 8px;border-radius:999px;background:#17462d;color:#82e5a6;font-size:9px;font-style:normal;white-space:nowrap}
.employee-home-warning,.employee-home-next{display:flex;align-items:center;gap:8px;margin:0;padding:9px 10px;border:1px solid #855d16;border-radius:10px;background:#2a2110;color:#f5c55c;font-size:11px}
.employee-home-next{border-color:#34424b;background:#11171c;color:#dbe1e5}.employee-home-warning>b,.employee-home-next>b{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:#f0ad29;color:#17120a}
.employee-home-next>b{background:#e53935;color:#fff}.employee-home-next>span{display:grid;gap:2px}.employee-home-next small{color:#8d98a0;font-size:9px}
.employee-home-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.employee-home-progress i{height:4px;border-radius:999px;background:#303941}.employee-home-progress i.done{background:#38b96c}.employee-home-progress i.current{background:#e53935}
.employee-home-continue{width:100%;min-height:46px;border-radius:11px}.employee-home-section{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 0}.employee-home-section strong{font-size:14px}.employee-home-section small{color:#85919a;font-size:10px}
.employee-home-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.employee-home-links>button{display:grid;align-content:space-between;gap:16px;min-height:105px;padding:12px;border:1px solid #323d45;border-radius:13px;background:#12191e;color:#f3f5f6;text-align:left;cursor:pointer}
.employee-home-links>button>i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#263139;color:#dce2e6;font-size:16px;font-style:normal}.employee-home-links>button>span{display:grid;gap:3px}.employee-home-links strong{font-size:13px}.employee-home-links small{color:#8d98a0;font-size:10px}
.employee-home-object{display:flex;align-items:center;justify-content:center;gap:7px;margin:2px 0 0;color:#8d98a0;font-size:10px}.employee-home-object i{width:8px;height:8px;border-radius:50%;background:#45cf7d;box-shadow:0 0 0 4px #45cf7d22}
.mobile-workday-overview{display:grid;gap:9px;padding:13px;border:1px solid #303a42;border-radius:15px;background:#0f1519}
.mobile-workday-overview>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.mobile-workday-overview>header>div{display:grid;gap:2px}.mobile-workday-overview>header small{color:#8d98a0;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.mobile-workday-overview>header h2{margin:0;font-size:17px}.mobile-workday-overview>header em{padding:5px 8px;border-radius:999px;background:#263038;color:#cbd2d7;font-size:9px;font-style:normal;white-space:nowrap}
.mobile-workday-route{display:grid;gap:7px}.mobile-workday-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:8px 9px;border:1px solid #303a42;border-radius:11px;background:#12181d;color:#f5f7f8;text-align:left;cursor:pointer}
.mobile-workday-row>b{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#263038;color:#c7d0d6;font-size:13px}.mobile-workday-row>span{display:grid;gap:2px}.mobile-workday-row strong{font-size:13px}.mobile-workday-row small{color:#8c979f;font-size:9px}.mobile-workday-row>i{padding:5px 7px;border-radius:8px;background:#e53935;color:#fff;font-size:9px;font-style:normal}.mobile-workday-row>i.optional{background:#263038;color:#aeb8bf}.mobile-workday-row>i.lock{background:#252d33;color:#aeb7bd}
.mobile-workday-row.done{border-color:#286a43;background:#10251a}.mobile-workday-row.done>b{background:#2b9c59;color:#fff}.mobile-workday-row.current{border-color:#e53935;background:#251416;box-shadow:0 0 0 1px #e5393533}.mobile-workday-row.current>b{background:#e53935;color:#fff}.mobile-workday-row.locked{border-color:#5b4648}.mobile-workday-row:disabled{cursor:default;opacity:.75}
.mobile-quick-timesheet-dialog{width:min(430px,calc(100vw - 16px));height:min(760px,calc(100dvh - 16px));max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid #3a454d;border-radius:20px;background:#10161a;color:#f4f6f7;box-shadow:0 24px 70px #000b}
.mobile-quick-timesheet-dialog::backdrop{background:#05080bdb;backdrop-filter:blur(3px)}
.mobile-quick-timesheet-form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0}
.mobile-quick-timesheet-form>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 14px 11px;border-bottom:1px solid #2e383f;background:#10161a}
.mobile-quick-timesheet-form>header h2{margin:0;font-size:19px}.mobile-quick-timesheet-form>header span{color:#aeb8bf;font-size:11px;font-weight:850;white-space:nowrap}
.mobile-quick-timesheet-list{display:grid;align-content:start;gap:7px;min-height:0;padding:9px;overflow-y:auto;overscroll-behavior:contain}
.mobile-quick-timesheet-person{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;min-height:58px;padding:8px 9px 8px 11px;border:1px solid #354049;border-left:4px solid #5c6870;border-radius:12px;background:linear-gradient(145deg,#171d22,#101419);box-shadow:0 7px 18px #0003;transition:.15s}
.mobile-quick-timesheet-person.worked{border-color:#3a7b50;border-left-color:#2bb45f;background:linear-gradient(145deg,#183324,#101419)}
.mobile-quick-timesheet-person.absent{border-color:#8b3b43;border-left-color:#e05159;background:linear-gradient(145deg,#351a1e,#101419)}
.mobile-quick-timesheet-person.vacation{border-color:#3e6b91;border-left-color:#609ed3;background:linear-gradient(145deg,#172c3e,#101419)}
.mobile-quick-timesheet-person.sick{border-color:#7e603d;border-left-color:#c79455;background:linear-gradient(145deg,#352516,#101419)}
.mobile-quick-timesheet-person.dayoff{border-color:#6f7440;border-left-color:#a8ae56;background:linear-gradient(145deg,#292d18,#101419)}
.mobile-quick-timesheet-person.locked{opacity:.62}
.mobile-quick-timesheet-name{display:block;min-width:0;overflow-x:auto;overflow-y:hidden;color:#f5f7f8;font-size:14px;font-weight:950;line-height:1.15;white-space:nowrap;text-transform:uppercase;cursor:grab;touch-action:pan-x;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.mobile-quick-timesheet-name::-webkit-scrollbar{display:none}.mobile-quick-timesheet-name.dragging{cursor:grabbing;user-select:none}
.mobile-quick-timesheet-statuses{display:grid;grid-template-columns:repeat(5,36px);gap:4px}
.mobile-quick-timesheet-status{display:grid;place-items:center;width:36px;height:38px;padding:0;border:1px solid #37424b;border-radius:9px;background:#11161a;color:#9da7af;cursor:pointer;touch-action:manipulation}
.mobile-quick-timesheet-status b{font-family:"Segoe UI",Tahoma,Arial,sans-serif;font-size:18px;font-weight:950;line-height:1}.mobile-quick-timesheet-status:first-child b{font-size:23px}
.mobile-quick-timesheet-status.active.worked{border-color:#3d8159;background:#193625;color:#85e3a8}.mobile-quick-timesheet-status.active.absent{border-color:#9a4149;background:#3e1b1f;color:#ff918e}.mobile-quick-timesheet-status.active.vacation{border-color:#4778a4;background:#172c3e;color:#9ed1fb}.mobile-quick-timesheet-status.active.sick{border-color:#9a6d42;background:#352516;color:#f3be82}
.mobile-quick-timesheet-status.active.dayoff{border-color:#858b48;background:#30351b;color:#e4e995}
.mobile-quick-timesheet-status:disabled{cursor:not-allowed;opacity:.55}
.mobile-quick-timesheet-form>footer{position:sticky;z-index:2;bottom:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border-top:1px solid #2e383f;background:#10161a;box-shadow:0 -10px 24px #05080b99}
.mobile-quick-timesheet-form>footer button{width:100%;min-width:0;min-height:46px;border-radius:11px}
@media(max-width:360px){.mobile-quick-timesheet-person{gap:5px;padding-left:8px}.mobile-quick-timesheet-statuses{grid-template-columns:repeat(5,31px);gap:3px}.mobile-quick-timesheet-status{width:31px;height:36px}.mobile-quick-timesheet-name{font-size:13px}}
.mobile-close-shift.locked{border:1px solid #5a4548;background:#272e34;color:#aeb7bd;box-shadow:none}

.mobile-app-nav{
  position:fixed;
  left:50%;
  bottom:max(8px,env(safe-area-inset-bottom));
  z-index:1200;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  width:min(520px,calc(100vw - 16px));
  padding:6px;
  border:1px solid #2c3943;
  border-radius:18px;
  background:rgba(9,14,18,.94);
  box-shadow:0 14px 34px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.06);
  transform:translateX(-50%);
}
.mobile-app-nav.field-workday{grid-template-columns:repeat(3,minmax(0,1fr))}
.mobile-app-nav button{
  display:grid;
  place-items:center;
  gap:2px;
  min-width:0;
  height:50px;
  padding:4px 3px;
  border:1px solid transparent;
  border-radius:13px;
  background:transparent;
  color:#9faab2;
  font-weight:900;
  cursor:pointer;
}
.mobile-app-nav button b{font-size:16px;line-height:1}
.mobile-app-nav button span{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1}
.mobile-app-nav button.active{border-color:#ef4440;background:#ef3330;color:#fff;box-shadow:0 8px 18px rgba(239,51,48,.22)}
body.super-phone-preview .mobile-app-nav{width:min(var(--super-phone-width,393px),calc(100vw - 18px))}
body.super-phone-preview .content,
body:has(.mobile-app-nav) .content{padding-bottom:86px!important}

@media(max-width:520px){
  dialog::backdrop{backdrop-filter:blur(2px)}
  .modal-card{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);overflow:auto;padding:18px;border-radius:12px}
  .modal-card h2{font-size:22px;line-height:1.12}
  .modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .modal-actions button{width:100%;min-width:0}
  .employee-photo-dialog{width:100vw;height:100dvh}
  .employee-photo-card{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);padding:10px;border-radius:12px}
  .employee-photo-card img{max-height:calc(100dvh - 155px)}
  .employee-photo-card strong{font-size:15px;text-align:center}
  .employee-photo-card small,.employee-photo-card .photo-comment{font-size:12px}
  .mobile-timesheet-mode .content{width:100%;padding:0 8px 28px}
  .mobile-journal-head{padding:13px 12px;border-radius:0 0 16px 16px}
  .mobile-journal-head h1{font-size:21px}
  .mobile-journal-head p{font-size:12px}
  .mobile-date-bar{gap:7px}
  .mobile-site-navigator,.mobile-journal-section,.mobile-day-summary{border-radius:12px}
  .mobile-journal-section{padding:12px}
  .mobile-section-head{grid-template-columns:30px minmax(0,1fr) auto;gap:8px}
  .mobile-step{width:30px;height:30px;border-radius:9px;font-size:13px}
  .mobile-section-head h2{font-size:16px}
  .mobile-section-head p{font-size:11px}
  .mobile-employee-card{grid-template-columns:minmax(0,1fr) 136px;min-height:98px;padding:8px;border-radius:11px}
  .mobile-employee-card .timesheet-person .employee-avatar{flex-basis:40px;width:40px;height:40px}
  .mobile-employee-card .employee-surname{font-size:16px}
  .mobile-employee-card .employee-details{font-size:11px}
  .mobile-status-controls{grid-template-columns:repeat(3,40px);grid-auto-rows:34px;gap:5px}
  .mobile-status-controls button,.mobile-status-controls .mobile-overtime-toggle,.mobile-status-controls .employee-actions-trigger,.mobile-status-controls .mobile-actions-inline{min-height:34px;height:34px;border-radius:9px}
  .mobile-status-controls .mobile-status-check b{font-size:24px}
  .mobile-status-controls button b{font-size:18px}
  .mobile-card-meta{grid-template-columns:1fr}
  .mobile-overtime-toggle{width:max-content;max-width:100%}
  .mobile-status-controls .mobile-overtime-toggle{width:auto;max-width:none}
  .mobile-photo-item{grid-template-columns:68px minmax(0,1fr) 38px;gap:8px}
  .mobile-photo-open{width:68px;height:58px}
  .mobile-photo-delete{width:38px;height:38px;border-radius:9px}
}

.messenger-composer button.messenger-send,
.pnr-topic-composer button.pnr-topic-send{
  display:grid!important;
  place-items:center!important;
  flex:0 0 46px!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  border-radius:999px!important;
  background:rgba(229,57,53,.68)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 10px 24px rgba(229,57,53,.24),inset 0 1px rgba(255,255,255,.12)!important;
  line-height:1!important;
  text-align:center!important;
}

.topbar-refresh{
  height:34px;
  padding:0 13px;
  border:1px solid #34404a;
  border-radius:7px;
  background:#111820;
  color:#e9eef1;
  font-size:12px;
  font-weight:850;
  cursor:pointer;
}
.topbar-refresh:hover{
  border-color:#55626d;
  background:#182129;
}
.topbar-refresh:disabled{
  opacity:.55;
  cursor:wait;
}

.desktop-update-button{
  height:34px;
  padding:0 14px;
  border:1px solid rgba(255,197,92,.55);
  border-radius:8px;
  background:rgba(255,181,38,.14);
  color:#ffd37a;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(255,181,38,.12),inset 0 1px rgba(255,255,255,.08);
}
.desktop-update-button:hover{
  background:rgba(255,181,38,.22);
  border-color:rgba(255,211,122,.82);
}
.desktop-update-button:disabled{
  opacity:.72;
  cursor:wait;
}
.desktop-update-button[hidden]{
  display:none!important;
}
.desktop-zoom-control{display:flex;align-items:center;height:34px;border:1px solid #34414b;border-radius:8px;background:#10161b;overflow:hidden;flex:0 0 auto}
.desktop-zoom-control[hidden]{display:none!important}
.desktop-zoom-control button{height:32px;min-width:30px;padding:0 8px;border:0;border-right:1px solid #2c3740;border-radius:0;background:transparent;color:#d9e1e6;font-size:15px;font-weight:800;cursor:pointer}
.desktop-zoom-control button:last-child{border-right:0}
.desktop-zoom-control button:hover{background:#202a32;color:#fff}
.desktop-zoom-control #desktop-zoom-reset{min-width:52px;color:#9eabb4;font-size:11px}
@media(max-width:1180px){.desktop-zoom-control{display:none!important}}

/* Timesheet day details: per-date photos and one-day slice. */
.timesheet thead .day{vertical-align:middle}
.timesheet thead .day>span,
.timesheet thead .day>small{display:block;line-height:1.05}
.timesheet thead .day>small{margin-top:2px}
.timesheet-crew-day{text-align:center}
.timesheet-day-details-trigger{display:grid;place-items:center;width:22px;height:16px;min-height:16px;margin:3px auto 0;padding:0;border:1px solid #43515b;border-radius:5px;background:#101820cc;color:#dce4e9;font-size:10px;font-weight:900;line-height:1;cursor:pointer}
.timesheet-day-details-trigger.crew{width:24px;height:18px;margin:0 auto;border-color:#53616b;background:#172128;color:#f1f6f9}
.timesheet-day-details-trigger:hover,.timesheet-day-details-trigger:focus-visible{border-color:#ef4440;background:#2a1718;color:#fff;outline:none}
.modal-card:has(.timesheet-day-modal){width:min(1260px,calc(100vw - 30px));max-height:calc(100vh - 36px);overflow:hidden}
.timesheet-day-modal-card .modal-actions{margin-top:12px}
.timesheet-day-modal{display:grid;grid-template-columns:minmax(420px,.92fr) minmax(470px,1.08fr);gap:14px;min-height:min(620px,calc(100vh - 190px))}
.timesheet-day-photos,.timesheet-day-slice{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;border:1px solid #303b44;border-radius:12px;background:#0d1317;overflow:hidden}
.timesheet-day-photos>header,.timesheet-day-slice>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-bottom:1px solid #2a343c;color:#e8edf0}
.timesheet-day-photos>header span,.timesheet-day-slice>header span{display:grid;place-items:center;min-width:30px;height:24px;padding:0 8px;border-radius:999px;background:#1b252c;color:#aeb9c1;font-size:11px;font-weight:900}
.timesheet-photo-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;width:100%;padding:0}
.timesheet-photo-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:6px 10px;border:1px solid #34414a;border-radius:8px;background:#131b20;color:#9da8b0;font-size:12px;font-weight:900;cursor:pointer}
.timesheet-photo-tabs button.active{border-color:#e93939;background:#e93939;color:#fff;box-shadow:0 5px 18px #e9393924}
.timesheet-photo-tabs button span{display:grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:#0003;color:inherit;font-size:10px}
.timesheet-day-photo-feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;align-content:start;min-height:0;overflow:auto;padding:12px}
.timesheet-day-photo{overflow:hidden;border:1px solid #303b44;border-radius:10px;background:#12191e}
.timesheet-day-photo-open{display:block;width:100%;height:190px;padding:0;border:0;background:#0a0e11;cursor:zoom-in}
.timesheet-day-photo-open img{display:block;width:100%;height:100%;object-fit:cover}
.timesheet-day-photo>div{display:grid;gap:3px;padding:9px 10px}
.timesheet-day-photo strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.timesheet-day-photo small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8f9aa3;font-size:10px}
.photo-comment{margin:2px 0 0;color:#d7e0e6;font-size:12px;font-weight:750;line-height:1.35;white-space:normal}
.mobile-photo-item .photo-comment{grid-column:1/-1;color:#dce5eb;font-size:13px}
.employee-photo-card .photo-comment{max-width:100%;margin:0;color:#dce5eb;font-size:14px;line-height:1.4;text-align:center}
.photo-comment-editor{display:grid;gap:12px;min-width:min(520px,calc(100vw - 60px))}
.photo-comment-editor p{margin:0;color:#aeb8c0;font-size:14px;line-height:1.45}
.photo-comment-editor label{display:grid;gap:6px;color:#aeb6bd;font-size:12px;font-weight:800}
.photo-comment-editor textarea{min-height:120px;padding:10px 12px;border:1px solid #303b44;border-radius:8px;background:#0d1317;color:#edf3f6;font:14px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;resize:vertical;outline:none}
.photo-comment-editor textarea:focus{border-color:#697681;box-shadow:0 0 0 3px #6f7c8626}
.photo-comment-editor small{color:#87939c;font-size:12px;line-height:1.35}
.timesheet-day-person-list{display:grid;align-content:start;min-height:0;overflow:auto;padding:6px}
.timesheet-day-person-row{display:grid;grid-template-columns:minmax(0,1fr) 24px 38px 42px 34px;align-items:center;gap:6px;min-height:46px;padding:4px 6px;border-bottom:1px solid #26313a}
.timesheet-day-person-row:last-child{border-bottom:0}
.timesheet-day-person-row .timesheet-person{min-height:38px;padding:0;background:transparent;box-shadow:none}
.timesheet-day-person-row .employee-avatar{width:30px;height:30px;flex-basis:30px}
.timesheet-day-person-row .employee-surname{font-size:12px}
.timesheet-day-person-row .employee-details{font-size:10px;line-height:1.1}
.timesheet-day-person-row .employee-role-chip{width:18px;height:18px;font-size:9px}
.timesheet-day-site-button{display:grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid #43515d;border-radius:999px;background:#111820;cursor:pointer}
.timesheet-day-site-button i{display:block;width:13px;height:13px;border-radius:999px;background:var(--site-color,#d6c5f7);box-shadow:0 0 0 2px #0004}
.timesheet-day-site-button:hover,.timesheet-day-site-button:focus-visible{border-color:#ef4440;outline:none}
.timesheet-day-square{position:relative;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #cbd2d8;border-radius:7px;background:color-mix(in srgb,var(--site-color,#d6c5f7) 42%,#f2f4f5);color:#27323a;cursor:pointer}
.timesheet-day-square:hover,.timesheet-day-square:focus-visible{border-color:#ef4440;box-shadow:0 0 0 2px #ef444044;outline:none}
.timesheet-day-square.code-n{background:color-mix(in srgb,#f38d96 54%,#f2f4f5);color:#821f29}
.timesheet-day-square.code-o{background:color-mix(in srgb,#73a9f3 52%,#f2f4f5);color:#1d4f82}
.timesheet-day-square.code-b{background:color-mix(in srgb,#bc825c 50%,#f2f4f5);color:#714126}
.timesheet-day-square .cell-value{font-size:19px;font-weight:900}
.timesheet-day-square .cell-value.attendance{font-family:"Arial Black","Segoe UI Symbol","Segoe UI",sans-serif;color:#183d2b}
.timesheet-day-person-row>b{color:#eef4f8;font-size:12px;text-align:right}
.timesheet-day-overtime{display:grid;place-items:center;width:42px;height:32px;padding:0;border:1px solid #3a4650;border-radius:8px;background:#12191f;color:#aeb8c0;font-size:11px;font-weight:950;line-height:1;cursor:pointer}
.timesheet-day-overtime:hover{border-color:#556470;background:#182129;color:#fff}
.timesheet-day-overtime.has-value{border-color:#7b3d42;background:#2b181b;color:#ff8e89;box-shadow:inset 0 0 0 1px #ff66601f}
.timesheet-day-overtime:disabled{border-color:#2c353d;background:#0f1418;color:#58636c;cursor:not-allowed;opacity:.62}
.timesheet-day-empty{display:grid;place-items:center;align-content:center;gap:6px;min-height:180px;padding:18px;color:#8d98a0;text-align:center}
.timesheet-day-empty b{color:#e6ecef;font-size:16px}
.timesheet-day-modal.mobile-only{display:block;min-height:0}
.timesheet-day-modal.mobile-only .timesheet-day-photo-feed{display:grid;grid-template-columns:1fr;gap:14px;max-height:calc(100vh - 180px);padding:0;overflow:auto}
.timesheet-day-photo.mobile{border:0;border-radius:0;background:transparent}
.timesheet-day-photo.mobile .timesheet-day-photo-open{height:auto;min-height:280px;background:#050709}
.timesheet-day-photo.mobile img{height:auto;min-height:280px;max-height:none;object-fit:contain}
.timesheet-day-photo.mobile>div{padding:10px 2px 14px}
@media(max-width:820px){
  .modal-card:has(.timesheet-day-modal){width:100vw;max-width:100vw;max-height:100vh;border-radius:0}
  .timesheet-day-modal{display:block;min-height:0}
}

/* Mobile hard layout audit: one fixed shell, one scroll area, one drawer layer. */
@media(max-width:820px){
  :root{
    --mobile-topbar-h:58px;
    --mobile-nav-h:58px;
    --mobile-nav-reserve:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px) + 16px);
  }
  html,body{
    width:100%;
    height:100%;
    min-height:100%;
    overflow:hidden!important;
    overscroll-behavior:none;
  }
  #app.app:not(.hidden){
    display:grid;
    grid-template-columns:minmax(0,1fr);
    width:100%;
    height:calc(100dvh - var(--mobile-nav-reserve));
    min-height:calc(100dvh - var(--mobile-nav-reserve));
    overflow:hidden;
  }
  .workspace{
    display:grid;
    grid-template-rows:var(--mobile-topbar-h) minmax(0,1fr) 0!important;
    width:100%;
    height:calc(100dvh - var(--mobile-nav-reserve));
    min-width:0;
    min-height:0;
    overflow:hidden;
  }
  .workspace>*{
    min-width:0!important;
    max-width:100vw!important;
  }
  .topbar{
    position:relative!important;
    top:auto!important;
    z-index:1400!important;
    width:100%;
    min-width:0!important;
    max-width:100%!important;
    height:var(--mobile-topbar-h)!important;
    min-height:var(--mobile-topbar-h)!important;
    padding:5px 8px!important;
    border-bottom:1px solid #202933;
  }
  .topbar>div:first-of-type{
    min-width:0;
    overflow:hidden;
  }
  .topbar h1{
    overflow:hidden;
    max-width:100%;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:20px!important;
    line-height:1.05!important;
  }
  .topbar p{
    display:none!important;
  }
  .topbar .global-search,
  .topbar #vpn-toggle,
  .topbar .user-menu,
  .topbar footer{
    display:none!important;
  }
  .topbar-refresh{
    flex:0 0 auto;
    max-width:100px;
    height:36px;
    padding:0 10px;
    font-size:12px;
  }
  .topbar .icon-button{
    flex:0 0 38px;
    width:38px;
    height:38px;
    min-width:38px;
  }
  .content{
    width:100%;
    max-width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
    scroll-padding-bottom:var(--mobile-nav-reserve);
    padding:8px 8px 0!important;
  }
  .workspace>footer{
    display:none!important;
  }
  .mobile-app-nav{
    left:8px!important;
    right:8px!important;
    bottom:calc(env(safe-area-inset-bottom,0px) + 6px)!important;
    z-index:1700!important;
    width:auto!important;
    height:var(--mobile-nav-h);
    gap:4px;
    padding:4px;
    border-radius:16px;
    transform:none!important;
  }
  .mobile-app-nav button{
    height:48px;
    min-height:48px;
    padding:3px 2px;
    border-radius:11px;
  }
  .mobile-app-nav button b{font-size:14px}
  .mobile-app-nav button span{font-size:9px}
  body:has(.mobile-app-nav) .content,
  body.super-phone-preview .content{
    padding-bottom:0!important;
  }
  body:has(.mobile-app-nav) .content::after,
  body.super-phone-preview .content::after{
    content:"";
    display:block;
    width:100%;
    height:10px;
    min-height:10px;
    pointer-events:none;
  }
  .sidebar{
    position:fixed!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    z-index:2300!important;
    width:min(82vw,318px)!important;
    height:100dvh!important;
    min-height:100dvh!important;
    transform:translateX(-106%);
    transition:transform .18s ease;
    overflow:hidden!important;
    box-shadow:24px 0 58px rgba(0,0,0,.72)!important;
  }
  .sidebar.open{
    transform:translateX(0);
  }
  .mobile-sidebar-backdrop{
    position:fixed;
    inset:0;
    z-index:2200;
    display:block;
    width:100%;
    height:100dvh;
    padding:0;
    border:0;
    background:rgba(0,0,0,.58);
    backdrop-filter:blur(2px);
  }
  body.mobile-sidebar-open .mobile-app-nav{
    z-index:1600!important;
  }
  .brand{
    flex:0 0 auto;
    width:100%;
    overflow:hidden;
  }
  .sidebar nav{
    min-height:0;
    overflow:auto!important;
  }
  .page-head{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    gap:6px;
    width:100%;
    min-width:0;
    max-width:100%;
    margin-bottom:8px;
  }
  .page-head>*,
  .page-head>div,
  .content>*{
    min-width:0!important;
    max-width:100%!important;
  }
  .page-head h2{
    font-size:clamp(22px,7vw,30px);
    line-height:1.08;
    overflow-wrap:anywhere;
    white-space:normal;
  }
  .page-head p{
    font-size:clamp(13px,3.8vw,16px);
    line-height:1.28;
    overflow-wrap:anywhere;
    white-space:normal;
  }
  .page-head .toolbar,
  .toolbar{
    width:100%;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch;
    gap:8px;
  }
  .toolbar label,
  .toolbar button,
  .toolbar select,
  .toolbar input,
  .panel,
  .data-card,
  .modal-card,
  .reports-shell,
  .work-journal-panel,
  .session-log-toolbar,
  .personal-panel,
  .database-layout,
  .messenger-shell{
    max-width:100%;
    min-width:0;
  }
  .toolbar button,
  .work-journal-filters button,
  .work-journal-filters label,
  .work-journal-filters select,
  .work-journal-filters input,
  .session-log-toolbar label,
  .session-log-toolbar input{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  input,select,textarea,button{
    max-width:100%;
  }
  .session-log-toolbar,
  .work-journal-filters,
  .employee-directory-filters{
    grid-template-columns:minmax(0,1fr)!important;
    overflow:hidden;
  }
  .session-log-toolbar>strong{
    justify-content:center;
    width:100%;
  }
  .table-scroll{
    max-width:100%;
    max-height:calc(100dvh - var(--mobile-topbar-h) - var(--mobile-nav-h) - 120px);
  }
  .work-journal-reminder,
  .work-journal-entry header,
  .personal-section-head{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  .work-journal-reminder,
  .work-journal-entry,
  .personal-hero,
  .database-detail,
  .reports-object-tabs,
  .pnr-sticky-toolbar,
  .pnr-summary,
  .payroll-sticky-head{
    overflow:hidden;
  }
  .payroll-sticky-head{
    position:static!important;
    top:auto!important;
    z-index:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 10px!important;
    padding:10px!important;
    border-radius:12px!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  .payroll-head-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    width:100%;
    min-width:0;
  }
  .payroll-left-controls{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    width:100%;
  }
  .payroll-org-filter{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .payroll-org-filter select{
    width:100%!important;
    min-width:0!important;
    height:48px!important;
  }
  .payroll-search-control{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:6px!important;
  }
  .payroll-search-control input{
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    font-size:16px!important;
  }
  .payroll-period-left{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:6px!important;
  }
  .payroll-period-left .period-control{
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr) 46px!important;
    width:100%!important;
    height:48px!important;
    min-width:0!important;
    gap:6px!important;
  }
  .payroll-period-left .period-control input[type=month]{
    min-width:0!important;
    width:100%!important;
    height:48px!important;
    text-align:center;
    font-size:18px!important;
  }
  .payroll-period-left .period-step{
    width:46px!important;
    height:48px!important;
    min-height:48px!important;
    border-radius:10px!important;
  }
  .payroll-right-controls{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%;
    gap:8px!important;
    justify-content:stretch!important;
  }
  .payroll-tabs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
  }
  .payroll-tabs button{
    min-width:0!important;
    width:100%!important;
    height:42px!important;
    padding:0 6px!important;
    font-size:14px!important;
  }
  .payroll-action-slot{
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    flex-basis:auto!important;
  }
  .payroll-action-slot .primary{
    width:100%!important;
    height:48px!important;
    min-height:48px!important;
    font-size:15px!important;
  }
  .payroll-panel{
    width:100%;
    min-width:0;
    overflow:hidden;
  }
  .payroll-summary-drawer{
    position:static!important;
    top:auto!important;
    z-index:auto!important;
    margin:0 0 10px!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  .payroll-crew-section>header{
    top:0!important;
  }
  .reports-object-tabs{
    display:flex;
    max-width:100%;
    overflow-x:auto;
    padding-bottom:2px;
  }
  .reports-shell,
  .pnr-layout,
  .pnr-groups{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .reports-object-tabs button{
    flex:0 0 auto;
    max-width:210px;
    white-space:normal;
    line-height:1.15;
  }
  .pnr-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
    white-space:normal;
  }
  .pnr-summary span{
    min-width:0;
  }
  .pnr-group header{
    top:0!important;
  }
  .pnr-detail-panel.open{
    z-index:1900!important;
    inset:auto 8px calc(var(--mobile-nav-reserve) + 4px) 8px!important;
    width:auto!important;
    max-height:52dvh!important;
  }
  .messenger-shell{
    height:calc(100dvh - var(--mobile-topbar-h) - var(--mobile-nav-h) - 18px)!important;
    min-height:0!important;
  }
  .phone-panel{
    height:100%;
    min-height:0;
    padding:10px 10px 12px!important;
  }
  .phone-contact-list{
    min-height:0!important;
    overflow:auto!important;
  }
  .phone-actions{
    position:static!important;
    margin:0!important;
    padding:0!important;
  }
  .messenger-room{
    min-height:0;
  }
  .messenger-room>header{
    min-width:0;
  }
  .messenger-chat-title{
    min-width:0;
  }
  .messenger-composer{
    padding-bottom:10px!important;
  }
  .personal-hero{
    grid-template-columns:minmax(86px,32vw) minmax(0,1fr)!important;
    gap:12px;
    padding:12px;
  }
  .personal-photo{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1;
    border-radius:18px!important;
  }
  .personal-hero h2{
    max-width:100%;
    font-size:clamp(24px,8vw,34px)!important;
    line-height:1.05;
    overflow-wrap:anywhere;
  }
  .personal-hero p{
    font-size:clamp(15px,4.6vw,19px)!important;
    line-height:1.25;
  }
  .personal-tabs{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .personal-tabs button{
    width:100%;
    padding:0 8px;
  }
  .mobile-timesheet-page{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden;
  }
  .mobile-journal-nav,
  .mobile-journal-head,
  .mobile-date-bar,
  .mobile-site-navigator,
  .mobile-journal-section,
  .mobile-day-summary{
    max-width:100%;
    min-width:0;
  }
  .mobile-journal-nav{
    position:static!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .mobile-journal-head h1{
    font-size:clamp(26px,8vw,36px)!important;
    overflow-wrap:anywhere;
  }
  .mobile-edit-state{
    position:static!important;
    width:max-content;
    max-width:100%;
    justify-self:start;
  }
  .mobile-date-bar{
    grid-template-columns:48px minmax(0,1fr) 48px!important;
  }
  .mobile-date-bar>small{
    grid-column:1/-1;
    text-align:center;
  }
  .mobile-site-navigator label,
  .mobile-shift-fields{
    min-width:0;
  }
  .mobile-action-card{
    grid-template-columns:44px minmax(0,1fr) auto!important;
  }
  .mobile-action-card strong,
  .mobile-action-card small,
  .mobile-employee-card,
  .mobile-employee-card *{
    min-width:0;
  }
  .payroll-table th:first-child,
  .payroll-table td:first-child,
  .salary-table th:first-child,
  .salary-table td:first-child,
  .payroll-bonus-table th:first-child,
  .payroll-bonus-table td:first-child,
  .employee-directory th:first-child,
  .employee-directory td:first-child,
  .session-log-card th:first-child,
  .session-log-card td:first-child{
    position:sticky!important;
    left:0!important;
    z-index:8!important;
    min-width:168px!important;
    max-width:168px!important;
    background:#11161a!important;
    box-shadow:10px 0 16px -14px #000;
  }
  .payroll-table thead th:first-child,
  .salary-table thead th:first-child,
  .payroll-bonus-table thead th:first-child,
  .employee-directory thead th:first-child,
  .session-log-card thead th:first-child{
    z-index:14!important;
    background:#151b20!important;
  }
  .payroll-table .compact-person,
  .salary-table .compact-person,
  .payroll-bonus-table .compact-person{
    min-width:0!important;
    max-width:146px;
  }
  .payroll-table .compact-person strong,
  .payroll-table .compact-person small,
  .salary-table .compact-person strong,
  .salary-table .compact-person small,
  .payroll-bonus-table .compact-person strong,
  .payroll-bonus-table .compact-person small{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}

/* Timesheet sticky left columns: compact employee identity and readable dismissed rows. */
:root{
  --timesheet-num-w:48px;
  --timesheet-person-w:218px;
}
.timesheet .num{
  position:sticky!important;
  left:0!important;
  z-index:11!important;
  box-sizing:border-box!important;
  width:var(--timesheet-num-w)!important;
  min-width:var(--timesheet-num-w)!important;
  max-width:var(--timesheet-num-w)!important;
}
.timesheet .person{
  position:sticky!important;
  left:var(--timesheet-num-w)!important;
  z-index:11!important;
  box-sizing:border-box!important;
  width:var(--timesheet-person-w)!important;
  min-width:var(--timesheet-person-w)!important;
  max-width:var(--timesheet-person-w)!important;
  padding:0 7px!important;
  overflow:hidden;
  box-shadow:8px 0 12px -12px #000,1px 0 0 #cbd2d8;
}
.timesheet thead .num,
.timesheet thead .person{
  z-index:18!important;
  background:#151b20!important;
}
.timesheet tbody .num,
.timesheet tbody .person,
.timesheet tfoot .num,
.timesheet tfoot .person{
  background:#f5f6f7!important;
}
.timesheet-crew-row td:first-child{
  position:sticky!important;
  left:0!important;
  z-index:16!important;
  width:var(--timesheet-num-w)!important;
  min-width:var(--timesheet-num-w)!important;
  max-width:var(--timesheet-num-w)!important;
  background:#eef1f3!important;
  color:#26323a!important;
  box-shadow:inset 0 -1px #2d3944;
}
.timesheet-crew-row .person.timesheet-crew-label-cell{
  position:sticky!important;
  left:var(--timesheet-num-w)!important;
  z-index:16!important;
  display:table-cell!important;
  box-sizing:border-box!important;
  width:var(--timesheet-person-w)!important;
  min-width:var(--timesheet-person-w)!important;
  max-width:var(--timesheet-person-w)!important;
  padding:0 10px!important;
  text-align:left!important;
  background:#eef1f3!important;
  color:#26323a!important;
  box-shadow:8px 0 12px -12px #000,1px 0 0 #cbd2d8,inset 0 -1px #2d3944;
}
.timesheet-person{
  grid-template-columns:31px minmax(0,1fr) 21px!important;
  gap:5px!important;
}
.timesheet tbody .timesheet-person{
  min-height:38px;
}
.timesheet-person .employee-avatar,
.timesheet tbody .timesheet-person .employee-avatar{
  width:29px!important;
  height:29px!important;
  flex-basis:29px!important;
}
.timesheet-person .employee-surname,
.timesheet tbody .timesheet-person .employee-surname{
  font-size:13px!important;
  line-height:1.04!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.timesheet-person .employee-details,
.timesheet tbody .timesheet-person .employee-details{
  font-size:9px!important;
  line-height:1.08!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.timesheet tbody tr.dismissed-employee td,
.timesheet tbody tr.dismissed-employee td.cell,
.timesheet tbody tr.dismissed-employee td.num,
.timesheet tbody tr.dismissed-employee td.person,
.timesheet tbody tr.dismissed-employee td.overtime,
.timesheet tbody tr.dismissed-employee td.total{
  background-color:rgba(229,57,53,.36)!important;
  background-image:repeating-linear-gradient(45deg,rgba(112,0,0,.16) 0 2px,rgba(255,255,255,.08) 2px 17px)!important;
  color:#2a1010!important;
}
.timesheet tbody tr.dismissed-employee .timesheet-person,
.timesheet-person.dismissed-employee{
  background:repeating-linear-gradient(45deg,rgba(112,0,0,.13) 0 2px,transparent 2px 17px),rgba(229,57,53,.16)!important;
  box-shadow:inset 3px 0 0 rgba(190,20,20,.82)!important;
}
.timesheet tbody tr.dismissed-employee .employee-surname,
.timesheet tbody tr.dismissed-employee .employee-details,
.timesheet tbody tr.dismissed-employee .cell-value,
.timesheet tbody tr.dismissed-employee .overtime,
.timesheet tbody tr.dismissed-employee .total{
  position:relative;
  z-index:1;
  color:#211010!important;
  text-shadow:0 1px 0 rgba(255,255,255,.24);
}
@media(min-width:1500px){
  :root{--timesheet-person-w:228px}
}
@media(min-width:821px) and (max-width:1180px){
  :root{--timesheet-num-w:44px;--timesheet-person-w:198px}
  .timesheet-person{grid-template-columns:28px minmax(0,1fr) 20px!important}
  .timesheet-person .employee-avatar,
  .timesheet tbody .timesheet-person .employee-avatar{width:27px!important;height:27px!important;flex-basis:27px!important}
}

/* Keep the timesheet toolbar above all sticky table columns and headers. */
.timesheet-page{
  position:relative;
  isolation:isolate;
}
.timesheet-tools{
  position:sticky!important;
  z-index:120!important;
  background:linear-gradient(145deg,var(--panel),#101419)!important;
  box-shadow:0 12px 24px -22px #000;
}
.timesheet-wrap{
  position:relative!important;
  z-index:1!important;
  isolation:isolate;
}
.timesheet thead th{
  z-index:6!important;
}
.timesheet .num,
.timesheet .person{
  z-index:9!important;
}
.timesheet thead .num,
.timesheet thead .person{
  z-index:14!important;
}
.timesheet-crew-row td{
  z-index:7!important;
}
.timesheet-crew-row td:first-child{
  z-index:12!important;
}
.timesheet-crew-row .person.timesheet-crew-label-cell{
  z-index:12!important;
}
.timesheet-export-menu{
  z-index:140!important;
}
.timesheet-tools,
.timesheet-wrap,
.timesheet,
.timesheet th,
.timesheet td{
  backface-visibility:hidden;
}
.timesheet-wrap{
  transform:translateZ(0);
}
.timesheet .num,
.timesheet .person,
.timesheet-crew-row td:first-child{
  will-change:transform;
}

.remnawave-catalog-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(148,163,184,.18);
  color:#e5edf4;
}
.remnawave-catalog-head strong{
  font-size:15px;
  line-height:1.25;
}
.remnawave-catalog-head small{
  max-width:420px;
  color:#8f9ba8;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
  text-align:right;
}
.remnawave-squad-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:10px;
  margin-top:12px;
  max-height:360px;
  overflow:auto;
  padding-right:4px;
}
.remnawave-squad-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:10px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(71,85,105,.7);
  border-radius:8px;
  background:rgba(15,23,30,.78);
}
.remnawave-squad-card strong{
  display:block;
  color:#f8fafc;
  font-size:15px;
  line-height:1.2;
}
.remnawave-squad-card span,
.remnawave-squad-card small{
  display:block;
  margin-top:3px;
  overflow:hidden;
  color:#94a3b8;
  font-size:12px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.remnawave-squad-card label{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:54px;
  padding:8px 10px;
  border:1px solid rgba(71,85,105,.75);
  border-radius:8px;
  color:#e5edf4;
  font-weight:900;
}
.remnawave-squad-card input{
  width:18px;
  height:18px;
  accent-color:#ef3333;
}
.admin-manager-card.green{
  border-color:#8bcda0;
  background:#d9f2e0;
  box-shadow:inset 3px 0 0 #35c86f;
}
.admin-manager-card.green>i{display:none}
.admin-manager-card.green strong{color:#10291a}
.admin-manager-card.green small{color:#416d50}
.admin-manager-card.green .admin-manager-photo{
  border-color:#74b98a;
  background:#c2e8cd;
}
.admin-manager-photo{
  position:relative;
}
.admin-manager-photo img{
  position:absolute;
  inset:0;
}
.admin-manager-card{
  width:100%;
  color:inherit;
  font:inherit;
  appearance:none;
  cursor:pointer;
}
.admin-manager-card:hover{
  border-color:#687782;
  transform:translateY(-1px);
}
.admin-manager-card:focus-visible{
  outline:3px solid #ef333355;
  outline-offset:2px;
}
.admin-manager-grid.personal-order-active,
.object-grid.personal-order-active{
  user-select:none;
  touch-action:none;
}
.admin-manager-card,
.object-card{
  cursor:grab;
  will-change:transform;
  transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,opacity .16s ease,transform .2s cubic-bezier(.2,.8,.2,1);
}
.admin-manager-card:active,
.object-card:active{
  cursor:grabbing;
}
.personal-order-dragging{
  opacity:.2!important;
  border-color:#ef454588!important;
  box-shadow:inset 0 0 0 2px #ef333355!important;
  transform:scale(.985)!important;
  cursor:grabbing!important;
}
.personal-order-ghost{
  position:fixed!important;
  z-index:1000!important;
  top:0!important;
  left:0!important;
  margin:0!important;
  pointer-events:none!important;
  opacity:.96!important;
  border-color:#ef4545!important;
  box-shadow:0 24px 58px #000b,0 0 0 3px #ef333344!important;
  transform-origin:top left!important;
  transition:none!important;
  will-change:transform;
}
.personal-order-body{
  cursor:grabbing;
  user-select:none;
}
.modal-card.manager-profile-modal{
  width:min(1040px,calc(100vw - 30px));
  max-height:calc(100dvh - 34px);
  overflow:auto;
}
.manager-profile{
  display:grid;
  gap:16px;
}
.manager-profile-loading{
  display:grid;
  place-items:center;
  gap:12px;
  min-height:280px;
  color:#9ba6ae;
  font-weight:850;
}
.manager-profile-loading i{
  width:34px;
  height:34px;
  border:4px solid #303b44;
  border-top-color:#ef3333;
  border-radius:50%;
  animation:manager-profile-spin .8s linear infinite;
}
@keyframes manager-profile-spin{to{transform:rotate(360deg)}}
.manager-profile-summary{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);
  gap:16px;
  min-width:0;
}
.manager-profile-person,
.manager-profile-responsibility{
  min-width:0;
  border:1px solid #303b44;
  border-radius:8px;
  background:#0f1418;
}
.manager-profile-person{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  align-items:center;
  gap:18px;
  padding:16px;
}
.manager-profile-photo{
  display:grid;
  place-items:center;
  width:132px;
  height:176px;
  overflow:hidden;
  border:1px solid #3b4851;
  border-radius:8px;
  background:#202a32;
  color:#dce4ea;
  font-size:28px;
  font-weight:950;
}
.manager-profile-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.manager-profile-person>div:last-child{
  display:grid;
  gap:6px;
  min-width:0;
}
.manager-profile-person span{
  color:#ef6661;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.manager-profile-person h3{
  margin:0;
  color:#f4f7f9;
  font-size:26px;
  line-height:1.08;
}
.manager-profile-person p{
  margin:0;
  color:#c5cdd3;
  font-size:15px;
  font-weight:800;
}
.manager-profile-person small{
  color:#89959e;
  font-size:12px;
  line-height:1.35;
}
.manager-profile-responsibility{
  display:grid;
  align-content:start;
  gap:10px;
  padding:14px;
}
.manager-profile-counts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.manager-profile-counts article{
  display:grid;
  gap:4px;
  min-height:74px;
  padding:10px 12px;
  border:1px solid #34414a;
  border-radius:7px;
  background:#151c21;
}
.manager-profile-counts span{
  color:#89959e;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.manager-profile-counts strong{
  color:#f4f7f9;
  font-size:28px;
  line-height:1;
}
.manager-profile-counts article:last-child strong{color:#7fe59d}
.manager-profile-responsibility h4{
  margin:2px 0 0;
  color:#aeb8bf;
  font-size:12px;
  text-transform:uppercase;
}
.manager-profile-responsibility ul{
  display:grid;
  gap:5px;
  max-height:126px;
  margin:0;
  padding:0;
  overflow:auto;
  list-style:none;
}
.manager-profile-responsibility li{
  display:grid;
  grid-template-columns:9px minmax(0,1fr);
  align-items:start;
  gap:8px;
  padding:7px 8px;
  border-radius:6px;
  background:#151c21;
}
.manager-profile-responsibility li>i{
  width:9px;
  height:9px;
  margin-top:3px;
  border-radius:2px;
  background:var(--site-color,#ef3333);
}
.manager-profile-responsibility li>span{display:grid;gap:2px;min-width:0}
.manager-profile-responsibility li b{
  overflow:hidden;
  color:#e8edf0;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.manager-profile-responsibility li small{
  overflow:hidden;
  color:#7f8a92;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.manager-profile-responsibility .empty-site-list{
  display:block;
  color:#7f8a92;
  font-size:11px;
}
.manager-profile-columns{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  align-items:start;
  gap:14px;
  min-width:0;
}
.manager-profile-feed,
.manager-profile-messages{
  display:grid;
  gap:10px;
  min-width:0;
}
.manager-profile-feed>header,
.manager-profile-messages>header{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
}
.manager-profile-feed>header div,
.manager-profile-messages>header div{display:grid;gap:2px}
.manager-profile-feed h3,
.manager-profile-messages h3{margin:0;font-size:19px}
.manager-profile-feed>header span,
.manager-profile-messages>header span{color:#849099;font-size:11px}
.manager-profile-feed>header b,
.manager-profile-messages>header b{
  display:grid;
  place-items:center;
  min-width:30px;
  height:30px;
  border-radius:50%;
  background:#202a32;
  color:#dce4ea;
  font-size:11px;
}
.manager-profile-feed>div{
  display:grid;
  gap:7px;
  max-height:min(42vh,430px);
  overflow:auto;
  padding-right:3px;
}
.manager-profile-messages>div{
  display:grid;
  gap:7px;
  max-height:min(42vh,430px);
  overflow:auto;
  padding-right:3px;
}
.manager-profile-message{
  display:grid;
  gap:6px;
  padding:10px;
  border:1px solid #303b44;
  border-radius:8px;
  background:#10161a;
}
.manager-profile-message.attention{
  border-color:#9a681e;
  background:#241b0d;
}
.manager-profile-message header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.manager-profile-message strong{color:#edf1f3;font-size:12px}
.manager-profile-message time{flex:0 0 auto;color:#7d8992;font-size:9px}
.manager-profile-message p{margin:0;color:#aeb8bf;font-size:11px;line-height:1.4}
.manager-profile-message small{color:#ffbd55;font-size:9px;font-weight:900;text-transform:uppercase}
.manager-profile-action{
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  min-height:72px;
  overflow:hidden;
  border:1px solid #303b44;
  border-radius:8px;
  background:#10161a;
}
.manager-profile-action-media,
.manager-profile-action-kind{
  display:grid;
  place-items:center;
  width:74px;
  min-height:72px;
  overflow:hidden;
  background:#1c252c;
  color:#98a5ae;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.manager-profile-action-media{position:relative}
.manager-profile-action-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.manager-profile-action>div:last-child{
  display:grid;
  align-content:center;
  gap:3px;
  min-width:0;
  padding:9px 11px;
}
.manager-profile-action header{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
}
.manager-profile-action header strong{
  overflow:hidden;
  color:#edf1f3;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.manager-profile-action time{
  flex:0 0 auto;
  color:#7d8992;
  font-size:9px;
}
.manager-profile-action small{
  color:#ef7772;
  font-size:9px;
  font-weight:850;
}
.manager-profile-action p{
  display:-webkit-box;
  margin:0;
  overflow:hidden;
  color:#aeb8bf;
  font-size:11px;
  line-height:1.35;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.manager-profile-empty{
  display:grid;
  place-items:center;
  min-height:130px;
  border:1px dashed #36424b;
  border-radius:8px;
  color:#82909a;
}
@media(max-width:720px){
  .modal-card.manager-profile-modal{
    width:100vw;
    max-width:100vw;
    max-height:100dvh;
    border-radius:0;
  }
  .manager-profile-summary{grid-template-columns:1fr}
  .manager-profile-person{grid-template-columns:92px minmax(0,1fr);gap:12px;padding:12px}
  .manager-profile-photo{width:92px;height:122px}
  .manager-profile-person h3{font-size:19px}
  .manager-profile-person p{font-size:12px}
  .manager-profile-counts article{min-height:62px}
  .manager-profile-counts strong{font-size:23px}
  .manager-profile-columns{grid-template-columns:1fr}
  .manager-profile-feed>div{max-height:none}
  .manager-profile-messages>div{max-height:none}
  .manager-profile-action{grid-template-columns:62px minmax(0,1fr)}
  .manager-profile-action-media,.manager-profile-action-kind{width:62px}
  .manager-profile-action header{align-items:flex-start;flex-direction:column;gap:2px}
}
.object-hub{
  display:grid;
  gap:12px;
  margin-bottom:14px;
  padding:14px;
  border:1px solid #303b44;
  border-radius:10px;
  background:linear-gradient(145deg,#12191e,#0f1418);
}
.object-hub-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
}
.object-hub h3{
  margin:0;
  color:#f6f8fa;
  font-size:18px;
}
.object-hub small,.object-hub-head span{
  color:#8f9aa3;
  font-size:12px;
  font-weight:800;
}
.object-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:10px;
}
.object-card{
  display:grid;
  grid-template-columns:10px minmax(0,1fr);
  gap:10px;
  align-content:start;
  min-height:116px;
  padding:12px;
  border:1px solid #303b44;
  border-radius:8px;
  background:#0e1418;
  color:#e9eef2;
  text-align:left;
  cursor:pointer;
}
.object-card:hover{
  border-color:#53616c;
  background:#121b21;
}
.object-card>i{
  grid-row:1/4;
  width:10px;
  border-radius:6px;
  background:var(--site-color);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--site-color) 18%,transparent);
}
.object-card>span,
.object-card>em,
.object-card>small{
  grid-column:2;
  min-width:0;
}
.object-card strong,.object-card small,.object-card em{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.object-card strong{
  display:block;
  font-size:16px;
  line-height:1.2;
}
.object-card span small{
  display:block;
  margin-top:3px;
  color:#91a0aa;
  font-size:10px;
}
.object-card em{
  color:#c3cbd1;
  font-size:12px;
  font-style:normal;
}
.object-card>small{
  color:#78848d;
  font-size:10px;
}
.object-card>.object-card-hierarchy{
  white-space:normal;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.organization-directory-row{
  cursor:pointer;
  transition:background .16s ease,color .16s ease;
}
.organization-directory-row:hover,
.organization-directory-row:focus-visible{
  background:#182128;
}
.organization-directory-row:focus-visible{
  outline:2px solid #ef333377;
  outline-offset:-2px;
}
.organization-workspace-summary{
  display:grid;
  grid-template-columns:minmax(260px,2fr) minmax(160px,1fr) minmax(120px,.6fr);
  gap:10px;
  margin-bottom:14px;
}
.organization-workspace-summary article{
  display:grid;
  gap:5px;
  align-content:center;
  min-height:82px;
  padding:14px;
  border:1px solid #303b44;
  border-radius:8px;
  background:#10161b;
}
.organization-workspace-summary span{
  color:#87939c;
  font-size:11px;
  font-weight:850;
}
.organization-workspace-summary strong{
  overflow:hidden;
  color:#f5f8fa;
  font-size:18px;
  text-overflow:ellipsis;
}
@media(max-width:720px){
  .organization-workspace-summary{grid-template-columns:1fr}
}
.site-workspace{
  display:grid;
  gap:12px;
}
.site-workspace-summary{
  display:grid;
  grid-template-columns:repeat(5,minmax(110px,1fr));
  gap:10px;
}
.site-workspace-summary span{
  display:grid;
  gap:2px;
  min-height:70px;
  padding:12px;
  border:1px solid #303b44;
  border-radius:8px;
  background:#10161b;
}
.site-workspace-summary small{
  color:#89959f;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.site-workspace-summary b{
  color:#f7fafc;
  font-size:28px;
  line-height:1;
}
.site-workspace-tabs{
  display:flex;
  gap:8px;
  padding:7px;
  border:1px solid #303b44;
  border-radius:9px;
  background:#10161b;
  overflow:auto;
}
.site-workspace-tabs button{
  height:36px;
  padding:0 14px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  color:#9aa5ad;
  font-weight:900;
  white-space:nowrap;
}
.site-workspace-tabs button.active{
  border-color:#7f171b;
  background:#e53935;
  color:#fff;
}
.site-workspace-body{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:12px;
  align-items:start;
}
.site-resource-panel{display:grid;align-content:start;gap:8px;min-width:0;position:sticky;top:86px}
.site-resource-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px;border:1px solid #303b44;border-radius:8px;background:#10161b}
.site-resource-tabs button{min-width:0;height:34px;padding:0 8px;border:0;background:transparent;color:#9ba6ae;font-size:10px;font-weight:900;white-space:nowrap}
.site-resource-tabs button.active{background:#e53935;color:#fff}
.site-resource-pane[hidden]{display:none}
.site-resource-list{display:grid;gap:7px}
.site-resource-list>button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;padding:10px;border:1px solid #303b44;background:#10161b;color:#edf2f4;text-align:left}
.site-resource-list span{display:grid;min-width:0}.site-resource-list b,.site-resource-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-resource-list small{color:#84919a;font-size:9px}.site-resource-list em{display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:#263139;color:#cbd4d9;font-size:10px;font-style:normal;font-weight:900}
.site-plan-browser{
  min-width:0;
}
.site-plan-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:10px;
}
.site-plan-gallery[hidden],.site-plan-detail[hidden]{
  display:none;
}
.site-plan-tile{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
  min-width:0;
  padding:0 0 11px;
  overflow:hidden;
  border:1px solid #303b44;
  border-radius:8px;
  background:#10161a;
  color:#eef3f6;
  text-align:left;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.site-plan-tile:hover,.site-plan-tile:focus-visible{
  border-color:#65737d;
  background:#151d23;
  transform:translateY(-1px);
}
.site-plan-thumbnail{
  position:relative;
  display:grid;
  grid-column:1/-1;
  place-items:center;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#080c0f;
}
.site-plan-thumbnail img,.site-plan-thumbnail canvas{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#080c0f;
}
.site-plan-thumbnail i{
  position:absolute;
  inset:auto 10px 10px;
  color:#8d99a2;
  font-size:10px;
  font-style:normal;
  text-align:center;
}
.site-plan-tile-copy{
  display:grid;
  gap:3px;
  min-width:0;
  padding-left:11px;
}
.site-plan-tile-copy strong,.site-plan-tile-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.site-plan-tile-copy strong{
  font-size:13px;
}
.site-plan-tile-copy small{
  color:#8c98a1;
  font-size:10px;
}
.site-plan-tile>em{
  align-self:center;
  padding-right:11px;
  color:#8c98a1;
  font-size:9px;
  font-style:normal;
  white-space:nowrap;
}
.site-plan-detail{
  display:grid;
  gap:8px;
}
.site-plan-detail-back{
  justify-self:start;
  min-height:36px;
}
.site-plan-card{
  overflow:hidden;
  border:1px solid #303b44;
  border-radius:10px;
  background:#10161a;
}
.site-plan-card>header,.site-plan-card>footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
}
.site-plan-card h3{
  margin:0;
  color:#f5f8fa;
  font-size:16px;
}
.site-plan-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex:0 0 auto;
}
.site-plan-actions .icon-button{
  display:grid;
  place-items:center;
  flex:0 0 36px;
  width:36px;
  min-width:36px;
  height:36px;
  padding:0;
  border:1px solid #70383b;
  background:#281417;
  color:#ff8a86;
  font-size:22px;
  line-height:1;
}
.site-plan-actions .icon-button:hover{
  border-color:#a94749;
  background:#3a171b;
  color:#fff;
}
.site-plan-card small,.site-plan-card footer span{
  color:#89949d;
  font-size:11px;
  font-weight:800;
}
.site-plan-stage{
  position:relative;
  overflow:hidden;
  background:#080b0e;
  isolation:isolate;
}
.site-plan-viewport{
  position:relative;
  width:100%;
  height:clamp(320px,62vh,720px);
  overflow:hidden;
  background:#090d10;
  cursor:grab;
  touch-action:none;
  user-select:none;
  overscroll-behavior:contain;
}
.site-plan-stage.dragging .site-plan-viewport{
  cursor:grabbing;
}
.site-plan-canvas{
  position:absolute;
  top:0;
  left:0;
  transform-origin:0 0;
  will-change:transform;
  contain:layout paint;
}
.site-plan-canvas>img,.site-plan-canvas>canvas{
  display:block;
  width:100%;
  height:100%;
  background:#090d10;
  pointer-events:none;
  user-select:none;
}
.site-plan-loading{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  padding:24px;
  background:#090d10;
  color:#dbe4ea;
  text-align:center;
}
.site-plan-loading[hidden]{
  display:none;
}
.site-plan-loading span{
  width:28px;
  height:28px;
  border:3px solid #39444c;
  border-top-color:#e53935;
  border-radius:50%;
  animation:site-plan-spin .75s linear infinite;
}
.site-plan-loading small{
  color:#89959f;
}
@keyframes site-plan-spin{
  to{transform:rotate(360deg)}
}
.site-plan-controls{
  position:absolute;
  z-index:5;
  right:12px;
  bottom:12px;
  display:flex;
  align-items:center;
  gap:4px;
  padding:5px;
  border:1px solid #53616c;
  border-radius:8px;
  background:#0c1115e8;
  box-shadow:0 8px 28px #0009;
  backdrop-filter:blur(9px);
}
.site-plan-controls button{
  display:grid;
  place-items:center;
  min-width:36px;
  height:36px;
  padding:0 9px;
  border:1px solid #34414a;
  border-radius:6px;
  background:#172027;
  color:#f3f6f8;
  font-size:20px;
  font-weight:900;
  line-height:1;
}
.site-plan-controls button:hover{
  border-color:#73828d;
  background:#222e36;
}
.site-plan-controls [data-plan-zoom="reset"]{
  min-width:60px;
  font-size:11px;
}
.site-plan-stage.expanded{
  position:fixed;
  z-index:10020;
  inset:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
  border:1px solid #46535d;
  border-radius:10px;
  background:#080b0e;
  box-shadow:0 0 0 100vmax #000e,0 25px 90px #000;
}
.site-plan-stage.expanded .site-plan-viewport{
  height:100%;
}
html.site-plan-expanded{
  overflow:hidden;
}
.site-plan-point{
  position:absolute;
  z-index:2;
  width:22px;
  height:22px;
  transform:translate(-50%,-50%);
  border:2px solid #fff;
  border-radius:50%;
  background:#35c86f;
  box-shadow:0 0 0 5px #35c86f40,0 4px 16px #0009;
  cursor:pointer;
  transform-origin:center;
  will-change:transform;
}
.site-plan-point.panorama{background:#4d9de0;box-shadow:0 0 0 5px #4d9de040,0 4px 16px #0009}
.site-plan-point.video{background:#f0a11a;box-shadow:0 0 0 5px #f0a11a40,0 4px 16px #0009}
.site-plan-point.movable{cursor:grab;touch-action:none}
.site-plan-point.moving{
  z-index:5;
  cursor:grabbing;
  box-shadow:0 0 0 8px #fff4,0 8px 24px #000b;
}
.site-media-grid{
  display:grid;
  gap:8px;
  position:static;
}
.site-media-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-height:68px;
  padding:9px;
  border:1px solid #303b44;
  border-radius:8px;
  background:#10161b;
  color:#e8eef2;
  text-align:left;
}
.site-media-card div{
  display:grid;
  place-items:center;
  width:54px;
  height:50px;
  border-radius:7px;
  background:#202b33;
  color:#c9d6dd;
  font-size:13px;
  font-weight:950;
}
.site-media-card strong,.site-media-card small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.site-media-card strong{
  font-size:13px;
}
.site-media-card small{
  color:#8c98a1;
  font-size:10px;
}
.site-media-card p{
  grid-column:2;
  display:-webkit-box;
  overflow:hidden;
  margin:0;
  color:#c7d0d6;
  font-size:10px;
  line-height:1.35;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.site-point-access{
  display:grid;
  gap:10px;
  padding:13px;
  border:1px solid #303b44;
  border-radius:10px;
  background:#10161b;
}
.site-point-access>header,.site-point-access>footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.site-point-access h3{
  margin:0;
  color:#f5f8fa;
  font-size:16px;
}
.site-point-access header small,.site-point-access footer span{
  display:block;
  margin-top:3px;
  color:#89949d;
  font-size:10px;
  line-height:1.35;
}
.site-point-access header strong{
  display:grid;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#213529;
  color:#72dda0;
  font-size:17px;
}
.site-point-access-search{
  display:grid;
  gap:4px;
  color:#8f9aa3;
  font-size:10px;
  font-weight:800;
}
.site-point-access-search input{
  width:100%;
  height:39px;
}
.site-point-access-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  max-height:330px;
  overflow:auto;
  overscroll-behavior:contain;
}
.site-point-access-user{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:9px;
  border:1px solid #2e3942;
  border-radius:8px;
  background:#0d1317;
}
.site-point-access-user.selected{
  border-color:#476c53;
  background:#14231a;
}
.site-point-permissions input{
  width:18px;
  height:18px;
  margin:0;
  accent-color:#35c86f;
}
.site-point-access-person{
  display:grid;
  min-width:0;
}
.site-point-access-person b,.site-point-access-person small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.site-point-access-person b{
  color:#eaf0f3;
  font-size:11px;
}
.site-point-access-person small{
  color:#7f8b94;
  font-size:8px;
}
.site-point-access-user em{
  color:#8d98a0;
  font-size:8px;
  font-style:normal;
  white-space:nowrap;
}
.site-point-access-user.selected em{color:#73dda0}
.site-point-permissions{
  display:grid;
  grid-column:1/-1;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
}
.site-point-permissions label{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  min-height:34px;
  padding:6px 8px;
  border:1px solid #2f3a42;
  border-radius:6px;
  background:#11191e;
  color:#a9b4bc;
  cursor:pointer;
  font-size:9px;
  font-weight:850;
}
.site-point-permissions label:has(input:checked){
  border-color:#477054;
  background:#19281e;
  color:#7fe0a5;
}
.site-point-permissions label span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.site-point-access footer button{
  flex:0 0 auto;
  height:38px;
}
.site-workspace-empty{
  display:grid;
  place-items:center;
  min-height:260px;
  gap:8px;
  padding:24px;
  border:1px dashed #39454f;
  border-radius:10px;
  color:#8f9aa3;
  text-align:center;
}
.site-workspace-empty b{
  color:#f2f6f8;
  font-size:18px;
}
.site-upload-form{
  display:grid;
  gap:12px;
}
.site-upload-form label{
  display:grid;
  gap:6px;
  color:#aeb8c0;
  font-size:12px;
  font-weight:800;
}
.site-upload-form textarea{
  min-height:100px;
  padding:10px;
  border:1px solid #303840;
  border-radius:7px;
  background:#0f1317;
  color:#f3f6f8;
  resize:vertical;
}
.site-upload-preview{
  display:grid;
  grid-template-columns:minmax(150px,220px) minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:10px;
  border:1px solid #35424b;
  border-radius:9px;
  background:#0c1115;
}
.site-upload-preview[hidden]{
  display:none;
}
.site-upload-preview-media{
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  border:1px solid #33404a;
  border-radius:7px;
  background:#070a0c;
}
.site-upload-preview-media img,.site-upload-preview-media video,.site-upload-preview-media canvas{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.site-upload-preview-media span{
  position:absolute;
  left:7px;
  bottom:7px;
  padding:4px 6px;
  border-radius:5px;
  background:#090d10d9;
  color:#f0f4f6;
  font-size:9px;
  font-weight:900;
}
.site-upload-preview-info{
  display:grid;
  min-width:0;
  gap:3px;
}
.site-upload-preview-info strong,.site-upload-preview-info small,.site-upload-preview-info em{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.site-upload-preview-info strong{
  color:#f3f6f8;
  font-size:13px;
}
.site-upload-preview-info small{
  color:#8f9aa3;
  font-size:10px;
}
.site-upload-preview-info em{
  color:#a8c8da;
  font-size:10px;
  font-style:normal;
}
.site-upload-file-status{
  min-height:18px;
  color:#82909a;
  font-size:10px;
  font-weight:800;
}
.site-upload-file-status.loading{color:#edb54c}
.site-upload-file-status.ready{color:#65d691}
.site-upload-file-status.error{color:#ff7772}
.site-media-dropzone{
  min-height:132px;
}
.site-media-upload-queue{
  display:grid;
  gap:8px;
}
.site-media-upload-item{
  display:grid;
  grid-template-columns:128px minmax(0,1fr) 34px;
  align-items:start;
  gap:10px;
  padding:9px;
  border:1px solid #35424b;
  border-radius:9px;
  background:#0c1115;
}
.site-media-upload-thumb{
  position:relative;
  width:128px;
  aspect-ratio:4/3;
  overflow:hidden;
  border:1px solid #33404a;
  border-radius:7px;
  background:#070a0c;
}
.site-media-upload-thumb img,.site-media-upload-thumb video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.site-media-upload-thumb span{
  position:absolute;
  left:6px;
  bottom:6px;
  display:grid;
  place-items:center;
  min-width:24px;
  height:24px;
  padding:0 6px;
  border-radius:6px;
  background:#0a0e11e8;
  color:#fff;
  font-size:9px;
  font-weight:900;
}
.site-media-upload-fields{
  display:grid;
  min-width:0;
  gap:7px;
}
.site-media-upload-fields label{
  gap:4px;
}
.site-media-upload-fields label small{
  display:inline;
  color:#6f7b84;
  font-size:9px;
  font-weight:700;
}
.site-media-upload-fields input,.site-media-upload-fields textarea{
  width:100%;
}
.site-media-upload-fields textarea{
  min-height:58px;
}
.site-media-upload-fields>small{
  overflow:hidden;
  color:#77848d;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.site-media-upload-remove{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid #5a3537;
  border-radius:50%;
  background:#251719;
  color:#ff8984;
  font-size:20px;
  cursor:pointer;
}
.site-point-preview{
  display:grid;
  gap:12px;
}
.site-point-preview img,.site-point-preview video{
  display:block;
  width:100%;
  max-height:68vh;
  border-radius:9px;
  background:#070a0d;
  object-fit:contain;
}
.site-photo-viewer{
  position:relative;
  width:100%;
  height:min(68vh,720px);
  min-height:360px;
  overflow:hidden;
  border-radius:9px;
  background:#05080a;
  touch-action:none;
}
.site-photo-surface{
  display:grid;
  width:100%;
  height:100%;
  place-items:center;
  overflow:hidden;
  cursor:grab;
  touch-action:none;
}
.site-photo-surface:active{cursor:grabbing}
.site-photo-surface img{
  width:auto;
  max-width:100%;
  height:auto;
  max-height:100%;
  border-radius:0;
  transform-origin:center;
  transition:none;
  user-select:none;
  will-change:transform;
}
.site-photo-controls{
  position:absolute;
  right:10px;
  bottom:10px;
  display:flex;
  gap:5px;
  padding:5px;
  border:1px solid #394650;
  border-radius:8px;
  background:#0b1116e8;
  backdrop-filter:blur(10px);
}
.site-photo-controls button{
  min-width:38px;
  height:36px;
  padding:0 9px;
  border:1px solid #42515c;
  border-radius:6px;
  background:#172129;
  color:#f4f7f9;
  font-weight:900;
}
dialog.site-media-fullscreen{
  width:100vw;
  max-width:100vw;
  height:100dvh;
  max-height:100dvh;
  margin:0;
  padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
}
dialog.site-media-fullscreen .modal-card{width:100%;height:100%;max-height:none}
dialog.site-media-fullscreen .site-photo-viewer{height:calc(100dvh - 190px);min-height:0}
.site-panorama-viewer{
  width:100%;
  height:min(68vh,620px);
  min-height:360px;
  overflow:hidden;
  border-radius:9px;
  background:#070a0d;
}
.site-panorama-shell{
  position:relative;
  width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
  background:#070a0d;
}
.site-panorama-shell.adding-point .site-panorama-viewer,
.site-panorama-shell.adding-point .site-panorama-viewer *{
  cursor:crosshair!important;
}
.site-panorama-tools{
  position:absolute;
  z-index:8;
  bottom:14px;
  left:14px;
  display:flex;
  align-items:center;
  gap:9px;
  pointer-events:none;
}
.site-panorama-tools button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:7px;
  color:#10161a;
  background:rgba(247,250,252,.86);
  box-shadow:0 8px 22px rgba(0,0,0,.28);
  font-weight:900;
  pointer-events:auto;
  backdrop-filter:blur(14px);
}
.site-panorama-tools button.active{
  border-color:#ef3b3d;
  color:#fff;
  background:rgba(217,38,40,.9);
}
.site-panorama-tools small{
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:6px;
  color:#11171b;
  background:rgba(247,250,252,.84);
  box-shadow:0 8px 22px rgba(0,0,0,.22);
  font-weight:800;
  backdrop-filter:blur(14px);
}
.site-panorama-composer{
  position:absolute;
  z-index:12;
  right:22px;
  bottom:22px;
  display:grid;
  gap:9px;
  width:min(430px,calc(100% - 28px));
  padding:14px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:8px;
  background:rgba(246,249,250,.9);
  box-shadow:0 18px 54px rgba(0,0,0,.42);
  backdrop-filter:blur(20px);
}
.site-panorama-composer[hidden]{display:none}
.site-panorama-shell.composing-point .site-panorama-tools{display:none}
.site-panorama-composer header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#11171b;
}
.site-panorama-composer header button{
  width:30px;
  min-width:30px;
  height:30px;
  padding:0;
  border:0;
  color:#354047;
  background:transparent;
  font-size:22px;
}
.site-panorama-composer textarea{
  min-height:76px;
  resize:vertical;
  border-color:rgba(24,35,42,.24);
  color:#11171b;
  background:rgba(255,255,255,.72);
}
.site-panorama-colors{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin:0;
  padding:0;
  border:0;
}
.site-panorama-colors legend{
  grid-column:1/-1;
  margin-bottom:1px;
  color:#526069;
  font-size:10px;
  font-weight:900;
}
.site-panorama-colors label{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:0 8px;
  border:1px solid rgba(24,35,42,.18);
  border-radius:6px;
  color:#253039;
  background:rgba(255,255,255,.5);
  font-size:10px;
  font-weight:850;
  cursor:pointer;
}
.site-panorama-colors input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.site-panorama-colors label span{
  width:13px;
  height:13px;
  border:2px solid rgba(255,255,255,.9);
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(12,20,25,.25);
}
.site-panorama-colors label.red span{background:#e62f33}
.site-panorama-colors label.green span{background:#28b879}
.site-panorama-colors label.blue span{background:#2787d8}
.site-panorama-colors label.yellow span{background:#f1c943}
.site-panorama-colors label:has(input:checked){
  border-color:#111b21;
  background:#fff;
  box-shadow:inset 0 0 0 1px #111b21;
}
.site-panorama-attachment{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:2px 9px;
  min-height:42px;
  padding:7px 9px;
  border:1px dashed rgba(24,35,42,.36);
  border-radius:7px;
  color:#182229;
  background:rgba(255,255,255,.48);
  cursor:pointer;
}
.site-panorama-attachment input{display:none}
.site-panorama-attachment span{
  grid-row:1/3;
  font-size:12px;
  font-weight:900;
}
.site-panorama-attachment small{
  overflow:hidden;
  color:#68757d;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.site-panorama-composer>[data-panorama-save]{
  justify-self:end;
  min-height:36px;
  padding:0 14px;
  border:0;
  border-radius:6px;
  color:#fff;
  background:#d92528;
  font-weight:900;
}
.site-panorama-minimap{
  position:absolute;
  z-index:9;
  bottom:62px;
  left:14px;
  display:grid;
  gap:6px;
  width:min(340px,calc(100% - 28px));
  padding:8px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:8px;
  color:#eef3f5;
  background:rgba(11,17,22,.86);
  box-shadow:0 12px 34px rgba(0,0,0,.38);
  backdrop-filter:blur(16px);
}
.site-panorama-minimap[hidden]{display:none}
.site-panorama-minimap>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:27px;
}
.site-panorama-minimap>header strong{
  overflow:hidden;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.site-panorama-minimap>header button,
.site-panorama-minimap-controls button{
  display:grid;
  place-items:center;
  width:28px;
  min-width:28px;
  height:28px;
  padding:0;
  border:1px solid #4a5862;
  border-radius:6px;
  color:#f4f7f8;
  background:#192229;
  font-weight:900;
}
.site-panorama-minimap-viewport{
  position:relative;
  height:150px;
  overflow:hidden;
  border:1px solid #44515a;
  border-radius:6px;
  background:#e7eaec;
  cursor:grab;
  touch-action:none;
}
.site-panorama-minimap-viewport:active{cursor:grabbing}
.site-panorama-minimap-surface{
  position:relative;
  width:100%;
  height:100%;
  transform-origin:center;
  will-change:transform;
}
.site-panorama-minimap-surface>img,
.site-panorama-minimap-surface>canvas{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.site-panorama-minimap-marker{
  position:absolute;
  z-index:2;
  width:14px;
  height:14px;
  border:2px solid #fff;
  border-radius:50%;
  background:#e62f33;
  box-shadow:0 2px 9px rgba(0,0,0,.55),0 0 0 3px rgba(230,47,51,.24);
  transform:translate(-50%,-50%);
}
.site-panorama-minimap-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
}
.site-panorama-minimap-controls [data-panorama-minimap-reset]{width:auto;padding:0 9px;font-size:9px}
.site-panorama-minimap.collapsed{
  width:auto;
  max-width:220px;
}
.site-panorama-minimap.collapsed .site-panorama-minimap-viewport,
.site-panorama-minimap.collapsed .site-panorama-minimap-controls{display:none}
.pnlm-hotspot-base.zeus-panorama-annotation{
  width:22px;
  height:22px;
  border-radius:50%;
  background:none;
}
.zeus-panorama-marker{
  width:22px;
  min-width:22px;
  height:22px;
  padding:0;
  border:2px solid rgba(255,255,255,.92);
  border-radius:50%;
  color:#fff;
  background:#e62f33;
  box-shadow:0 4px 14px rgba(0,0,0,.42),0 0 0 3px rgba(230,47,51,.18);
  font-size:15px;
  line-height:1;
}
.zeus-panorama-annotation[data-color="green"] .zeus-panorama-marker{background:#28b879;box-shadow:0 4px 14px rgba(0,0,0,.42),0 0 0 3px rgba(40,184,121,.2)}
.zeus-panorama-annotation[data-color="blue"] .zeus-panorama-marker{background:#2787d8;box-shadow:0 4px 14px rgba(0,0,0,.42),0 0 0 3px rgba(39,135,216,.2)}
.zeus-panorama-annotation[data-color="yellow"] .zeus-panorama-marker{color:#20262a;background:#f1c943;box-shadow:0 4px 14px rgba(0,0,0,.42),0 0 0 3px rgba(241,201,67,.22)}
.zeus-panorama-note{
  position:absolute;
  top:46px;
  left:50%;
  display:none;
  width:min(330px,72vw);
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.74);
  border-radius:8px;
  color:#10161a;
  background:rgba(248,250,251,.96);
  box-shadow:0 18px 48px rgba(0,0,0,.34);
  transform:none;
  transform-origin:center top;
  backdrop-filter:blur(18px) saturate(120%);
}
.zeus-panorama-annotation.open .zeus-panorama-note{
  display:block;
  animation:site-panorama-note-in .16s ease-out;
}
.pnlm-hotspot-base.zeus-panorama-annotation.open{
  z-index:12;
  opacity:1 !important;
}
.zeus-panorama-note::before{
  position:absolute;
  top:-8px;
  left:50%;
  width:15px;
  height:15px;
  border-bottom:1px solid rgba(255,255,255,.74);
  border-left:1px solid rgba(255,255,255,.74);
  background:rgba(248,250,251,.96);
  content:"";
  transform:translateX(-50%) rotate(135deg);
}
.zeus-panorama-note p{
  position:relative;
  margin:0;
  color:#10161a !important;
  font-size:18px;
  font-weight:900;
  line-height:1.32;
  white-space:normal;
}
.zeus-panorama-note footer{
  position:relative;
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:9px;
  padding-top:8px;
  border-top:1px solid rgba(20,30,36,.13);
  color:#56636b !important;
  font-size:9px;
  white-space:normal;
}
.zeus-panorama-note footer strong{font-size:9px;font-weight:850}
.zeus-panorama-note footer time{font-size:8px}
.zeus-panorama-materials{
  width:100%;
  min-height:34px;
  margin-top:9px;
  padding:0 10px;
  border:1px solid rgba(20,30,36,.17);
  border-radius:6px;
  color:#172129;
  background:rgba(255,255,255,.58);
  font-size:10px;
  font-weight:900;
}
.site-panorama-material-overlay{
  position:absolute;
  inset:0;
  z-index:30;
  display:grid;
  place-items:center;
  padding:48px 28px 28px;
  background:rgba(3,7,10,.82);
  backdrop-filter:blur(12px);
}
.site-panorama-material-overlay>button{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  min-width:38px;
  height:38px;
  padding:0;
  border:1px solid rgba(255,255,255,.3);
  border-radius:50%;
  color:#fff;
  background:rgba(12,19,24,.72);
  font-size:24px;
}
.site-panorama-material-overlay figure{
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  max-width:min(100%,1100px);
  max-height:100%;
  margin:0;
}
.site-panorama-material-overlay img{
  width:100%;
  max-height:calc(100dvh - 150px);
  object-fit:contain;
}
.site-panorama-material-overlay figcaption{
  display:grid;
  gap:3px;
  padding:9px 2px 0;
  color:#fff;
}
.site-panorama-material-overlay figcaption strong{font-size:14px}
.site-panorama-material-overlay figcaption small{color:#aeb9c0;font-size:10px}
@keyframes site-panorama-note-in{
  from{opacity:0;transform:scale(.92)}
  to{opacity:1;transform:scale(1)}
}
.site-panorama-viewer>img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.site-point-preview strong{
  display:block;
  font-size:18px;
}
.site-point-preview small{
  display:block;
  margin-top:3px;
  color:#8e99a3;
}
.site-point-preview p{
  margin:8px 0 0;
  color:#cbd3d9;
}
.site-media-card{
  position:relative;
  grid-template-columns:minmax(0,1fr) 34px;
  gap:0;
  min-height:68px;
  padding:0;
}
.site-media-open{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-width:0;
  padding:7px;
  border:0;
  border-radius:8px 0 0 8px;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.site-media-preview{
  position:relative;
  display:grid;
  place-items:center;
  width:72px;
  height:54px;
  overflow:hidden;
  border-radius:7px;
  background:#202b33;
  color:#c9d6dd;
  font-size:15px;
  font-weight:950;
}
.site-media-preview img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.site-media-preview i{
  position:relative;
  z-index:1;
  font-style:normal;
}
.site-media-preview.ready i{display:none}
.site-media-preview b{
  position:absolute;
  right:4px;
  bottom:4px;
  z-index:2;
  padding:3px 5px;
  border-radius:5px;
  background:#071015d9;
  color:#fff;
  font-size:8px;
  letter-spacing:0;
}
.site-media-copy{
  display:grid;
  min-width:0;
  gap:3px;
}
.site-media-copy strong,.site-media-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.site-media-copy strong{font-size:13px}
.site-media-copy small{color:#8c98a1;font-size:10px}
.site-media-more{
  align-self:stretch;
  width:34px;
  min-width:34px;
  padding:0;
  border:0;
  border-left:1px solid #303b44;
  border-radius:0 8px 8px 0;
  background:#111920;
  color:#dce5ea;
  font-size:16px;
}
.site-media-menu{
  position:absolute;
  top:54px;
  right:7px;
  z-index:20;
  display:grid;
  min-width:150px;
  padding:5px;
  border:1px solid #3b4851;
  border-radius:7px;
  background:#11181deF;
  box-shadow:0 12px 30px #000b;
  backdrop-filter:blur(12px);
}
.site-media-menu[hidden]{display:none}
.site-media-menu button{
  padding:8px 10px;
  border:0;
  background:transparent;
  color:#e9eff2;
  text-align:left;
}
.site-point-preview{
  grid-template-columns:minmax(0,1fr) minmax(260px,340px);
  gap:0;
  height:100%;
  min-height:0;
}
.site-point-media{
  position:relative;
  display:grid;
  min-width:0;
  min-height:0;
  place-items:center;
  overflow:hidden;
  background:#05080a;
}
.site-point-media>video{
  display:block;
  width:100%;
  height:100%;
  max-height:none;
  border-radius:0;
  background:#070a0d;
  object-fit:contain;
}
.site-video360-viewer{
  position:absolute;
  inset:0;
  min-height:0;
  overflow:hidden;
  background:#05080a;
  cursor:grab;
  touch-action:none;
  user-select:none;
}
.site-video360-viewer.dragging{cursor:grabbing}
.site-video360-viewer>canvas{
  display:block;
  width:100%;
  height:100%;
  background:#05080a;
}
.site-video360-viewer>video{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.site-video360-hint{
  position:absolute;
  z-index:2;
  top:14px;
  left:50%;
  max-width:calc(100% - 32px);
  padding:7px 11px;
  transform:translateX(-50%);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  color:#f5f8fa;
  background:rgba(7,10,13,.7);
  box-shadow:0 6px 24px rgba(0,0,0,.28);
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
  pointer-events:none;
  backdrop-filter:blur(8px);
}
.site-video360-controls{
  position:absolute;
  z-index:3;
  right:16px;
  bottom:14px;
  left:16px;
  display:grid;
  grid-template-columns:auto minmax(100px,1fr) auto auto auto;
  align-items:center;
  gap:9px;
  padding:9px 11px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:10px;
  background:rgba(7,10,13,.78);
  box-shadow:0 10px 34px rgba(0,0,0,.34);
  backdrop-filter:blur(10px);
}
.site-video360-controls button{
  min-width:34px;
  height:34px;
  padding:0 9px;
  border:1px solid #46535c;
  border-radius:7px;
  color:#f4f7f9;
  background:#1b242a;
  font-size:13px;
}
.site-video360-controls button:hover{border-color:#e83431;background:#283239}
.site-video360-controls input[type="range"]{width:100%;accent-color:#e83431}
.site-video360-time{
  min-width:88px;
  color:#e7edf1;
  font-variant-numeric:tabular-nums;
  font-size:10px;
  font-weight:800;
  text-align:center;
  white-space:nowrap;
}
.site-video360-viewer.fallback{cursor:default;touch-action:auto}
.site-video360-viewer.fallback>canvas,
.site-video360-viewer.fallback .site-video360-hint,
.site-video360-viewer.fallback .site-video360-controls{display:none}
.site-video360-viewer.fallback>video{
  position:static;
  display:block;
  width:100%;
  height:100%;
  opacity:1;
  pointer-events:auto;
  object-fit:contain;
}
.site-point-sidebar{
  display:grid;
  grid-template-rows:auto auto auto minmax(0,1fr);
  gap:14px;
  min-width:0;
  min-height:0;
  padding:18px;
  overflow:hidden;
  border-left:1px solid #303b44;
  background:#11171c;
}
.site-point-sidebar>header strong{display:block;font-size:18px}
.site-point-sidebar>header small{display:block;margin-top:4px;color:#8e99a3;font-size:10px}
.site-point-description{
  display:grid;
  gap:5px;
  padding:10px;
  border:1px solid #303b44;
  border-radius:7px;
  background:#0d1317;
}
.site-point-description b,.site-media-comments>header b{font-size:10px;text-transform:uppercase}
.site-point-description p{
  margin:0;
  color:#cbd3d9;
  font-size:11px;
  line-height:1.45;
  white-space:pre-wrap;
}
.site-point-telegram-share,.site-point-copy-link{
  min-height:36px;
  padding:0 11px;
  border:1px solid #2873a8;
  border-radius:7px;
  color:#dcedf8;
  background:#13334a;
  font-size:11px;
  font-weight:850;
}
.site-point-copy-link{
  border-color:#50616d;
  color:#eef4f8;
  background:#1a242b;
}
.site-panorama-share-overlay{
  position:absolute;
  z-index:80;
  inset:0;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(2,5,7,.72);
  backdrop-filter:blur(7px);
}
.site-panorama-share-card{
  display:grid;
  gap:12px;
  width:min(480px,100%);
  padding:18px;
  border:1px solid #3b4851;
  border-radius:8px;
  background:#12191e;
  box-shadow:0 20px 70px rgba(0,0,0,.55);
}
.site-panorama-share-card>header{
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:12px;
}
.site-panorama-share-card>header strong{display:block;font-size:18px}
.site-panorama-share-card>header small{display:block;margin-top:3px;color:#8e9aa3;font-size:10px}
.site-panorama-share-card>header button{
  width:32px;
  min-width:32px;
  height:32px;
  padding:0;
  border:0;
  color:#cdd5da;
  background:transparent;
  font-size:24px;
}
.site-panorama-share-card label{display:grid;gap:5px;color:#aeb8bf;font-size:10px;font-weight:850}
.site-panorama-share-card select,.site-panorama-share-card textarea{width:100%}
.site-panorama-share-card>p{min-height:16px;margin:0;color:#ff7974;font-size:11px}
.site-panorama-share-card>footer{display:flex;justify-content:flex-end;gap:8px}
.site-media-comments{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  min-height:0;
  border-top:1px solid #2d373f;
}
.site-media-comments>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:11px 0 8px;
}
.site-media-comments>header span{
  display:grid;
  place-items:center;
  min-width:24px;
  height:24px;
  border-radius:50%;
  background:#253038;
  color:#cdd6dc;
  font-size:9px;
  font-weight:900;
}
.site-media-comment-list{
  display:grid;
  align-content:start;
  gap:7px;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-right:3px;
}
.site-media-comment{
  padding:9px;
  border:1px solid #2e3941;
  border-radius:7px;
  background:#0d1317;
}
.site-media-comment header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.site-media-comment header strong{font-size:9px}
.site-media-comment time{color:#76838c;font-size:8px;white-space:nowrap}
.site-media-comment p{margin:5px 0 0;color:#edf2f4;font-size:14px;font-weight:650;line-height:1.4;white-space:pre-wrap}
.site-media-comments-empty{padding:18px 8px;color:#7f8b94;font-size:10px;text-align:center}
.site-media-comment-compose{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:6px;padding-top:8px}
.site-media-comment-compose textarea{
  min-height:42px;
  max-height:110px;
  padding:9px;
  border:1px solid #35414a;
  border-radius:7px;
  background:#0b1014;
  color:#edf2f4;
  resize:vertical;
}
.site-media-comment-compose button{
  width:42px;
  min-width:42px;
  height:42px;
  padding:0;
  border-radius:50%;
  background:#e83431;
  color:#fff;
  font-size:22px;
}
dialog.site-media-fullscreen{
  width:100vw;
  max-width:100vw;
  height:100dvh;
  max-height:100dvh;
  margin:0;
  padding:0;
}
dialog.site-media-fullscreen .modal-card{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  width:100%;
  height:100%;
  max-height:none;
  padding:0;
  border:0;
  border-radius:0;
}
dialog.site-media-fullscreen .modal-card>h2{
  height:44px;
  margin:0;
  padding:12px 56px 8px 16px;
  border-bottom:1px solid #303b44;
  font-size:16px;
}
dialog.site-media-fullscreen .modal-close{z-index:5;top:5px;right:10px}
dialog.site-media-fullscreen #modal-body{min-height:0;overflow:hidden}
dialog.site-media-fullscreen .modal-actions,
dialog.site-media-fullscreen #modal-error{display:none}
dialog.site-media-fullscreen .site-photo-viewer{
  width:100%;
  height:100%;
  min-height:0;
  border-radius:0;
}
.site-panorama-viewer{
  width:100%;
  height:100%;
  min-height:0;
  border-radius:0;
}
.site-media-demo-modal .site-point-preview{grid-template-columns:minmax(0,1fr) 300px}
.site-media-demo-modal .site-point-preview>div:last-child{padding:18px;border-left:1px solid #303b44}
.site-media-demo-modal .site-point-preview>div:last-child strong{display:block;font-size:18px}
.site-media-demo-modal .site-point-preview>div:last-child small{display:block;margin-top:3px;color:#8e99a3}
.site-media-demo-modal .site-point-preview>div:last-child p{margin:8px 0 0;color:#cbd3d9}
@media(max-width:980px){
  .site-workspace-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .site-workspace-body{grid-template-columns:1fr}
  .site-media-grid{position:static}
}
@media(max-width:620px){
  .object-grid{grid-template-columns:1fr}
  .site-plan-viewport{height:min(58vh,540px);min-height:300px}
  .site-plan-controls{right:8px;bottom:8px}
  .site-plan-controls button{min-width:34px;height:34px}
  .site-upload-preview{grid-template-columns:1fr}
  .site-upload-preview-media{aspect-ratio:4/3}
  .site-upload-preview>button{width:100%}
  .site-media-upload-item{
    grid-template-columns:88px minmax(0,1fr) 30px;
    gap:7px;
    padding:7px;
  }
  .site-media-upload-thumb{
    width:88px;
  }
  .site-media-upload-remove{
    width:30px;
    height:30px;
  }
}
@media(max-width:820px){
  .object-hub,.site-workspace,.site-workspace>*,
  .object-grid,.object-card,.site-workspace-body,
  .site-plan-browser,.site-plan-gallery,.site-plan-detail,.site-plan-card,.site-plan-stage,
  .site-media-grid,.site-media-card{
    width:100%;
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }
  .object-hub{
    gap:10px;
    margin-bottom:10px;
    padding:10px;
    border-radius:9px;
    overflow:hidden;
  }
  .object-hub-head{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    gap:4px;
  }
  .object-hub-head span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .object-grid{
    grid-template-columns:minmax(0,1fr);
    gap:8px;
  }
  .object-card{
    min-height:92px;
    padding:10px;
  }
  .object-card strong{font-size:15px}
  .site-workspace-summary{
    grid-template-columns:repeat(5,minmax(72px,1fr));
    gap:6px;
    width:100%;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
  }
  .site-workspace-summary::-webkit-scrollbar{display:none}
  .site-workspace-summary span{
    min-width:82px;
    min-height:58px;
    padding:9px;
    scroll-snap-align:start;
  }
  .site-workspace-summary small{font-size:8px}
  .site-workspace-summary b{font-size:22px}
  .site-workspace-tabs{
    position:sticky;
    top:0;
    z-index:12;
    width:100%;
    min-width:0;
    padding:5px;
    gap:5px;
    border-radius:8px;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    box-shadow:0 8px 18px #0005;
  }
  .site-workspace-tabs::-webkit-scrollbar{display:none}
  .site-workspace-tabs button{
    flex:0 0 auto;
    height:34px;
    padding:0 11px;
    font-size:11px;
  }
  .site-workspace-body{
    grid-template-columns:minmax(0,1fr);
    gap:9px;
  }
  .site-plan-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .site-plan-tile{
    gap:6px;
    padding-bottom:8px;
  }
  .site-plan-tile-copy{
    padding-left:8px;
  }
  .site-plan-tile>em{
    padding-right:8px;
  }
  .site-plan-card{
    border-radius:9px;
    overflow:hidden;
  }
  .site-plan-card>header,.site-plan-card>footer{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    padding:9px 10px;
  }
  .site-plan-card>header>div:first-child,
  .site-plan-card>footer>span{
    min-width:0;
  }
  .site-plan-card h3,.site-plan-card small,
  .site-plan-card footer span{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .site-plan-card h3{font-size:14px}
  .site-plan-card small,.site-plan-card footer span{font-size:9px}
  .site-plan-actions .secondary{
    min-width:0;
    height:34px;
    padding:0 10px;
    font-size:10px;
  }
  .site-plan-actions .icon-button{
    flex-basis:34px;
    width:34px;
    min-width:34px;
    height:34px;
  }
  .site-plan-viewport{
    width:100%;
    height:clamp(300px,52dvh,520px);
    min-height:300px;
    max-width:100%;
  }
  .site-plan-controls{
    right:7px;
    bottom:7px;
    max-width:calc(100% - 14px);
    padding:4px;
  }
  .site-plan-controls button{
    min-width:32px;
    height:32px;
    padding:0 7px;
    font-size:18px;
  }
  .site-plan-controls [data-plan-zoom="reset"]{
    min-width:52px;
    font-size:10px;
  }
  .site-plan-stage.expanded{
    inset:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);
    border:0;
    border-radius:0;
  }
  .site-media-grid{
    position:static;
    grid-template-columns:minmax(0,1fr);
    gap:7px;
  }
  .site-media-card{
    grid-template-columns:minmax(0,1fr) 32px;
    min-height:58px;
  }
  .site-media-open{
    grid-template-columns:62px minmax(0,1fr);
    gap:8px;
    padding:5px;
  }
  .site-media-preview{
    width:62px;
    height:48px;
  }
  .site-media-more{
    width:32px;
    min-width:32px;
  }
  .site-media-menu{
    right:5px;
    top:48px;
  }
  .site-point-access{
    gap:8px;
    padding:10px;
  }
  .site-point-access>header,.site-point-access>footer{
    align-items:stretch;
    flex-direction:column;
  }
  .site-point-access header strong{
    align-self:flex-end;
    margin-top:-40px;
  }
  .site-point-access-list{
    grid-template-columns:minmax(0,1fr);
    max-height:42dvh;
  }
  .site-point-access-user{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .site-point-access-user em{
    grid-column:2;
  }
  .site-point-permissions{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .site-point-permissions label{
    justify-content:center;
    padding:6px 4px;
  }
  .site-point-access footer button{
    width:100%;
  }
  dialog:has(.site-upload-form){
    width:100vw;
    max-width:100vw;
    height:100dvh;
    max-height:100dvh;
    margin:0;
    padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));
  }
  dialog:has(.site-upload-form) .modal-card{
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    width:100%;
    height:100%;
    max-height:none;
    padding:16px;
    border-radius:12px;
    overflow:hidden;
  }
  dialog:has(.site-upload-form) .site-upload-form{
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:1px 2px calc(env(safe-area-inset-bottom,0px) + 4px);
  }
  .site-upload-preview{
    grid-template-columns:minmax(0,1fr);
    align-items:stretch;
    gap:9px;
    padding:8px;
  }
  .site-upload-preview-media{
    width:100%;
    max-height:38dvh;
    aspect-ratio:4/3;
  }
  .site-upload-preview>button{width:100%}
  .site-upload-form .modal-actions{
    position:sticky;
    bottom:0;
    z-index:3;
    margin-top:8px;
    padding-top:8px;
    background:linear-gradient(180deg,transparent,#12171c 24%);
  }
  dialog.site-media-fullscreen .modal-card>h2{
    height:36px;
    padding:9px 48px 7px 10px;
    font-size:13px;
  }
  dialog.site-media-fullscreen .modal-close{
    top:1px;
    right:5px;
  }
  .site-point-preview{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:minmax(0,1fr) minmax(178px,34dvh);
  }
  .site-point-media{min-height:0}
  .site-video360-hint{top:8px;padding:5px 8px;font-size:8px}
  .site-video360-controls{
    right:8px;
    bottom:max(8px,env(safe-area-inset-bottom));
    left:8px;
    grid-template-columns:auto minmax(72px,1fr) auto auto;
    gap:5px;
    padding:6px;
  }
  .site-video360-controls button{min-width:32px;height:32px;padding:0 7px;font-size:12px}
  .site-video360-time{min-width:70px;font-size:8px}
  .site-video360-controls [data-video360-reset]{display:none}
  .site-point-sidebar{
    grid-template-rows:auto auto minmax(0,1fr);
    gap:7px;
    padding:9px 10px max(9px,env(safe-area-inset-bottom));
    border-top:1px solid #303b44;
    border-left:0;
  }
  .site-point-sidebar>header{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:8px;
  }
  .site-point-sidebar>header strong{
    overflow:hidden;
    font-size:13px;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .site-point-sidebar>header small{
    flex:0 0 auto;
    margin-top:0;
    font-size:8px;
  }
  .site-point-description{display:none}
  .site-point-telegram-share,.site-point-copy-link{min-height:32px;font-size:10px}
  .site-media-comments{grid-row:auto}
  .site-media-comments>header{padding:5px 0}
  .site-media-comment{padding:6px 8px}
  .site-media-comment-compose{
    grid-template-columns:minmax(0,1fr) 38px;
    padding-top:6px;
  }
  .site-media-comment-compose textarea{
    min-height:38px;
    max-height:72px;
    padding:7px 8px;
    font-size:11px;
  }
  .site-media-comment-compose button{
    width:38px;
    min-width:38px;
    height:38px;
  }
  .site-panorama-share-overlay{padding:8px}
  .site-panorama-share-card{gap:9px;padding:12px}
  .site-panorama-share-card>header strong{font-size:15px}
  .site-panorama-share-card>footer button{min-height:38px}
  .site-point-preview img,.site-point-preview video{
    max-height:none;
  }
  .site-photo-viewer{
    width:100%;
    height:100%;
    min-height:0;
  }
  .site-panorama-viewer{
    width:100%;
    height:100%;
    min-height:0;
  }
  .site-panorama-tools{
    bottom:max(8px,env(safe-area-inset-bottom));
    left:8px;
  }
  .site-panorama-tools button{
    width:38px;
    min-width:38px;
    height:38px;
    padding:0;
    justify-content:center;
    font-size:19px;
  }
  .site-panorama-tools button span{display:none}
  .site-panorama-tools small{
    max-width:170px;
    padding:7px 8px;
    font-size:9px;
  }
  .site-panorama-minimap{
    right:8px;
    bottom:max(54px,calc(env(safe-area-inset-bottom) + 46px));
    left:8px;
    width:auto;
    padding:7px;
  }
  .site-panorama-minimap-viewport{height:108px}
  .site-panorama-minimap.collapsed{
    right:auto;
    max-width:190px;
  }
  .site-panorama-composer{
    right:8px;
    bottom:8px;
    left:8px;
    gap:7px;
    width:auto;
    padding:10px;
  }
  .site-panorama-composer textarea{
    min-height:58px;
    font-size:14px;
  }
  .site-panorama-colors{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-panorama-colors label{font-size:10px}
  .site-panorama-attachment span{font-size:11px}
  .zeus-panorama-note{
    left:29px;
    width:min(270px,74vw);
    padding:10px 11px;
  }
  .zeus-panorama-note p{font-size:15px}
  .zeus-panorama-note footer strong{font-size:8px}
  .zeus-panorama-note footer time{font-size:8px}
  .site-panorama-material-overlay{padding:44px 8px max(8px,env(safe-area-inset-bottom))}
  .site-media-demo-modal .site-point-preview{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:minmax(0,1fr) auto;
  }
  .site-media-demo-modal .site-point-preview>div:last-child{
    padding:9px 10px max(9px,env(safe-area-inset-bottom));
    border-top:1px solid #303b44;
    border-left:0;
  }
  .site-media-demo-modal .site-point-preview>div:last-child strong{font-size:13px}
  .site-media-demo-modal .site-point-preview>div:last-child p{display:none}
}
@media(max-width:420px){
  .site-plan-gallery{
    grid-template-columns:minmax(0,1fr);
  }
}
@media(max-width:720px){
  .remnawave-catalog-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .remnawave-catalog-head small{
    max-width:none;
    text-align:left;
  }
  .remnawave-squad-list{
    grid-template-columns:1fr;
    max-height:420px;
  }
}
.company-leader-dashboard{max-width:1100px;margin:0 auto;padding:28px}
.company-leader-dashboard>header{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}
.company-leader-dashboard>header h2{margin:0;font-size:30px}
.company-leader-dashboard>header span{color:var(--muted)}
.company-leader-dashboard>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.company-leader-dashboard article{display:flex;align-items:center;justify-content:space-between;min-height:84px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.company-leader-dashboard article strong{font-size:17px}
.company-leader-dashboard article b{font-size:30px;color:var(--accent)}
.downloads-shell{display:grid;gap:18px;max-width:1080px;margin:0 auto;padding:28px}
.downloads-shell>header{padding-bottom:18px;border-bottom:1px solid var(--line)}
.downloads-shell>header span{color:var(--accent);font-size:12px;font-weight:800;text-transform:uppercase}
.downloads-shell>header h2{margin:5px 0 8px;font-size:30px}
.downloads-shell>header p{max-width:720px;margin:0;color:var(--muted);line-height:1.45}
.downloads-list{display:grid;gap:12px}
.download-platform{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:142px;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.download-platform.unavailable{opacity:.72}
.download-platform-icon{display:grid;place-items:center;width:64px;height:64px;border:1px solid #46545f;border-radius:8px;background:#192129;color:#f4f7f9;font-size:32px;font-weight:800}
.download-platform-copy>span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}
.download-platform-copy h3{margin:4px 0 7px;font-size:20px}
.download-platform-copy p{max-width:690px;margin:0;color:var(--muted);font-size:13px;line-height:1.4}
.download-platform-meta{display:flex;align-items:center;gap:12px;margin-top:12px;color:#b8c2ca;font-size:11px}
.download-platform-meta code{overflow:hidden;max-width:240px;text-overflow:ellipsis;white-space:nowrap}
.download-platform-action{display:inline-flex;align-items:center;justify-content:center;min-width:132px;min-height:46px;text-decoration:none}
.downloads-shell>aside{display:flex;align-items:center;gap:12px;padding:14px 16px;border-left:3px solid #d99b24;background:#171a1d;color:var(--muted);font-size:12px}
.downloads-shell>aside b{flex:0 0 auto;color:#f4f7f9}
@media(max-width:760px){
  .downloads-shell{padding:14px 12px 108px}
  .downloads-shell>header h2{font-size:24px}
  .download-platform{grid-template-columns:48px minmax(0,1fr);gap:12px;min-height:0;padding:14px}
  .download-platform-icon{width:48px;height:48px;font-size:24px}
  .download-platform-copy h3{font-size:17px}
  .download-platform-action,.download-platform>button{grid-column:1/-1;width:100%}
  .download-platform-meta{align-items:flex-start;flex-direction:column;gap:4px}
  .downloads-shell>aside{align-items:flex-start;flex-direction:column;gap:4px}
  .company-leader-dashboard{padding:16px}
  .company-leader-dashboard>header{align-items:start;flex-direction:column;gap:4px}
  .company-leader-dashboard>div{grid-template-columns:1fr 1fr}
  .company-leader-dashboard article{min-height:72px;padding:14px}
}

/* Stable desktop workspace: fixed chrome, one fast scroll surface, no decorative scrollbars. */
@media(min-width:821px){
  html,body{width:100%;height:100%;overflow:hidden}
  #app.app:not(.hidden){width:100%;height:100dvh;min-height:0;overflow:hidden}
  .workspace{
    width:100%;
    height:100dvh;
    min-height:0;
    grid-template-rows:58px minmax(0,1fr) 24px!important;
    overflow:hidden;
  }
  .topbar{
    position:relative!important;
    top:auto!important;
    height:58px!important;
    min-height:58px!important;
    padding:0 16px!important;
    gap:10px!important;
  }
  .topbar h1{font-size:19px!important;line-height:1.1!important}
  .topbar .global-search input,
  .topbar-refresh,
  .desktop-update-button{height:34px}
  .content{
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    overflow:auto;
    overscroll-behavior:contain;
    padding:14px 16px 18px;
  }
  .workspace>footer{
    position:relative;
    z-index:9;
    min-width:0;
    height:24px;
    padding:0 14px;
    gap:14px;
    overflow:hidden;
    background:#090d10f2;
    border-top:1px solid #20282f;
    color:#75818a;
    font-size:9px!important;
    line-height:1!important;
    white-space:nowrap;
  }
  .workspace>footer>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .workspace>footer .sync{margin-left:auto}
  .workspace>footer .sync i{width:7px;height:7px;margin-right:4px}
  .page-head{margin-bottom:10px}
  .page-head h2{font-size:21px}
  .page-head p{margin-top:3px;font-size:12px}
  .panel{padding:13px}
  .sidebar nav,
  .content,
  .table-scroll,
  .timesheet-wrap,
  .admin-manager-grid,
  .phone-contact-list,
  .messenger-thread,
  .database-person-list,
  .timesheet-day-photo-feed,
  .timesheet-day-person-list{
    scrollbar-width:none;
  }
  .sidebar nav::-webkit-scrollbar,
  .content::-webkit-scrollbar,
  .table-scroll::-webkit-scrollbar,
  .timesheet-wrap::-webkit-scrollbar,
  .admin-manager-grid::-webkit-scrollbar,
  .phone-contact-list::-webkit-scrollbar,
  .messenger-thread::-webkit-scrollbar,
  .database-person-list::-webkit-scrollbar,
  .timesheet-day-photo-feed::-webkit-scrollbar,
  .timesheet-day-person-list::-webkit-scrollbar{
    width:0;
    height:0;
    display:none;
  }
  .content:has(.dashboard-workspace),
  .content:has(.admin-dashboard-workspace){height:100%;min-height:0;overflow:auto}
}

@media(min-width:821px) and (max-height:820px){
  .workspace{grid-template-rows:54px minmax(0,1fr) 22px!important}
  .topbar{height:54px!important;min-height:54px!important}
  .content{padding:10px 12px 14px}
  .sidebar{padding-top:10px!important;padding-bottom:8px!important}
  .brand{height:52px!important;margin-bottom:8px!important}
  .brand img{width:44px!important;height:44px!important}
  .sidebar nav button,.settings-button,.collapse{height:36px!important;min-height:36px!important}
  .sidebar nav .nav-group>summary{height:36px}
  .sidebar nav .nav-subgroup>summary,
  .sidebar nav .nav-group-items button,
  .sidebar nav .nav-subgroup-items button{height:33px!important;min-height:33px!important}
}

.site-plan-stage.adding-point .site-plan-viewport,
.site-plan-stage.adding-point .site-plan-canvas,
.site-plan-stage.adding-point .site-plan-canvas>*{cursor:crosshair!important}

/* Keep timesheet dates visible in the macOS WebView at every native zoom level. */
.timesheet-wrap .timesheet thead{
  position:sticky!important;
  top:0!important;
  z-index:30!important;
}
.timesheet-wrap .timesheet thead th{
  top:0!important;
  backface-visibility:visible!important;
  transform:none!important;
}
.timesheet-wrap .timesheet thead .day>span,
.timesheet-wrap .timesheet thead .day>small{
  position:relative;
  z-index:1;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.timesheet-page .timesheet-tools{
  top:0!important;
  margin-top:0!important;
  margin-bottom:6px!important;
  padding:5px 8px!important;
}
.timesheet-page .timesheet-toolbar-line{gap:5px!important}
.timesheet-page .timesheet-approve-stack{
  flex:0 0 122px!important;
  width:122px!important;
  min-width:122px!important;
  max-width:122px!important;
  gap:1px!important;
}
.timesheet-page .timesheet-save-state{
  font-size:6px!important;
  line-height:1!important;
  letter-spacing:-.01em;
}
.timesheet-page .timesheet-approve{
  padding:0 5px!important;
  font-size:8px!important;
  white-space:nowrap;
}
.timesheet-page .timesheet-add-row{min-width:82px!important;padding-left:7px!important;padding-right:7px!important}
.site-plan-stage.adding-point{box-shadow:0 0 0 2px #e53935,0 0 28px #e5393540}
[data-plan-add-point].active{border-color:#ef5350!important;background:#3b1719!important;color:#ffb3b3!important}

.site-transfer-progress{
  display:grid;
  gap:8px;
  width:100%;
  margin-top:10px;
  padding:12px 14px;
  border:1px solid #35434d;
  border-radius:8px;
  background:#10171c;
  color:#edf2f5;
}
.site-transfer-progress[hidden]{display:none}
.site-transfer-progress>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.site-transfer-progress strong{font-size:13px}
.site-transfer-progress span{color:#79c9f4;font-size:13px;font-weight:900;font-variant-numeric:tabular-nums}
.site-transfer-progress progress{width:100%;height:9px;overflow:hidden;border:0;border-radius:999px;background:#263139;accent-color:#e53935}
.site-transfer-progress progress::-webkit-progress-bar{border-radius:999px;background:#263139}
.site-transfer-progress progress::-webkit-progress-value{border-radius:999px;background:#e53935;transition:width .15s ease}
.site-transfer-progress small{overflow:hidden;color:#94a2ac;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.site-transfer-progress.complete progress{accent-color:#32c873}
.site-transfer-progress.complete progress::-webkit-progress-value{background:#32c873}
.site-transfer-progress.error{border-color:#8e3538}
.site-transfer-progress.error small{color:#ff8585}
.site-transfer-progress.floating{
  position:fixed;
  z-index:12050;
  right:max(18px,env(safe-area-inset-right));
  bottom:max(18px,calc(env(safe-area-inset-bottom) + 18px));
  width:min(390px,calc(100vw - 36px));
  margin:0;
  box-shadow:0 18px 60px #000c;
  backdrop-filter:blur(14px);
}
.site-transfer-progress.floating.centered{
  z-index:14000;
  right:auto;
  bottom:auto;
  top:50%;
  left:50%;
  width:min(430px,calc(100vw - 32px));
  padding:18px 20px;
  border-color:#4a5964;
  background:#10171cd9;
  box-shadow:0 0 0 100vmax #05080b8f,0 24px 80px #000d;
  transform:translate(-50%,-50%);
}
.site-transfer-progress.floating.centered strong{font-size:16px}
.site-transfer-progress.floating.centered small{font-size:12px}
.site-transfer-progress.floating.centered progress{height:7px;accent-color:#ef3434}
.site-transfer-progress.floating.centered progress::-webkit-progress-value{background:linear-gradient(90deg,#d92125,#ff4a46)}
.site-transfer-progress.floating.centered::before{content:"Загрузка";color:#ef3b3b;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.site-plan-thumbnail.document-preview{background:#11181d}
.site-plan-thumbnail.document-preview i{color:#e6edf1;font-size:16px;letter-spacing:.08em}

.site-share-dialog{display:grid;gap:16px}.site-share-dialog>p{margin:0;color:#b8c2c9;line-height:1.55}.site-share-dialog>label,.site-share-result label{display:grid;gap:7px;color:#aeb8c0;font-weight:800}.site-share-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding-top:4px}.site-share-result input{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}dialog:has(.site-share-modal){position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:14px;overflow:hidden}.modal-card.site-share-modal{position:absolute;inset:50% auto auto 50%;width:min(620px,calc(100vw - 28px));max-height:calc(100dvh - 28px);margin:0;overflow:auto;overscroll-behavior:contain;transform:translate(-50%,-50%)}.site-delete-confirm{display:grid;gap:10px}.site-delete-confirm p{margin:0;font-size:18px}.site-delete-confirm small{color:#9da8b0}.modal-actions .danger{border-color:#8d292d!important;background:#bd2529!important;color:#fff!important}

body.public-site-share{min-height:100dvh;background:#0b0f12}body.public-site-share .app{display:block!important;min-height:100dvh}body.public-site-share .sidebar,body.public-site-share .topbar,body.public-site-share .app>footer,body.public-site-share .mobile-bottom-nav{display:none!important}body.public-site-share .main{min-width:0}body.public-site-share .content{max-width:1600px;margin:0 auto;padding:22px}.public-site-share-page{display:grid;gap:18px}.public-site-share-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;border-bottom:1px solid #263039}.public-site-share-head>div{display:flex;align-items:baseline;gap:12px}.public-site-share-head b{font-size:25px}.public-site-share-head b span{color:#e53935}.public-site-share-head small{color:#8f9aa3}.public-site-share-head>strong{padding:7px 11px;border:1px solid #36503f;border-radius:999px;background:#14271c;color:#76dfa0;font-size:12px}.public-site-share-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:20px;border:1px solid #2b353d;border-radius:9px;background:#12181d}.public-site-share-title h1{margin:0;font-size:30px}.public-site-share-title p{margin:5px 0 0;color:#919da6}.public-site-share-title>div:last-child{display:flex;gap:10px}.public-site-share-title span{display:grid;min-width:76px;padding:9px 12px;border:1px solid #303b44;border-radius:7px;text-align:center;font-size:20px;font-weight:900}.public-site-share-title span small{color:#8d99a2;font-size:10px;text-transform:uppercase}.public-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.public-site-share-error{display:grid;place-items:center;align-content:center;min-height:100dvh;padding:24px;text-align:center}.public-site-share-error b{font-size:30px}.public-site-share-error p{color:#9aa5ad;font-size:16px}
.public-guest-shell{grid-template-columns:230px minmax(0,1fr);gap:0;min-height:calc(100dvh - 44px);overflow:hidden;border:1px solid #263039;border-radius:9px;background:#0d1216}.public-guest-sidebar{display:grid;grid-template-rows:auto 1fr auto;gap:24px;padding:20px 14px;border-right:1px solid #263039;background:#090d10}.public-guest-brand{display:grid;gap:2px;padding:0 10px}.public-guest-brand b{font-size:24px}.public-guest-brand b span{color:#e53935}.public-guest-brand small{color:#7f8b94}.public-guest-sidebar nav{display:grid;align-content:start;gap:7px}.public-guest-sidebar nav button{justify-content:flex-start;width:100%;padding:11px 13px;border:0;background:transparent;color:#c9d1d6;text-align:left}.public-guest-sidebar nav button.active{background:#e73330;color:#fff}.public-guest-user{display:flex;align-items:center;gap:10px;padding:10px;border-top:1px solid #263039}.public-guest-user i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#303b44;color:#fff;font-style:normal;font-weight:900}.public-guest-user span{display:grid;min-width:0}.public-guest-user b,.public-guest-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-guest-user small{color:#84919a;font-size:10px}.public-guest-main{min-width:0;padding:0 20px 20px}.public-guest-dashboard{display:grid;place-items:center;min-height:calc(100dvh - 125px);text-align:center}.public-guest-dashboard>div{display:grid;justify-items:center;gap:10px}.public-guest-dashboard b{font-size:30px}.public-guest-dashboard p{max-width:430px;margin:0;color:#89959e}.public-guest-dashboard button{margin-top:8px}

@media(max-width:700px){body.public-site-share .content{padding:0}.public-guest-shell{grid-template-columns:1fr;min-height:100dvh;border:0;border-radius:0}.public-guest-sidebar{position:fixed;z-index:20;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto;padding:7px 10px calc(7px + env(safe-area-inset-bottom));border:1px solid #2b353d;border-width:1px 0 0}.public-guest-brand,.public-guest-user{display:none}.public-guest-sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:6px}.public-guest-sidebar nav button{justify-content:center;padding:9px;text-align:center}.public-guest-main{padding:0 10px calc(72px + env(safe-area-inset-bottom))}.public-site-share-head{min-height:50px}.public-site-share-head small{display:none}.public-site-share-title{align-items:flex-start;flex-direction:column;padding:14px}.public-site-share-title h1{font-size:23px}.public-site-share-title>div:last-child{display:grid;grid-template-columns:repeat(4,1fr);width:100%;gap:6px}.public-site-share-title span{min-width:0;padding:7px 4px;font-size:17px}.site-share-result{grid-template-columns:1fr}.public-site-share .site-plan-gallery{grid-template-columns:1fr 1fr}dialog:has(.site-share-modal){padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))}.modal-card.site-share-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:18px}.site-share-dialog{gap:12px}}
/* Public shares use an isolated viewport so large plans and media cannot clip the shell. */
body.public-site-share,
body.public-site-share .app,
body.public-site-share .main{
  width:100%;
  height:100dvh;
  min-height:0;
  overflow:hidden;
}
body.public-site-share .content{
  width:100%;
  height:100dvh;
  min-height:0;
  max-width:none;
  overflow:auto;
  overscroll-behavior:contain;
  padding:22px;
}
body.public-site-share .public-guest-shell{
  width:100%;
  height:calc(100dvh - 44px);
  min-height:0;
}
body.public-site-share .public-guest-main{
  height:100%;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
}
@media(max-width:700px){
  body.public-site-share .content{padding:0}
  body.public-site-share .public-guest-shell{height:100dvh}
}

.telegram-notification-composer{display:grid;gap:14px}.telegram-notification-composer>p{margin:0;color:var(--muted);line-height:1.5}.telegram-notification-composer label{display:grid;gap:8px}.telegram-notification-composer label>span{font-size:13px;font-weight:800;color:#cbd3d9}.telegram-notification-composer textarea{width:100%;min-height:220px;resize:vertical;line-height:1.5}.telegram-notification-composer textarea[readonly]{opacity:.58}.telegram-notification-preview{display:grid;gap:8px;padding:14px;border:1px solid #394852;border-radius:8px;background:#0b1115}.telegram-notification-preview[hidden]{display:none!important}.telegram-notification-preview small{color:var(--muted);font-weight:800}.telegram-notification-preview pre{max-height:260px;margin:0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#fff;font:600 15px/1.5 inherit}.notification-action{border-color:#a77725!important;color:#ffd27a!important;background:#2b210f!important}
@media(max-width:700px){.telegram-notification-composer textarea{min-height:180px}.telegram-notification-preview pre{font-size:14px}}

/* Keep public-share chrome at the viewport edges and scroll only the active panel. */
body.public-site-share .workspace{
  position:fixed;
  inset:0;
  width:100%;
  height:100dvh;
  min-height:0;
  display:grid;
  grid-template-rows:minmax(0,1fr) 28px!important;
  overflow:hidden;
}
body.public-site-share .content{
  grid-row:1;
  width:100%;
  height:auto;
  min-height:0;
  overflow:hidden;
  padding:14px;
}
body.public-site-share .workspace>footer{
  grid-row:2;
  position:relative!important;
  inset:auto!important;
  display:flex!important;
  width:100%;
  height:28px;
  min-height:28px;
  padding:0 18px;
  background:#090d10e8;
  border-top:1px solid #263039;
  backdrop-filter:blur(14px);
}
body.public-site-share .public-guest-shell{
  height:100%;
  min-height:0;
}
body.public-site-share .public-guest-main{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  height:100%;
  min-height:0;
  padding:0;
  overflow:hidden;
}
body.public-site-share .public-site-share-head{
  position:relative;
  z-index:12;
  min-height:58px;
  padding:0 20px;
  background:#0d1216f2;
  backdrop-filter:blur(14px);
}
body.public-site-share .public-guest-main>[data-public-guest-panel]{
  min-width:0;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  padding:18px 20px 20px;
}
body.public-site-share .public-guest-dashboard{
  min-height:100%;
}
.payroll-site-expenses{
  padding-top:18px;
  border-top:1px solid #28333b;
}
.mail-empty{min-height:360px;display:grid;place-items:center;align-content:center;gap:12px;text-align:center}.mail-empty p{max-width:620px;margin:0;color:var(--muted)}.mail-empty-icon{font-size:42px;color:var(--red)}
.mail-loading{min-height:320px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--muted)}.mail-loading b{font-size:20px;color:var(--text)}
.mail-shell{min-width:0}.mail-error{margin-bottom:12px;padding:12px 14px;border:1px solid #8f3438;border-radius:8px;background:#3a1519;color:#ffb3b6}.mail-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:14px;align-items:start}.mail-inbox,.mail-saved{min-width:0;border:1px solid var(--line2);border-radius:8px;background:#0f1418}.mail-inbox>header,.mail-saved>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line2)}.mail-inbox>header h3,.mail-saved>header h3{margin:0;font-size:17px}.mail-inbox>header span,.mail-saved>header span{min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#252f37;color:#dce3e8;font-weight:800}.mail-inbox>div,.mail-saved>div{display:grid}.mail-message{padding:16px;border-bottom:1px solid var(--line2)}.mail-message:last-child{border-bottom:0}.mail-message>header{display:flex;justify-content:space-between;gap:14px}.mail-message>header div{display:grid;gap:4px;min-width:0}.mail-message>header strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-message>header span,.mail-message>header time,.mail-no-files{color:var(--muted);font-size:12px}.mail-message>header time{white-space:nowrap}.mail-message>p{margin:12px 0;color:#c6cdd2;line-height:1.5;white-space:pre-line}.mail-attachments{display:grid;gap:8px;margin-top:12px}.mail-attachment{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid #303b43;border-radius:8px;background:#11191e}.mail-file-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:6px;background:#3b1719;color:#ff8588;font-size:10px;font-weight:900}.mail-attachment>div:nth-child(2){display:grid;gap:3px;min-width:0}.mail-attachment strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-attachment small{color:var(--muted)}.mail-attachment-actions{display:flex;gap:7px}.mail-attachment-actions button{height:36px;padding:0 12px}.mail-saved-file{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--line2)}.mail-saved-file:last-child{border-bottom:0}.mail-saved-file img{width:54px;height:54px;object-fit:cover;border-radius:6px;background:#202a31}.mail-saved-file>div{display:grid;gap:3px;min-width:0}.mail-saved-file strong,.mail-saved-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-saved-file span,.mail-saved-file small{color:var(--muted);font-size:11px}.mail-settings-form,.mail-approval-form{display:grid;gap:14px}.mail-ssl-check{align-self:end;min-height:46px}.mail-settings-note{margin:0;padding:12px;border:1px solid #35424b;border-radius:8px;background:#121a20;color:var(--muted);line-height:1.45}
@media(max-width:700px){
  body.public-site-share .workspace{grid-template-rows:minmax(0,1fr)!important}
  body.public-site-share .workspace>footer{display:none!important}
  body.public-site-share .content{padding:0}
  body.public-site-share .public-site-share-head{
    min-height:50px;
    padding:0 10px;
  }
  body.public-site-share .public-guest-main>[data-public-guest-panel]{
    padding:10px 10px calc(72px + env(safe-area-inset-bottom));
  }
  .mail-layout{grid-template-columns:1fr}.mail-message{padding:12px}.mail-message>header{display:grid}.mail-attachment{grid-template-columns:36px minmax(0,1fr)}.mail-file-icon{width:36px;height:36px}.mail-attachment-actions{grid-column:1/-1}.mail-attachment-actions button{flex:1}.mail-saved-file{grid-template-columns:48px minmax(0,1fr)}.mail-saved-file img{width:48px;height:48px}.mail-saved-file>button{grid-column:1/-1}
}
.customer-remarks-shell { min-height: calc(100vh - 76px); }
.customer-remarks-nav { align-items:center; display:flex; justify-content:space-between; margin-bottom:6px; min-height:34px; }
.customer-remarks-nav button { min-height:32px; padding:0 11px; }
.customer-remarks-frame { background: #0d0f12; border: 1px solid #2b313b; border-radius: 6px; display: block; height: calc(100vh - 142px); min-height: 540px; width: 100%; }
html[data-theme="light"] .customer-remarks-frame { background: #eef1f3; }
.arm-workout-shell{align-content:start;gap:10px}
.arm-workout-head{min-height:58px}
.arm-workout-head h2{margin:0;font-size:25px}
.arm-workout-head p{margin:4px 0 0;color:#94a0a9;font-size:13px}
.arm-workout-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:9px}
.arm-workout-summary-card{display:grid;grid-template-columns:14px auto minmax(0,1fr);align-items:center;gap:8px;min-height:58px;padding:10px 12px;border:1px solid #2c3843;border-radius:8px;background:#111920}
.arm-workout-summary-card i{width:12px;height:12px;border-radius:50%;background:var(--dot);box-shadow:0 0 0 4px color-mix(in srgb,var(--dot) 22%,transparent)}
.arm-workout-summary-card strong{color:#f5f8fa;font-size:25px;font-weight:950;line-height:1}
.arm-workout-summary-card span{min-width:0;color:#a8b2bb;font-size:12px;font-weight:850;line-height:1.15;text-transform:uppercase}
.arm-workout-summary-card.green{border-color:#2f6847;background:#102019}.arm-workout-summary-card.yellow{border-color:#74652b;background:#211e0e}.arm-workout-summary-card.red{border-color:#713236;background:#211113}.arm-workout-summary-card.gray{border-color:#3a4650;background:#111920}
.arm-workout-panel{min-width:0;border:1px solid #2b3742;border-radius:8px;background:#0e151a;overflow:hidden}
.arm-workout-controls{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid #25313a}
.arm-workout-controls label{display:grid;gap:5px;min-width:min(480px,62vw);color:#8f9aa3;font-size:11px;font-weight:900;text-transform:uppercase}
.arm-workout-controls input{height:40px;border-radius:7px}
.arm-workout-controls div{display:grid;gap:2px;justify-items:end;color:#8f9aa3;font-size:11px;font-weight:850;text-transform:uppercase}.arm-workout-controls b{color:#dfe7ec;font-size:13px;text-transform:none}
.arm-workout-table-wrap{max-height:calc(100vh - 350px);min-height:340px;overflow:auto}
.arm-workout-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
.arm-workout-table th{position:sticky;top:0;z-index:2;height:38px;padding:0 10px;border-bottom:1px solid #303d48;background:#182128;color:#b4bec6;font-size:11px;font-weight:950;text-align:left;text-transform:uppercase;white-space:nowrap}
.arm-workout-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.07);color:#e7edf1;line-height:1.25;vertical-align:top}
.arm-workout-table tr[data-status="green"] td{background:rgba(46,184,114,.15)}
.arm-workout-table tr[data-status="yellow"] td{background:rgba(255,230,107,.17);color:#fff6c8}
.arm-workout-table tr[data-status="red"] td{background:rgba(239,52,56,.18);color:#ffe3e3}
.arm-workout-table tr[data-status="gray"] td{background:rgba(154,164,173,.1)}
.arm-workout-state{width:34px;text-align:center}.arm-workout-state span{display:inline-block;width:11px;height:11px;border-radius:50%;background:#9aa4ad}.arm-workout-state .green{background:#31c77a}.arm-workout-state .yellow{background:#ffe66b}.arm-workout-state .red{background:#ef3438}.arm-workout-state .gray{background:#9aa4ad}
.arm-workout-loading,.arm-workout-warning{display:grid;place-items:center;gap:10px;min-height:360px;border:1px solid #2c3843;border-radius:8px;background:#101820;text-align:center}.arm-workout-loading i{width:62px;height:62px;border-radius:50%;border:6px solid #263440;border-top-color:#ef3438;animation:spin 1s linear infinite}.arm-workout-loading b,.arm-workout-warning b{font-size:26px}.arm-workout-loading span,.arm-workout-warning span{max-width:640px;color:#9ca7b0;font-size:14px;line-height:1.45}.arm-workout-warning{border-color:#743139;background:#1b1012}.arm-workout-warning span{color:#ffaaa8}
.pnr-registry-shell{align-content:start;gap:10px}
.pnr-registry-head{min-height:56px}
.pnr-registry-head h2{margin:0;font-size:26px}
.pnr-registry-head p{margin:4px 0 0;color:#94a0a9;font-size:13px}
.pnr-registry-summary{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:8px}
.pnr-registry-summary article{min-height:58px;padding:10px 12px;border:1px solid #2c3843;border-radius:8px;background:#101820;display:grid;align-content:center;gap:4px}
.pnr-registry-summary article span{color:#97a2ab;font-size:11px;font-weight:950;text-transform:uppercase;line-height:1.15}
.pnr-registry-summary article b{color:#f4f8fb;font-size:24px;line-height:1}
.pnr-registry-summary article.ready{border-color:#2f6847;background:#102019}.pnr-registry-summary article.progress{border-color:#775f22;background:#211b0e}.pnr-registry-summary article.muted{border-color:#3a4650;background:#111920}
.pnr-registry-table-wrap{min-height:340px;max-height:calc(100vh - 330px);overflow:auto;border:1px solid #2b3742;border-radius:8px;background:#0e151a}
.pnr-registry-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
.pnr-registry-table th{position:sticky;top:0;z-index:3;height:38px;padding:0 10px;border-bottom:1px solid #303d48;background:#182128;color:#b4bec6;font-size:11px;font-weight:950;text-align:left;text-transform:uppercase;white-space:nowrap}
.pnr-registry-table td{padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.07);color:#e7edf1;line-height:1.25;vertical-align:middle}
.pnr-registry-num{width:48px;color:#9da8b1;text-align:center;font-weight:900}
.pnr-registry-code{min-width:190px}.pnr-registry-code b{display:block;color:#fff;font-size:15px}.pnr-registry-code span{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#93a0aa;font-size:11px}
.pnr-registry-name{min-width:260px;max-width:420px;font-weight:850}
.pnr-registry-indicators{min-width:390px;display:flex;flex-wrap:wrap;gap:6px}
.pnr-doc-indicator{min-height:32px;padding:0 9px;border:1px solid #37434c;border-radius:7px;background:#111920;color:#aeb8c1;font-size:12px;font-weight:900;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.pnr-doc-indicator span{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#26313a;color:#8d99a3;font-weight:950}
.pnr-doc-indicator.on{border-color:#2e8d54;background:#11251a;color:#bff5cf}.pnr-doc-indicator.on span{background:#2ac66d;color:#092313}
.pnr-doc-indicator:disabled{opacity:.72;cursor:default}
.pnr-program-status{min-width:150px;height:36px;border-radius:7px;font-weight:900}.pnr-program-status.ready{border-color:#2e8d54;color:#bff5cf}.pnr-program-status.progress{border-color:#8f6b22;color:#ffd37a}.pnr-program-status.muted{border-color:#59646c;color:#c8d0d6}.pnr-program-status.draft{border-color:#8f3438;color:#ffb4b6}
.pnr-registry-dates{min-width:150px;display:grid;gap:4px;color:#a6b0b9;font-size:12px}
.pnr-registry-actions{width:160px;display:flex;justify-content:flex-end;align-items:center;gap:8px}.button-like{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;text-decoration:none}
.pnr-registry-modal{display:grid;gap:12px}.pnr-registry-modal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pnr-registry-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pnr-registry-checks label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #33404a;border-radius:8px;background:#11191e;font-weight:900}.pnr-registry-checks input{width:18px;height:18px}
@keyframes spin{to{transform:rotate(360deg)}}
.rights-scope-edit{width:100%;height:34px;margin-top:4px;padding:0 8px;font-size:11px}
@media (max-width: 720px) {
  .customer-remarks-nav { margin:0 8px 4px; min-height:32px; }
  .customer-remarks-nav button { min-height:30px; }
  .customer-remarks-frame { border: 0; border-radius: 0; height: calc(100dvh - 112px); min-height: 520px; }
  .arm-workout-summary{grid-template-columns:1fr 1fr}
  .arm-workout-controls{display:grid}
  .arm-workout-controls label{min-width:0}
  .arm-workout-controls div{justify-items:start}
  .arm-workout-table-wrap{max-height:none;min-height:0}
  .arm-workout-table thead{display:none}
  .arm-workout-table,.arm-workout-table tbody,.arm-workout-table tr,.arm-workout-table td{display:block;width:100%}
  .arm-workout-table tr{border-bottom:1px solid #2b3742}
  .arm-workout-table td{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;border-bottom:1px solid rgba(255,255,255,.05)}
  .arm-workout-table td:before{content:attr(data-label);color:#8f9aa3;font-size:11px;font-weight:900;text-transform:uppercase}
  .arm-workout-table .arm-workout-state{display:none}
  .pnr-registry-summary{grid-template-columns:1fr 1fr}
  .pnr-registry-table-wrap{max-height:none}
  .pnr-registry-table thead{display:none}
  .pnr-registry-table,.pnr-registry-table tbody,.pnr-registry-table tr,.pnr-registry-table td{display:block;width:100%}
  .pnr-registry-table tr{border-bottom:1px solid #2b3742}
  .pnr-registry-table td{border-bottom:1px solid rgba(255,255,255,.05)}
  .pnr-registry-indicators{min-width:0}
  .pnr-registry-name{min-width:0;max-width:none}
  .pnr-registry-actions{width:auto;justify-content:flex-start}
  .pnr-registry-modal-grid,.pnr-registry-checks{grid-template-columns:1fr}
}

/* Compact sidebar variant C and stable payroll summary layout. */
@media(min-width:821px){
  .sidebar{padding:12px 10px 10px!important}
  .brand{grid-template-columns:48px minmax(0,1fr)!important;height:58px!important;gap:10px!important;margin-bottom:10px!important;padding:0 6px!important;font-size:22px!important}
  .brand img{width:48px!important;height:48px!important}
  .brand strong{height:48px!important}
  .sidebar nav{gap:1px!important}
  .sidebar nav button,.settings-button,.collapse{height:38px!important;min-height:38px!important;border-radius:6px!important;font-size:13px!important}
  .sidebar nav button{position:relative;grid-template-columns:25px minmax(0,1fr)!important;gap:7px!important;padding:0 8px!important}
  .sidebar nav button b,.settings-button b,.collapse b{width:25px!important;min-width:25px!important;font-size:15px!important}
  .sidebar nav .nav-group>summary,.sidebar nav .nav-subgroup>summary{grid-template-columns:25px minmax(0,1fr) 16px!important;gap:7px!important;height:38px!important;padding:0 7px 0 8px!important;border-radius:6px!important;font-size:13px!important}
  .sidebar nav .nav-group>summary b,.sidebar nav .nav-subgroup>summary b{width:25px!important;font-size:15px!important}
  .sidebar nav .nav-group[open]>summary,.sidebar nav .nav-subgroup[open]>summary{background:#1d252d!important;color:#eef5f8!important}
  .sidebar nav .nav-group.active>summary{background:#23303a!important;color:#fff!important}
  .sidebar nav .nav-group-items,.sidebar nav .nav-subgroup-items{gap:1px!important;margin:2px 0 3px 13px!important;padding:1px 0 1px 8px!important;border-left:1px solid #334554}
  .sidebar nav .nav-subgroup>summary{height:33px!important;padding-left:8px!important;font-size:12px!important}
  .sidebar nav .nav-subgroup-items{margin-left:10px!important;padding-left:7px!important}
  .sidebar nav .nav-group-items button,.sidebar nav .nav-subgroup-items button{height:33px!important;min-height:33px!important;font-size:12px!important}
  .sidebar nav .nav-subgroup-items button{grid-template-columns:20px minmax(0,1fr)!important;padding-left:7px!important}
  .sidebar nav .nav-subgroup-items button b{width:20px!important;min-width:20px!important;font-size:13px!important}
  .sidebar nav button.active{background:#26313a!important;box-shadow:none!important;color:#fff!important}
  .sidebar nav button.active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:4px;background:var(--red)}
  .settings-button,.collapse{grid-template-columns:25px minmax(0,1fr)!important;gap:7px!important;padding:0 8px!important}
  .collapse{margin-top:6px!important}
  .payroll-panel{align-content:start}
  .payroll-summary-drawer{position:static!important;top:auto!important;z-index:auto!important;margin:0 0 10px!important}
.payroll-filter-row{margin:0 0 8px!important}
}

/* Object documentation: tabs -> sections -> project ciphers -> files. */
.topbar-documentation-site{width:min(390px,34vw);height:42px;padding:0 38px 0 13px;border:1px solid #344651;border-radius:9px;background:#10161b;color:#f3f6f8;font-size:16px;font-weight:800}
.documentation-panel{padding:0;overflow:hidden}
.documentation-object-picker{padding:16px 18px 12px;display:flex;align-items:end;border-bottom:1px solid var(--line)}
.documentation-object-picker label{width:min(430px,100%);display:grid;gap:6px;color:var(--muted);font-weight:700}
.documentation-tabs{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line);background:#0d1318}
.documentation-tabs button{min-height:50px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;color:var(--muted);font-weight:800}
.documentation-tabs button:last-child{border-right:0}.documentation-tabs button[aria-selected="true"]{color:#fff;background:#202a32;box-shadow:inset 0 -3px 0 var(--red)}
.documentation-body{padding:18px}
.documentation-level-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.documentation-level-head>div{flex:1;min-width:0}.documentation-level-head h3{margin:0 0 4px;font-size:22px}.documentation-level-head p{margin:0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.documentation-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.documentation-section-card{min-height:112px;text-align:left;display:grid;grid-template-columns:46px minmax(0,1fr) 20px;gap:13px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:11px;background:#11191f;color:var(--text)}
.documentation-section-card:hover,.documentation-system-row:hover,.documentation-document-card:hover{border-color:#607786;background:#162129}
.documentation-section-card span:nth-child(2)>small{display:block;color:var(--red);font-weight:800;margin-bottom:5px}.documentation-section-card b{display:block;font-size:17px;margin-bottom:6px}.documentation-section-card em{display:block;color:var(--muted);font-style:normal;line-height:1.35}.documentation-section-card>i{font-size:23px;color:var(--muted)}
.documentation-folder-icon,.documentation-document-count i{display:block;width:40px;height:31px;border-radius:5px;background:#314754;position:relative}.documentation-folder-icon:before,.documentation-document-count i:before{content:"";position:absolute;left:2px;top:-5px;width:18px;height:8px;border-radius:4px 4px 0 0;background:inherit}
.documentation-system-list{display:grid;gap:8px}.documentation-system-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:14px;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:#11191f;color:var(--text)}
.documentation-system-heading{display:flex;align-items:baseline;gap:14px;margin-bottom:5px;min-width:0}.documentation-system-heading b{font-size:19px}.documentation-system-heading small{color:#82909b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.documentation-system-row em{display:block;color:var(--muted);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.documentation-system-row>strong{font-size:20px;color:var(--muted)}
.documentation-document-count{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:800}.documentation-document-count i{width:23px;height:17px}.documentation-document-count i:before{width:11px;height:5px;top:-4px}
.documentation-document-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.documentation-document-card{text-align:left;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#11191f;color:var(--text)}
.documentation-document-preview{height:145px;display:flex;align-items:center;justify-content:center;background:#182229;border-bottom:1px solid var(--line)}.documentation-document-preview>i{width:76px;height:100px;padding:12px 9px;border-radius:4px;background:#e8ecef;box-shadow:0 7px 18px #0008;position:relative}.documentation-document-preview>i:before{content:"";display:block;height:4px;background:#aeb8bf;box-shadow:0 11px 0 #c3cbd0,0 22px 0 #c3cbd0,0 33px 0 #c3cbd0,0 44px 0 #c3cbd0}.documentation-document-preview>i b{position:absolute;right:5px;bottom:5px;padding:3px 5px;border-radius:3px;background:var(--red);color:#fff;font-size:10px}.documentation-document-preview>i.excel b{background:#248b51}
.documentation-document-card>span:last-child{display:block;padding:11px}.documentation-document-card>span:last-child b,.documentation-document-card>span:last-child small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.documentation-document-card>span:last-child small{margin-top:5px;color:var(--muted)}
.documentation-document-preview>i.image{background:linear-gradient(145deg,#69a9df,#d4ecff)}.documentation-document-preview>i.image:before{height:55px;border-radius:3px;background:linear-gradient(150deg,transparent 52%,#3c8d68 53%) 0 0/100% 100%,radial-gradient(circle at 72% 25%,#ffe27a 0 7px,transparent 8px);box-shadow:none}.documentation-document-preview>i.image b{background:#317bb4}
.documentation-act-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}.documentation-act-toolbar label{display:grid;gap:5px;width:min(360px,100%);color:var(--muted);font-size:12px;font-weight:700}.documentation-act-list{display:grid;gap:10px}.documentation-act-row{--act-color:#38cf78;border:1px solid color-mix(in srgb,var(--act-color) 48%,var(--line));border-left:10px solid var(--act-color);border-radius:11px;background:#10171c;overflow:visible;box-shadow:inset 5px 0 16px color-mix(in srgb,var(--act-color) 9%,transparent)}.documentation-act-row.status-open{--act-color:#ef4a4a}.documentation-act-row.status-in_progress{--act-color:#f1b63c}.documentation-act-row.status-resolved{--act-color:#38cf78}.documentation-act-main{display:grid;grid-template-columns:72px minmax(240px,1fr) 100px 150px 44px;gap:12px;align-items:center;padding:10px;cursor:pointer;outline:none}.documentation-act-main:hover{background:color-mix(in srgb,var(--act-color) 5%,transparent)}.documentation-act-main:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--act-color) 75%,white)}.documentation-act-open,.documentation-act-info,.documentation-act-progress{padding:0;border:0;background:transparent;color:var(--text);text-align:left}.documentation-act-open .documentation-document-preview{height:76px;border:0;border-radius:7px}.documentation-act-open .documentation-document-preview>i{width:43px;height:57px;padding:7px 5px}.documentation-act-open .documentation-document-preview>i:before{height:3px;box-shadow:0 7px 0 #c3cbd0,0 14px 0 #c3cbd0,0 21px 0 #c3cbd0}.documentation-act-info{display:grid;gap:5px}.documentation-act-info>b{font-size:16px}.documentation-act-info small{color:var(--muted)}.documentation-act-progress{display:grid;justify-items:center;text-align:center}.documentation-act-progress strong{font-size:20px}.documentation-act-progress span{font-size:11px;color:var(--muted)}.documentation-act-status{justify-self:stretch;min-width:140px;padding:9px 12px;border:1px solid color-mix(in srgb,var(--act-color) 45%,transparent);border-radius:8px;background:color-mix(in srgb,var(--act-color) 19%,transparent);color:var(--act-color);font-size:12px;font-weight:900;text-align:center}.documentation-act-menu-wrap{position:relative}.documentation-act-menu-button{width:38px;height:36px;padding:0;border:1px solid var(--line);background:#182229;color:#dce5ea;font-weight:900}.documentation-act-menu{position:absolute;right:0;top:42px;z-index:20;width:190px;padding:6px;border:1px solid #40505a;border-radius:9px;background:#172027;box-shadow:0 14px 30px #000a}.documentation-act-menu button{width:100%;padding:9px 10px;border:0;background:transparent;color:#edf3f6;text-align:left}.documentation-act-menu button:hover{background:#25333c}.documentation-act-remarks{border-top:1px solid color-mix(in srgb,var(--act-color) 34%,var(--line));padding:12px 14px 14px;background:#0d1418}.documentation-act-remarks>header{display:flex;justify-content:space-between;margin-bottom:9px}.documentation-act-remarks>header span{color:var(--muted);font-size:12px}.documentation-act-remarks>div{display:grid;gap:7px}.documentation-remark{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start;padding:9px 10px;border:1px solid #33434d;border-radius:8px;background:#111a20}.documentation-remark input{margin-top:3px;width:17px;height:17px;accent-color:#36c979}.documentation-remark span{display:grid;grid-template-columns:25px minmax(0,1fr);gap:7px;line-height:1.4}.documentation-remark span b{color:var(--muted)}.documentation-remark.resolved{opacity:.65}.documentation-remark.resolved span{text-decoration:line-through}.documentation-remarks-clean{padding:10px;color:#72d89d}.documentation-act-row[hidden]{display:none}.documentation-system-row.status-open{border-left:8px solid #ef4a4a}.documentation-system-row.status-in_progress{border-left:8px solid #f1b63c}.documentation-system-row.status-resolved{border-left:8px solid #38cf78}
.documentation-status-counts{display:flex;align-items:center;justify-content:center;gap:5px}.documentation-status-counts>span{display:grid;place-items:center;min-width:32px;height:32px;padding:0 8px;border:1px solid currentColor;border-radius:7px;font-size:13px;font-weight:900;position:relative}.documentation-status-counts>.total{color:#aab4ba;background:#aab4ba12}.documentation-status-counts>.resolved{color:#45d17d;background:#45d17d18}.documentation-status-counts>.in-progress{color:#f1b63c;background:#f1b63c18}.documentation-status-counts>.open{color:#f15a5a;background:#f15a5a18}.documentation-status-counts>span:not(:last-child):after{content:"/";position:absolute;right:-5px;top:50%;color:#5f6b73;font-weight:500;transform:translate(50%,-50%)}.documentation-system-row .system-counts{justify-self:end}.documentation-act-main{grid-template-columns:72px minmax(240px,1fr) 150px 150px 44px}.documentation-act-main .act-counts{justify-self:center}
.documentation-status-legend{display:flex;align-items:center;gap:10px;margin:0 0 10px;color:#8f9ba3;font-size:11px}.documentation-status-legend b{margin-right:2px;color:#dce4e8}.documentation-status-legend span{display:flex;align-items:center;gap:5px}.documentation-status-legend span:before{content:"";width:8px;height:8px;border-radius:2px;background:currentColor}.documentation-status-legend .total{color:#aab4ba}.documentation-status-legend .resolved{color:#45d17d}.documentation-status-legend .in-progress{color:#f1b63c}.documentation-status-legend .open{color:#f15a5a}.documentation-act-toolbar{align-items:end;justify-content:space-between}.documentation-act-toolbar .documentation-status-legend{margin-bottom:7px}
.documentation-act-editor-dialog{width:min(1500px,calc(100vw - 24px));height:min(900px,calc(100vh - 24px));padding:0;border:1px solid #40505b;border-radius:14px;background:#0d1317;color:var(--text)}.documentation-act-editor-dialog::backdrop{background:#020507dd}.documentation-act-editor{height:100%;display:grid;grid-template-columns:minmax(330px,38%) minmax(0,1fr);grid-template-rows:62px minmax(0,1fr)}.documentation-act-editor>header{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:9px 14px;border-bottom:1px solid var(--line);background:#11191e}.documentation-act-editor>header>div:first-child{flex:1;min-width:0}.documentation-act-editor>header small{color:var(--muted)}.documentation-act-editor>header h3{margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.documentation-act-editor-zoom{display:flex!important;flex:0!important;align-items:center;gap:5px}.documentation-act-editor-zoom button{width:34px;height:32px;padding:0}.documentation-act-editor-zoom span{width:48px;text-align:center;font-size:12px;font-weight:800}.documentation-act-editor>aside{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-right:1px solid var(--line);background:#10171c}.documentation-act-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;border-bottom:1px solid var(--line)}.documentation-act-editor-heading b,.documentation-act-editor-heading small{display:block}.documentation-act-editor-heading small{margin-top:3px;color:var(--muted)}.documentation-act-editor-remarks{min-height:0;overflow:auto;padding:12px;display:grid;align-content:start;gap:9px}.documentation-act-editor-remark{display:grid;grid-template-columns:26px minmax(0,1fr) 30px;gap:8px;align-items:start}.documentation-act-editor-remark>b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#263741;color:#b8c8d1}.documentation-act-editor-remark textarea{min-height:76px;resize:vertical}.documentation-act-editor-remark>button{width:30px;height:30px;padding:0;border:0;background:#392126;color:#ff8f8f}.documentation-act-editor-empty{padding:30px 15px;border:1px dashed #40515b;border-radius:9px;color:var(--muted);text-align:center}.documentation-act-editor aside footer{display:flex;justify-content:flex-end;gap:8px;padding:12px;border-top:1px solid var(--line)}.documentation-act-editor>main{min-width:0;min-height:0;overflow:auto;background:#252a2e}.documentation-act-editor>main iframe{width:100%;height:100%;border:0;background:#fff}.documentation-act-editor-image{min-width:100%;min-height:100%;overflow:auto;display:grid;place-items:start center;padding:18px}.documentation-act-editor-image img{display:block;width:100%;height:auto;max-width:none;box-shadow:0 8px 30px #0009}
.documentation-form-dialog{width:min(650px,calc(100vw - 32px))}.documentation-form-fields{padding:16px;display:grid;gap:13px}.documentation-form-fields label{display:grid;gap:6px;color:var(--muted);font-weight:700}.documentation-act-caption{display:grid;gap:4px;padding:12px 14px;border:1px solid #33424d;border-radius:12px;background:#111a20}.documentation-act-caption b{font-size:20px;color:#fff}.documentation-act-caption span{color:var(--muted);font-size:13px}.documentation-form-dialog footer{display:flex;justify-content:flex-end;gap:9px;padding:13px 16px;border-top:1px solid var(--line)}
@media(max-width:900px){.documentation-section-grid{grid-template-columns:1fr}.documentation-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.documentation-level-head{align-items:stretch;flex-wrap:wrap}.documentation-level-head>div{order:-1;flex-basis:100%}.documentation-act-main{grid-template-columns:62px minmax(0,1fr) 42px}.documentation-act-progress,.documentation-act-status,.documentation-act-main .act-counts{display:none}.documentation-system-row{grid-template-columns:minmax(0,1fr) 16px}.documentation-system-row .system-counts{display:none}.documentation-act-editor{grid-template-columns:1fr;grid-template-rows:56px minmax(250px,42%) minmax(0,1fr)}.documentation-act-editor>header{grid-column:1}.documentation-act-editor>aside{grid-row:3;border-right:0;border-top:1px solid var(--line)}.documentation-act-editor>main{grid-row:2}}
@media(max-width:560px){.topbar-documentation-site{width:min(58vw,260px);height:38px;font-size:13px}}
@media(max-width:560px){.documentation-body{padding:12px}.documentation-tabs button{min-height:44px;padding:8px 4px}.documentation-document-grid{grid-template-columns:1fr}.documentation-system-heading{display:block}.documentation-system-heading small{display:block;margin-top:3px}.documentation-level-head .primary{width:100%}.documentation-act-file{grid-template-columns:84px minmax(0,1fr)}.documentation-act-file .documentation-document-preview{min-height:116px}}

/* System-wide compact workspace header. Standard page titles live only in the topbar. */
@media(min-width:821px){
  .workspace{grid-template-rows:56px minmax(0,1fr) 26px!important}
  .topbar{height:56px!important;min-height:56px!important;padding:0 14px!important;gap:10px!important}
  .topbar h1{font-size:18px!important;line-height:1.1!important}
  .topbar-documentation-site{height:36px;width:min(360px,31vw);font-size:14px}
  .global-search{width:230px!important}.global-search input{height:36px!important}.global-search span{top:9px}
  .topbar-refresh,.desktop-update-button{height:36px!important;padding-top:0!important;padding-bottom:0!important}
  .topbar .avatar{width:34px!important;height:34px!important}.topbar .user-menu strong{font-size:14px}.topbar .user-menu small{font-size:11px}
  .content{padding:10px 14px 16px!important}
  .page-head.page-actions-only{min-height:0;margin:0 0 8px;justify-content:flex-end;align-items:center}
  .page-head.page-actions-only .toolbar{width:auto;justify-content:flex-end}
  .page-head.page-actions-only .toolbar button,.page-head.page-actions-only .toolbar input,.page-head.page-actions-only .toolbar select{height:36px}
  .context-page-head{margin:0 0 10px;align-items:center}.context-page-head h2{font-size:20px}.context-page-head p{margin-top:2px;font-size:12px}
  .panel{padding:14px}
  .documentation-panel{padding:0}
  .documentation-tabs button{min-height:44px}
  .documentation-body{padding:14px}
  .documentation-level-head{margin-bottom:12px}
  .workspace>footer{min-height:26px;height:26px;padding:0 14px;font-size:11px}
}

/* Unified timesheet/payroll workspace controls. */
.accounting-mode-row{display:flex;align-items:center;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #27323a}
.accounting-mode-tabs{width:min(340px,100%);margin:0}
.accounting-mode-tabs button{flex:1}
.timesheet-toolbar-top{display:flex;align-items:center;gap:12px;min-width:0;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #27323a;white-space:nowrap}
.timesheet-toolbar-top .accounting-mode-tabs{flex:0 1 320px;min-width:250px;max-width:320px}
.timesheet-toolbar-right{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;margin-left:auto}
.timesheet-toolbar-top .timesheet-save-state{flex:0 1 auto;overflow:hidden;max-width:92px;color:#3bd278!important;font-size:9px!important;line-height:1.2!important;letter-spacing:0!important;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.timesheet-toolbar-actions{display:flex;flex:0 0 auto;align-items:center;gap:6px}
.timesheet-toolbar-actions>button,.timesheet-toolbar-actions .timesheet-export>button{height:36px!important;min-height:36px!important;padding:0 10px!important;font-size:10px!important;white-space:nowrap}
.timesheet-toolbar-actions .timesheet-approve{min-width:96px}
.timesheet-export{display:flex;align-items:center;gap:5px}
.timesheet-export-excel{min-width:72px;color:#84dfa8;border-color:#326948}
.timesheet-export-toggle{min-width:66px!important}
.timesheet-page .timesheet-toolbar-line{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:8px!important}
.timesheet-page .timesheet-toolbar-line>label{width:100%;min-width:0!important}
.timesheet-page .timesheet-toolbar-line input,.timesheet-page .timesheet-toolbar-line select{width:100%;height:38px!important;min-height:38px!important;font-size:11px!important}
.timesheet-page .timesheet-toolbar-line .period-control{grid-template-columns:34px minmax(0,1fr) 34px!important}
.timesheet-page .timesheet-toolbar-line .period-step{width:34px!important;height:38px!important;min-height:38px!important}
.timesheet-page .timesheet-wrap{max-height:calc(100vh - 274px)!important}
/* Desktop payroll: crew header must pin to the top edge of its own scroll area. */
@media(min-width:821px){
  .content:has(>.payroll-sticky-head) .payroll-scroll-region .payroll-crew-section>header,
  .admin-total-payroll .payroll-crew-section>header{
    position:sticky!important;
    top:0!important;
    z-index:30!important;
  }
}

@media(max-width:1100px){
  .timesheet-toolbar-top{gap:7px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
  .timesheet-toolbar-top .accounting-mode-tabs{flex:0 1 270px;min-width:230px}
  .timesheet-toolbar-right{flex:0 0 auto;gap:5px}
  .timesheet-toolbar-top .timesheet-save-state{max-width:76px;font-size:8px!important}
  .timesheet-toolbar-actions{gap:5px}
  .timesheet-toolbar-actions>button,.timesheet-toolbar-actions .timesheet-export>button{padding:0 8px!important;font-size:9px!important}
  .timesheet-toolbar-actions .timesheet-approve{min-width:88px}
}

/* Act remarks: explicit progress and unresolvable states. */
.documentation-act-menu{position:fixed!important;right:auto!important;top:auto!important;z-index:120!important;width:168px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow-y:auto;padding:4px;border-radius:8px;box-shadow:0 16px 34px #000c}
.documentation-act-menu button{min-height:31px;padding:7px 8px;border-radius:5px;font-size:10px;line-height:1.25}
.documentation-act-menu button.danger{color:#ff8585}
.documentation-act-menu button.danger:hover{background:#3b2025;color:#ffabab}
.documentation-act-menu-loading{display:block;padding:8px;color:#aebbc3;font-size:10px;font-weight:700;white-space:nowrap}
.documentation-act-status,.documentation-act-menu-button{user-select:none;-webkit-user-select:none}
.documentation-act-actions-dialog{position:fixed!important;right:auto!important;bottom:auto!important;margin:0!important;width:190px;max-width:calc(100vw - 16px);padding:6px;border:1px solid #40505a;border-radius:9px;background:#172027;color:#edf3f6;box-shadow:0 18px 45px #000d;overflow:visible;z-index:2147483647}
.documentation-act-actions-dialog::backdrop{background:transparent}
.documentation-act-actions-dialog button{display:block;width:100%;min-height:36px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:#edf3f6;font-size:11px;font-weight:800;line-height:1.25;text-align:left;white-space:nowrap}
.documentation-act-actions-dialog button:hover,.documentation-act-actions-dialog button:focus-visible{background:#25333c;outline:none}
.documentation-act-actions-dialog button.danger{color:#ff8585}
.documentation-act-actions-dialog button.danger:hover,.documentation-act-actions-dialog button.danger:focus-visible{background:#3b2025;color:#ffabab}
.documentation-remark span>i{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;font-style:normal}
.documentation-remark span>i>em{flex:0 0 auto;padding:2px 7px;border:1px solid #78343a;border-radius:999px;background:#361b20;color:#ff9999;font-size:10px;font-style:normal;font-weight:900;text-decoration:none}
.documentation-remark.unresolvable{border-color:#77343a;background:#211417}
.documentation-remark.unresolvable input{cursor:not-allowed;filter:grayscale(1);opacity:.45}
.documentation-act-editor{grid-template-columns:minmax(430px,42%) minmax(0,1fr)}
.documentation-act-editor-remark{grid-template-columns:26px minmax(0,1fr) 124px}
.documentation-act-editor-remark.unresolvable{padding:8px;border:1px solid #6e3037;border-radius:9px;background:#211417}
.documentation-act-editor-remark-actions{display:grid;gap:7px}
.documentation-act-editor-remark-actions>button{width:100%;height:32px;padding:0 8px;font-size:10px;font-weight:900}
.documentation-act-editor-remark-actions .unresolvable-toggle{border-color:#6a3b3f;background:#27191c;color:#d9a0a4}
.documentation-act-editor-remark-actions .unresolvable-toggle.active{border-color:#e84b54;background:#7a222b;color:#fff}
.documentation-act-editor-remark-actions .remove{border:0;background:#392126;color:#ff8f8f}
@media(max-width:900px){
  .documentation-act-editor{grid-template-columns:minmax(340px,48%) minmax(0,1fr)}
  .documentation-act-editor-remark{grid-template-columns:24px minmax(0,1fr)}
  .documentation-act-editor-remark-actions{grid-column:2;grid-template-columns:1fr 34px}
}

/* MoySklad analytics and internal material-processing layer */
.warehouse-ms-tabs{overflow-x:auto}.warehouse-ms-tabs button{min-width:130px;white-space:nowrap}.warehouse-ms-tabs button:last-child{min-width:220px}.warehouse-analytics-toolbar{display:grid;grid-template-columns:160px 160px minmax(240px,1fr) auto;align-items:end;gap:10px;padding:12px 14px}.warehouse-analytics-toolbar label{display:grid;gap:5px;color:#929da6;font-size:11px;font-weight:800}.warehouse-analytics-toolbar input,.warehouse-analytics-toolbar select,.warehouse-analytics-toolbar button{height:40px}.warehouse-analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px}.warehouse-analytics-kpis article{display:grid;gap:4px;padding:14px 16px;border:1px solid #303b44;border-radius:10px;background:linear-gradient(145deg,#12191e,#0e1418)}.warehouse-analytics-kpis article.accent{border-color:#623131;background:linear-gradient(145deg,#241719,#11171b)}.warehouse-analytics-kpis span{color:#8d98a1;font-size:10px;font-weight:900;text-transform:uppercase}.warehouse-analytics-kpis strong{font-size:25px}.warehouse-analytics-kpis small{color:#77838c}.warehouse-analytics-grid{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(520px,1.2fr);gap:12px}.warehouse-chart,.warehouse-ranking,.warehouse-recent-docs,.warehouse-companies{min-width:0;overflow:hidden}.warehouse-chart{padding:14px}.warehouse-chart header,.warehouse-ranking>header,.warehouse-recent-docs>header,.warehouse-companies>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #2d3840}.warehouse-chart header{padding:0 0 12px;border-bottom:0}.warehouse-chart h3,.warehouse-ranking h3,.warehouse-recent-docs h3,.warehouse-companies h3{margin:0}.warehouse-chart-row{display:grid;grid-template-columns:62px minmax(100px,1fr) 120px;align-items:center;gap:9px;padding:6px 0}.warehouse-chart-row time{color:#9da7ae;font-size:11px}.warehouse-chart-row>span{height:9px;overflow:hidden;border-radius:999px;background:#202a31}.warehouse-chart-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ea3735,#f18a4e)}.warehouse-chart-row b{text-align:right;font-size:11px}.warehouse-ranking .table-scroll,.warehouse-recent-docs .table-scroll,.warehouse-companies .table-scroll{max-height:360px}.warehouse-ranking td strong,.warehouse-ranking td small,.warehouse-recent-docs td strong,.warehouse-recent-docs td small{display:block}.warehouse-ranking td small,.warehouse-recent-docs td small,.warehouse-companies p{color:#7f8b94;font-size:10px}.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.material-sheets-head,.material-sheet-detail-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px}.material-sheets-head h2,.material-sheets-head p,.material-sheet-detail-head h2,.material-sheet-detail-head p{margin:0}.material-sheets-head p,.material-sheet-detail-head p{color:#86929b}.material-sheets-head>div:last-child{display:flex;gap:8px}.material-sheets-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:10px}.material-sheet-card{display:grid;gap:7px;min-height:160px;padding:16px;text-align:left;border:1px solid #303b44;border-radius:11px;background:linear-gradient(145deg,#131b20,#0e1418);color:#e7ecef}.material-sheet-card:hover{border-color:#69757e;transform:translateY(-1px)}.material-sheet-card>strong{color:#f05550;font-size:20px}.material-sheet-card>b{font-size:14px}.material-sheet-card>small{color:#85919a}.material-sheet-card footer{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid #29333a}.material-sheet-card footer span{font-weight:900}.material-sheet-card footer time{color:#77838c;font-size:10px}.material-sheet-status{justify-self:start;padding:4px 8px;border-radius:999px;background:#28333b;color:#cbd3d8;font-size:9px;font-weight:900;text-transform:uppercase}.material-sheet-status.approved{background:#173923;color:#75e89d}.material-sheet-status.closed{background:#273039;color:#929da6}.material-sheet-detail-head>div{flex:1}.material-sheet-detail-head>div>span{color:#f15a55;font-size:10px;font-weight:900;text-transform:uppercase}.material-sheet-detail-head>strong{display:grid;text-align:right;font-size:20px}.material-sheet-detail-head>strong small{color:#7d8992;font-size:9px}.material-sheet-detail-head select{width:150px;height:38px}.material-processing-columns{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(420px,1.25fr);gap:1px;padding:0 14px}.material-processing-columns>div{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:1px solid #303a42;background:#161e24}.material-processing-columns span{color:#f05b56;font-size:10px;font-weight:900;text-transform:uppercase}.material-processing-columns b{font-size:11px}.material-spec-list{display:grid;gap:8px}.material-spec-line{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(420px,1.25fr);overflow:hidden;border:1px solid #303b43;border-left:5px solid #626d75;border-radius:9px;background:#0f1519}.material-spec-line.partial{border-left-color:#e6aa38}.material-spec-line.complete{border-left-color:#31ce75}.material-spec-source{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px;border-right:1px solid #303b43}.material-spec-source>span{display:grid;place-items:center;width:36px;height:36px;border-radius:7px;background:#253039;color:#dce2e6;font-size:11px;font-weight:900}.material-spec-source>div{display:grid;gap:4px}.material-spec-source small{color:#7f8b94}.material-spec-source>b{color:#97a2aa;font-size:12px}.material-spec-target{display:grid;align-content:start;gap:7px;padding:10px 12px}.material-spec-target>header{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#8d99a2;font-size:11px}.material-add-button{height:30px!important;padding:0 10px!important;color:#fff!important}.material-allocation{display:grid;grid-template-columns:minmax(0,1fr) 100px 118px 28px;align-items:center;gap:9px;padding:8px 9px;border:1px solid #2d3840;border-radius:7px;background:#151e23}.material-allocation>span{display:grid;gap:2px;min-width:0}.material-allocation b,.material-allocation small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-allocation small{color:#7d8992;font-size:9px}.material-allocation>strong,.material-allocation>em{text-align:right;font-size:11px;font-style:normal}.material-allocation>button{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:6px;background:#392126;color:#ff9696}.material-empty-target{margin:8px 0;color:#717e87;font-size:11px}.material-extras{padding:14px}.material-extras>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.material-extras h3,.material-extras p{margin:0}.material-extras header p{color:#7e8a93}.material-extra-row{margin-top:8px}.material-extra-row>p{padding:7px 10px;color:#aeb7bd;font-size:11px}.material-create-form,.material-allocation-form{display:grid;gap:11px}.material-create-form p{margin:0;color:#929da6}.material-create-form label,.material-allocation-form label{display:grid;gap:5px;color:#aab4bb;font-size:11px}.material-receipt-hint{padding:8px 10px;border-radius:7px;background:#151e23;color:#8e9aa3;font-size:10px}
@media(max-width:1100px){.warehouse-analytics-kpis{grid-template-columns:repeat(2,1fr)}.warehouse-analytics-grid{grid-template-columns:1fr}.material-sheets-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.material-processing-columns{display:none}.material-spec-line{grid-template-columns:1fr}.material-spec-source{border-right:0;border-bottom:1px solid #303b43}}
@media(max-width:720px){.warehouse-analytics-toolbar{grid-template-columns:1fr 1fr}.warehouse-analytics-kpis,.material-sheets-grid{grid-template-columns:1fr}.material-sheets-head,.material-sheet-detail-head{align-items:stretch;flex-direction:column}.material-sheets-head>div:last-child{flex-wrap:wrap}.material-allocation{grid-template-columns:minmax(0,1fr) auto 28px}.material-allocation>em{display:none}}
.warehouse-ms-stock-toolbar{grid-template-columns:minmax(180px,250px) minmax(180px,240px) minmax(260px,1fr) auto}.warehouse-classification{justify-self:start;margin-top:2px;padding:3px 7px;border-radius:999px;background:#283139;color:#b5c0c7;font-size:8px;font-style:normal;font-weight:900;text-transform:uppercase}.warehouse-classification.power_tool{background:#3b2418;color:#ffb575}.warehouse-classification.power_tool_consumable{background:#3b3117;color:#ffd66d}.warehouse-classification.hand_tool{background:#172e3e;color:#89cbfa}.warehouse-classification.workwear_ppe{background:#2b2040;color:#c6a8ff}.warehouse-classification.equipment{background:#183624;color:#7ce59c}.warehouse-classification.material{background:#243039;color:#c8d2d8}.warehouse-classification.needs_review{background:#3b2024;color:#ff9ca3}
.warehouse-assignment-toolbar{display:grid;grid-template-columns:minmax(220px,320px) minmax(260px,1fr) auto auto;align-items:end;gap:10px;padding:12px 14px}.warehouse-assignment-toolbar>label:not(.warehouse-ms-check){display:grid;gap:5px;color:#929da6;font-size:11px;font-weight:800}.warehouse-assignment-toolbar select,.warehouse-assignment-toolbar input,.warehouse-assignment-toolbar button{height:42px}.warehouse-assignment-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.warehouse-assignment-summary article{display:flex;align-items:baseline;gap:8px;padding:13px 15px;border:1px solid #303b44;border-radius:10px;background:linear-gradient(145deg,#12191e,#0e1418)}.warehouse-assignment-summary span{color:#8d98a1;font-size:10px;font-weight:900;text-transform:uppercase}.warehouse-assignment-summary strong{font-size:21px}.warehouse-assignment-summary small{color:#78848d}.warehouse-assignment-table{min-width:0}.warehouse-assignment-table>header{padding:13px 15px;border-bottom:1px solid #2d3840}.warehouse-assignment-table h3,.warehouse-assignment-table p{margin:0}.warehouse-assignment-table p{margin-top:3px;color:#839099;font-size:11px}.warehouse-assignment-table table{min-width:1180px}.warehouse-assignment-table td{vertical-align:middle}.warehouse-assignment-table td>strong,.warehouse-assignment-table td>small,.warehouse-assignment-table td>time{display:block}.warehouse-assignment-table td>small{margin-top:4px;color:#7f8b94;font-size:10px}.warehouse-assignment-table td.num{text-align:right;white-space:nowrap}.warehouse-assignment-table td.residual strong{color:#ffd070}.warehouse-assignee{display:grid;gap:3px;min-width:220px}.warehouse-assignee>small{padding-left:38px;color:#7f8b94;font-size:10px}.warehouse-assignment-status{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:7px;font-size:10px;font-weight:900;white-space:nowrap}.warehouse-assignment-status.active{background:#163624;color:#76e29a}.warehouse-assignment-status.pending{background:#3a2e18;color:#ffd16e}.warehouse-assignment-status.cancelled{background:#352126;color:#ef9299}.warehouse-depreciation{display:grid;gap:4px;min-width:135px;margin-top:6px}.warehouse-depreciation>span{height:5px;overflow:hidden;border-radius:999px;background:#273138}.warehouse-depreciation i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ef4340,#e7a43e)}.warehouse-depreciation small{color:#77838c;font-size:9px}.warehouse-cancel-wait{display:block;max-width:140px;color:#d9ad54;font-size:10px}.workwear-issue-form,.warehouse-cancellation-form{display:grid;gap:11px}.workwear-issue-form>label,.warehouse-cancellation-form label{display:grid;gap:5px}.workwear-issue-form aside{display:grid;gap:3px;padding:11px;border:1px solid #5c4927;border-radius:8px;background:#2a2318;color:#d5b86f}.workwear-issue-form aside span{font-size:11px}.warehouse-cancellation-form p{display:grid;gap:3px;margin:0;padding:10px;border-radius:8px;background:#192127}.warehouse-cancellation-form p span,.warehouse-cancellation-form aside{color:#9aa5ad;font-size:11px}.warehouse-cancellation-form aside{padding:9px;border-left:3px solid #e5ad41;background:#2a2318}
@media(max-width:1100px){.warehouse-assignment-toolbar{grid-template-columns:1fr 1fr}.warehouse-assignment-summary{grid-template-columns:repeat(2,1fr)}}
.payroll-workwear-reference{background:#312818!important;color:#f0c56a}.payroll-workwear-reference .payroll-detail-trigger{color:#ffd879}.payroll-workwear-reference:empty:after{content:"—"}
.employee-warehouse h4{display:flex;align-items:center;justify-content:space-between;gap:12px}.employee-warehouse h4 small{color:#f0bf60;font-size:11px}.employee-workwear-item i{display:block;height:4px;margin-top:7px;overflow:hidden;border-radius:999px;background:#273139}.employee-workwear-item i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ec4742,#e4a23b)}
.modal-card:has(.payroll-envelope-options){display:flex;flex-direction:column;max-height:calc(100dvh - 28px);overflow:hidden}.modal-card:has(.payroll-envelope-options) #modal-body{min-height:0;overflow:auto;padding-right:4px;overscroll-behavior:contain}.modal-card:has(.payroll-envelope-options) .modal-actions{flex:0 0 auto;margin-top:14px;padding-top:14px;border-top:1px solid #303b44}.payroll-envelope-options .settings-check{min-height:66px}.payroll-envelope-crews{display:grid;gap:8px;margin:4px 0 0;padding:12px;border:1px solid #39464f;border-radius:9px}.payroll-envelope-crews legend{padding:0 6px;color:#fff;font-size:13px;font-weight:800}.payroll-envelope-crews>p{margin:0 0 3px;color:#9ca7af;font-size:11px}.payroll-envelope-crew{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid #303c44;border-radius:8px;background:#11191e;cursor:pointer}.payroll-envelope-crew:has(input:checked){border-color:#da2d32;background:#251719}.payroll-envelope-crew input{width:17px;height:17px;accent-color:#da2d32}.payroll-envelope-crew span{display:grid;gap:2px}.payroll-envelope-crew b{color:#fff;font-size:12px}.payroll-envelope-crew small{color:#8f9aa2;font-size:10px}.payroll-envelope-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #39464f;border-radius:9px;background:#182127}.payroll-envelope-result span{color:#9ca7af;font-size:11px}.payroll-envelope-result strong{color:#fff;font-size:15px}
.modal-card:has(.payroll-print-selection){display:flex;flex-direction:column;width:min(1040px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:hidden}.modal-card:has(.payroll-print-selection) #modal-body{min-height:0;overflow:auto;padding-right:4px;overscroll-behavior:contain}.modal-card:has(.payroll-print-selection) .modal-actions{flex:0 0 auto;margin-top:14px;padding-top:14px;border-top:1px solid #303b44}.payroll-print-selection-actions{display:flex;gap:8px}.payroll-print-selection-actions button{min-height:32px;padding:0 11px;border:1px solid #3a4650;border-radius:7px;background:#172027;color:#dce5e9;font-size:11px;font-weight:800;cursor:pointer}.payroll-print-selection-actions button:hover{border-color:#667681;background:#202c34}.payroll-print-employee-list{overflow:auto;border:1px solid #34414a;border-radius:10px;background:#0e1418}.payroll-print-employee-list header,.payroll-print-employee{display:grid;grid-template-columns:24px minmax(240px,1fr) 130px 130px 130px;align-items:center;gap:8px;min-width:720px}.payroll-print-employee-list header{position:sticky;top:0;z-index:2;min-height:38px;padding:0 12px;border-bottom:1px solid #34414a;background:#1a242b;color:#98a4ac;font-size:10px;text-transform:uppercase}.payroll-print-employee{min-height:44px;padding:6px 12px;border-bottom:1px solid #27323a;color:#dfe6ea;font-size:12px;cursor:pointer}.payroll-print-employee:last-child{border-bottom:0}.payroll-print-employee:hover{background:#172027}.payroll-print-employee:has(input:not(:checked)){opacity:.5;background:#10161a}.payroll-print-employee input{width:17px;height:17px;margin:0;accent-color:#e53935}.payroll-print-employee>span:not(.payroll-print-employee-name),.payroll-print-employee>strong{text-align:right;white-space:nowrap}.payroll-print-employee-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.payroll-print-employee>strong{color:#fff}.payroll-print-selection-totals{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px}.payroll-print-selection-totals span{display:grid;gap:4px;padding:10px 12px;border:1px solid #34414a;border-radius:9px;background:#151e24}.payroll-print-selection-totals small{color:#8e9aa3;font-size:9px;font-weight:800;text-transform:uppercase}.payroll-print-selection-totals strong{color:#fff;font-size:15px}.payroll-print-selection-totals span:last-child{border-color:#7a292c;background:#281719}.payroll-print-selection-totals span:last-child strong{color:#ff7474}@media(max-width:720px){.payroll-print-selection-totals{grid-template-columns:1fr 1fr}.payroll-print-selection-actions{position:sticky;left:0}}
.payroll-print-adjustment{display:grid;grid-template-columns:minmax(220px,1fr) 190px;gap:10px;margin:0;padding:12px;border:1px solid #3a4650;border-radius:10px;background:#121a1f}.payroll-print-adjustment legend{padding:0 6px;color:#dce5e9;font-size:11px;font-weight:800}.payroll-print-adjustment label{display:grid;gap:5px}.payroll-print-adjustment label span{color:#98a4ac;font-size:10px;font-weight:800}.payroll-print-adjustment input{width:100%;min-height:38px;padding:0 11px;border:1px solid #3a4650;border-radius:8px;background:#0e1418;color:#fff;font:700 12px inherit;outline:none}.payroll-print-adjustment input:focus{border-color:#e53935;box-shadow:0 0 0 2px #e5393526}.payroll-print-adjustment>small{grid-column:1/-1;color:#84919a;font-size:10px;line-height:1.35}@media(max-width:720px){.payroll-print-adjustment{grid-template-columns:1fr}}
.modal-actions .employee-dismissal-cancel{border-color:#267948;background:#153d29;color:#8ff0b2}.modal-actions .employee-dismissal-cancel:hover{border-color:#36a962;background:#1b5035;color:#b5ffcf}

/* Единый административный профиль прав пользователя. */
.rights-picker{position:sticky;z-index:24;top:0;display:grid;grid-template-columns:minmax(190px,.8fr) minmax(220px,1fr) minmax(300px,1.35fr);gap:12px;margin-bottom:12px;padding:14px;border-color:#46535c;background:#11191e;box-shadow:0 10px 24px #05080b8c}
.rights-picker label{display:grid;gap:6px;min-width:0}.rights-picker label>span{color:#a7b1b8;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.rights-picker select,.rights-role-branch select,.rights-months select{width:100%;height:42px;border:1px solid #46535c;border-radius:8px;background:#0c1216;color:#f5f7f8;font-size:14px;font-weight:750}
.rights-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 10px;padding:9px 12px;border:1px solid #303b43;border-radius:8px;background:#10171b;color:#bdc7cd;font-size:12px;font-weight:800}.rights-legend span{display:inline-flex;align-items:center;gap:6px}.rights-legend i{width:9px;height:9px;border-radius:50%}.rights-legend .on i{background:#38d77a}.rights-legend .off i{background:#f05a61}.rights-legend .locked{color:#8f9aa2}.rights-legend small{margin-left:auto;color:#87949d}
.rights-audit-summary{margin-top:14px}
.rights-user-workspace .rights-tree{grid-template-columns:minmax(210px,.9fr) minmax(280px,1.35fr) minmax(220px,1fr) minmax(220px,1fr)}
.rights-user-workspace .rights-branch:last-child{grid-column:1/-1}.rights-role-branch select{height:38px}.rights-months{display:grid;gap:5px;margin-top:5px;padding-top:9px;border-top:1px solid #29343b}.rights-months>span{color:#aab4ba;font-size:11px;font-weight:800}.rights-months select{height:36px;font-size:12px}
.rights-user-workspace .rights-flag-grid{display:grid;grid-template-columns:1fr;align-content:start}.rights-user-workspace .rights-flag{display:grid;grid-template-columns:10px minmax(0,1fr) auto;width:100%;min-height:39px;border-radius:8px;text-align:left}.rights-user-workspace .rights-flag span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rights-user-workspace .rights-flag small{color:inherit;font-size:9px;font-weight:900;text-transform:uppercase}.rights-user-workspace .rights-flag.off{border-color:#743b40;background:#261619;color:#ff9da1}.rights-user-workspace .rights-flag.off i{background:#ed555c}.rights-user-workspace .rights-flag.on{border-color:#2f744b;background:#13261b;color:#9af0b8}.rights-user-workspace .rights-flag.editable:hover{filter:brightness(1.18)}.rights-user-workspace .rights-flag.inherited{opacity:.72}
.rights-user-workspace .rights-page-grid{display:grid;grid-template-columns:1fr;gap:6px}.rights-user-workspace .rights-access-toggle{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;min-height:36px;padding:6px 8px;border-radius:7px;text-align:left;color:#87939c;font:800 12px/1.2 var(--font);cursor:pointer}.rights-user-workspace .rights-access-toggle i{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#4b555c;color:#d4dadd;font-style:normal;font-size:11px}.rights-user-workspace .rights-access-toggle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rights-user-workspace .rights-access-toggle small{color:inherit;font-size:8px;font-weight:900;text-transform:uppercase}.rights-user-workspace .rights-access-toggle.on{border:1px solid #285e3f;background:#14231a;color:#b9e7c9}.rights-user-workspace .rights-access-toggle.on i{background:#2c9655;color:#fff}.rights-user-workspace .rights-access-toggle.off{border:1px solid #67353a;background:#211518;color:#e49a9e}.rights-user-workspace .rights-access-toggle.off i{background:#9d3e45;color:#fff}.rights-user-workspace .rights-access-toggle.editable:hover{filter:brightness(1.18)}.rights-user-workspace .rights-access-toggle.inherited{cursor:not-allowed;opacity:.68}
.rights-user-workspace .rights-scope{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1250px){.rights-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.rights-user-workspace .rights-tree{grid-template-columns:repeat(2,minmax(0,1fr))}.rights-user-workspace .rights-branch:last-child{grid-column:1/-1}}
@media(max-width:760px){.rights-picker{position:static;grid-template-columns:1fr}.rights-legend small{width:100%;margin-left:0}.rights-user-workspace .rights-tree{grid-template-columns:1fr}.rights-user-workspace .rights-branch:last-child{grid-column:auto}.rights-user-workspace .rights-scope,.admin-visibility-list{grid-template-columns:1fr}}
