:root{font-family:"Segoe UI",Inter,Arial,sans-serif;color-scheme:light;--bg:#f4f5f8;--surface:#fff;--stripe:#f8f9fc;--fg:#182033;--muted:#68738a;--border:#e2e5ec;--accent:#4f6bff;--hover:#eef1ff;--shadow:0 6px 22px #1820330c;--green:#087c59;--red:#c23b49;font-size:14px}
:root[data-theme=dark]{color-scheme:dark;--bg:#111114;--surface:#1d1e23;--stripe:#24252c;--fg:#f0f1f5;--muted:#a3acc1;--border:#343640;--hover:#2a3051;--shadow:0 6px 22px #0003;--green:#66d7b4;--red:#ff8c99}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg)}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button,input,select,textarea{border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--fg);padding:9px 12px}button{box-shadow:0 2px 2px #00000007;white-space:nowrap}button:hover{background:var(--hover)}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--accent);color:white;border-color:var(--accent)}button.danger{color:var(--red)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select{min-height:36px}textarea{resize:vertical;min-height:100px;width:100%}h1{font-size:25px;margin:0}h2{font-size:18px;margin:0}h3{font-size:15px}.muted,small{color:var(--muted)}.accent{color:var(--accent)}.boot{padding:50px;text-align:center}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:20px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#fff;background:linear-gradient(145deg,#a4b1ff,#4f6bff 50%,#293aab);box-shadow:inset 1px 1px 2px #fff9,inset -2px -2px 3px #15237499,0 4px 8px #4f6bff30;text-shadow:0 1px 2px #0005;font-size:24px}.layout{display:grid;grid-template-columns:216px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100dvh;border-right:1px solid var(--border);background:var(--surface);padding:24px 14px;display:flex;flex-direction:column;gap:30px}.sidebar .brand{padding:0 8px}.sidebar nav{display:grid;gap:5px}.nav-button{text-align:left;border-color:transparent;box-shadow:none;background:transparent}.nav-button.active{background:var(--accent);color:#fff}.sidebar-bottom{margin-top:auto}.workspace{min-width:0}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:15px 22px;background:var(--surface);border-bottom:1px solid var(--border);min-height:70px;flex-wrap:wrap}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters select{max-width:280px}.profile{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:13px}.profile small{display:block}.icon-button{padding:7px 11px;font-size:18px}.main{padding:24px;display:grid;gap:18px}.title-row,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar{justify-content:flex-start}.toolbar .push{margin-left:auto}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow)}.metric{padding:16px 18px;min-width:0}.metric+.metric{border-left:1px solid var(--border)}.metric span{font-size:12px;color:var(--muted);display:block;margin-bottom:8px}.metric strong{font-size:24px;font-variant-numeric:tabular-nums}.panel{background:var(--surface);border:1px solid var(--border);border-radius:9px;overflow:hidden;box-shadow:var(--shadow)}.panel-title{padding:17px 18px;border-bottom:1px solid var(--border);display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.table-scroll{overflow:auto;max-height:66vh;scrollbar-color:var(--border) transparent}table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px;font-variant-numeric:tabular-nums}th{position:sticky;top:0;z-index:2;background:var(--stripe);color:var(--muted);font-weight:500;font-size:12px;text-align:left;line-height:1.4;white-space:normal;min-width:100px;padding:12px 10px;border-bottom:1px solid var(--border)}td{padding:8px 10px;white-space:nowrap;border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent);height:34px}tbody tr:nth-child(even){background:var(--stripe)}tbody tr[data-index]{cursor:pointer}tbody tr[data-index]:hover{background:var(--hover)}td.number,th.number{text-align:right}td.comment{min-width:260px;max-width:380px;white-space:normal;line-height:1.5;overflow-wrap:anywhere}.group-start{border-left:1px solid var(--border)}.empty{text-align:center;color:var(--muted);padding:65px 25px;white-space:normal}.badge{display:inline-block;border-radius:5px;padding:3px 8px;font-size:11px;background:#12957318;color:var(--green)}.badge.open{background:#d89c211b;color:#a9760a}.badge.incomplete{background:#da3d5615;color:var(--red)}.login{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 25%,#4f6bff14,transparent 60%)}.login-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:35px;box-shadow:0 20px 60px #18203312}.login-card .brand{margin-bottom:35px}.login-card h1{margin-bottom:8px}.login-card form{margin-top:25px}.login-card button[type=submit]{width:100%}.login-theme{float:right}.form-grid,form{display:grid;gap:16px}label{display:grid;gap:7px;color:var(--muted);font-size:13px}label input,label select{width:100%;color:var(--fg)}.form-error{color:var(--red);margin:0;min-height:18px;line-height:1.5}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}dialog{width:min(960px,calc(100vw - 32px));max-height:90dvh;padding:0;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--fg);box-shadow:0 30px 100px #0005}dialog::backdrop{background:#10142780;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:4}.dialog-body{padding:22px;display:grid;gap:18px}.dialog-body .table-scroll{max-height:45vh}.dialog-body form{max-width:520px;width:100%}.detail-info{display:flex;flex-wrap:wrap;gap:10px 25px;font-size:13px}.edit-cell{border:0;background:transparent;box-shadow:none;padding:0;color:var(--accent);font-variant-numeric:tabular-nums}.two-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-width:0}.chart-scroll{overflow-x:auto;padding:20px}.chart{min-width:600px;width:100%;height:260px}.chart text{fill:var(--muted);font:12px "Segoe UI",sans-serif}.chart .grid{stroke:var(--border);stroke-width:1}.chart .gross{stroke:var(--accent);fill:none;stroke-width:2.5}.chart .net{stroke:var(--green);fill:none;stroke-width:2;stroke-dasharray:5 3}.chart .point{cursor:help}.chart .net-point{fill:var(--green)}.legend{display:flex;gap:20px;padding:14px 20px 0;font-size:12px;color:var(--muted)}.legend b{color:var(--accent)}.legend .net{color:var(--green)}.notice{padding:14px 18px;border-left:3px solid var(--accent);background:var(--hover);line-height:1.6;font-size:13px}.toast{padding:14px 20px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;box-shadow:var(--shadow);max-width:480px}.toast.error{border-left-color:var(--red)}#notifications{position:fixed;bottom:20px;right:20px;display:grid;gap:8px;z-index:100}.actions-grid{display:flex;gap:10px;flex-wrap:wrap}.footnote{font-size:12px;color:var(--muted);line-height:1.5}.compact-select{max-width:240px}.hidden{display:none!important}.search{max-width:340px}.row-action{display:flex;gap:6px}.loading{opacity:.6;pointer-events:none}
@media(max-width:1050px){.layout{grid-template-columns:180px minmax(0,1fr)}.sidebar{padding:20px 10px}.sidebar .brand{font-size:17px;gap:7px}.main{padding:18px}.metric strong{font-size:20px}.two-panels{grid-template-columns:1fr}}
@media(max-width:720px){.layout{display:block}.sidebar{height:auto;position:static;padding:12px;border-right:0;border-bottom:1px solid var(--border);gap:12px}.sidebar .brand{font-size:18px}.sidebar nav{display:flex;overflow-x:auto}.sidebar-bottom{display:none}.nav-button{padding:9px 11px}.topbar{position:static;padding:12px;gap:10px}.profile{width:100%;justify-content:flex-end;border-top:1px solid var(--border);padding-top:10px}.filters{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.filters select{max-width:100%;width:100%;min-width:0}.main{padding:16px 12px}.metrics{grid-template-columns:1fr 1fr}.metric{padding:14px}.metric:nth-child(3){border-left:0}.metric:nth-child(n+3){border-top:1px solid var(--border)}.metric strong{font-size:20px}h1{font-size:22px}.table-scroll{max-height:65dvh}.login-card{padding:26px}.title-row .muted{font-size:11px}.toolbar .push{margin-left:0}.dialog-body{padding:16px}.chart-scroll{padding:10px}#notifications{left:12px;right:12px;bottom:12px}.toast{max-width:100%}}

.check-line{display:flex;align-items:center;gap:10px}.check-line input{width:18px;height:18px;min-height:18px;accent-color:var(--accent)}

/* Additional workflows keep the original web palette and spacing. No decorative icons. */
.sidebar-tools{margin-top:auto}.sidebar-bottom{margin-top:0}.wide-comment{min-width:350px;max-width:900px;white-space:normal;line-height:1.5;overflow-wrap:anywhere}.after-close{color:var(--red)}.history-strip{border:1px solid var(--border);background:var(--surface);padding:13px;text-align:left;white-space:normal;font-size:12px}.more-menu{position:relative}.more-menu summary{list-style:none;border:1px solid var(--border);border-radius:7px;padding:9px 15px;cursor:pointer;background:var(--surface)}.more-menu summary::-webkit-details-marker{display:none}.more-menu>div{position:absolute;top:100%;left:0;min-width:280px;display:grid;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);z-index:10}.more-menu button{border:0;box-shadow:none;text-align:left}.filter-form{max-width:none!important;display:flex;align-items:end;flex-wrap:wrap;gap:12px}.filter-form label{min-width:140px}.filter-form .form-error:empty{display:none}.filter-form .form-actions{margin:0}.management-account{padding:14px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.management-account button{margin-left:auto}.management-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:18px}.management-columns>.panel{min-width:0}.management-policy{display:grid;align-content:start;gap:18px}.policy-content{padding:8px 18px;line-height:1.6;overflow-wrap:anywhere}.team-groups{padding:4px 16px;max-height:55vh;overflow:auto}.team-group{margin:12px 0 18px}.team-group h3{margin:10px 0;font-size:14px}.team-group .table-scroll{max-height:none}.team-group th,.team-group td{min-width:80px}.team-group tr.selected{background:var(--hover)}.team-select{border:0;box-shadow:none;background:transparent;text-align:left;color:inherit}.team-group h3 .team-select{font-weight:600}.team-group td button{font-size:12px}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.dialog-head .icon-button,#theme{font-size:13px}.dialog-body .title-row h1{font-size:18px}.dialog-body>.toolbar{align-items:center}.dialog-body #users-panel{min-width:0}.dialog-body .filter-form .form-error{flex-basis:100%}.management-actions{padding-bottom:2px}.management-actions button{font-size:13px}
@media(max-width:1050px){.management-columns{grid-template-columns:1fr}.management-policy{grid-template-columns:1fr 1fr}.sidebar{overflow-y:auto}}
@media(max-width:720px){.management-policy{grid-template-columns:1fr}.sidebar-tools{margin-top:0!important}.sidebar{overflow:visible}.sidebar nav.sidebar-tools{border-top:1px solid var(--border);padding-top:8px}.management-account{gap:12px}.management-account select{max-width:100%}.filter-form{display:grid;grid-template-columns:1fr}.filter-form label{min-width:0}.more-menu>div{left:auto;right:0;min-width:250px}.management-actions{gap:8px}.management-columns{gap:12px}.team-groups{padding:4px 8px}.management-account span{font-size:12px}}

.layout.menu-hidden{grid-template-columns:minmax(0,1fr)}.layout.menu-hidden .sidebar{display:none}

.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-heading .brand{padding:0 0 0 8px}.menu-toggle{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:34px;height:34px;padding:7px;flex-shrink:0;box-shadow:none;background:transparent;border-color:transparent}.menu-toggle span{display:block;width:18px;height:2px;background:currentColor;border-radius:1px}#menu-open{display:none}.layout.menu-hidden #menu-open{display:inline-flex}

.work-section-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.work-section-fields label{min-width:0}.chart-scroll .chart{width:auto;min-width:100%;max-width:none}.chart-tooltip{position:fixed;z-index:20;max-width:min(360px,calc(100vw - 16px));padding:12px;background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);pointer-events:none;line-height:1.6;font-size:13px}.sidebar-tools{flex-shrink:0}.sidebar{overflow-y:auto}fieldset{border:1px solid var(--border);border-radius:7px;display:grid;gap:8px}fieldset legend{color:var(--muted);font-size:13px}@media(max-width:720px){.work-section-fields{grid-template-columns:1fr}.sidebar{overflow:visible}}

/* Executive dashboard: compact controls, full-width chart and bounded tables. */
.boss-scales{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;width:min(100%,500px)}
.boss-scales button{min-width:0;padding:7px 5px;font-size:12px}
.boss-chart-viewport{margin:12px;overflow-x:auto;overflow-y:hidden;min-width:0;scrollbar-color:var(--border) transparent}
.boss-chart-viewport .chart{display:block;width:auto;min-width:0;max-width:none;height:320px}
.chart-slider-label{margin:0 14px 14px;font-size:11px;gap:3px}
.chart-slider-label input{width:100%;min-width:0;min-height:24px;padding:0;border:0;background:transparent;accent-color:var(--accent);cursor:ew-resize}
.chart-tooltip{white-space:pre-line}
.boss-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0}
.boss-table-panel{height:600px;min-width:0;display:flex;flex-direction:column}
.boss-table-panel>.panel-title{height:88px;min-height:88px;flex:0 0 88px;padding:12px 16px;gap:6px}
.boss-table-panel>.table-scroll,.boss-tab-panel>.table-scroll{min-height:0;max-height:none;flex:1}
.boss-tab-panel{display:flex;flex-direction:column;min-height:0;flex:1}
.boss-tabs{justify-content:flex-start;align-content:center}
.boss-tabs button{font-size:13px;padding:8px 10px;border-color:transparent;box-shadow:none;background:transparent}
.boss-tabs button[aria-selected=true]{border-color:var(--border);background:var(--hover);color:var(--accent)}
.ranking-note{margin:0;padding:12px 16px;border-top:1px solid var(--border);min-height:56px;flex-shrink:0}
.totals-row td{font-weight:700;border-top:1px solid var(--border)}
@media(max-width:720px){.boss-scales{gap:4px;width:100%;grid-template-columns:.7fr 1.4fr 1fr .9fr .95fr .75fr}.boss-scales button{font-size:11px;padding:7px 2px}.boss-tables{grid-template-columns:1fr;gap:14px}.boss-table-panel{height:440px}.boss-table-panel>.panel-title{padding:10px 12px}.boss-tabs button{padding:7px 6px;font-size:12px}.boss-table-panel .compact-select{max-width:100%}.boss-chart-viewport{margin:10px}}

.closing-account{display:grid;gap:16px;padding:18px 0;border-bottom:1px solid var(--border)}.closing-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.closing-metrics .metric strong{font-size:20px}.closing-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.closing-columns>section{min-width:0}.closing-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.closing-section-head h3{margin:0}.closing-plus{width:32px;height:32px;padding:0;font-size:22px;line-height:1}.closing-total{font-size:13px}.closing-expense-items{padding-left:18px;white-space:normal;min-width:220px}.closing-expense-items li{margin-top:6px;overflow-wrap:anywhere}.closing-next{display:grid;gap:6px}.closing-next strong{font-size:24px;color:var(--accent)}.closing-cash summary{cursor:pointer;font-size:13px;color:var(--muted)}.closing-account .table-scroll{max-height:280px}#closing-results{min-width:0}@media(max-width:720px){.closing-columns{grid-template-columns:1fr}.closing-metrics{grid-template-columns:1fr}.closing-metrics .metric+.metric{border-left:0;border-top:1px solid var(--border)}.closing-account{padding:12px 0}.closing-metrics .metric:nth-child(3){border-top:1px solid var(--border)}}
.closing-dialog .dialog-body,.closing-account{grid-template-columns:minmax(0,1fr);min-width:0}.closing-account th{min-width:80px;padding:10px 8px}.closing-account th:first-child{min-width:100px}.closing-account th:last-child{min-width:46px}.closing-account td{padding:8px}.closing-actions{position:sticky;bottom:-22px;padding:12px 0;background:var(--surface);border-top:1px solid var(--border);z-index:3}.closing-actions button{max-width:100%;white-space:normal}@media(max-width:720px){.closing-actions{bottom:-16px}}

/* Compact management and combined list editors. */
.filters select,.schedule-dialog select[name=account_id]{appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%236b7894' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.team-group table{width:max-content;max-width:100%}.team-group th,.team-group td{min-width:0;padding:7px 10px}.team-group .team-select{padding:4px 0}.team-group td:last-child{width:1%;white-space:nowrap}.team-groups{padding:4px 12px}.team-group h3{margin:8px 0}.management-columns>.panel>.panel-title{padding:14px 16px}
.settings-dialog{width:min(560px,calc(100vw - 24px))}.settings-dialog .dialog-body{padding:16px}.settings-dialog .dialog-body>div{display:grid;gap:12px;min-width:0}.settings-list{list-style:none;padding:0;margin:0;display:grid;gap:0}.settings-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--border);min-width:0}.settings-list li span{overflow-wrap:anywhere;min-width:0}.settings-list button{flex-shrink:0;padding:6px 10px}.settings-dialog form{max-width:none}.settings-dialog form.hidden{display:none}.settings-error:empty{display:none}.settings-dialog #platform-add,.settings-dialog #account-add{justify-self:start}
.management-columns{align-items:start}.management-columns>.panel>.toolbar{justify-content:flex-start}

/* Short forms should fit their fields instead of using report-sized dialogs. */
.compact-form-dialog{width:min(560px,calc(100vw - 24px))}.compact-form-dialog .dialog-body form{max-width:none}

/* Debts and account-specific closing checks share one compact row. */
.closing-bottom{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:20px;align-items:start;min-width:0}.closing-bottom>section{min-width:0}.closing-bottom h3{margin:0 0 12px}.closing-debts table{width:100%;max-width:100%}.closing-debts th,.closing-debts th:first-child,.closing-debts th:last-child{min-width:0}.closing-debts th,.closing-debts td{padding:8px}.closing-debts td:first-child{white-space:normal;overflow-wrap:anywhere;max-width:160px}.closing-debts td:last-child{width:40px}.closing-checks th,.closing-checks th:first-child,.closing-checks th:last-child{min-width:0}.closing-checks td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}.closing-checks .wide-comment{min-width:0;max-width:none}.closing-checks th:first-child,.closing-checks td:first-child{white-space:nowrap}.closing-checks .footnote{margin-top:0}.closing-debts .footnote{contain:inline-size}
@media(max-width:720px){.closing-bottom{grid-template-columns:minmax(0,1fr);gap:16px}}

.closing-dialog .dialog-head{gap:12px;flex-wrap:wrap}.closing-dialog .dialog-head h2{flex:1 1 260px}.closing-head-actions{display:flex;gap:8px;align-items:center;margin-left:auto;flex-shrink:0}.closing-head-actions button{white-space:nowrap}
.closing-checks td:nth-child(3){overflow-wrap:normal}
.integrated-users{margin:8px 0;display:grid;gap:12px}.integrated-users .toolbar{gap:8px}.integrated-users .search{min-width:0;width:220px}.integrated-users td.comment{min-width:150px;max-width:240px}.integrated-users #users-panel table{max-width:none}.integrated-users .table-scroll{max-height:none}.integrated-users .team-select{font-size:13px}.integrated-users th{min-width:0!important}.integrated-users th:nth-child(5),.integrated-users td:nth-child(5){min-width:130px;max-width:180px;white-space:normal}.integrated-users td:nth-child(3){white-space:normal}.integrated-users td:nth-child(5){overflow-wrap:anywhere}
.comparison-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:12px}.comparison-controls label{min-width:0}.comparison-controls select{width:220px;max-width:100%}.comparison-controls input{width:155px;min-width:0}.comparison-error:empty{display:none}.comparison-table th,.comparison-table td{padding:8px 6px}.comparison-table th{min-width:0}.comparison-table th:nth-child(3),.comparison-table td:nth-child(3){width:54px;min-width:54px}.comparison-table th:last-child,.comparison-table td:last-child{width:70px;min-width:70px}.comparison-panel{padding:16px}.comparison-table td:nth-child(2){white-space:normal;min-width:130px}.comparison-table .empty{padding:36px 16px}
@media(max-width:720px){.comparison-controls{gap:8px}.comparison-controls label{flex:1 1 140px}.comparison-controls select,.comparison-controls input{width:100%}.comparison-panel{padding:12px}}
.journal-tabs{display:flex;gap:8px;flex-wrap:wrap}.journal-tabs [aria-selected=true]{background:var(--accent);border-color:var(--accent);color:white}.journal-tabs [aria-selected=false]{background:var(--surface)}#journal-work,#journal-actions,#journal-payouts{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}#journal-work.hidden,#journal-actions.hidden,#journal-payouts.hidden{display:none}#journal-actions .filter-form label{min-width:130px}#journal-actions .wide-comment{min-width:260px}

/* User actions grouped by purpose, with short editors sized to their content. */
.user-management-dialog .dialog-body,.user-editor-dialog .dialog-body{padding:16px;gap:14px}.user-status{margin:0}.user-action-group h3{font-size:13px;margin:0 0 8px}.user-action-buttons{display:flex;flex-wrap:wrap;gap:6px}.user-management-dialog .user-action-buttons button,.user-action-danger button{font-size:12px;padding:6px 10px;min-height:32px}.user-action-danger{border-top:1px solid var(--border);padding-top:12px}.user-management-dialog .form-error:empty,.user-editor-dialog .form-error:empty{display:none}.user-editor-dialog form{gap:12px}.user-editor-dialog .form-actions{margin-top:0}.user-editor-dialog .check-line{min-height:30px}.user-editor-dialog .check-line input{min-height:0}
.user-management-dialog button,.user-editor-dialog button{font-size:12px;padding:6px 10px;min-height:32px}.user-management-dialog .dialog-head{gap:10px;align-items:flex-start}.user-management-dialog .dialog-head h2{min-width:0;overflow-wrap:anywhere}.user-management-dialog .dialog-head .icon-button{flex-shrink:0}

/* Give activity the space beside the content-sized team table. */
.management-account button{margin-left:0}.management-columns{grid-template-columns:minmax(0,max-content) minmax(320px,1fr);align-items:stretch}.management-activity{contain:size;display:flex;flex-direction:column;min-height:0;min-width:0}.management-activity .panel-title{flex-shrink:0}.activity-feed{flex:1;min-height:0;overflow:auto}.activity-feed p{margin:12px 0}.activity-feed small{font-variant-numeric:tabular-nums}
@media(max-width:1050px){.management-columns{grid-template-columns:minmax(0,1fr)}.management-activity{contain:none;height:360px}}

.operations-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start;min-width:0}
.operations-columns>.panel{min-width:0}
.operations-columns table,.compact-balances table{width:100%}
.operations-columns th,.compact-balances th{min-width:0;white-space:normal}
.operations-columns th,.operations-columns td,.compact-balances th,.compact-balances td{padding:8px}
#balances-table th:not(:first-child){width:15%;max-width:100px}
#balances-table td:first-child{white-space:normal;overflow-wrap:anywhere}
.operations-columns td.comment{min-width:110px;max-width:200px;white-space:normal;overflow-wrap:anywhere}
.operations-columns th:first-child{min-width:100px}
.operations-columns .panel-title h2{font-size:16px}
@media(max-width:1200px){.operations-columns{grid-template-columns:minmax(0,1fr)}}

.period-increase{color:var(--green)}

.chart .account-line{fill:none;stroke-linejoin:round;stroke-linecap:round}
.chart-series-controls{display:flex;flex-wrap:wrap;gap:8px 18px;padding:12px 16px 0;font-size:12px}
.chart-series-controls label{display:flex;align-items:center;gap:7px;min-height:32px;min-width:0;max-width:100%;overflow-wrap:anywhere;cursor:pointer}
.chart-series-controls input{width:auto;min-height:0;flex-shrink:0;margin:0}
.series-swatch{display:inline-block;width:20px;height:3px;flex-shrink:0;border-radius:2px}

.notes-dialog{width:min(880px,calc(100vw - 24px))}
.notes-dialog .dialog-body,.note-editor .dialog-body,.schedule-editor .dialog-body{padding:16px;gap:14px;grid-template-columns:minmax(0,1fr)}
.notes-controls{display:flex;align-items:end;flex-wrap:wrap;gap:10px}
.notes-controls label{width:240px;min-width:0;max-width:100%}
.notes-controls button{font-size:13px;padding:8px 10px;min-height:36px}
.notes-dialog .footnote{margin:0}
.notes-dialog .wide-comment{min-width:240px}
.note-editor #note-delete,.schedule-editor #schedule-delete{justify-self:start}
.note-editor .form-error:empty,.schedule-editor .form-error:empty{display:none}
.note-editor form,.schedule-editor form{gap:12px}
.note-editor .form-actions,.schedule-editor .form-actions{margin-top:0}

.comparison-tabs{margin-bottom:14px}
#comparison-accounts,#comparison-employees{min-width:0}
.employee-comparison-error:empty{display:none}
.employee-comparison-table th{min-width:0;padding:8px}
.employee-comparison-table th:nth-child(4){width:54px;min-width:54px}
.employee-comparison-table td{padding:8px}
.employee-comparison-table td:nth-child(3){white-space:normal;min-width:150px;overflow-wrap:anywhere}

.sidebar-navigation{display:flex;flex-direction:column;gap:30px;flex:1;min-height:0}
.mobile-menu-backdrop{display:none}
@media(max-width:720px){
 .sidebar,.layout.menu-hidden .sidebar{display:flex;position:sticky;top:0;z-index:12;height:auto;overflow:visible;padding:10px 12px}
 .sidebar-heading{min-height:34px}
 .sidebar-navigation{display:none}
 .layout.mobile-menu-open .sidebar-navigation{display:flex;position:absolute;top:100%;left:12px;width:min(340px,calc(100vw - 24px));max-height:calc(100dvh - 70px);overflow-y:auto;gap:12px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:0 0 10px 10px;box-shadow:var(--shadow)}
 .sidebar-navigation nav,.sidebar-navigation nav.sidebar-tools{display:grid;overflow:visible;gap:4px;margin:0}
 .sidebar-navigation .nav-button{white-space:normal;width:100%}
 .sidebar-navigation .profile{margin:0;padding-top:12px;flex-wrap:wrap;font-size:12px;gap:8px}
 .sidebar-navigation .profile>div{flex:1;min-width:0;overflow-wrap:anywhere}
 .sidebar-navigation .profile button{font-size:12px;padding:7px 9px}
 .layout.mobile-menu-open .mobile-menu-backdrop{display:block;position:fixed;inset:0;z-index:11;border:0;border-radius:0;background:#10142760;box-shadow:none;padding:0}
 #menu-open,.layout.menu-hidden #menu-open{display:none}
 .topbar{min-height:0;padding:10px 12px}
 .filters{gap:8px}
 .filters select{font-size:12px;padding:8px 30px 8px 10px;background-position:right 12px center;min-height:36px}
}
#comparison-content{min-width:0}
@media(max-width:720px){.topbar>.profile{display:none}.sidebar-navigation .profile{display:flex}}

.profile-identity{border:0;box-shadow:none;background:transparent;padding:3px 5px;text-align:left;font-size:13px;white-space:normal;overflow-wrap:anywhere;min-width:0}
.self-profile-dialog .dialog-body{padding:16px;gap:16px;grid-template-columns:minmax(0,1fr)}
.self-profile-dialog section{min-width:0}.self-profile-dialog h3{margin:0 0 10px}.self-profile-dialog p{margin:0}
.self-profile-dialog section+section{border-top:1px solid var(--border);padding-top:16px}
.self-profile-dialog form{gap:10px}.self-profile-dialog .form-error:empty{display:none}.self-profile-dialog .form-actions{margin-top:0}
.employee-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,330px) minmax(280px,400px);gap:14px;align-items:start;min-width:0}
.employee-hero.without-promotion{grid-template-columns:minmax(0,1fr) minmax(280px,400px)}
.employee-actions{display:grid;gap:18px;min-width:0}.employee-actions .title-row{align-items:start}.employee-actions .muted{font-size:12px}
.employee-promotion,:is(.employee-leaderboard,.employee-campaign-ranking){padding:12px;min-width:0;overflow-wrap:anywhere}
.employee-promotion{max-height:280px;overflow:auto}.employee-promotion h2,:is(.employee-leaderboard,.employee-campaign-ranking) h2{font-size:16px;margin:0 0 8px}
.employee-promotion h3{font-size:13px;margin:8px 0}.employee-promotion p{font-size:12px;margin:6px 0}.employee-promotion article+article{border-top:1px solid var(--border);margin-top:12px;padding-top:6px}
:is(.employee-leaderboard,.employee-campaign-ranking) .footnote{font-size:11px;margin:6px 0}:is(.employee-leaderboard,.employee-campaign-ranking) th,:is(.employee-leaderboard,.employee-campaign-ranking) td{padding:5px;min-width:0;font-size:12px;height:26px}:is(.employee-leaderboard,.employee-campaign-ranking) .empty{white-space:normal;padding:12px 4px}
.ranking-login{white-space:normal;overflow-wrap:anywhere;max-width:180px}
@media(max-width:1200px){.employee-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.employee-actions{grid-column:1/-1}.employee-hero.without-promotion{grid-template-columns:minmax(0,1fr)}}
@media(max-width:720px){.employee-hero{grid-template-columns:minmax(0,1fr)}.sidebar-navigation .profile-identity{flex:1}:is(.employee-leaderboard,.employee-campaign-ranking) .ranking-login{max-width:140px}}

.employee-actions .toolbar{gap:8px}.employee-actions .toolbar button,.employee-actions .more-menu summary{font-size:12px;padding:8px 10px;min-height:34px}
.employee-heading-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.employee-heading-row .title-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0}
.employee-heading-row .title-row h1{font-size:24px}
.employee-actions .employee-refresh{padding:5px 9px;min-height:28px;font-size:11px}
.employee-shift-controls{display:grid;gap:10px;min-width:0;width:100%;max-width:360px}
.employee-shift-main,.employee-shift-secondary{display:grid;gap:8px;min-width:0}
.employee-shift-main{grid-template-columns:repeat(2,minmax(0,1fr))}
.employee-shift-secondary{grid-template-columns:repeat(3,minmax(0,1fr))}
.employee-shift-controls button{width:100%;min-width:0;height:40px;padding:3px 6px;white-space:normal;line-height:1.1}
@media(max-width:420px){.employee-heading-row .title-row h1{font-size:22px}}


/* Motivation shares existing compact controls and responsive panels. */
.motivation-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 16px}
.motivation-tabs button{padding:7px 11px;font-size:13px}
.motivation-body{padding:18px;margin:14px 0;min-width:0}
.motivation-check{display:flex;align-items:center;gap:9px;margin:9px 0}
.motivation-check input[type=checkbox]{width:auto;min-width:16px}
.motivation-body progress{width:100%;height:16px;accent-color:var(--primary,#4f6bff)}
.motivation-achievements{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.motivation-achievements article{padding:14px;border:1px solid var(--border,#dce0e8);border-radius:8px}
.motivation-ranking{align-items:end;flex-wrap:wrap;margin-bottom:16px}
.motivation-ranking label{min-width:130px;max-width:180px}
.motivation-toolbar{flex-wrap:wrap}
@media(max-width:720px){.motivation-tabs button{flex:1 0 auto}.motivation-body{padding:12px}.motivation-ranking label{max-width:none;flex:1}.motivation-achievements{grid-template-columns:1fr}}

.main.motivation-content{grid-template-columns:minmax(0,1fr)}
.motivation-content>* ,#motivation-body{min-width:0}
#motivation-body .table-scroll{max-width:100%;min-width:0}
.motivation-content h1,.motivation-content p{overflow-wrap:anywhere}

.motivation-fund-dialog .dialog-body{display:block;padding:18px}
.motivation-fund-dialog .dialog-body>p{margin:12px 0}
.motivation-fund-dialog [data-approve]{margin-top:16px;width:auto}
.motivation-calculator{align-items:end;flex-wrap:wrap;margin-bottom:16px}
.motivation-calculator label{max-width:180px}
.motivation-calculator [data-live-status]{flex-basis:100%;font-size:12px;color:var(--muted)}

/* Панель расширений не зависит от финансового кабинета. */
.extensions-title{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;min-width:0}.extensions-title h1{margin-right:8px}.extension-tabs{max-width:100%;flex-wrap:wrap}.extension-tabs button{padding:0 14px}#extension-tab-panel>div{display:grid;gap:12px;min-width:0}
.extension-panel{padding:12px 14px;min-width:0}.extension-panel p{margin:6px 0}.extension-head{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;margin-bottom:8px}.extension-head .footnote{min-width:0}.extension-create{display:flex;align-items:end;gap:8px;margin-left:auto;flex-wrap:wrap;min-width:0}.extension-create label{display:flex;align-items:center;gap:8px;min-width:0}.extension-create input{width:200px;max-width:100%;min-height:32px;padding:5px 10px}.extension-create button{min-height:32px;padding:5px 12px}.extension-source{margin:0 0 8px}
.extension-panel th{padding:8px;min-width:0}.extension-panel td{padding:4px 8px;height:auto}.extension-actions{display:flex;gap:4px;flex-wrap:nowrap}.extension-actions button{font-size:12px;padding:4px 9px;min-height:28px}.extension-late{color:var(--red)}/* Цвета логотипов ботов: светлая тема — темнее для контраста, тёмная — как на логотипах. */:root{--bot-avto:#d2302a;--bot-txt:#3567e0;--bot-chek:#0b8f6a;--bot-order:#a96f00}:root[data-theme=dark]{--bot-avto:#ff4d45;--bot-txt:#6b9dff;--bot-chek:#52f0c1;--bot-order:#f5b21c}.bot-avto{--bot:var(--bot-avto)}.bot-txt{--bot:var(--bot-txt)}.bot-chek{--bot:var(--bot-chek)}.bot-order{--bot:var(--bot-order)}.bot-accent{color:var(--bot)}.extension-tabs button[data-extension-tab=avto]{--bot:var(--bot-avto)}.extension-tabs button[data-extension-tab=txt]{--bot:var(--bot-txt)}.extension-tabs button[data-extension-tab=chek]{--bot:var(--bot-chek)}.extension-tabs button[data-extension-tab=order]{--bot:var(--bot-order)}.rm-switch.extension-tabs button,.rm-switch.extension-tabs button[aria-selected=true]{color:var(--fg);font-weight:700}.rm-switch.extension-tabs button:hover{background:color-mix(in srgb,var(--bot) 10%,var(--surface))}.rm-switch.extension-tabs button[aria-selected=true]{background:color-mix(in srgb,var(--bot) 18%,var(--surface));box-shadow:inset 0 -2px 0 var(--bot)}.extension-month{display:flex;align-items:center;gap:8px;margin-left:auto}.extension-month select{min-height:32px;padding:4px 8px}
.extension-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;user-select:all}.extension-panel a{color:var(--accent)}.extension-token{margin-bottom:8px}.extension-token pre{margin:6px 0}.extension-decoder summary{cursor:pointer;font-weight:600}.extension-decoder p{line-height:1.5}
@media(max-width:560px){.extension-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.extension-tabs button{height:36px}.extension-create{margin-left:0;width:100%}.extension-create label{flex:1 1 160px}.extension-create input{width:100%}}

.motivation-kpi-toolbar{align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:16px}.motivation-kpi-toolbar label{margin:0;min-width:180px}.motivation-kpi-toolbar button{margin-bottom:0}

.motivation-plan-tables{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:16px;margin-top:16px;align-items:stretch}.motivation-plan-panel{min-width:0;overflow:hidden;display:flex;flex-direction:column}.motivation-plan-panel h2{padding:16px 16px 12px}.motivation-plan-panel .table-scroll{flex:1;max-height:560px;min-height:220px;overflow:auto}.motivation-plan-panel th{position:sticky;top:0;z-index:1}.motivation-plan-panel th,.motivation-plan-panel td{padding:8px 10px;white-space:nowrap}.motivation-plan-panel button{padding:6px 9px}.motivation-plan-tables.employee-only{grid-template-columns:minmax(0,1fr)}@media(max-width:1000px){.motivation-plan-tables{grid-template-columns:minmax(0,1fr)}.motivation-plan-panel .table-scroll{max-height:440px;min-height:140px}}
.motivation-plan-panel table{table-layout:fixed;font-size:12px}.motivation-plan-panel th,.motivation-plan-panel td{min-width:0;padding:8px 6px;white-space:normal;overflow-wrap:anywhere}.motivation-plan-panel th{font-size:11px}[data-plan-accounts] th:nth-child(1){width:30%}[data-plan-accounts] th:nth-child(2){width:12%}[data-plan-accounts] th:nth-child(3),[data-plan-accounts] th:nth-child(4){width:18%}[data-plan-accounts] th:nth-child(5){width:22%}[data-plan-employees] th:nth-child(1){width:22%}[data-plan-employees] th:nth-child(2){width:21%}[data-plan-employees] th:nth-child(3),[data-plan-employees] th:nth-child(6),[data-plan-employees] th:nth-child(7){width:13%}[data-plan-employees] th:nth-child(4),[data-plan-employees] th:nth-child(5){width:9%}@media(max-width:1200px){.motivation-plan-tables{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){[data-plan-accounts] table{min-width:490px}[data-plan-employees] table{min-width:680px}}

.motivation-account-ratings{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;margin:12px 0}.motivation-account-ratings article{min-width:0;padding:12px;border:1px solid var(--border);border-radius:8px;overflow-wrap:anywhere}.motivation-account-ratings p{margin:8px 0}

/* Cabinet-wide goals, announcements and compact XP standings. */
.employee-hero,.employee-hero.without-promotion{grid-template-columns:minmax(200px,1fr) minmax(180px,.9fr) minmax(180px,.9fr) minmax(240px,280px) minmax(300px,330px)}
.employee-hero.without-promotion{grid-template-columns:minmax(200px,1fr) minmax(180px,1fr) minmax(240px,280px) minmax(300px,330px)}
.employee-plans{padding:14px;min-width:0}.employee-plan+article{margin-top:14px}.employee-plan h3{font-size:14px;margin:0 0 6px}.employee-plan p{margin:5px 0}.employee-plan progress{display:block;width:100%;height:12px;accent-color:var(--accent,#4f6bff);margin:8px 0}.employee-plan strong{font-size:16px}
.employee-ranking-switch{display:flex;gap:6px;margin:8px 0}.employee-ranking-switch button{font-size:11px;padding:6px 8px;min-height:28px}:is(.employee-leaderboard,.employee-campaign-ranking) th,:is(.employee-leaderboard,.employee-campaign-ranking) td{padding:7px 5px;font-size:11px}:is(.employee-leaderboard,.employee-campaign-ranking) .ranking-login{max-width:100px;overflow-wrap:anywhere;white-space:normal}.employee-promotion article+article{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}
@media(max-width:1450px){.employee-hero,.employee-hero.without-promotion{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-actions{grid-column:1/-1}}
@media(max-width:850px){.employee-hero,.employee-hero.without-promotion{grid-template-columns:repeat(2,minmax(0,1fr))}:is(.employee-leaderboard,.employee-campaign-ranking){grid-column:1/-1}}
@media(max-width:540px){.employee-hero,.employee-hero.without-promotion{grid-template-columns:minmax(0,1fr)}.employee-actions,:is(.employee-leaderboard,.employee-campaign-ranking){grid-column:auto}}

.employee-plan progress{appearance:none;border:0;border-radius:6px;overflow:hidden;background:var(--border)}.employee-plan progress::-webkit-progress-bar{background:var(--border);border-radius:6px}.employee-plan progress::-webkit-progress-value{background:var(--accent);border-radius:6px}.employee-plan progress::-moz-progress-bar{background:var(--accent);border-radius:6px}

.employee-kpi-summary{min-width:0;margin-top:-8px}.employee-shifts-dialog{width:min(1100px,96vw)}.employee-shifts-dialog .dialog-body{display:block;min-width:0}.employee-shifts-dialog .filter-form{margin-bottom:12px}.employee-shifts-dialog .table-scroll{max-height:55vh}.employee-shifts-dialog th button{padding:0;border:0;background:transparent;color:inherit;font:inherit;box-shadow:none}.employee-shifts-dialog [data-row-count]{font-size:12px;color:var(--muted)}

.achievement-badges{display:flex;flex-wrap:wrap;gap:12px}.achievement-badge{display:grid;justify-items:center;align-content:start;gap:6px;width:106px;min-height:94px;padding:10px;border-radius:12px}.achievement-badge>span[aria-hidden]{font-size:36px;line-height:48px}.achievement-badge img,.achievement-setting-icon img,.achievement-icon-preview img,.achievement-detail img{object-fit:contain;width:48px;height:48px}.achievement-name{font-size:12px;white-space:normal}.achievement-badges.compact{gap:6px;max-height:140px;overflow:auto;margin:8px 0}.compact .achievement-badge{width:42px;min-height:42px;padding:4px;border-radius:9px}.compact .achievement-badge img{width:32px;height:32px}.compact .achievement-badge>span[aria-hidden]{font-size:26px;line-height:32px}.achievement-setting-icon>span{font-size:28px}.achievement-icon-preview,.achievement-detail{text-align:center}.achievement-icon-preview img,.achievement-detail img{width:96px;height:96px}.personal-sidebar-card{padding:10px 8px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:12px;overflow-wrap:anywhere}.personal-sidebar-card h2{font-size:14px;margin-bottom:8px}.personal-sidebar-card h3{font-size:11px;margin:12px 0 6px;color:var(--muted)}.personal-sidebar-card .personal-rank{margin:5px 0;color:var(--muted)}.personal-sidebar-card dl{margin:0;display:grid;gap:6px}.personal-sidebar-card dl>div{display:flex;justify-content:space-between;gap:6px}.personal-sidebar-card dd{margin:0;white-space:nowrap}.personal-sidebar-card dt{color:var(--muted)}

.achievement-badge-wrap{position:relative;display:inline-flex}.achievement-art{display:grid;place-items:center;width:48px;height:48px;font-size:36px;line-height:48px}.compact .achievement-art{width:32px;height:32px;font-size:26px;line-height:32px}.achievement-badge.locked .achievement-art,.achievement-detail.locked .achievement-art{filter:grayscale(1);opacity:.4}.achievement-badge.locked{background:var(--stripe);border-style:dashed}.achievement-state{font-size:10px;color:var(--muted);white-space:normal}.achievement-tooltip{display:none;position:absolute;z-index:15;bottom:calc(100% + 8px);left:0;min-width:150px;max-width:240px;padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg);box-shadow:var(--shadow);font-size:12px;white-space:normal;pointer-events:none}.achievement-badge-wrap:hover .achievement-tooltip,.achievement-badge-wrap:focus-within .achievement-tooltip{display:block}.achievement-detail .achievement-art{margin:auto;width:96px;height:96px;font-size:64px;line-height:96px}.achievement-art>.achievement-hex{display:block;width:100%;height:100%}.achievement-setting-icon>.achievement-hex{display:block;width:40px;height:40px}.achievement-icon-preview>.achievement-hex{display:block;width:96px;height:96px;margin:auto}.xp-explanation{margin:20px 0}.xp-explanation ul{list-style:none;padding:0;margin:10px 0;max-width:650px;display:grid;gap:10px}.xp-explanation li{display:flex;justify-content:space-between;gap:16px}.xp-explanation strong{white-space:nowrap}.achievement-badge{min-height:116px}.compact .achievement-badge{min-height:42px}

.settings-list .account-row{flex-wrap:wrap}.settings-list .account-row>span{flex:1 1 160px}.account-actions{display:flex;gap:8px;flex-shrink:0;margin-left:auto}

.motivation-row-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:180px}.motivation-row-actions button{margin:0}

[data-overview-cabinets] td{white-space:normal;overflow-wrap:anywhere}[data-overview-cabinets] th{min-width:90px}[data-overview-cabinets] td:nth-child(5){min-width:210px;max-width:340px}

.shift-detail-dialog{width:min(560px,calc(100vw - 24px))}.shift-detail-dialog .dialog-body{padding:16px;gap:12px;min-width:0}.shift-detail-dialog .detail-info{gap:8px 16px}.shift-detail-dialog h3{margin:0}.shift-detail-dialog .comment-text{margin:8px 0;overflow-wrap:anywhere}.shift-detail-dialog .toolbar{margin:0}.shift-detail-dialog #shift-platforms-table th{min-width:0;padding:8px 10px}.shift-detail-dialog #shift-platforms-table th:not(:first-child){text-align:right}.shift-detail-dialog #shift-platforms-table td{padding:6px 10px}.shift-detail-dialog #shift-platforms-table th:first-child{width:36%}

@media(min-width:851px) and (max-width:1450px){.employee-hero.without-promotion{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.employee-hero.without-promotion{grid-template-columns:minmax(0,1fr)}}

/* Keep goal metadata on the same rows and leave room for complete income logins. */
.employee-plan-heading,.employee-plan-values{display:flex;align-items:baseline;justify-content:space-between;gap:6px 10px;flex-wrap:wrap}
.employee-plan-heading h3,.employee-plan-heading p,.employee-plan-values p{margin:0}
.employee-plan-heading .footnote,.employee-plan-values p{margin-left:auto;text-align:right}
.employee-campaign-ranking .ranking-login{max-width:none;white-space:nowrap;overflow-wrap:normal}
.employee-campaign-ranking th:last-child{text-align:right}

/* Goals belong directly beneath the compact shift controls. */
.employee-hero{grid-template-columns:minmax(300px,1fr) minmax(180px,.9fr) minmax(240px,280px) minmax(300px,330px)}
.employee-hero.without-promotion{grid-template-columns:minmax(300px,1fr) minmax(240px,280px) minmax(300px,330px)}
.employee-actions{gap:12px;--shift-controls-width:340px}.employee-actions .employee-plans{margin:0;width:100%;max-width:var(--shift-controls-width);box-sizing:border-box}
.employee-shift-controls{max-width:var(--shift-controls-width);gap:8px}.employee-shift-controls button{height:34px;font-size:12px}
@media(max-width:1450px){.employee-hero,.employee-hero.without-promotion{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.employee-hero,.employee-hero.without-promotion{grid-template-columns:minmax(0,1fr)}}

.employee-income-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.employee-income-heading h2{margin:0;min-width:0}
.employee-income-period{flex:0 0 auto;max-width:150px;margin:0;text-align:right;font-size:10px;line-height:1.4}
.employee-income-period span{display:block}

.personal-lifetime{border-top:1px solid var(--border);margin-top:10px;padding-top:2px}
.personal-sidebar-card .personal-record{display:grid;gap:3px}.personal-record dd{text-align:right;white-space:normal;overflow-wrap:anywhere}.personal-record dd strong{display:block;font-weight:600;margin-top:2px}

.trend-arrow{font-size:14px;font-weight:700}.trend-arrow.up{color:var(--green)}.trend-arrow.down{color:var(--red)}.trend-arrow.flat{color:var(--muted)}
.personal-lifetime button{font-size:12px;padding:6px 8px}.personal-lifetime progress{width:100%;height:9px}.personal-lifetime p{font-size:11px;margin:5px 0}
.team-insights{padding:14px;min-width:0}.team-forecasts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin:12px 0}.team-forecasts article{padding:12px}.team-forecasts progress{width:100%}.team-insights details{margin:12px 0}
.appeal-card{border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px;overflow-wrap:anywhere}.appeal-card p{white-space:normal}
.schedule-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.schedule-day{border:1px solid var(--border);padding:5px;border-radius:6px;display:grid;gap:5px;align-content:start;min-width:0}.schedule-day button{font-size:11px;padding:5px;white-space:normal;overflow-wrap:anywhere}
.preview-banner{position:sticky;top:0;z-index:20;padding:8px 16px;background:var(--accent);color:white;display:flex;justify-content:space-between;align-items:center}.preview-banner button{font-size:12px}.preview-banner.preview-editing{background:#b45309}
@media(max-width:720px){.schedule-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}}
.schedule-calendar:has(>.schedule-month){display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.schedule-month h3{margin:0 0 6px;font-size:14px;text-transform:capitalize}
.schedule-weekdays,.schedule-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.schedule-weekdays{margin-bottom:6px}.schedule-weekdays span{font-size:11px;color:var(--muted);text-align:center}
@media(max-width:720px){.schedule-calendar:has(>.schedule-month){gap:6px}.schedule-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-month h3,.schedule-weekdays,.schedule-blank{display:none}}

#boss-dashboard-panel{display:grid;gap:18px;min-width:0}#boss-incidents-panel{min-width:0}.main>[role=tablist]{min-width:0;flex-wrap:wrap}

.dialog-body>[role=tabpanel]{min-width:0}

.employee-shift-secondary{grid-template-columns:repeat(4,minmax(0,1fr))}
.metric.income-components strong{font-size:16px;line-height:1.5;display:flex;flex-wrap:wrap;gap:2px;align-items:baseline}.income-components strong b{font-weight:600;white-space:nowrap}.income-components small{display:block;font-size:10px;margin-top:4px}
.ludik-dialog .dialog-body{min-width:0}.ludik-summary{display:flex;gap:12px 24px;flex-wrap:wrap}.ludik-summary p{margin:4px 0}.ludik-dialog details{margin:12px 0}.ludik-dialog h3{margin:14px 0 8px}

/* Keep the employee sidebar compact; scroll its contents without moving the brand. */
@media(min-width:721px){
 .sidebar{padding-top:16px;padding-bottom:12px;gap:16px;overflow:hidden}
 .sidebar-navigation{gap:14px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
 .sidebar-navigation>nav,.sidebar-navigation>[data-personal-sidebar],.sidebar-bottom{flex-shrink:0}
 .sidebar-navigation:has([data-personal-sidebar]) .sidebar-tools{margin-top:0}
 .sidebar-navigation::-webkit-scrollbar{width:5px}
 .sidebar-navigation::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}
 .sidebar-navigation::-webkit-scrollbar-track{background:transparent}
 .personal-sidebar-card{padding:8px 6px}
 .personal-sidebar-card h2{margin-bottom:5px}
 .personal-sidebar-card h3{margin:8px 0 5px}
 .personal-sidebar-card dl{gap:4px}
 .personal-sidebar-card .personal-record{gap:2px}
 .personal-sidebar-card .personal-record dd strong{margin-top:1px}
 .sidebar-navigation .nav-button{padding-top:7px;padding-bottom:7px}
}

.topbar-refresh{font-size:12px;padding:8px 11px;flex-shrink:0}
.personal-sidebar-card .personal-lifetime>dl{gap:6px}
.personal-sidebar-card .personal-record{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;padding:8px;background:var(--stripe);border:1px solid var(--border);border-radius:7px;min-width:0}
.personal-sidebar-card .personal-record dt{font-size:11px;line-height:1.4}
.personal-sidebar-card .personal-record dd{text-align:left;font-size:12px;line-height:1.45;min-width:0}
.personal-sidebar-card .personal-record dd strong{margin-top:3px;font-size:13px;font-variant-numeric:tabular-nums}
.personal-sidebar-card .personal-lifetime:not(:has(progress)):last-child:not(:has(dl)){display:none}
@media(max-width:720px){.filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:6px}.filters select{font-size:11px;padding:7px 5px}.topbar-refresh{font-size:11px;padding:7px}.employee-heading-row [data-personal-goal]{white-space:normal}}
.ludik-employee-dialog{width:min(820px,calc(100vw - 32px))}
.ludik-employee-dialog .dialog-head{gap:10px;padding:16px}
.ludik-employee-dialog [data-ludik-add]{margin-right:auto}
.ludik-employee-dialog .dialog-body{padding:16px;gap:12px}
.ludik-employee-dialog .empty{padding:28px 12px}
.ludik-employee-dialog .ludik-summary{gap:6px 18px}
.ludik-dialog [data-ludik-results]{min-width:0}
.payout-dialog{width:min(1140px,calc(100vw - 24px))}
.payout-dialog .dialog-body{padding:18px}
.payout-columns{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:24px;min-width:0;align-items:start}
.payout-columns form{max-width:none;min-width:0;gap:12px}
.payout-columns label{min-width:0}
.payout-columns textarea{min-height:80px}
.payout-modes{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.payout-month-statistics{min-width:0}
.payout-month-statistics h3{margin:0 0 12px}
.payout-month-statistics .table-scroll{max-height:55vh}
.payout-month-statistics th{min-width:65px;padding:10px 8px}
.payout-month-statistics td{padding:8px}
.payment-uid{font-size:13px;margin:0;line-height:1.6;overflow-wrap:anywhere}
.ludik-rate-dialog{width:min(420px,calc(100vw - 24px))}
.ludik-rate-dialog .dialog-head,.ludik-rate-dialog .dialog-body{padding:16px}
.ludik-rate-dialog .dialog-head h2{font-size:15px;overflow-wrap:anywhere;min-width:0}
.ludik-rate-dialog form{gap:12px}
.ludik-rate-dialog .form-actions{margin-top:0}
@media(max-width:800px){.payout-columns{grid-template-columns:minmax(0,1fr);gap:20px}.payout-month-statistics .table-scroll{max-height:35vh}}
.management-columns:has(.embedded-journal){grid-template-columns:minmax(300px,.8fr) minmax(0,1.4fr)}
.management-activity:has(.embedded-journal) .panel-title{gap:10px;align-items:flex-start}
[data-inline-journal-tabs]{min-width:0;max-width:100%}
[data-inline-journal-tabs] .journal-tabs{margin:0;gap:5px;flex-wrap:wrap}
[data-inline-journal-tabs] button{font-size:12px;padding:7px 9px}
.embedded-journal .dialog-body{padding:12px;gap:12px;min-width:0}
.embedded-journal [role=tabpanel]{min-width:0}
.embedded-journal .filter-form{gap:8px}
.embedded-journal .filter-form label{min-width:110px;flex:1}
.embedded-journal .table-scroll{max-height:55vh}
@media(max-width:1050px){.management-columns:has(.embedded-journal){grid-template-columns:minmax(0,1fr)}}
.management-activity:has(.embedded-journal){contain:none;height:auto;min-height:360px}
.embedded-journal .filter-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}
.embedded-journal .filter-form label{min-width:0}
.embedded-journal .filter-form input,.embedded-journal .filter-form select{min-width:0;width:100%;font-size:12px}
.embedded-journal .filter-form>.form-error{grid-column:1/-1;min-height:0}
.embedded-journal .filter-form>.form-error:empty{display:none}
.embedded-journal .filter-form .form-actions{margin:0}
.embedded-journal .footnote{overflow-wrap:anywhere;margin:0}
@media(max-width:720px){.embedded-journal .filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Внутренний баланс и заявки на пополнение (без доступа к API перевода средств). */
.wallet-topbar{margin-left:auto;flex:0 1 auto;min-width:0;display:flex;align-items:center;justify-content:flex-end}
/* Один правый кластер: сумма, пополнение, смена темы и профиль. */
.topbar>.profile{margin-left:0}
.wallet-indicator{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px}
.wallet-indicator strong{white-space:nowrap;font-size:14px;font-variant-numeric:tabular-nums}
.wallet-income,.wallet-income-inline{font-size:12px;color:var(--muted);white-space:nowrap}
.wallet-indicator #wallet-add{border-radius:6px;width:31px;height:31px;padding:0;font-size:21px;line-height:1;font-weight:600;background:var(--stripe);border-color:var(--border);color:var(--fg)}
.wallet-indicator #wallet-add:hover{background:var(--hover)}
.wallet-error{font-size:11px;padding:6px 8px}
.wallet-operations .panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.wallet-operations .panel-title strong{color:var(--accent);white-space:nowrap}
.wallet-operations .table-scroll{max-height:65vh;overflow:auto}
.wallet-operations td{white-space:nowrap}
.wallet-confirm{background:#147a3f!important;color:white!important;border-color:#147a3f!important}
.wallet-cancel{background:#a42f2f!important;color:white!important;border-color:#a42f2f!important}
.wallet-tabs{margin:8px 0 14px}
.wallet-destination{font-size:14px;padding:10px 12px;background:var(--hover);border-radius:6px;overflow-wrap:anywhere}
.wallet-history{margin-top:12px}
.wallet-history h3{margin-bottom:8px}
.wallet-topup-dialog{width:min(540px,calc(100vw - 24px))}
.wallet-income-inline{align-self:center}
@media(max-width:1000px){.wallet-indicator{font-size:11px}.wallet-income{white-space:normal}.wallet-topbar{max-width:260px}}
/* Баланс остается видимым под фильтрами мобильного экрана,
   но не увеличивает высоту самой панели управления. */
@media(max-width:720px){
 .topbar{position:relative;flex-wrap:nowrap;min-height:0}
 .topbar>.filters{min-width:0;flex:1 1 auto}
 .wallet-topbar{position:absolute;top:100%;left:0;right:0;z-index:4;order:initial;width:100%;max-width:none;margin:0;padding:6px 12px;min-height:44px;display:flex;align-items:center;justify-content:flex-start;background:var(--surface);border-bottom:1px solid var(--border)}
 .wallet-indicator{gap:8px;min-width:0}
 .workspace:has(.wallet-topbar:not(:empty))>.main{margin-top:52px}
 .wallet-operations .table-scroll{max-height:70dvh}
}


/* Карточки кабинетов: общая сетка и пять колонок на широком экране администратора. */
.team-insights{padding:0;min-width:0}
.team-insights .team-forecasts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;min-width:0}
.team-insights .team-card{padding:14px;min-width:0;display:flex;flex-direction:column;gap:0}
.team-card{position:relative}.team-card-top{position:absolute;right:12px;bottom:10px;font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.02em}.team-card:has(.team-card-top){padding-bottom:30px}
.team-insights .team-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;min-width:0}
.team-insights .team-card h3{margin:3px 0 0;min-width:0;font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.team-insights .team-card-percent{flex:none;align-self:flex-start;font-size:14px;font-weight:700;line-height:1.3;font-variant-numeric:tabular-nums;background:var(--hover);border:1px solid var(--border);border-radius:6px;padding:5px 8px;white-space:nowrap}
.team-insights .team-card progress{width:100%;margin:14px 0 6px}
.team-insights .team-card p{font-size:12px;margin:7px 0 0;line-height:1.4;overflow-wrap:anywhere}
.team-insights .team-card p strong{font-weight:600;font-variant-numeric:tabular-nums}
@media(max-width:1100px){.team-insights .team-forecasts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1400px){.team-insights.admin-cabinet-cards .team-forecasts{grid-template-columns:repeat(5,minmax(0,1fr))}}



/* Карточки игрового каталога, пока без интерактивного запуска. */
.game-subtitle{margin:6px 0 0}
.game-page-tabs{margin:0}
.game-catalog-heading{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:15px}
.game-card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.game-card-preview{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:13px;overflow:hidden;box-shadow:var(--shadow)}
.game-card-art{position:relative;isolation:isolate;display:grid;place-items:center;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,var(--a),var(--b))}
.game-card-art:before{content:"";position:absolute;width:70%;aspect-ratio:1;border:1px solid #fff5;border-radius:50%;box-shadow:0 0 0 30px #fff1,0 0 0 60px #fff1;left:-18%;top:-48%}
.game-card-art:after{content:"";position:absolute;right:-16%;bottom:-46%;width:76%;aspect-ratio:1;border-radius:38%;transform:rotate(-28deg);background:#ffffff12}
.game-card-ornament{position:absolute;width:54%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#ffffff28 0%,transparent 70%)}
.game-card-symbol{z-index:1;font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif;font-size:clamp(44px,5vw,78px);line-height:1;text-shadow:0 10px 20px #0006;filter:drop-shadow(0 7px 8px #0004)}
.game-card-info{padding:14px 15px 15px}
.game-card-genre{font-size:11px;font-weight:600;color:var(--muted);margin:0 0 7px}
.game-card-info h2{font-size:16px;line-height:1.3;min-height:42px;margin:0 0 12px;overflow-wrap:anywhere}
.sudoku-launch{display:block;width:100%;margin-top:12px}
.game-card-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.game-card-soon{border:1px solid var(--border);border-radius:99px;padding:4px 9px;background:var(--stripe);font-size:11px;font-weight:600}
.game-settings-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}
.game-settings-summary>div{display:grid;gap:7px;padding:17px 18px;background:var(--surface);border:1px solid var(--border);border-radius:10px;line-height:1.45}
.game-settings-summary strong{font-size:14px}
.game-settings-summary small{font-size:12px}
.game-config-form{gap:0}
.game-config-panel{display:grid;gap:16px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:10px}
.game-config-panel h2{font-size:17px}
.game-config-panel .footnote{margin:0}
.game-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.game-config-grid label{color:var(--fg);font-weight:600;align-content:start}
.game-config-grid label input{max-width:240px}
.game-config-grid label small{font-weight:400;line-height:1.5}
.game-queue-switch{display:flex;flex-direction:row;align-items:flex-start;gap:11px;cursor:pointer;padding-top:16px;border-top:1px solid var(--border)}
.game-queue-switch input{margin:3px 0 0;min-height:auto;width:17px;height:17px;accent-color:var(--accent)}
.game-queue-switch span{display:grid;gap:5px;color:var(--fg)}
.game-queue-switch small{line-height:1.5;font-weight:400}
.game-config-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:14px 0}
.game-config-actions button{min-width:175px}
.game-settings-wait{padding:20px}
@media(max-width:1350px){.game-card-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1150px){.game-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.game-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.game-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.game-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-settings-summary{grid-template-columns:1fr}.game-config-grid{grid-template-columns:1fr}}
@media(max-width:490px){.game-card-grid{grid-template-columns:1fr;gap:12px}.game-card-art{aspect-ratio:16/8}.game-card-symbol{font-size:64px}.game-config-panel{padding:15px}.game-config-actions{display:grid}.game-config-actions button{width:100%}}

.tier-bronze{--tier-color:#bf8952}.tier-silver{--tier-color:#aebbc9}.tier-gold{--tier-color:#dbb43d}
progress[class*=tier-]{accent-color:var(--tier-color)}
progress[class*=tier-]::-webkit-progress-value{background:var(--tier-color)}
progress[class*=tier-]::-moz-progress-bar{background:var(--tier-color)}
.goal-stage-label{display:block;color:var(--tier-color);font-size:11px;margin:4px 0}

/* Content-sized management panels and short employee dialogs. */
.management-columns:has(.embedded-journal){grid-template-columns:fit-content(45%) minmax(0,1fr);align-items:start}
.management-team .team-group table{width:100%}
.staff-contacts-dialog,.password-reset-dialog{width:min(400px,calc(100vw - 24px))}
.staff-contacts-dialog .dialog-body{padding:16px;gap:12px;overflow-wrap:anywhere}
.staff-contacts-dialog .dialog-body>p,.staff-contacts-dialog .user-action-group p{margin:0}
.staff-contacts-dialog .user-action-group{display:grid;gap:10px}
.staff-contacts-dialog .user-action-group h3{margin:0}
.password-reset-dialog .dialog-body{padding:16px}
.password-reset-dialog .dialog-head{gap:12px}
.password-reset-dialog .dialog-head h2{min-width:0;overflow-wrap:anywhere}
.password-reset-dialog .dialog-head button{flex-shrink:0}
@media(max-width:1050px){.management-columns:has(.embedded-journal){grid-template-columns:minmax(0,1fr)}}

.embedded-journal .empty{padding:24px 12px}

/* Theme action uses the same quiet outlined control as the header. */
#theme{width:36px;height:36px;min-width:36px;padding:7px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
#theme svg{display:block;pointer-events:none}
#theme:hover{color:var(--accent)}

.metric.income-components .income-total{font-size:24px;font-weight:700;line-height:1.2}
@media(max-width:1050px){.metric.income-components .income-total{font-size:20px}}

.wallet-withdrawal-dialog{width:min(440px,calc(100vw - 24px))}
.wallet-withdrawal-dialog .dialog-body{padding:16px;gap:12px}
.wallet-withdrawal-dialog p,.wallet-withdrawal-dialog h3{margin:0}
.wallet-withdrawal-dialog form{gap:12px}
.wallet-withdrawal-dialog .form-actions{margin-top:0}
.wallet-withdrawal-dialog .empty{padding:20px 10px}
.wallet-operations>p,.wallet-operations>h3{margin:12px 16px}
.wallet-withdrawal-dialog .form-error:empty{display:none}

/* Shared compact management toolbar, including the full journal tab set. */
.management-actions{align-items:center;gap:6px}
.management-actions>[data-management-journal-tabs],.management-actions .journal-tabs{display:contents}
.management-actions button{font-size:11px;padding:6px 9px;min-height:30px}
.management-actions .journal-tabs [aria-selected=true]{background:var(--accent);color:white;border-color:var(--accent)}
.management-team button{font-size:11px;padding:6px 9px;min-height:30px}

.management-actions .journal-tabs button{font-size:11px;padding:6px 9px;min-height:30px}



/* Судоку: адаптивное поле 9×9 и журнал игровых событий. */
.sudoku-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.sudoku-header p{margin:6px 0 0}
.sudoku-status{display:flex;flex-wrap:wrap;gap:8px}
.sudoku-status span{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 13px}
.sudoku-game-grid{display:grid;grid-template-columns:minmax(0,490px) minmax(0,1fr);gap:20px;align-items:start}
.sudoku-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));width:100%;max-width:490px;aspect-ratio:1;border:2px solid var(--fg);border-radius:7px;overflow:hidden;background:var(--surface)}
.sudoku-cell{display:grid;place-items:center;min-width:0;width:100%;min-height:0;aspect-ratio:1;padding:0;border:0;border-radius:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);box-shadow:none;font-size:clamp(13px,2vw,23px);font-weight:600;font-variant-numeric:tabular-nums;text-align:center;background:var(--surface)}
.sudoku-cell.given{background:var(--stripe);color:var(--fg);opacity:1;cursor:default}
.sudoku-cell.editable{color:var(--accent)}
.sudoku-cell.selected{background:var(--hover);outline:2px solid var(--accent);outline-offset:-2px}
.sudoku-cell:nth-child(9n+3),.sudoku-cell:nth-child(9n+6){border-right:2px solid var(--fg)}
.sudoku-cell:nth-child(n+19):nth-child(-n+27),.sudoku-cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid var(--fg)}
.sudoku-ranking-grid,.sudoku-rankings{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}
.sudoku-leaders .table-scroll{max-height:190px}.sudoku-leaders .empty{padding:24px 12px}
.sudoku-start{padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:9px;display:grid;gap:15px}
.sudoku-start p{margin:0}
.sudoku-money{padding:20px}
.sudoku-money h2{margin:0 0 12px}
@media(max-width:900px){.sudoku-game-grid,.sudoku-rankings{grid-template-columns:1fr}}
@media(max-width:490px){.sudoku-cell{font-size:clamp(13px,5vw,18px)}}


/* История игрового раздела: две колонки без растягивания таблиц. */
.game-history-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(360px,1fr);gap:16px;align-items:start;min-width:0}
.game-history-main,.game-history-side{display:grid;gap:16px;min-width:0;align-content:start}
.game-history-layout .panel{min-width:0}
.game-history-layout .panel-title{padding:14px 16px}
.game-history-layout .table-scroll{width:100%;max-width:100%;overflow-x:auto}
.game-history-layout table{width:100%;table-layout:auto}
.game-history-layout th{min-width:0;padding:10px 8px;white-space:normal;overflow-wrap:anywhere}
.game-history-layout td{padding:10px 8px;white-space:normal;overflow-wrap:anywhere}
.game-history-layout .empty{padding:32px 12px;text-align:center}
.game-history-side .number{white-space:nowrap;text-align:right}
.game-history-side .panel-title h2{font-size:16px}
.game-history-footnote{margin:0;padding:0 14px 14px;line-height:1.5}
.game-history-layout .sudoku-money{padding:16px;overflow-wrap:anywhere}
.game-history-layout .sudoku-money p{line-height:1.5;overflow-wrap:anywhere}
@media(max-width:1220px){.game-history-layout{grid-template-columns:minmax(0,1fr)}.game-history-side{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.game-history-side{grid-template-columns:minmax(0,1fr)}.game-history-layout th,.game-history-layout td{padding:9px 7px;font-size:12px}}
.role-preview-dialog{width:min(480px,calc(100vw - 24px))}
.comment-editor-dialog{width:min(480px,calc(100vw - 24px))}

/* Compact top-up form, followed by its own history section. */
.wallet-topup-dialog{width:min(440px,calc(100vw - 24px))}
.wallet-topup-dialog .dialog-head{padding:14px 16px}
.wallet-topup-dialog .dialog-body{padding:16px;gap:10px}
.wallet-topup-dialog .dialog-body>p,.wallet-topup-dialog form p{margin:0;font-size:12px;line-height:1.45}
.wallet-topup-dialog .wallet-destination{padding:8px 10px}
.wallet-topup-dialog form{gap:10px}
.wallet-topup-dialog .form-actions{margin-top:0}
.wallet-topup-dialog .form-error:empty{display:none}
.wallet-topup-dialog button{font-size:12px;padding:6px 10px;min-height:32px}
.wallet-topup-dialog .wallet-history{margin:2px 0 0;padding-top:12px;border-top:1px solid var(--border)}
.wallet-topup-dialog .wallet-history h3{margin:0 0 8px;font-size:14px}
.wallet-topup-dialog .wallet-history .empty{padding:20px 10px}

/* Catalog status shares the authoritative game clock with Sudoku. */
.game-section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;margin-bottom:12px}
.game-section-heading h1{margin:0 0 8px}
.game-lobby-status{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0}
.game-lobby-status>span{display:block;padding:7px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);font-size:12px;white-space:nowrap}
.game-lobby-status b{font-weight:600;font-variant-numeric:tabular-nums}
.game-version{position:absolute;top:8px;right:8px;z-index:2;padding:3px 7px;border-radius:5px;background:#182238d9;color:#fff;font-size:11px;line-height:1.4}
.game-card-preview{display:flex;flex-direction:column}
.game-card-info{flex:1;display:flex;flex-direction:column}
.game-card-meta{margin-top:auto;flex-wrap:nowrap}
.game-card-meta .game-card-play{font-size:11px;font-weight:600;padding:4px 9px;min-height:0;line-height:normal;border-radius:99px;color:var(--accent);background:var(--hover);border:1px solid var(--accent)}
@media(max-width:720px){.game-section-heading{grid-template-columns:minmax(0,1fr);gap:8px}.game-lobby-status{width:100%}.game-card-meta{font-size:11px;gap:5px}}

.game-section-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-bottom:14px;min-width:0}
.game-section-controls .game-page-tabs{margin:0;flex-wrap:wrap}
.game-section-controls .game-lobby-status button{font-size:12px;padding:7px 10px}
.sudoku-header h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0}
.sudoku-difficulty{font-size:12px;font-weight:500;padding:4px 8px;border:1px solid var(--border);border-radius:6px;color:var(--muted)}
.sudoku-cell.pending{box-shadow:inset 0 -3px var(--accent)}
input.sudoku-cell:read-only{cursor:progress}
@media(max-width:720px){.game-section-controls{align-items:flex-start}.game-lobby-status>span{font-size:11px;padding:7px}.game-lobby-status button{white-space:normal}}

/* Monthly calculator uses the shared panels and compact responsive controls. */
.bonus-calculator .toolbar {flex-wrap:wrap;gap:8px;align-items:end;}
.bonus-calculator [data-period] label {max-width:300px;}
.bonus-calculator input[type=file] {max-width:240px;font-size:12px;}
.bonus-calculator details {margin-block:14px;}
.bonus-calculator details summary {cursor:pointer;padding-block:8px;}
.bonus-calculator td {overflow-wrap:anywhere;}
.bonus-calculator [data-import-status] {white-space:pre-wrap;max-height:160px;overflow:auto;}
.bonus-calculator [data-import-status]:empty {display:none;}
.bonus-calculator details .table-scroll {max-height:360px;}
.bonus-calculator .metrics {grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));}
dialog.bonus-calculator-dialog {width:min(440px,calc(100vw - 24px));}

/* Keep single-purpose editors proportional to their content. */
dialog.personal-goal-dialog{width:min(420px,calc(100vw - 24px))}
dialog.work-value-dialog{width:min(340px,calc(100vw - 24px))}
.personal-goal-dialog .dialog-head,.work-value-dialog .dialog-head{padding:14px 16px;gap:12px}
.personal-goal-dialog .dialog-body,.work-value-dialog .dialog-body{padding:16px;gap:12px}
.personal-goal-dialog .dialog-body>p,.personal-goal-dialog form>p{margin:0;line-height:1.5}
.personal-goal-dialog form,.work-value-dialog form{gap:12px;max-width:none}
.personal-goal-dialog .form-error:empty,.work-value-dialog .form-error:empty{display:none}
.personal-goal-dialog .form-actions,.work-value-dialog .form-actions{margin-top:0}
.bonus-calculator [data-fund-value][role=button]{cursor:text;border-bottom:1px dashed var(--muted);width:fit-content}
.bonus-calculator [data-fund-input]{width:min(200px,100%);font-size:24px;font-weight:600;padding:4px 8px}
.bonus-calculator [data-locked]{margin-block:8px}

.motivation-content:has(.bonus-calculator) .motivation-tabs{margin-bottom:0}
.bonus-calculator.motivation-body{margin-top:0}
.personal-goal-dialog .dialog-head h2,.work-value-dialog .dialog-head h2{min-width:0;overflow-wrap:anywhere}
.personal-goal-dialog .dialog-head button,.work-value-dialog .dialog-head button{flex-shrink:0}

/* Monthly cabinet goals share the shift-plan column without stretching its tables. */
.motivation-plan-cabinets{min-width:0;display:flex;flex-direction:column;gap:16px;align-self:start}
.motivation-plan-cabinets .table-scroll{flex:initial;min-height:0}
[data-plan-archive]{grid-column:1/-1}
[data-plan-archive] .footnote{padding:12px 16px;margin:0}


.motivation-ranking-switch{margin-bottom:12px}

#shifts-table td.comment{min-width:260px;max-width:260px;width:260px;white-space:nowrap;line-height:normal}
.shift-comment-preview{display:block;width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}
.shift-comment-preview:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}
.shift-comment-tooltip{position:fixed;inset:auto;margin:0;left:clamp(8px,var(--comment-left,8px),calc(100vw - min(380px,calc(100vw - 16px)) - 8px));width:min(380px,calc(100vw - 16px));max-height:min(360px,calc(100dvh - 16px));overflow:auto;padding:12px 14px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--fg);box-shadow:0 8px 28px #0005;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}

/* Phone-only layout. Desktop (including 1024px) retains its original geometry. */
@media(max-width:720px){
 .layout .workspace{width:100%;min-width:0}
 .main{padding:10px 8px;gap:10px;min-width:0}
 .main>*{min-width:0}
 body{font-size:13px}
 h1,.employee-heading-row .title-row h1{font-size:18px}
 h2,.dialog-head h2{font-size:15px}
 h3{font-size:13px}
 .panel-title{padding:12px}
 .footnote{font-size:11px}
 .metric{padding:10px}
 .metric strong{font-size:18px}
 .metric span{font-size:11px;margin-bottom:5px}
 .topbar{padding:8px;gap:6px}
 .filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .filters .topbar-refresh{display:none}
 .sidebar-navigation #wallet-status{position:static;inset:auto;order:initial;flex:none;width:100%;max-width:none;min-height:0;margin:0;padding:10px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:transparent;justify-content:flex-start}
 .sidebar-navigation #wallet-status:empty{display:none}
 .sidebar-navigation .wallet-indicator{width:100%;gap:8px;flex-wrap:wrap;justify-content:flex-start;font-size:12px}
 .sidebar-navigation .wallet-indicator strong{margin-right:auto}
 .sidebar-navigation .wallet-indicator button{min-height:34px;padding:6px 10px;font-size:12px}
 .workspace:has(.wallet-topbar:not(:empty))>.main{margin-top:0}
 .layout.mobile-menu-open .sidebar-navigation{left:8px;width:min(340px,calc(100vw - 16px));padding:10px;gap:10px}
 .employee-shifts-page .employee-hero,.employee-shifts-page .employee-actions{display:contents}
 .employee-shifts-page>*{order:7}
 .employee-shifts-page .employee-heading-row{order:1;gap:8px}
 .employee-shifts-page .employee-shift-controls{order:2;width:100%;max-width:none;gap:6px}
 .employee-shifts-page .employee-income-summary{order:3;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
 .employee-income-summary>.metric:first-child,.employee-income-summary>.metric:nth-child(4),.employee-shifts-page .employee-kpi-summary{display:none}
 .employee-income-summary>.metric:nth-child(2){border-left:0}
 .employee-income-summary>.metric:nth-child(3){border-top:0;border-left:1px solid var(--border)}
 .employee-income-summary .income-components strong{font-size:12px;gap:2px}
 .employee-income-summary .income-total{font-size:18px}
 .employee-shifts-page .employee-actions .employee-plans{order:4;width:100%;max-width:none;padding:10px}
 .employee-shifts-page .employee-shifts-table{order:5}
 .employee-shifts-page .shift-table-note{order:6;margin:0;font-size:10px}
 .employee-shifts-page .employee-promotion{order:7}
 .employee-shifts-page .employee-leaderboard{order:98}
 .employee-shifts-page .employee-campaign-ranking{order:99}
 .employee-plan+article{margin-top:10px}
 .employee-plan h3{font-size:13px}
 .employee-plan strong{font-size:15px}
 .employee-plan-heading .footnote{font-size:10px}
 .employee-plan-values p{font-size:11px}
 .employee-leaderboard,.employee-campaign-ranking,.employee-promotion{padding:10px}
 .employee-leaderboard h2,.employee-campaign-ranking h2{font-size:14px}
 .employee-ranking-switch{margin:6px 0;gap:6px}
 .motivation-content{gap:10px}
 .motivation-tabs{gap:6px}
 .motivation-tabs button{font-size:12px;padding:7px 9px;min-height:34px}
 .motivation-content .motivation-toolbar{margin:0;padding:0;min-height:0;gap:4px}
 #motivation-body[data-motivation-tab=progress]>.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 #motivation-body[data-motivation-tab=progress]>.metrics>.metric:nth-child(n+3){display:none}
 #motivation-body[data-motivation-tab=progress] .motivation-body{padding:10px}
 .achievement-badges:not(.compact){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .achievement-badges:not(.compact) .achievement-badge-wrap{min-width:0;width:100%}
 .achievement-badges:not(.compact) .achievement-badge{width:100%;min-width:0;min-height:84px;padding:7px 3px;gap:4px;border-radius:9px}
 .achievement-badges:not(.compact) .achievement-art{width:30px;height:30px;font-size:26px;line-height:30px}
 .achievement-badges:not(.compact) .achievement-art img{width:30px;height:30px}
 .achievement-name{font-size:10px;max-width:100%}
 .achievement-state{font-size:9px}
 .achievement-detail .achievement-art{width:56px;height:56px;font-size:42px;line-height:56px}
 .compact .achievement-badge{min-height:34px;width:34px;padding:3px}
 .compact .achievement-art,.compact .achievement-art img{width:24px;height:24px;font-size:22px;line-height:24px}
 dialog{max-width:calc(100vw - 16px)}
 .dialog-head{padding:12px;gap:8px}
 .dialog-body{padding:12px;gap:10px}
 .work-section-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);margin:8px auto;overflow:auto}
 .work-section-dialog .dialog-body{display:block;padding:10px}
 .work-section-dialog form{display:flex;flex-direction:column;gap:10px;max-width:none;min-height:0}
 .work-section-dialog form>p{margin:0;min-height:0;line-height:1.4;font-size:11px}
 .work-section-dialog label{font-size:12px;gap:5px}
 .work-section-dialog input{font-size:16px;width:100%;min-width:0}
 .work-section-dialog .work-section-fields{gap:10px}
 .work-section-dialog .form-error:empty{display:none}
 .work-section-dialog .form-actions{margin:0}
 .work-section-dialog #reload-work-section{display:none}
}

.phone-management-switch{display:none}
/* Further phone compaction requested by the owner; desktop markup stays in place. */
@media(max-width:720px){
 .sidebar-heading{gap:8px;padding:0}
 .sidebar-heading #menu-toggle{margin-left:0}
 .employee-shifts-page{grid-template-columns:minmax(0,1fr) 88px;column-gap:6px;row-gap:8px}
 .employee-shifts-page>*{grid-column:1/-1}
 .employee-shifts-page .employee-heading-row,.employee-shifts-page .employee-shift-controls{grid-column:1/-1}
 .employee-shifts-page .employee-actions .employee-plans{grid-column:1;grid-row:3;order:3;padding:8px;align-self:start}
 .employee-shifts-page .employee-income-summary{grid-column:2;grid-row:3;display:flex;flex-direction:column;align-self:start}
 .employee-income-summary>.metric{padding:8px;min-width:0;border:0}
 .employee-income-summary>.metric:nth-child(3){border-left:0;border-top:1px solid var(--border)}
 .employee-shifts-page .employee-income-summary .income-components>span{font-size:0}
 .employee-income-summary .income-components>span::after{content:'ДЧЛ';font-size:11px}
 .employee-income-summary .income-components strong{display:block;font-size:0}
 .employee-income-summary .income-components strong>b:not(.income-total){display:none}
 .employee-income-summary .income-total,.employee-income-summary>.metric:not(.income-components)>strong{font-size:15px}
 .employee-income-summary>.metric>span,.employee-plan h3{font-size:11px;font-weight:500}
 .employee-plan-heading{gap:3px;flex-wrap:wrap}
 .employee-plan-heading .footnote,.goal-stage-label{font-size:9px}
 .employee-plan-values{gap:3px;flex-wrap:wrap}
 .employee-plan-values strong{font-size:14px}
 .employee-plan-values p{font-size:10px}
 .employee-plan progress{height:7px;margin:5px 0}
 .employee-plan+article{margin-top:8px}
 .employee-shifts-table table{width:max-content;min-width:100%;table-layout:auto;font-size:10px}
 .employee-shifts-table th,.employee-shifts-table td{min-width:55px;padding:6px 4px;white-space:normal;overflow-wrap:anywhere}
 .employee-shifts-table th:nth-child(-n+4),.employee-shifts-table td:nth-child(-n+4){min-width:55px;max-width:85px}
 .employee-shifts-table .status{font-size:9px;padding:2px 3px}
 .employee-shifts-table .table-scroll{min-height:0}
 .employee-shifts-page .employee-shifts-table{grid-column:1/-1;grid-row:4}
 .main h1{font-size:16px}
 .main h2,.dialog-head h2{font-size:13px}
 .main h3,.dialog-body h3{font-size:11px}
 .main p,.dialog-body p{font-size:11px;line-height:1.35}
 .metric strong{font-size:15px}
 .metric span{font-size:10px}
 .metric{padding:8px}
 .motivation-body{padding:10px!important}
 .motivation-body p{margin:6px 0}
 .motivation-account-ratings{gap:6px}
 .motivation-account-ratings article{padding:8px}
 .motivation-account-ratings article h3{margin:0 0 5px}
 .motivation-content table,.dialog-body table{font-size:10px}
 .motivation-content th,.motivation-content td,.dialog-body th,.dialog-body td{padding:6px 4px}
 .dialog-head{padding:9px}
 .dialog-body{padding:9px;gap:8px;font-size:11px}
 .dialog-body .filter-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .dialog-body label{font-size:10px;gap:4px}
 .dialog-body .filter-form input:not([type=checkbox]),.dialog-body .filter-form select{width:100%;min-width:0;min-height:30px;padding:5px;font-size:11px}
 .dialog-body button,.journal-tabs button{min-height:30px;font-size:10px;padding:5px 7px}
 .dialog-body .table-scroll:has(.empty){min-height:0}
 .dialog-body td.empty{height:auto;padding:24px 6px}
 .phone-management-switch{display:flex;gap:6px}
 .phone-management-switch button{font-size:11px;padding:6px 9px;min-height:30px}
 .phone-management-switch [aria-pressed=true]{background:var(--accent);color:white}
 #content:not([data-phone-management=activity]) .management-activity,#content[data-phone-management=activity] .management-team{display:none}
 .management-columns{gap:0}
 .management-team .panel-title,.management-activity .panel-title{padding:9px}
 .management-team .panel-title p{margin:5px 0 0;font-size:10px}
 .management-team .team-group{margin:5px 0}
 .management-team .team-groups{padding:4px;max-height:none}
 .management-team table{min-width:0;width:100%;table-layout:fixed;font-size:9px}
 .management-team th,.management-team td{min-width:0!important;width:auto;max-width:none;padding:5px 2px;white-space:normal;overflow-wrap:anywhere;line-height:1.25}
 .management-team td button{min-width:0;max-width:100%;font-size:9px;padding:3px 1px;white-space:normal;overflow-wrap:anywhere}
 .management-team .toolbar{gap:5px}
 .management-team .toolbar input,.management-team .toolbar select{font-size:10px;padding:5px;min-height:30px;min-width:0}
 .management-team .toolbar button{font-size:9px;padding:5px;min-height:28px}
}
@media(max-width:720px){
 .employee-shifts-page .employee-leaderboard,.employee-shifts-page .employee-campaign-ranking,.employee-shifts-page .employee-promotion{grid-column:1/-1}
}
@media(max-width:720px){
 .integrated-user-table th:nth-child(1){width:14%}.integrated-user-table th:nth-child(2){width:14%}
 .integrated-user-table th:nth-child(3){width:15%}.integrated-user-table th:nth-child(4){width:18%}
 .integrated-user-table th:nth-child(5){width:9%;font-size:0}.integrated-user-table th:nth-child(5)::after{content:'Руков.';font-size:9px}
 .integrated-user-table th:nth-child(6){width:13%}.integrated-user-table th:nth-child(7){width:17%}
}
@media(max-width:720px){
 .management-actions{gap:5px}
 .management-actions button{font-size:10px;padding:5px 6px;min-height:28px}
 .motivation-tabs button{font-size:11px;min-height:30px;padding:5px 7px}
}
@media(max-width:720px){
 .employee-shifts-page{grid-template-columns:minmax(0,1fr) 96px}
 .employee-income-summary .income-total,.employee-income-summary>.metric:not(.income-components)>strong{font-size:14px;white-space:normal;overflow-wrap:anywhere}
}

.recovery-phone{display:none}
/* Manager follow-up: compact recovery/plans/operations on phones only. */
@media(max-width:720px){
 .manager-view .recovery-full{display:none}
 .manager-view .recovery-phone{display:inline}
 .manager-view .team-group[data-empty-manager=true]{display:none}
 .manager-view .motivation-body,.manager-view .motivation-plan-panel{padding:8px}
 .manager-view .motivation-body .toolbar{margin:4px 0;gap:4px}
 .manager-view .motivation-body button{font-size:9px;padding:4px 5px;min-height:28px}
 .manager-view .motivation-body td,.manager-view .motivation-body th{padding:5px 4px;font-size:9px;line-height:1.3}
 .manager-view .motivation-body td.empty{height:auto;padding:18px 6px}
 .manager-view [data-overview-cabinets] table{min-width:630px;table-layout:fixed;width:100%}
 .manager-view [data-overview-cabinets] th,.manager-view [data-overview-cabinets] td{white-space:normal;overflow-wrap:anywhere}
 .manager-view [data-overview-cabinets] th:nth-child(2){width:65px}
 .manager-view [data-overview-cabinets] th:nth-child(3){width:75px}
 .manager-view [data-overview-cabinets] th:nth-child(4){width:85px}
 .manager-view [data-overview-cabinets] th:nth-child(5){width:100px}
 .manager-view :is([data-plan-accounts],[data-plan-next],[data-plan-archive]) table{min-width:0;width:100%;table-layout:fixed}
 .manager-view :is([data-plan-accounts],[data-plan-next],[data-plan-archive]) :is(th,td){min-width:0;padding:5px 3px;font-size:9px;white-space:normal;overflow-wrap:anywhere}
 .manager-view :is([data-plan-accounts],[data-plan-next],[data-plan-archive]) th:first-child{width:22%}
 .manager-view :is([data-plan-accounts],[data-plan-next]) button{font-size:9px;padding:4px 2px;min-height:26px;max-width:100%}
 .manager-view .operations-columns{gap:8px}
 .manager-view .operations-columns .panel-title{padding:8px}
 .manager-view #balances-table th,.manager-view #balances-table td{padding:5px 4px;font-size:9px}
 .manager-view #expenses-table{width:100%;min-width:0;table-layout:fixed}
 .manager-view #expenses-table th,.manager-view #expenses-table td{min-width:0;padding:6px 3px;font-size:9px;line-height:1.3;overflow-wrap:anywhere;white-space:normal}
 .manager-view #expenses-table th:last-child{width:30%}
 .manager-view #expenses-table td.comment{width:30%;max-width:none}
 .manager-view .operation-comment-preview{display:block;min-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(max-width:720px){
 .manager-view .motivation-plan-panel h2{padding:8px;margin:0}
 .manager-view .motivation-plan-panel .table-scroll{flex:initial;min-height:0}
 .manager-view .motivation-plan-panel td.empty{height:auto;padding:18px 6px}
 .manager-view [data-overview-cabinets] table{min-width:740px}
 .manager-view [data-overview-cabinets] th:last-child{width:210px}
 .manager-view [data-overview-cabinets] .motivation-row-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;gap:3px}
 .manager-view [data-overview-cabinets] .motivation-row-actions button{min-width:0;min-height:26px;font-size:8px;padding:3px;white-space:normal}
}
@media(max-width:720px){
 .manager-view .management-activity .filter-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .manager-view .management-activity .filter-form label{font-size:9px;gap:4px}
 .manager-view .management-activity .filter-form input:not([type=checkbox]),.manager-view .management-activity .filter-form select{width:100%;min-width:0;min-height:30px;padding:5px;font-size:10px}
 .manager-view .management-activity button{font-size:10px;padding:5px 6px;min-height:28px}
 .manager-view .management-activity th,.manager-view .management-activity td{font-size:9px;padding:5px 4px}
 .manager-view .management-activity td.empty{height:auto;padding:18px 6px}
}
@media(max-width:720px){
 /* Keep the remaining-days column visible even at320px; secondary actions scroll. */
 .manager-view [data-overview-cabinets] table{min-width:564px}
 .manager-view [data-overview-cabinets] th:first-child{width:65px}
 .manager-view [data-overview-cabinets] th:nth-child(2){width:35px}
 .manager-view [data-overview-cabinets] th:nth-child(3){width:55px}
 .manager-view [data-overview-cabinets] th:nth-child(4){width:65px}
 .manager-view [data-overview-cabinets] th:nth-child(5){width:64px}
 .manager-view [data-overview-cabinets] th:nth-child(6){width:70px}
}
.assignments-dialog{width:min(900px,calc(100vw - 24px))}
.assignments-dialog [data-task-create]{max-width:520px;gap:10px}
.assignments-dialog .assignment-comment{white-space:pre-wrap;overflow-wrap:anywhere;min-width:160px;max-width:340px}
.assignments-dialog button{white-space:normal}
[data-work-tasks]{font-size:11px;padding:6px 8px;min-height:30px}
@media(max-width:720px){.assignments-dialog .dialog-body{gap:8px}.assignments-dialog table{font-size:10px}.assignments-dialog th,.assignments-dialog td{padding:5px}.assignments-dialog .assignment-comment{min-width:120px}[data-work-tasks]{font-size:10px;padding:4px 6px}}
.manager-view .motivation-plan-tables{grid-template-columns:minmax(0,1fr)}
.assignments-dialog .dialog-body{grid-template-columns:minmax(0,1fr)}
.assignments-dialog [data-task-manager],.assignments-dialog form,.assignments-dialog label{min-width:0}
.assignments-dialog select,.assignments-dialog input{width:100%;min-width:0;max-width:100%}
.assignment-list{display:grid;gap:10px;min-width:0}
.assignment-item{border:1px solid var(--border);border-radius:8px;padding:12px;min-width:0;overflow-wrap:anywhere}
.assignment-item h3{margin:0;font-size:13px}
.assignment-instruction{white-space:pre-wrap;margin:10px 0;font-size:13px}
.assignment-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}
.assignment-status strong{font-size:16px}.assignment-status button{margin-left:auto;min-height:32px}
/* Cabinet membership actions: compact grant-only form and manager row revocation. */
.grant-access-dialog{width:min(400px,calc(100vw - 24px))}
.grant-access-dialog .dialog-body{padding:16px;grid-template-columns:minmax(0,1fr)}
.grant-access-dialog form{gap:12px;min-width:0}
.grant-access-dialog label,.grant-access-dialog select{min-width:0;max-width:100%}
.grant-access-dialog .form-actions{margin-top:0}
.team-group .team-revoke{padding:3px 7px;min-width:28px;min-height:28px;font-size:16px;line-height:1}
@media(min-width:1051px){.manager-view .management-columns:has(.embedded-journal){grid-template-columns:fit-content(55%) minmax(0,1fr)}}
.team-row-actions{display:flex;align-items:center;gap:4px}
@media(max-width:720px){
 .manager-view .management-team .team-group th:last-child,.manager-view .management-team .team-group td:last-child{width:42%;white-space:normal}
 .manager-view .team-row-actions{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:3px}
 .manager-view .team-row-actions [data-reset]{grid-column:1/-1}
 .manager-view .team-row-actions button{width:100%;min-height:26px}
}
/* Comparison workspace: multi-entity charts and bounded phone controls. */
.analytics-dashboard{min-width:0}.analytics-dashboard [hidden]{display:none!important}
.analytics-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.analytics-heading small{font-size:10px;letter-spacing:.16em;color:var(--accent);font-weight:700}
.analytics-heading h2{font-size:24px;margin:7px 0}.analytics-heading p{font-size:12px;color:var(--muted);margin:0}
.analytics-heading .comparison-tabs{margin:0;flex-shrink:0}
.analytics-heading [aria-selected=true],.analytics-dashboard button[aria-pressed=true]{color:#fff;background:var(--accent);border-color:var(--accent)}
.analytics-periods{display:flex;align-items:end;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--border)}
.analytics-presets{display:flex;gap:5px;flex-wrap:wrap}.analytics-dashboard button{font-size:12px;padding:7px 10px}
.analytics-month-range,.analytics-date-range{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.analytics-periods label{font-size:11px;gap:4px}.analytics-periods input{font-size:12px;padding:6px 8px;min-height:34px;min-width:0;max-width:160px}
.analytics-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;margin-top:18px}
.analytics-selectors{display:grid;align-content:start;gap:18px;border-right:1px solid var(--border);padding-right:16px;min-width:0}
.analytics-selectors section{min-width:0}.analytics-list-heading{display:flex;align-items:center;gap:5px;margin-bottom:8px}
.analytics-list-heading h3{font-size:12px;margin:0 auto 0 0}.analytics-list-heading button{border:0;padding:3px 5px;color:var(--muted);box-shadow:none;background:transparent;font-size:10px}
.analytics-choice{display:flex;align-items:center;gap:8px;padding:7px 5px;border-radius:6px;font-size:12px;cursor:pointer;min-width:0}
.analytics-choice:has(input:checked){background:var(--hover)}.analytics-choice span{min-width:0;overflow-wrap:anywhere}.analytics-choice small{display:block;font-size:10px;overflow-wrap:anywhere;margin-top:2px}
.analytics-dashboard input[type=checkbox]{width:15px;height:15px;min-height:0;flex-shrink:0;accent-color:var(--accent);cursor:pointer;margin:0}
[data-cabinet-list],[data-employee-list]{max-height:260px;overflow:auto}.analytics-selectors input[type=search]{width:100%;min-width:0;padding:7px;font-size:11px;margin-bottom:6px}
.analytics-main{min-width:0}.analytics-metrics{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.analytics-metrics button{border-radius:20px;font-size:11px;padding:7px 12px;white-space:normal}
.analytics-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}
.analytics-summary>div{padding:14px;border:1px solid var(--border);border-radius:10px;background:linear-gradient(130deg,var(--hover),var(--surface))}
.analytics-summary span{font-size:10px;color:var(--muted);display:block}.analytics-summary strong{font-size:21px;display:block;margin:9px 0 5px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.analytics-summary small{font-size:9px;color:var(--muted)}.analytics-summary>div:nth-child(2) strong{color:var(--green,#38bd91)}
.analytics-chart-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:radial-gradient(ellipse at 35% 0%,#627bff0c,transparent 70%),var(--surface)}
.analytics-chart-tools{padding:16px 18px 8px;display:flex;align-items:center;justify-content:space-between;gap:8px}.analytics-chart-tools h3{font-size:15px;margin:0 0 4px}.analytics-chart-tools span{font-size:10px;color:var(--muted)}
.analytics-chart-kind{display:flex;gap:4px}.analytics-chart-kind button{font-size:17px;padding:3px 9px;min-width:32px}
.analytics-overlays{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:4px 18px 10px;color:var(--muted)}
.analytics-overlays label{display:flex;align-items:center;gap:5px;font-size:10px}.analytics-overlays select{font-size:10px;padding:3px;min-height:26px}
.analytics-legend{display:flex;flex-wrap:wrap;gap:7px 14px;padding:4px 18px 10px;max-height:110px;overflow:auto}
.analytics-legend span{display:flex;align-items:center;gap:5px;font-size:10px;overflow-wrap:anywhere;min-width:0}.analytics-legend i{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 8px #627bff30}
.analytics-plot{position:relative;min-width:0}.analytics-plot svg{display:block;width:100%;min-height:250px;max-height:460px;overflow:visible}
.analytics-grid{stroke:var(--border);stroke-dasharray:3 6;stroke-width:.7}.analytics-zero{stroke:var(--muted);stroke-opacity:.4;stroke-width:1}
.analytics-axis{fill:var(--muted);font-size:11px}.analytics-line{fill:none;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.analytics-bar{filter:drop-shadow(0 2px 3px #0000000b)}.analytics-average{fill:none;stroke-width:1.2;opacity:.8}
.analytics-crosshair{stroke:var(--muted);stroke-dasharray:4 5;pointer-events:none}.analytics-crosshair[hidden]{display:none}
.analytics-plot [data-chart-point]:focus{outline:none;stroke:var(--accent);stroke-width:1;fill:#7488ff0a}
.analytics-tooltip{position:absolute;z-index:5;pointer-events:none;max-width:min(360px,calc(100% - 12px));max-height:220px;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:11px;box-shadow:0 8px 30px #0004;font-size:11px}
.analytics-tooltip>b{display:block;margin-bottom:7px}.analytics-tooltip>div{display:flex;gap:14px;justify-content:space-between;margin-top:5px}.analytics-tooltip span{min-width:0;overflow-wrap:anywhere}.analytics-tooltip strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.analytics-chart-note,.analytics-explanation,.analytics-undated{color:var(--muted);font-size:10px;line-height:1.5}.analytics-chart-note{padding:0 18px 8px;margin:0}.analytics-undated:empty{display:none}
.analytics-empty,.analytics-loading{padding:55px 18px;text-align:center;color:var(--muted);font-size:12px}
.analytics-dashboard[aria-busy=true] #comparison-chart{opacity:.45}.analytics-dashboard[aria-busy=true] .analytics-summary{opacity:.45}
.analytics-data{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.analytics-data summary{font-size:12px;color:var(--muted);cursor:pointer;margin-bottom:10px}
.analytics-data table{font-size:11px}.analytics-data th,.analytics-data td{padding:8px;white-space:nowrap}.analytics-data .table-scroll{max-height:360px}
@media(max-width:1100px){.analytics-layout{grid-template-columns:180px minmax(0,1fr);gap:12px}.analytics-summary strong{font-size:17px}}
@media(max-width:720px){
 .comparison-panel{padding:10px}.analytics-heading{align-items:start;flex-direction:column;gap:12px;margin-bottom:12px}.analytics-heading h2{font-size:18px}.analytics-heading small{font-size:8px}.analytics-heading p{font-size:10px}
 .analytics-heading .comparison-tabs{width:100%;display:flex}.analytics-heading .comparison-tabs button{flex:1}
 .analytics-periods{gap:10px;padding-bottom:12px}.analytics-presets{width:100%}.analytics-presets button{flex:1;font-size:10px;padding:6px 4px}
 .analytics-month-range,.analytics-date-range{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.analytics-month-range>button{grid-column:1/-1}
 .analytics-periods input{width:100%;max-width:none;font-size:11px}.analytics-layout{display:flex;flex-direction:column;gap:12px;margin-top:12px}
 .analytics-selectors{border-right:0;padding-right:0;gap:10px}.analytics-selectors [data-cabinet-list]{display:flex;gap:5px;flex-wrap:wrap;max-height:150px}.analytics-choice{font-size:11px;padding:5px}
 [data-employee-list]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:170px}.analytics-choice small{font-size:8px}
 .analytics-summary{gap:5px;margin-bottom:10px}.analytics-summary>div{padding:8px}.analytics-summary strong{font-size:14px;margin:6px 0}.analytics-summary span{font-size:8px}.analytics-summary small{font-size:8px}
 .analytics-metrics{gap:4px;margin-bottom:10px}.analytics-metrics button{font-size:9px;padding:5px 8px;min-height:28px}
 .analytics-chart-tools{padding:10px 10px 5px}.analytics-chart-tools h3{font-size:12px}.analytics-chart-tools span{font-size:9px}.analytics-chart-kind button{font-size:15px;min-height:28px;padding:3px 6px}
 .analytics-overlays{gap:7px;padding:4px 10px 8px}.analytics-overlays label{font-size:9px}.analytics-overlays select{font-size:9px}
 .analytics-legend{padding:4px 10px 6px;gap:5px 8px;max-height:75px}.analytics-legend span{font-size:8px}.analytics-plot svg{min-height:210px;height:240px;max-height:280px}
 .analytics-tooltip{font-size:10px;padding:8px}.analytics-tooltip>div{gap:8px}.analytics-chart-note{padding:0 10px 8px;font-size:8px}.analytics-explanation,.analytics-undated{font-size:9px}
}
.analytics-method{margin:10px 0;color:var(--muted)}.analytics-method summary{font-size:11px;cursor:pointer}.analytics-method p{margin:7px 0}
@media(max-width:720px){.analytics-method summary{font-size:10px}}
.analytics-tooltip{pointer-events:auto;max-height:calc(100% - 12px);overflow:auto}
/* Preserve the white/green light scale; dark cells use the site's own blue. */
#shifts-table [data-money-heat]{background-color:var(--money-heat-light);color:#17201b}
:root[data-theme=dark] #shifts-table [data-money-heat]{background-color:color-mix(in srgb,var(--accent) calc(var(--money-heat-strength) * .85),var(--surface));color:var(--fg)}
#shifts-table [data-money-negative=true],:root[data-theme=dark] #shifts-table [data-money-negative=true]{color:var(--red)}
/* Dubai: cabinet-only analytic workspace and profit participation. */
.executive-layout .sidebar-bottom{margin-top:auto}
.boss-dashboard .boss-comparison .analytics-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.boss-dashboard .analytics-summary .owner-income{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}
.boss-dashboard .analytics-summary .owner-income strong{color:var(--accent)}
.owner-widgets{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.3fr);gap:16px;margin-top:16px;align-items:stretch}
.owner-widgets .panel{min-width:0}.owner-widgets .panel-title h2{font-size:16px}.owner-widgets .panel-title p{font-size:10px;color:var(--muted);margin:5px 0 0}
.owner-mix{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:12px;padding:16px}
.owner-donut{display:block;width:150px;max-width:100%;height:auto}.owner-donut-track{stroke:var(--border)}
.owner-donut text{fill:var(--fg);font-size:24px;font-weight:700}.owner-donut text.owner-donut-caption{font-size:10px;fill:var(--muted);font-weight:400}
.owner-contribution-list{min-width:0;max-height:330px;overflow:auto;display:grid;gap:14px}
.owner-cabinet-row{display:grid;grid-template-columns:7px minmax(0,1fr) auto;gap:5px;align-items:center;font-size:11px;min-width:0}
.owner-cabinet-row>i{width:7px;height:7px;border-radius:50%}.owner-cabinet-row>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.owner-cabinet-row strong{font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}
.owner-bar-track{grid-column:2/-1;height:4px;background:var(--border);border-radius:4px;overflow:hidden}.owner-bar-track i{height:100%;display:block;border-radius:4px}
.owner-widget-note{padding:0 16px 12px;font-size:10px;color:var(--muted);line-height:1.5}
.owner-periods [data-owner-period-chart]{padding:12px;min-width:0}.owner-periods .analytics-plot svg{min-height:240px}
.owner-period-data{margin:14px 0}.owner-conflicts{font-size:12px;margin-top:14px}
.boss-managers-page{width:auto}.boss-managers-page .dialog-body{grid-template-columns:minmax(0,1fr);padding:16px}
.boss-managers-page table{font-size:12px}.boss-managers-page th,.boss-managers-page td{padding:8px;white-space:normal;overflow-wrap:anywhere;min-width:0}
.manager-login{display:block;font-size:10px;color:var(--muted);margin-top:4px}.manager-cabinets{max-width:280px}
.manager-share-editor{width:min(400px,calc(100vw - 24px))}.manager-share-editor .dialog-body{padding:16px}.manager-share-editor form{gap:12px}.manager-share-editor .form-actions{margin-top:0}
@media(max-width:1100px){.owner-widgets{grid-template-columns:minmax(0,1fr)}.owner-mix{grid-template-columns:150px minmax(0,1fr)}.boss-dashboard .boss-comparison .analytics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
 .owner-widgets{gap:10px;margin-top:10px}.owner-widgets .panel-title{padding:10px}.owner-widgets .panel-title h2{font-size:13px}.owner-widgets .panel-title p{font-size:9px}
 .owner-mix{grid-template-columns:110px minmax(0,1fr);padding:10px;gap:8px}.owner-donut{width:110px}.owner-cabinet-row,.owner-cabinet-row strong{font-size:10px}.owner-contribution-list{gap:10px;max-height:260px}
 .owner-widget-note{font-size:9px;padding:0 10px 10px}.owner-periods [data-owner-period-chart]{padding:7px}.owner-periods .analytics-legend span{font-size:8px}
 .boss-managers-page .dialog-body{padding:9px}.boss-managers-page table{table-layout:fixed;width:100%;font-size:10px}.boss-managers-page th,.boss-managers-page td{padding:5px 3px}
 .boss-managers-page th:nth-child(4),.boss-managers-page td:nth-child(4){display:none}.boss-managers-page td:first-child{width:30%}.boss-managers-page td:last-child{width:22%}
 .boss-managers-page td button{font-size:9px;white-space:normal;min-width:0;padding:5px 3px}.manager-login{font-size:8px}.manager-share-editor .dialog-body{padding:10px}
}

/* A cabinet review is a separate close transaction; phone keeps the compact total. */
.closing-tabs{display:flex;gap:8px;overflow-x:auto;padding:0 0 8px}.closing-tabs button{flex-shrink:0}.closing-tabs [aria-selected=true]{background:var(--accent);color:#fff}.closing-equation{display:flex;align-items:end;justify-content:space-between;gap:10px;min-width:0;padding:8px 0}.closing-equation-term{display:grid;gap:7px;min-width:0}.closing-equation-term small{color:var(--muted);font-size:12px}.closing-equation-term b{font-size:20px;white-space:nowrap}.closing-equation-term:last-child b{color:var(--accent)}.closing-operator{font-size:22px;padding-bottom:1px}.closing-next-mobile{display:none}
@media(max-width:1000px) and (min-width:721px){.closing-equation{gap:6px}.closing-equation-term b{font-size:16px}.closing-equation-term small{font-size:11px}}
@media(max-width:720px){.closing-equation{display:none}.closing-next-mobile{display:block}}

.closing-dialog .closing-actions{bottom:0}

/* Compact shift workspace: one table and the cabinet filter used by the top bar. */
.shift-page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.shift-page-heading>.title-row{flex:1;margin:0}.shift-page-heading>.toolbar{margin:0;flex-shrink:0}.shift-view-tabs{display:flex;gap:6px}.shift-view-tabs [aria-selected=true]{background:var(--accent);color:white}.team-card[role=button]{cursor:pointer}.team-card[role=button]:hover{border-color:var(--accent)}.team-card[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#shifts-table td{padding-top:6.5px;padding-bottom:6.5px;height:31px}
@media(max-width:720px){#shifts-table td{padding-top:4.5px;padding-bottom:4.5px;height:28px}}
.shift-page-heading>.title-row{flex:1 1 300px;min-width:0;flex-wrap:wrap}.shift-page-heading>.toolbar{flex:0 1 auto;max-width:100%;min-width:0}

/* Spacious contribution rings with labels to the right; a single staff top ten. */
.owner-widgets{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.owner-mix{grid-template-columns:minmax(160px,260px) minmax(0,1fr);gap:24px;padding:24px}.owner-donut{width:260px}.owner-contribution-list{max-height:440px}.owner-cabinet-row>span{overflow-wrap:anywhere}
@media(max-width:1100px){.owner-widgets{grid-template-columns:minmax(0,1fr)}}
@media(max-width:720px){.owner-mix{grid-template-columns:minmax(110px,140px) minmax(0,1fr);gap:12px;padding:12px}.owner-donut{width:140px}.owner-contribution-list{max-height:none}.owner-cabinet-row{grid-template-columns:7px minmax(0,1fr)}.owner-cabinet-row strong{grid-column:2}.owner-bar-track{grid-column:2}}

#boss-employees .owner-contribution-list{max-height:none}.owner-cabinet-row>span{white-space:normal;overflow-wrap:anywhere}

.management-journal-heading{padding:12px 16px;border-bottom:1px solid var(--border)}

.management-journal-heading{padding:0;border:0;grid-column:2;grid-row:1;align-self:end}.management-columns>.management-team{grid-column:1;grid-row:1/span 2}.management-columns>.management-activity{grid-column:2;grid-row:2}
@media(max-width:1050px){.management-journal-heading,.management-columns>.management-team,.management-columns>.management-activity{grid-column:1;grid-row:auto}.management-journal-heading{order:-1}}

.management-columns{grid-template-rows:min-content 1fr}@media(max-width:1050px){.management-columns{grid-template-rows:none}}

/* Empty wallet placeholders must not reserve topbar or drawer space. */
.wallet-topbar:empty{display:none}
.topbar>.wallet-topbar:empty+.profile{margin-left:auto}

/* Compact calculator grid; full labels remain available on desktop and to AT. */
.bonus-calculator table.compact-data-table{width:max-content;min-width:0;table-layout:auto;border-collapse:collapse}
.bonus-calculator table.compact-data-table th,.bonus-calculator table.compact-data-table td{border:1px solid var(--border);min-width:0;padding:6px 8px;font-variant-numeric:tabular-nums}
@media(max-width:720px){
 .team-insights .team-forecasts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .team-insights .team-card{padding:8px}
 .team-insights .team-card-heading{flex-wrap:wrap;gap:4px}
 .team-insights .team-card h3{font-size:11px}
 .team-insights .team-card-percent{font-size:10px;padding:3px 4px}
 .team-insights .team-card p{font-size:10px;margin-top:5px}
 .team-insights .team-card .goal-stage-label{font-size:9px}
 .team-insights .team-card progress{margin:9px 0 4px}
 .bonus-calculator .calculator-detail{display:none}
 .bonus-calculator table.compact-data-table,#motivation-ranking table.compact-data-table{width:max-content;min-width:0;table-layout:auto;border-collapse:collapse}
 .bonus-calculator table.compact-data-table th,.bonus-calculator table.compact-data-table td,#motivation-ranking table.compact-data-table th,#motivation-ranking table.compact-data-table td{border:1px solid var(--border);min-width:0;padding:5px 4px;font-size:10px;line-height:1.35;white-space:nowrap;font-variant-numeric:tabular-nums}
 table.compact-data-table th[data-phone-label]{font-size:0!important}
 table.compact-data-table th[data-phone-label]::after{content:attr(data-phone-label);font-size:10px}
 .bonus-calculator table.compact-data-table button{font-size:10px;padding:4px 5px}
}

/* Natural shift widths remove space introduced by generic 100px headers. */
.panel:has(>.table-scroll>#shifts-table),.table-scroll:has(>#shifts-table){width:fit-content;max-width:100%}
#shifts-table{width:max-content;min-width:0;table-layout:auto}
#shifts-table th,#shifts-table td{min-width:0;padding-left:7px;padding-right:7px}
#shifts-table th{white-space:nowrap}
.term-help-tooltip{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:min(360px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;padding:12px 14px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--fg);box-shadow:0 8px 28px #0004;font-size:13px;line-height:1.5;overflow-wrap:anywhere;z-index:100}
.term-help-tooltip strong{display:block;font-size:14px}.term-help-tooltip p{margin:6px 0 0}
.term-help-anchor:not(button){cursor:help;text-decoration:underline dotted var(--muted);text-underline-offset:3px}
@media(max-width:720px){.term-help-tooltip{display:none}}

/* Progress redesign is phone-only; desktop keeps its four existing metrics. */
.xp-mobile-progress{display:none}
.personal-day-entry{min-width:0;overflow-wrap:anywhere}
.personal-day-entry+.personal-day-entry{border-top:1px solid var(--border);padding-top:10px}
@media(max-width:720px){
 .xp-progress-desktop,.xp-desktop-bar{display:none!important}
 .xp-mobile-progress{display:block;border:1px solid var(--border);border-radius:15px;background:var(--surface);padding:13px;margin-bottom:10px;min-width:0}
 .xp-current{display:grid;grid-template-columns:minmax(0,1fr) minmax(65px,35%);gap:12px;align-items:start}
 .xp-current span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}
 .xp-current strong{font-size:21px;line-height:1.25;overflow-wrap:anywhere}
 .xp-balance{text-align:right;font-variant-numeric:tabular-nums}
 .xp-next{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0 10px;font-size:11px;color:var(--muted)}
 .xp-next span{min-width:0;overflow-wrap:anywhere}.xp-next strong{white-space:nowrap;color:var(--fg)}
 .xp-mobile-progress progress{width:100%;height:8px;border:0;border-radius:10px;overflow:hidden;background:var(--border)}
 .xp-mobile-progress progress::-webkit-progress-bar{background:var(--border);border-radius:10px}
 .xp-mobile-progress progress::-webkit-progress-value{background:var(--accent);border-radius:10px}
 .xp-mobile-progress progress::-moz-progress-bar{background:var(--accent);border-radius:10px}
 .xp-level-phrase{font-style:italic;color:var(--muted);font-size:12px;line-height:1.4;margin:10px 0 0;overflow-wrap:anywhere}
 .schedule-dialog .dialog-body{grid-template-columns:minmax(0,1fr)}
 .personal-schedule{width:calc(100vw - 16px);max-width:680px;max-height:calc(100dvh - 16px);overflow:hidden}
 .personal-schedule .dialog-head{padding:8px 9px}.personal-schedule .dialog-head h2{font-size:13px}
 .personal-schedule .dialog-body{padding:8px;gap:6px;overflow:hidden}
 .personal-schedule .filter-form{margin:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
 .personal-schedule .filter-form>label:first-child,.personal-schedule .form-actions{grid-column:1/-1}
 .personal-schedule .form-error:empty{display:none}.personal-schedule .form-actions{margin:0}
 .personal-schedule .dialog-body>.footnote{margin:0;font-size:9px}
 .personal-schedule .schedule-calendar{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;min-width:0}
 .personal-schedule .schedule-day{height:80px;padding:4px;gap:2px;overflow:hidden}
 .personal-schedule .schedule-day button{min-height:0;font-size:10px;padding:2px 4px;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .personal-schedule .schedule-day small{font-size:9px}.personal-schedule .calendar-more{font-size:9px}
 .personal-calendar-pager{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center}
 .personal-calendar-pager span{text-align:center;font-size:10px}.personal-calendar-pager button{padding:3px 8px;min-height:24px}
}

/* Compact daily/monthly plans and calculator columns, with phone stacking. */
.motivation-plan-tables{grid-template-columns:minmax(0,1fr)}
.motivation-plan-cabinets{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.motivation-plan-panel h2{padding:12px 14px}
.motivation-plan-cabinets table{width:100%;table-layout:auto;min-width:0;font-size:11px}
.motivation-plan-cabinets th,.motivation-plan-cabinets td{min-width:0;padding:6px 5px;border-right:1px solid var(--border)}
.motivation-plan-cabinets th{white-space:normal}
.motivation-plan-cabinets th:last-child{width:auto}
.motivation-plan-cabinets th:nth-child(1),.motivation-plan-cabinets th:nth-child(2),.motivation-plan-cabinets th:nth-child(7){width:auto}
.motivation-plan-cabinets button{padding:5px;font-size:11px}
.calculator-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;align-items:start}
.calculator-columns>section{min-width:0}
.calculator-violations h3{margin-top:0;font-size:13px}
.calculator-violations table.compact-data-table{width:100%}
.calculator-violations td:nth-child(3){white-space:normal;overflow-wrap:anywhere;max-width:240px}
.assignments-manager-dialog{width:min(620px,calc(100vw - 24px))}
.assignments-manager-dialog .dialog-body{gap:10px;padding:14px}
.assignments-manager-dialog .empty{padding:16px;min-height:0;height:auto}
.assignments-manager-dialog table{min-width:0;font-size:11px}
.assignments-manager-dialog th,.assignments-manager-dialog td{min-width:0;padding:6px}
@media(max-width:1100px){.calculator-columns{grid-template-columns:minmax(0,1fr)}}
@media(max-width:720px){.motivation-plan-cabinets{grid-template-columns:minmax(0,1fr)}.calculator-columns{gap:12px}}

.motivation-plan-cabinets .table-scroll{min-height:0;max-height:320px}

.calculator-columns table button{padding:4px 6px;font-size:11px;min-height:0}
.motivation-plan-cabinets th{overflow-wrap:normal}
[data-plan-accounts] td:nth-child(2),[data-plan-next] td:nth-child(2){white-space:nowrap;overflow-wrap:normal}
.assignments-manager-dialog [data-task-create]{max-width:none}
.assignments-manager-dialog textarea{min-height:70px}
.assignments-manager-dialog .form-error:empty{display:none}
.assignments-manager-dialog .form-actions{margin-top:0}

/* Keep external actions separate from tables, including wrapped table sections. */
:where(button,.toolbar,.form-actions,form,[role=tablist],.employee-ranking-switch) + :is(.table-scroll,.metrics,:has(>.table-scroll),:has(>:first-child>.table-scroll)){margin-block-start:10px}
:is(.table-scroll,.metrics,:has(>.table-scroll),:has(>:last-child>.table-scroll)) + :is(button,.toolbar,.form-actions,form,[role=tablist],.employee-ranking-switch){margin-block-start:10px}
.boss-cabinet-picker-button{display:none}
@media(max-width:720px){
 .boss-cabinet-comparison .analytics-selectors{display:none}
 .boss-cabinet-picker-button{display:block;width:100%;text-align:left;margin:0 0 10px}
 .boss-cabinet-picker-button span{color:var(--muted)}
 .boss-cabinet-picker-dialog{width:calc(100vw - 16px);max-width:540px;max-height:calc(100dvh - 16px)}
 .boss-cabinet-picker-dialog[open]{display:flex;flex-direction:column;height:min(700px,calc(100dvh - 16px))}
 .boss-cabinet-picker-dialog .dialog-head{padding:12px;flex-shrink:0}
 .boss-cabinet-picker-dialog .dialog-head h2{font-size:16px}
 .boss-cabinet-picker-dialog .dialog-body{display:flex;flex:1;flex-direction:column;gap:10px;padding:12px;min-height:0;overflow:hidden}
 .cabinet-picker-search{display:grid;gap:5px;font-size:12px;flex-shrink:0}
 .cabinet-picker-search input{min-width:0;width:100%;font-size:12px}
 .boss-cabinet-picker-dialog .toolbar{gap:7px;flex-shrink:0}
 .boss-cabinet-picker-dialog .toolbar button{padding:6px;font-size:11px}
 .boss-cabinet-picker-dialog [data-picker-count]{font-size:11px;color:var(--muted)}
 .cabinet-picker-list{overflow:auto;flex:1;min-height:0;overscroll-behavior:contain}
 .cabinet-picker-row{display:flex;gap:10px;align-items:flex-start;padding:10px 4px;border-bottom:1px solid var(--border);cursor:pointer}
 .cabinet-picker-row input{flex:0 0 auto;margin:2px 0;min-height:0;width:17px;height:17px}
 .cabinet-picker-row>span{min-width:0;overflow-wrap:anywhere}
 .cabinet-picker-row strong{display:block;font-size:13px}
 .cabinet-picker-row small{display:block;font-size:11px;margin-top:5px;line-height:1.4}
 .boss-cabinet-picker-dialog .form-actions{flex-shrink:0;margin:0;padding-top:4px}
 .boss-cabinet-picker-dialog .form-actions button{font-size:12px;padding:8px}
}

/* Compact plan cells without shrinking desktop text. */
@media(min-width:721px){
 .motivation-plan-cabinets{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .motivation-plan-cabinets table{width:auto;max-width:100%;font-size:13px}
 .motivation-plan-cabinets th:nth-child(n){width:auto}
 .motivation-plan-cabinets th{font-size:12px;padding:5px 4px}
 .motivation-plan-cabinets td{font-size:13px;padding:4px 4px;height:auto}
 .motivation-plan-cabinets button{font-size:13px;line-height:1.3;padding:3px 6px}
}

/* One personal financial counter, with responsive placements sharing state. */
.transfer-counter-phone{display:none}
.transfer-counter-desktop{padding:12px;min-width:0;overflow:visible;max-height:none;height:auto}
.transfer-counter-desktop h3{margin:0;font-size:14px}
.transfer-counter-desktop>.transfer-counter-controls{margin-top:12px;display:flex;justify-content:space-between}
.transfer-counter-controls{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.transfer-counter-controls button{width:34px;height:34px;min-height:0;padding:0;font-size:20px;line-height:1}
.transfer-counter-controls output{min-width:28px;text-align:center;font-size:18px;font-variant-numeric:tabular-nums}
.transfer-counter-total{margin:12px 0 0;font-size:13px}
@media(min-width:721px){
 .employee-shifts-page{grid-template-columns:minmax(0,1fr)}
 .employee-shifts-page .employee-hero,.employee-shifts-page .employee-hero.without-promotion{grid-template-columns:repeat(2,minmax(0,1fr))}
 .employee-hero>.employee-actions{grid-column:1;grid-row:1}
 .employee-hero>.employee-break-tools{grid-column:2;grid-row:1;align-self:start;width:min(100%,160px)}
 .employee-hero>.employee-promotion{grid-column:1/-1}
 .employee-shifts-table #shifts-table th,.employee-shifts-table #shifts-table td{padding-left:10px;padding-right:10px}
}
@media(max-width:720px){
 .transfer-counter-desktop{display:none}
 .employee-heading-row .transfer-counter-phone{display:inline-flex;margin-left:auto;flex:none}
 .transfer-counter-phone .transfer-counter-controls{gap:3px}
 .transfer-counter-phone button{width:25px;height:27px;font-size:18px}
 .transfer-counter-phone output{min-width:18px;font-size:14px}
 .employee-shifts-page .employee-heading-row{gap:4px}
 .employee-heading-row [data-personal-goal],.employee-heading-row [data-work-tasks]{padding-inline:5px}
}

@media(min-width:1600px){
 .employee-shifts-page .employee-hero{grid-template-columns:minmax(300px,340px) 160px minmax(180px,1fr) minmax(240px,280px) minmax(300px,330px)}
 .employee-shifts-page .employee-hero.without-promotion{grid-template-columns:minmax(300px,340px) 160px minmax(240px,1fr) minmax(300px,330px)}
 .employee-hero>.employee-promotion{grid-column:auto}
}

/* Two responsive pause controls share the employee's active attendance. */
.shift-pause-phone{display:none}
.employee-break-tools{min-width:0;display:flex;flex-direction:column;gap:10px;align-self:start}
.shift-pause-desktop{width:100%}
#shifts-table th:nth-child(4)[data-phone-label],#shifts-table th:nth-child(5)[data-phone-label]{max-width:100px}
@media(max-width:720px){
 .employee-break-tools{display:none}
 .employee-heading-row .shift-pause-phone{display:inline-flex;padding-inline:4px;flex:none;font-size:10px}
 #shifts-table:has(th[data-phone-label="Пер."]) th:nth-child(4),#shifts-table:has(th[data-phone-label="Пер."]) td:nth-child(4),
 #shifts-table:has(th[data-phone-label="Пер."]) th:nth-child(5),#shifts-table:has(th[data-phone-label="Пер."]) td:nth-child(5){padding-inline:4px;min-width:36px;text-align:center}
}

@media(max-width:720px){
 #shifts-table th[data-phone-label]{font-size:0!important}
 #shifts-table th[data-phone-label]::after{content:attr(data-phone-label);font-size:10px}
}
@media(max-width:720px){
 /* Reserve the first screen for identity, status and both break measurements. */
 #shifts-table:has(th[data-phone-label="Пер."]) :is(th,td):nth-child(-n+3){white-space:normal;overflow-wrap:anywhere;padding-inline:4px}
 #shifts-table:has(th[data-phone-label="Пер."]) :is(th,td):nth-child(1){width:76px;max-width:76px}
 #shifts-table:has(th[data-phone-label="Пер."]) :is(th,td):nth-child(2){width:60px;max-width:60px}
 #shifts-table:has(th[data-phone-label="Пер."]) :is(th,td):nth-child(3){width:74px;max-width:74px}
 #shifts-table:has(th[data-phone-label="Пер."]) .badge{white-space:normal;overflow-wrap:anywhere}
}
@media(max-width:720px){
 .employee-heading-row [data-personal-goal]{width:48px;min-width:0;font-size:10px;padding:3px;line-height:1.2}
 .employee-heading-row [data-work-tasks]{font-size:10px;padding-inline:1px}
}
@media(max-width:720px){
 #shifts-table:has(th[data-phone-label="Пер."]) td:nth-child(-n+2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* Problems are readable within one compact dialog, without nested horizontal rails. */
.alerts-dialog{width:min(900px,calc(100vw - 24px));min-width:0;overflow-x:hidden}
.alerts-dialog .dialog-body{min-width:0;grid-template-columns:minmax(0,1fr);padding:16px;overflow-x:hidden}
.alerts-dialog #alerts-results,.alerts-dialog .table-scroll{min-width:0;width:100%;max-width:100%}
.alerts-dialog .table-scroll{max-height:none;overflow:visible}
.alerts-dialog table{table-layout:fixed;width:100%}
.alerts-dialog th,.alerts-dialog td{min-width:0;padding:7px 5px;white-space:normal;overflow-wrap:anywhere;font-size:12px}
.alerts-dialog th:nth-child(1){width:6%}
.alerts-dialog th:nth-child(2){width:12%}
.alerts-dialog th:nth-child(3){width:8%}
.alerts-dialog th:nth-child(4){width:11%}
.alerts-dialog th:nth-child(5){width:19%}
.alerts-dialog th:nth-child(6){width:11%}
.alerts-dialog td.wide-comment{min-width:0;max-width:none}
.alerts-dialog input[type=checkbox]{padding:0;margin:0;min-height:0;width:14px;height:14px}
.alerts-dialog .toolbar button{max-width:100%;white-space:normal}
.alerts-dialog .form-error:empty{display:none}
@media(max-width:720px){
 .alerts-dialog .dialog-body{padding:10px}
 .alerts-dialog th,.alerts-dialog td{font-size:9px;padding:6px 2px}
 .alerts-dialog th:nth-child(1){width:20px}
 .alerts-dialog .dialog-head h2{font-size:16px}
}

.break-report{padding:16px;min-width:0}
.break-presets,.break-dates{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-bottom:12px}
.break-presets [aria-pressed=true]{background:var(--accent);color:white;border-color:var(--accent)}
.break-dates[hidden],.break-dates label[hidden],.break-pagination[hidden]{display:none}
.break-report .form-error:empty{display:none}
.break-report table{width:100%;table-layout:fixed}
.break-report th,.break-report td{min-width:0;white-space:normal;overflow-wrap:anywhere;padding:7px 8px}
.break-report .table-scroll{max-height:none}
.break-report .footnote{margin-bottom:0}
.break-pagination{margin-top:12px}
@media(max-width:720px){.break-report{padding:10px}.break-presets{gap:5px}.break-presets button{font-size:11px;padding:6px 7px}.break-report th,.break-report td{font-size:10px;padding:6px 3px}.break-dates{gap:8px}.break-dates label{min-width:0;flex:1}.break-dates button{flex:none}}
@media(max-width:720px){
 .boss-dashboard .owner-mix{display:block;padding:10px}
 .boss-dashboard .owner-donut{display:none}
 .boss-dashboard .owner-contribution-list{gap:7px;max-height:260px;overflow:auto}
 .boss-dashboard .owner-cabinet-row{grid-template-columns:6px minmax(0,1fr) auto;column-gap:6px;row-gap:3px;font-size:11px}
 .boss-dashboard .owner-cabinet-row>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .boss-dashboard .owner-cabinet-row strong{grid-column:3;grid-row:1;font-size:11px}
 .boss-dashboard .owner-bar-track{grid-column:2/-1;height:3px}
 .boss-dashboard #boss-employees .owner-contribution-list{max-height:none}
 .boss-dashboard .owner-widget-note{font-size:10px;line-height:1.4}
 .boss-dashboard .analytics-tooltip{pointer-events:none}
}
.analytics-total-label{fill:var(--fg);font-size:13px;font-weight:600}
@media(min-width:721px){
 .boss-dashboard .analytics-legend{font-size:13px;gap:9px 14px}
 .boss-dashboard .analytics-axis{font-size:13px}
 .boss-dashboard .analytics-chart-tools h3{font-size:18px}
 .boss-dashboard [data-chart-period],.boss-dashboard .analytics-chart-note{font-size:12px}
 .boss-dashboard .analytics-tooltip{font-size:13px}
}
.checkbox-row{display:flex;align-items:center;gap:8px}.checkbox-row input{width:auto}
/* Администратор · страница «Смены»: итоги сверху, меню месяца, кабинеты без плана метками, фильтры и дни в таблице. */
.admin-shift-toolbar{gap:8px}/* «Проблемы» во всех разделах: жёлтая, пока есть непросмотренные; при нуле — обычная кнопка. */.problems-button.has-problems{color:#b7791f;border-color:color-mix(in srgb,#d69e2e 55%,var(--border))}:root[data-theme=dark] .problems-button.has-problems{color:#f2c14b}
.team-insights.admin-cabinets{margin:14px 0;padding:0;min-width:0}.admin-cabinets .cabinet-group-title{font-size:13px;font-weight:600;color:var(--muted);margin:0 0 8px}.team-insights.admin-cabinets .team-forecasts{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));margin:0 0 14px}
.cabinet-chips{display:flex;flex-wrap:wrap;gap:6px}.cabinet-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;font-size:13px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--fg);box-shadow:none}.cabinet-chip span{color:var(--muted)}.cabinet-chip:hover{background:var(--hover)}.cabinet-chip.low{border-color:color-mix(in srgb,var(--red) 55%,var(--border))}.cabinet-chip.low span{color:var(--red)}
.shift-filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.shift-filters select{min-height:0;height:28px;width:auto;max-width:200px;padding:2px 26px 2px 9px;font-size:12px;border-radius:6px}
@media(min-width:721px){.panel.admin-shifts:has(#shifts-table),.admin-shifts .table-scroll:has(>#shifts-table){width:100%}.admin-shifts #shifts-table{width:100%}.admin-shifts #shifts-table td.comment{width:100%;min-width:260px;max-width:1px}.admin-shifts #shifts-table td.comment .shift-comment-preview{display:block;overflow:hidden;text-overflow:ellipsis}}
.shift-day-row th{padding:7px;text-align:left;font-size:12px;font-weight:600;color:var(--muted);background:var(--stripe);white-space:nowrap}

/* Единый выбор периода «С — По»: одна кнопка и календарь на два месяца. */
.range-picker{display:grid;gap:4px;min-width:0}.range-picker[hidden]{display:none}.range-picker>span{font-size:inherit}
.range-picker-trigger{display:inline-flex;align-items:center;gap:8px;justify-content:flex-start;width:100%;min-width:0;text-align:left;overflow:hidden}.range-picker-trigger span{overflow:hidden;text-overflow:ellipsis}.filter-form>.range-picker{grid-column:1/-1}.range-picker-trigger svg{flex:none;color:var(--muted)}
.range-picker-pop{position:fixed;z-index:1000;width:min(560px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;padding:12px;background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px #00000040;display:grid;gap:10px;font-size:13px}
.range-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.range-nav span{color:var(--muted);font-size:12px;text-align:center}.range-nav button{width:30px;height:30px;padding:0;line-height:1;font-size:18px}
.range-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.range-month h4{margin:0 0 6px;font-size:13px;text-align:center}
.range-weekdays,.range-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.range-weekdays span{text-align:center;font-size:10px;color:var(--muted);padding:2px 0}
.range-days>span{min-height:30px}.range-day{min-height:30px;padding:0;border:0;border-radius:6px;background:transparent;box-shadow:none;font-size:12px}.range-day:hover{background:var(--hover)}
.range-day.in-range{background:color-mix(in srgb,var(--accent) 20%,transparent);border-radius:0}.range-day.edge{background:var(--accent);color:#fff;border-radius:6px}
.range-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:8px;border-top:1px solid var(--border)}.range-fields label{display:grid;gap:3px;font-size:11px;color:var(--muted)}.range-fields input{padding:5px 8px;font-size:12px;color:var(--fg)}
.range-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.range-actions button{padding:6px 12px;font-size:12px}
/* Отступ под рамку фокуса (2px + 2px): панель таблицы обрезает всё, что выходит за край. */
.shift-filters{padding:5px 5px 0}
@media(max-width:720px){
 /* Администратор · телефон: карточки с планом по две, компактная таблица без переносов на обеих вкладках. */
 .team-insights.admin-cabinets .team-forecasts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .admin-shifts #shifts-table td,.admin-shifts #shifts-table th:not([data-phone-label]){font-size:10.5px;padding:4px 5px;white-space:nowrap}
 .admin-shifts #shifts-table th[data-phone-label]{padding:4px 5px}
 .admin-shifts #shifts-table td{height:26px}
 .admin-shifts #shifts-table:has(th[data-phone-label]) :is(th,td):nth-child(-n+3){white-space:nowrap;overflow-wrap:normal;padding-inline:4px}
 .admin-shifts #shifts-table:has(th[data-phone-label]) :is(th,td):nth-child(1){width:auto;max-width:70px}
 .admin-shifts #shifts-table:has(th[data-phone-label]) :is(th,td):nth-child(2){width:auto;max-width:54px}
 .admin-shifts #shifts-table:has(th[data-phone-label]) :is(th,td):nth-child(3){width:auto;max-width:none}
 .admin-shifts #shifts-table:has(th[data-phone-label]) .badge{white-space:nowrap;overflow-wrap:normal;font-size:10px;padding:1px 6px}
 .admin-shifts #shifts-table .shift-day-row th{font-size:10.5px;padding:5px}
 .admin-shifts .shift-filters select{height:26px;font-size:11px;max-width:150px}
 /* Карточки с планом: без прогноза, ТОП отдельной строкой, а не поверх «Нужно в день». */
 .admin-cabinets .team-card-forecast{display:none}
 .admin-cabinets .team-card:has(.team-card-top){padding-bottom:8px}
 .admin-cabinets .team-card-top{position:static;display:block;margin-top:5px;font-size:10px}
}

.admin-shifts #shifts-table td.shift-time{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(min-width:721px){.admin-shifts #shifts-table :is(th,td):first-child{padding-left:22px}.admin-shifts .shift-filters{padding-left:14px}}

/* Admin management: 60/40 columns fitted to the screen, readable user table and journal. */
.sub-line{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.check-line .sub-line{display:inline;margin-left:6px}
.log-badge{display:inline-block;border-radius:5px;padding:1px 7px;font-size:11px;line-height:1.6;white-space:nowrap;background:var(--stripe);color:var(--muted)}
.log-badge.bl{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}
.log-badge.bo{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}
.log-badge.br{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red)}
.log-badge.bw{background:color-mix(in srgb,#d9a21b 18%,transparent);color:#a77a0c}
:root[data-theme=dark] .log-badge.bw{color:#e2b84d}
:root[data-theme=dark] .log-badge.bo{color:#9db4ff}
.log-day td{background:var(--stripe);color:var(--muted);font-size:12px;font-weight:600;padding:5px 12px!important}
.log-time{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--muted)}
.after-close .log-time{color:inherit}
.embedded-journal .audit-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
.embedded-journal .wide-comment{min-width:0;max-width:none}
.settings-kind{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.quality-details{margin-top:12px}.quality-details summary{cursor:pointer;padding:6px 0}
.grant-people-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.grant-people-tools .search{flex:1 1 140px;min-width:0}.grant-people-tools button{flex:0 0 auto}
.grant-access-dialog form{display:grid;grid-template-columns:minmax(0,1fr)}.grant-people .check-line{min-width:0;overflow-wrap:anywhere}
.grant-people{display:grid;gap:6px;max-height:min(320px,45vh);overflow:auto;border:1px solid var(--border);border-radius:7px;padding:8px 10px}
.grant-people[aria-busy=true]{opacity:.6}
@media(max-width:720px){
 .integrated-user-table th:nth-child(n){width:auto}
 .integrated-user-table th:nth-child(5){font-size:inherit}.integrated-user-table th:nth-child(5)::after{content:none}
 .grant-people-tools{flex-wrap:wrap}
}

/* Motivation: tabs are navigation (underline), not buttons; only the active one is accented. */
.motivation-tabs{gap:2px;border-bottom:1px solid var(--border);overflow-x:auto;flex-wrap:nowrap}
.motivation-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;box-shadow:none;margin-bottom:-1px;color:var(--muted);padding:10px 14px;font-size:14px;flex:0 0 auto}
.motivation-tabs button:hover{background:var(--hover)}
.motivation-tabs button.primary,.motivation-tabs button[aria-current=page]{background:transparent;color:var(--fg);border-bottom-color:var(--accent);font-weight:600}
.motivation-content [data-overview-alert]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid color-mix(in srgb,#d69e2e 55%,var(--border));border-left-width:1px;background:var(--surface);border-radius:9px}
.motivation-content [data-overview-alert] button{margin-left:auto}
/* Calculator: the distribution table fills its column instead of hugging the left edge. */
@media(min-width:721px){.bonus-calculator .calculator-payments table.compact-data-table{width:100%}}
/* Ranking switch reads as one segmented control; the active segment keeps the accent. */
.motivation-ranking-switch{gap:0}
.motivation-ranking-switch button{border-radius:0;box-shadow:none}
.motivation-ranking-switch button:first-child{border-radius:7px 0 0 7px}
.motivation-ranking-switch button:last-child{border-radius:0 7px 7px 0;margin-left:-1px}
.motivation-setting-value{margin:0 8px;font-weight:600}
.settings-achievements{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.settings-achievement{display:grid;justify-items:center;align-content:start;gap:8px;padding:14px 10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);text-align:center;min-width:0}
.settings-achievement-info{display:grid;gap:2px;min-width:0}.settings-achievement-info strong{font-size:13px;overflow-wrap:anywhere}.settings-achievement-info small{color:var(--muted);font-size:11px;line-height:1.35}
.settings-achievement-actions{display:flex;gap:6px;width:100%}.settings-achievement-actions button{flex:1;min-width:0;padding:5px 6px;font-size:12px}
@media(max-width:1300px){.settings-achievements{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.settings-achievements{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.settings-achievements{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Calculator: one full-width flow (funds, distribution, violations) instead of two cramped columns. */
.bonus-calculator .calculator-columns{grid-template-columns:minmax(0,1fr);gap:16px}
.bonus-calculator .calculator-payments table.compact-data-table,.bonus-calculator .calculator-violations table.compact-data-table{width:100%}
.bonus-calculator .calculator-violations{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px}
.bonus-calculator .calculator-violations h3{margin:0;font-size:15px}.bonus-calculator .calculator-violations .table-scroll{grid-column:1/-1}
/* Plan: tables fill their panels; the action column is never clipped. */
.motivation-plan-cabinets table{width:100%;max-width:none;table-layout:auto}
.motivation-plan-cabinets td:last-child,.motivation-plan-cabinets th:last-child{width:1%;white-space:nowrap}
[data-plan-archive] table{width:100%}
.motivation-plan-tables{align-items:start}.motivation-plan-panel .table-scroll{min-height:0}
/* Администратор · «Мотивация» → «Учёт» и «Оплаты» (бывшие «Операции»). */
.ledger-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.ledger-actions,.ledger-month{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ledger-month{margin-left:auto;padding-left:12px;border-left:1px solid var(--border)}
.ledger-main-action{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));font-weight:600}
.ledger-main-action[aria-disabled=true]{opacity:.55;cursor:not-allowed}
.ledger-metrics .metric:last-child strong{font-size:1.45em}
.ledger-columns{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:14px;align-items:stretch;margin-top:14px;min-width:0}
.ledger-panel{display:flex;flex-direction:column;min-width:0;height:max(380px,calc(100vh - 330px))}
.ledger-panel>.table-scroll{flex:1 1 auto;min-height:0;overflow:auto}
.ledger-panel .panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ledger-panel table{width:100%}
.ledger-panel thead th{position:sticky;top:0;z-index:1;background:var(--surface)}
.ledger-panel tfoot :is(th,td){position:sticky;bottom:0;background:var(--stripe);border-top:1px solid var(--border);font-weight:600}
.ledger-panel tfoot th{text-align:left}
.ledger-panel :is(th,td){padding:8px}
.ledger-panel td.comment{min-width:110px;max-width:260px;white-space:normal;overflow-wrap:anywhere}
.ledger-zero{color:var(--muted)}
.ledger-kpi span{display:block}.ledger-kpi i{display:block;width:72px;margin-left:auto;height:3px;margin-top:4px;border-radius:2px;background:var(--border);overflow:hidden}.ledger-kpi b{display:block;height:100%;background:var(--accent)}
.ledger-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);cursor:pointer}.ledger-toggle input{width:auto;min-height:0;margin:0}
.ledger-empty{margin:12px}
/* Нижняя граница вкладок даёт 1px переполнения; без этого появляется вертикальная прокрутка. */
.motivation-tabs{overflow-y:hidden}
.tab-counter{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:11px;font-weight:700;background:#d69e2e;color:#1d1e23}
.payments-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);padding:0 12px}
.payments-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;box-shadow:none;margin-bottom:-1px;color:var(--muted);padding:10px 14px}
.payments-tabs button[aria-selected=true]{color:var(--fg);border-bottom-color:var(--accent)}
.payments-body .panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.payments-body h2{display:flex;align-items:center;gap:6px}
.payments-filter{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.payments-filter select{min-height:0;height:30px;padding:3px 26px 3px 9px;font-size:12px;width:auto}
.info-dot{min-height:0;padding:0 4px;border:0;background:transparent;box-shadow:none;color:var(--muted);font-size:14px;line-height:1;cursor:help}
.payment-pending td{background:color-mix(in srgb,#d69e2e 12%,transparent)}
.payments-empty{margin:0;padding:14px 16px;color:var(--muted);font-size:13px}
@media(max-width:1100px){.ledger-columns{grid-template-columns:minmax(0,1fr)}.ledger-panel{height:auto;max-height:70vh}}
@media(max-width:720px){.ledger-month{margin-left:0;padding-left:0;border-left:0}.ledger-head{gap:8px}.ledger-head button{font-size:12px;padding:6px 9px}}
/* «Управление → Площадки»: карточки (название, ниже «Удалить»), 4 в ряд, на телефоне 2. */
.settings-dialog:has(.platform-cards){width:min(760px,calc(100vw - 24px))}
.platform-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.platform-cards .platform-card{flex-direction:column;align-items:stretch;justify-content:space-between;gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--stripe)}
.platform-cards .platform-card span{font-weight:600}
.platform-cards .platform-card button{width:100%;text-align:center}
@media(max-width:720px){.platform-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.platform-cards .platform-card{padding:10px}}
.ledger-panel-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
/* Окно проверки и закрытия месяца: компактнее, без дублирующих таблиц и внутренних прокруток. */
.closing-dialog{width:min(1180px,calc(100vw - 24px))}
.closing-tabs{flex-wrap:wrap;overflow:visible;gap:6px;padding:0 0 4px}
.closing-tabs button{padding:5px 11px;font-size:13px;min-height:0}
.closing-account{gap:12px;padding:12px 0}
.closing-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.closing-title h3{margin:0}
.closing-next{padding:12px 16px;gap:4px}
.closing-account .table-scroll{max-height:none}
.closing-columns.closing-bottom{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px}
.closing-side{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-content:start;min-width:0}.closing-side>section{min-width:0}
.closing-side h3,.closing-debts h3{margin:0 0 8px;display:flex;align-items:center;gap:6px}
.closing-debts .closing-section-head h3{margin:0}
.closing-debts td:first-child{max-width:200px}
.closing-debts tfoot :is(th,td){border-top:1px solid var(--border);background:var(--stripe);font-weight:600;text-align:right}
.closing-debts tfoot th{text-align:left}
.closing-zero{color:var(--muted)}
.closing-overpaid{color:var(--red)}
.closing-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;font-size:12px;font-weight:700;background:#d69e2e;color:#1d1e23}
.closing-plus{width:28px;height:28px;font-size:18px}
.closing-account :is(th,td){padding-top:6px;padding-bottom:6px}
@media(max-width:900px){.closing-columns.closing-bottom{grid-template-columns:minmax(0,1fr)}}
/* «Учёт»: сравнение карточек с прошлым месяцем и панель сотрудника. */
.ledger-delta{display:block;margin-top:4px;font-size:11px;color:var(--muted);white-space:normal}
.ledger-delta.good{color:var(--green)}.ledger-delta.bad{color:var(--red)}
#balances-table tbody tr[data-employee]{cursor:pointer}
#balances-table tbody tr[data-employee]:hover td{background:var(--hover)}
dialog.employee-drawer{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(560px,100vw);border-radius:0;border-width:0 0 0 1px}
.employee-drawer .dialog-body{display:grid;gap:12px;align-content:start}
.employee-drawer-body{display:grid;gap:12px;min-width:0}
.employee-drawer-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.employee-drawer-values>div{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--stripe)}
.employee-drawer-values span{font-size:12px;color:var(--muted)}.employee-drawer-values b{font-size:17px}.employee-drawer-values b.accent{color:var(--accent)}
.employee-drawer-kpi{margin:0}
.employee-drawer h3{margin:6px 0 0;font-size:14px}
.employee-drawer td.comment{white-space:normal;overflow-wrap:anywhere;min-width:120px}
.closing-dialog .form-error:empty{display:none}
.audit-filters .check-line{display:inline-flex;align-items:center;gap:6px;width:auto;min-height:0;padding:0;font-size:12px;white-space:nowrap}.audit-filters .check-line input{width:14px;height:14px;min-height:0;padding:0;margin:0;flex:none}
/* «Управление»: кабинеты сотрудника метками с «−» (отзыв доступа к одному кабинету). */
.cabinet-access-list{display:flex;flex-wrap:wrap;gap:4px}
.cabinet-access{display:inline-flex;align-items:center;gap:4px;padding:2px 2px 2px 9px;border:1px solid var(--border);border-radius:999px;font-size:12px;white-space:nowrap;background:var(--stripe)}
.cabinet-access .team-revoke{min-height:0;width:20px;height:20px;padding:0;border-radius:999px;font-size:13px;line-height:1}
.manager-staff .toolbar{margin:0 0 10px;gap:8px}
.manager-staff #user-search{flex:1 1 200px;max-width:320px}
/* Длинное название кабинета без пробелов не раздвигает страницу на телефоне. */
.cabinet-chip{max-width:100%;min-width:0}.cabinet-chip-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:inherit}
.cabinet-access{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}

/* Тестовая раскладка сотрудника (Садмин): значки — маска, цвет берётся из текста. */
.ti{display:inline-block;flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:var(--ti) center/contain no-repeat;mask:var(--ti) center/contain no-repeat;vertical-align:-3px}
/* ICONS:BEGIN — сгенерировано design/icons/build_icons.py, руками не править */
.ti-nd{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M7 2h7l6 6v11a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3z' fill='%23fff'/%3E%3Cpath d='M14 2.5V6a2 2 0 0 0 2 2h3.5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 13h8M8 17h5' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-kd{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M5 3h14a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3h-6.5L8 20.8a.6.6 0 0 1-1-.5V17H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3z' fill='%23fff'/%3E%3Cpath d='M7 8h10M7 12h6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-tip{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M3.5 8.5h13v5a6 6 0 0 1-6 6h-1a6 6 0 0 1-6-6z' fill='%23fff'/%3E%3Cpath d='M16.5 10h1.2a2.8 2.8 0 0 1 0 5.6H16' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 2.5v3M12 2.5v3' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3Crect x='2.5' y='21' width='15' height='1.8' rx='0.9' fill='%23fff'/%3E%3Ccircle cx='10' cy='13.4' r='2.6' fill='%23000'/%3E%3Ccircle cx='10' cy='13.4' r='1.1' fill='%23fff'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-ludik{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M12 2l8.5 4.9v10.2L12 22l-8.5-4.9V6.9z' fill='%23fff'/%3E%3Cpath d='M3.8 7l8.2 4.7L20.2 7M12 11.7V21.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-pause,.ts-main .shift-pause-desktop{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Crect x='5.5' y='4' width='4.5' height='16' rx='1.8' fill='%23fff'/%3E%3Crect x='14' y='4' width='4.5' height='16' rx='1.8' fill='%23fff'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-play,.ts-main .shift-pause-desktop[aria-pressed=true]{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M6.5 5.2c0-1.4 1.5-2.2 2.7-1.5l10 6.8c1 .7 1 2.1 0 2.8l-10 6.8c-1.2.7-2.7-.1-2.7-1.5z' fill='%23fff'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-stop{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Crect x='5' y='5' width='14' height='14' rx='3.5' fill='%23fff'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-wallet{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Crect x='2.5' y='6' width='19' height='15' rx='3.5' fill='%23fff'/%3E%3Cpath d='M5 7L15.8 3.3A1.6 1.6 0 0 1 18 4.8V7z' fill='%23fff'/%3E%3Crect x='14.5' y='10.5' width='8' height='5' rx='2.5' fill='%23000'/%3E%3Ccircle cx='17.8' cy='13' r='1.1' fill='%23fff'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-coins{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M4 6.2v11.6C4 19.8 7.6 21.5 12 21.5s8-1.7 8-3.7V6.2z' fill='%23fff'/%3E%3Cellipse cx='12' cy='6.2' rx='8' ry='3.7' fill='%23fff'/%3E%3Cpath d='M4 10.8c0 2 3.6 3.5 8 3.5s8-1.5 8-3.5' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4 15.3c0 2 3.6 3.5 8 3.5s8-1.5 8-3.5' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cellipse cx='12' cy='6.2' rx='4.4' ry='1.5' fill='none' stroke='%23000' stroke-width='1.2'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-bars{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Crect x='3.5' y='13' width='4.5' height='8' rx='1.5' fill='%23fff'/%3E%3Crect x='9.8' y='8' width='4.5' height='13' rx='1.5' fill='%23fff'/%3E%3Crect x='16' y='3' width='4.5' height='18' rx='1.5' fill='%23fff'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-trend{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M3.5 17l6-6.5 4 4 5.5-6.5' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M15 5.8h5.2V11z' fill='%23fff'/%3E%3Cpath d='M15 5.8h5.2V11z' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-target{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Ccircle cx='12' cy='12' r='10' fill='%23fff'/%3E%3Ccircle cx='12' cy='12' r='6.8' fill='%23000'/%3E%3Ccircle cx='12' cy='12' r='4' fill='%23fff'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-list{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Crect x='3' y='3' width='18' height='18' rx='4.5' fill='%23fff'/%3E%3Ccircle cx='7.8' cy='8.5' r='1.2' fill='%23000'/%3E%3Ccircle cx='7.8' cy='12' r='1.2' fill='%23000'/%3E%3Ccircle cx='7.8' cy='15.5' r='1.2' fill='%23000'/%3E%3Cpath d='M11.5 8.5h5M11.5 12h5M11.5 15.5h3.5' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-calendar{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Crect x='3' y='4.5' width='18' height='17' rx='4' fill='%23fff'/%3E%3Cpath d='M3 10.2h18' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Crect x='7' y='13.2' width='2.4' height='2.4' rx='0.7' fill='%23000'/%3E%3Crect x='10.8' y='13.2' width='2.4' height='2.4' rx='0.7' fill='%23000'/%3E%3Crect x='14.6' y='13.2' width='2.4' height='2.4' rx='0.7' fill='%23000'/%3E%3Crect x='7' y='17.2' width='2.4' height='2.4' rx='0.7' fill='%23000'/%3E%3Crect x='10.8' y='17.2' width='2.4' height='2.4' rx='0.7' fill='%23000'/%3E%3Crect x='6.2' y='1.2' width='4' height='6.8' rx='2' fill='%23000'/%3E%3Crect x='13.8' y='1.2' width='4' height='6.8' rx='2' fill='%23000'/%3E%3Crect x='7.2' y='2' width='2.2' height='5' rx='1.1' fill='%23fff'/%3E%3Crect x='14.6' y='2' width='2.2' height='5' rx='1.1' fill='%23fff'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-filter{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M4 4h16c.8 0 1.2.9.7 1.5L14.5 13v6.2c0 .4-.2.7-.6.9l-3 1.5c-.5.2-1-.1-1-.7V13L3.3 5.5C2.8 4.9 3.2 4 4 4z' fill='%23fff'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-search{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Ccircle cx='10.5' cy='10.5' r='6.3' fill='none' stroke='%23fff' stroke-width='2.6'/%3E%3Cpath d='M15.5 15.5l5 5' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-gift{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Crect x='3.5' y='10.5' width='17' height='10.5' rx='2.5' fill='%23fff'/%3E%3Crect x='2.5' y='7' width='19' height='4.5' rx='1.5' fill='%23fff'/%3E%3Cpath d='M2.5 11.8h19' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Crect x='11' y='7' width='2' height='15' rx='0' fill='%23000'/%3E%3Cpath d='M12 6.8c-2.5 0-5.2-.9-4.5-2.7.7-1.7 3.7-1.1 4.5 2.7z' fill='%23fff'/%3E%3Cpath d='M12 6.8c2.5 0 5.2-.9 4.5-2.7-.7-1.7-3.7-1.1-4.5 2.7z' fill='%23fff'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-trophy{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M7 2.5h10v7.5a5 5 0 0 1-10 0z' fill='%23fff'/%3E%3Cpath d='M7 4.5H4v2a3.5 3.5 0 0 0 3.3 3.5M17 4.5h3v2a3.5 3.5 0 0 1-3.3 3.5' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3Crect x='10.8' y='14.5' width='2.4' height='3.5' rx='0' fill='%23fff'/%3E%3Crect x='7' y='18' width='10' height='3.5' rx='1.7' fill='%23fff'/%3E%3Cpath d='M9.5 5.8v3.5' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-dollar{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Ccircle cx='12' cy='12' r='10' fill='%23fff'/%3E%3Cpath d='M15 9.2c-.5-1-1.6-1.6-3-1.6-1.8 0-3 .9-3 2.2 0 3 6 1.6 6 4.5 0 1.3-1.3 2.2-3 2.2-1.5 0-2.6-.6-3.1-1.6M12 6v1.6M12 16.5V18' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-bell{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M12 2.5c-3.6 0-6 2.7-6 6v3.2c0 .8-.3 1.5-.8 2.1L3.8 15.4c-.5.6-.1 1.6.8 1.6h14.8c.9 0 1.3-1 .8-1.6l-1.4-1.6a3.3 3.3 0 0 1-.8-2.1V8.5c0-3.3-2.4-6-6-6z' fill='%23fff'/%3E%3Cpath d='M9.5 19.2h5a2.5 2.5 0 0 1-5 0z' fill='%23fff'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-alert{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Ccircle cx='12' cy='12' r='10' fill='%23fff'/%3E%3Cpath d='M12 6.8v6' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='16.8' r='1.3' fill='%23000'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-check{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Ccircle cx='12' cy='12' r='10' fill='%23fff'/%3E%3Cpath d='M7.5 12.3l3.2 3.2 5.8-6.3' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-clipboard{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Crect x='4.5' y='4' width='15' height='18' rx='3.5' fill='%23fff'/%3E%3Crect x='7.3' y='1.2' width='9.4' height='6.5' rx='2.4' fill='%23000'/%3E%3Crect x='8.6' y='2' width='6.8' height='4.6' rx='1.8' fill='%23fff'/%3E%3Cpath d='M8.5 12.5h7M8.5 16.5h4.5' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-chevron{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M9 5.5l6.5 6.5L9 18.5' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-down{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M5.5 9l6.5 6.5L18.5 9' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-arrow{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M4.5 12h15M13.5 5.5l6.5 6.5-6.5 6.5' fill='none' stroke='%23fff' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-info{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Ccircle cx='12' cy='12' r='10' fill='%23fff'/%3E%3Ccircle cx='12' cy='7.7' r='1.3' fill='%23000'/%3E%3Cpath d='M12 11v6' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-shield{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M12 2l8 3v6.5c0 5-3.4 8.7-8 10.5-4.6-1.8-8-5.5-8-10.5V5z' fill='%23fff'/%3E%3Cpath d='M12 2l8 3v6.5c0 5-3.4 8.7-8 10.5-4.6-1.8-8-5.5-8-10.5V5z' fill='none' stroke='%23fff' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8.3 11.8l2.7 2.7 4.7-5.2' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-star{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M12 3.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8-5.2-2.8-5.2 2.8 1-5.8L3.5 9.7l5.9-.9z' fill='%23fff'/%3E%3Cpath d='M12 3.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8-5.2-2.8-5.2 2.8 1-5.8L3.5 9.7l5.9-.9z' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-hex{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M12 2l9 5.2v9.6L12 22l-9-5.2V7.2z' fill='%23fff'/%3E%3Cpath d='M12 2l9 5.2v9.6L12 22l-9-5.2V7.2z' fill='none' stroke='%23fff' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 6.8L13.7 10.1 17.3 10.6 14.7 13.1 15.3 16.7 12 15 8.7 16.7 9.3 13.1 6.7 10.6 10.3 10.1z' fill='%23000'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-user{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Ccircle cx='12' cy='7.5' r='4.3' fill='%23fff'/%3E%3Cpath d='M4 20.2c0-3.8 3.6-6.2 8-6.2s8 2.4 8 6.2c0 1-.8 1.8-1.8 1.8H5.8C4.8 22 4 21.2 4 20.2z' fill='%23fff'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-users{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Ccircle cx='17.2' cy='8.2' r='3.2' fill='%23fff'/%3E%3Cpath d='M16.5 13.8c3.3-.2 5.8 1.8 5.8 4.6 0 .9-.7 1.6-1.6 1.6H17.5c.3-.6.4-1.2.4-1.9 0-1.8-.5-3.3-1.4-4.3z' fill='%23fff'/%3E%3Ccircle cx='9' cy='8' r='5.2' fill='%23000'/%3E%3Cpath d='M2 20.5c0-3.6 3-5.8 7-5.8s7 2.2 7 5.8c0 .9-.7 1.5-1.5 1.5H3.5C2.7 22 2 21.4 2 20.5z' fill='%23000' stroke='%23000' stroke-width='2.6' stroke-linejoin='round'/%3E%3Ccircle cx='9' cy='8' r='3.8' fill='%23fff'/%3E%3Cpath d='M2 20.5c0-3.6 3-5.8 7-5.8s7 2.2 7 5.8c0 .9-.7 1.5-1.5 1.5H3.5C2.7 22 2 21.4 2 20.5z' fill='%23fff'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-building{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Crect x='13' y='9' width='7.5' height='12.5' rx='2' fill='%23fff'/%3E%3Crect x='4.5' y='2.5' width='10' height='19' rx='2.2' fill='%23000' stroke='%23000' stroke-width='2.4'/%3E%3Crect x='4.5' y='2.5' width='10' height='19' rx='2.2' fill='%23fff'/%3E%3Crect x='7' y='5.8' width='2' height='2' rx='0.5' fill='%23000'/%3E%3Crect x='7' y='9.8' width='2' height='2' rx='0.5' fill='%23000'/%3E%3Crect x='7' y='13.8' width='2' height='2' rx='0.5' fill='%23000'/%3E%3Crect x='10.5' y='5.8' width='2' height='2' rx='0.5' fill='%23000'/%3E%3Crect x='10.5' y='9.8' width='2' height='2' rx='0.5' fill='%23000'/%3E%3Crect x='10.5' y='13.8' width='2' height='2' rx='0.5' fill='%23000'/%3E%3Crect x='8.4' y='17.5' width='3.2' height='4.4' rx='0' fill='%23000'/%3E%3Crect x='16.8' y='12.5' width='2' height='2' rx='0.5' fill='%23000'/%3E%3Crect x='16.8' y='16.5' width='2' height='2' rx='0.5' fill='%23000'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-minus{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Ccircle cx='12' cy='12' r='10' fill='%23fff'/%3E%3Crect x='6.5' y='10.9' width='11' height='2.2' rx='1.1' fill='%23000'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-plus{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Ccircle cx='12' cy='12' r='10' fill='%23fff'/%3E%3Crect x='6.5' y='10.9' width='11' height='2.2' rx='1.1' fill='%23000'/%3E%3Crect x='10.9' y='6.5' width='2.2' height='11' rx='1.1' fill='%23000'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-lock{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Crect x='4.5' y='10.5' width='15' height='11.5' rx='3.2' fill='%23fff'/%3E%3Cpath d='M8 10.5V8a4 4 0 0 1 8 0v2.5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='15' r='1.8' fill='%23000'/%3E%3Crect x='11.1' y='15.5' width='1.8' height='3.4' rx='0.9' fill='%23000'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-download{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M12 3.5v11M7.2 10.2l4.8 4.8 4.8-4.8' fill='none' stroke='%23fff' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.5 20h15' fill='none' stroke='%23fff' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-card{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Crect x='2.5' y='5' width='19' height='14' rx='3.5' fill='%23fff'/%3E%3Crect x='1' y='8.8' width='22' height='2.6' rx='0' fill='%23000'/%3E%3Crect x='5.5' y='14.2' width='4.5' height='1.9' rx='0.95' fill='%23000'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-dots{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Ccircle cx='5.5' cy='12' r='2.2' fill='%23fff'/%3E%3Ccircle cx='12' cy='12' r='2.2' fill='%23fff'/%3E%3Ccircle cx='18.5' cy='12' r='2.2' fill='%23fff'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-clock{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Ccircle cx='12' cy='12' r='10' fill='%23fff'/%3E%3Cpath d='M12 6.8V12l3.6 2.2' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-refresh{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M20 11a8.1 8.1 0 0 0-15.5-2M4 5v4h4M4 13a8.1 8.1 0 0 0 15.5 2M20 19v-4h-4' fill='none' stroke='%23fff' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-pie{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M11 13V4.5A8.5 8.5 0 1 0 19.5 13z' fill='%23fff'/%3E%3Cpath d='M14 2v8.5h8.5A8.5 8.5 0 0 0 14 2z' fill='%23fff'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-doc{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Cpath d='M7 2h7l6 6v11a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3z' fill='%23fff'/%3E%3Cpath d='M14 2.5V6a2 2 0 0 0 2 2h3.5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Crect x='8' y='14.5' width='1.9' height='3.5' rx='0.6' fill='%23000'/%3E%3Crect x='11.05' y='11.5' width='1.9' height='6.5' rx='0.6' fill='%23000'/%3E%3Crect x='14.1' y='13' width='1.9' height='5' rx='0.6' fill='%23000'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-usdt{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Ccircle cx='12' cy='12' r='10' fill='%23fff'/%3E%3Crect x='6.8' y='6.8' width='10.4' height='2.3' rx='1.1' fill='%23000'/%3E%3Crect x='10.85' y='8' width='2.3' height='10' rx='1.1' fill='%23000'/%3E%3Cellipse cx='12' cy='12.4' rx='6.2' ry='1.9' fill='none' stroke='%23fff' stroke-width='1.5'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-usd{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Ccircle cx='12' cy='12' r='10' fill='%23fff'/%3E%3Cpath d='M15 9.2c-.5-1-1.6-1.6-3-1.6-1.8 0-3 .9-3 2.2 0 3 6 1.6 6 4.5 0 1.3-1.3 2.2-3 2.2-1.5 0-2.6-.6-3.1-1.6M12 6v1.6M12 16.5V18' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-rub{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Ccircle cx='12' cy='12' r='10' fill='%23fff'/%3E%3Cpath d='M10 17.5V6.5h3.3a3.3 3.3 0 0 1 0 6.6H10M7.8 15h6.4' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
.ti-eur{--ti:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23000'/%3E%3Ccircle cx='12' cy='12' r='10' fill='%23fff'/%3E%3Cpath d='M16.2 8.4A5 5 0 1 0 16.2 15.6M7.5 10.6h6.2M7.5 13.4h6.2' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='24' height='24' mask='url%28%23m%29'/%3E%3C/svg%3E")}
/* ICONS:END */
:root{--tx-gold:#b8871a;--tx-yellow:#d9971a;--tx-bronze:#b9733a;--tx-live:#0d9468;--tx-soft:color-mix(in srgb,var(--accent) 9%,var(--surface))}
:root[data-theme=dark]{--tx-gold:#e7bd4a;--tx-yellow:#f2bc3d;--tx-bronze:#d58b4b;--tx-live:#3ddc97;--tx-soft:color-mix(in srgb,var(--accent) 16%,var(--surface))}
.tester-shift,.tester-motivation,.tester-progress{display:grid;gap:16px;min-width:0}
.tester-shift h2,.tester-motivation h2,.tester-progress h2{margin:0;font-size:17px}
.tester-shift .panel,.tester-motivation .panel,.tester-progress .panel{border-radius:12px;padding:16px 18px;min-width:0}
.tester-shift progress,.tester-motivation progress,.tester-progress progress{appearance:none;-webkit-appearance:none;display:block;width:100%;height:9px;border:0;border-radius:6px;overflow:hidden;background:var(--border)}
.tester-shift progress::-webkit-progress-bar,.tester-motivation progress::-webkit-progress-bar,.tester-progress progress::-webkit-progress-bar{background:var(--border);border-radius:6px}
.tester-shift progress::-webkit-progress-value,.tester-motivation progress::-webkit-progress-value,.tester-progress progress::-webkit-progress-value{background:var(--bar,var(--accent));border-radius:6px}
.tester-shift progress::-moz-progress-bar,.tester-motivation progress::-moz-progress-bar,.tester-progress progress::-moz-progress-bar{background:var(--bar,var(--accent));border-radius:6px}
.tester-shift button,.tester-motivation button,.tester-progress button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.tester-shift button[hidden],.tester-motivation button[hidden],.tester-progress button[hidden]{display:none}
/* «Моя смена» */
.ts-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ts-head h1{margin:0 auto 0 0;font-size:28px}
.ts-head-actions{display:flex;gap:8px}.ts-head-actions button{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--accent);font-weight:600;padding:9px 14px}
.ts-top{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);gap:16px;align-items:stretch}
.ts-current{display:grid;gap:12px;align-content:start}
.ts-current-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ts-current-head h2{text-transform:uppercase;letter-spacing:.02em;font-size:15px}
.ts-live{display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:600;color:var(--tx-live);background:color-mix(in srgb,var(--tx-live) 13%,transparent)}
.ts-live::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}
.ts-live.warn{color:var(--tx-yellow);background:color-mix(in srgb,var(--tx-yellow) 14%,transparent)}.ts-live.off{color:var(--muted);background:var(--stripe)}.ts-live.off::before{display:none}
.ts-start{margin-left:auto;color:var(--muted);font-size:13px}.ts-start b{color:var(--fg);font-size:15px}
/* Статус кабинета в правом углу «Текущей смены»: занят ли он чьей-то незакрытой сменой. */
.ts-cabinet-state{margin-left:auto;display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.ts-start+.ts-cabinet-state{margin-left:0}
.ts-cabinet-state::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}
.ts-cabinet-state.busy{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.ts-cabinet-state.free{color:var(--tx-live);background:color-mix(in srgb,var(--tx-live) 13%,transparent)}
.ts-ops{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ts-ops button{height:52px;font-weight:600;background:var(--stripe)}.ts-ops .ti{width:20px;height:20px}
.ts-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ts-main.single{grid-template-columns:1fr}
.ts-main button{height:46px;font-weight:600}
.ts-main .shift-pause-desktop{border-color:var(--accent);color:var(--accent);background:transparent;width:auto}
.ts-main .shift-pause-desktop::before{content:'';width:18px;height:18px;background:currentColor;-webkit-mask:var(--ti) center/contain no-repeat;mask:var(--ti) center/contain no-repeat}
.ts-transfers{border-top:1px solid var(--border);padding-top:12px}
.ts-transfers .transfer-counter-desktop{display:grid!important;grid-template-columns:auto auto 1fr;align-items:center;gap:16px;padding:0!important;border:0;box-shadow:none;background:none;border-radius:0}
.ts-transfers .transfer-counter-desktop h3{font-size:14px;font-weight:600}
.ts-transfers .transfer-counter-desktop>.transfer-counter-controls{margin:0}
.ts-transfers .transfer-counter-controls button{width:40px;height:38px;font-size:20px;background:var(--stripe)}
.ts-transfers .transfer-counter-controls output{min-width:36px;font-weight:700}
.ts-transfers .transfer-counter-total{margin:0;justify-self:end;color:var(--muted)}.ts-transfers .transfer-counter-total strong{color:var(--fg);font-size:16px}
.ts-plans{display:grid;gap:14px;align-content:start}.ts-plans>h2{text-transform:uppercase;letter-spacing:.02em;font-size:15px}
.ts-plan{display:flex;gap:12px;align-items:flex-start;--bar:var(--tx-yellow)}.ts-plan+.ts-plan{border-top:1px solid var(--border);padding-top:14px}
.ts-plan.tier-bronze{--bar:var(--tx-bronze)}.ts-plan.tier-silver{--bar:#93a1b3}.ts-plan.tier-gold{--bar:var(--tx-gold)}
.ts-plan-icon{width:26px;height:26px;color:var(--muted);margin-top:2px}
.ts-plan-body{flex:1;display:grid;gap:8px;min-width:0}
.ts-plan-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.ts-plan-line h3{margin:0;font-size:14px;font-weight:600}
.ts-plan-line strong{font-size:22px;color:var(--bar)}.ts-plan-line>span{color:var(--muted);font-size:13px}
.ts-tier{display:inline-flex;align-items:center;gap:5px;color:var(--bar)!important;font-weight:600}.ts-tier .ti{width:15px;height:15px}
.ts-metrics{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;gap:12px}
.ts-metric{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);min-width:0}
.ts-metric>div{display:grid;gap:3px;min-width:0;flex:1}.ts-metric span{color:var(--muted);font-size:13px}.ts-metric strong{font-size:24px;white-space:nowrap}.ts-metric small{color:var(--muted);font-size:11px}
.ts-metric-icon{width:30px;height:30px;color:var(--muted)}.ts-metric-go{display:none;color:var(--muted)}
.ts-metric.pay{background:var(--tx-soft);border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.ts-metric.pay span,.ts-metric.pay .ts-metric-icon{color:var(--accent)}
.ts-shifts{display:grid;gap:10px;min-width:0}
.ts-shifts-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ts-shifts-head h2{font-size:22px;margin-right:auto}
.ts-filters{display:flex;gap:8px;flex-wrap:wrap}
.ts-select,.ts-search{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:0 10px;margin:0;color:var(--muted)}
.ts-select select,.ts-search input{border:0;background:transparent;padding:8px 2px;min-height:36px;color:var(--fg);box-shadow:none}.ts-select select:focus-visible,.ts-search input:focus-visible{outline:0}
.ts-select:focus-within,.ts-search:focus-within{outline:2px solid var(--accent);outline-offset:1px}
.ts-select-label{font-size:13px}.ts-search input{width:220px}
.ts-table-wrap{padding:0!important;overflow:auto}
.ts-table{width:100%;border-collapse:collapse;font-size:13px}
.ts-table th{text-align:left;font-weight:600;color:var(--muted);background:var(--stripe);padding:10px 14px;white-space:nowrap}
.ts-table th.number{text-align:right}
.ts-table td{padding:9px 14px;border-top:1px solid var(--border);white-space:nowrap}
.ts-table .number{text-align:right;font-variant-numeric:tabular-nums}
.ts-table tbody tr{cursor:pointer}.ts-table tbody tr:hover{background:var(--hover)}
.ts-comment{max-width:280px;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.ts-status{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;color:var(--tx-live);background:color-mix(in srgb,var(--tx-live) 12%,transparent);white-space:nowrap}
.ts-status::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.ts-status.live{color:var(--accent);background:var(--tx-soft)}.ts-status.warn{color:var(--tx-yellow);background:color-mix(in srgb,var(--tx-yellow) 13%,transparent)}.ts-status.bad{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}
.ts-cards,.ts-all-shifts{display:none!important}.ts-count{margin:0}
.ts-stats{padding:0!important}.ts-stats>summary,.ts-side>summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer}
.ts-stats>summary::-webkit-details-marker,.ts-side>summary::-webkit-details-marker,.tp-rules>summary::-webkit-details-marker,.tp-how>summary::-webkit-details-marker{display:none}
.ts-stats>summary{padding:14px 18px}.ts-stats>summary h2,.ts-side>summary h2{display:flex;align-items:center;gap:10px;font-size:16px;margin-right:auto}
.ts-side-icon{width:22px;height:22px;color:var(--tx-gold)}.ts-stats .ts-side-icon{color:var(--accent)}
.ts-chevron{color:var(--muted);transition:transform .15s}details[open]>summary .ts-chevron{transform:rotate(180deg)}
.ts-stats>div{padding:0 18px 16px}.ts-stats .employee-kpi-summary{margin:0}
.ts-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ts-side>summary{cursor:default;margin-bottom:12px}.ts-side .ts-chevron{display:none}
.ts-link{border:0!important;background:none!important;box-shadow:none!important;padding:0!important;color:var(--accent);font-size:13px;font-weight:600}
.ts-prize{display:flex;gap:14px;align-items:center}.ts-prize h3{margin:0 0 6px;font-size:16px}.ts-prize p{margin:4px 0;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}
.ts-prize-art{display:grid;place-items:center;width:74px;height:74px;flex:none;border-radius:12px;color:var(--tx-gold);background:linear-gradient(145deg,color-mix(in srgb,var(--tx-gold) 26%,transparent),color-mix(in srgb,var(--tx-gold) 6%,transparent));border:1px solid color-mix(in srgb,var(--tx-gold) 40%,transparent)}
.ts-prize-art .ti{width:40px;height:40px}.ts-fund b{color:var(--fg);font-size:17px}
.ts-rank{list-style:none;margin:0;padding:0;display:grid}
.ts-rank li{display:flex;align-items:center;gap:12px;padding:8px 6px;border-top:1px solid var(--border)}.ts-rank li:first-child{border-top:0}
.ts-rank li.own{background:var(--tx-soft);border-radius:8px}.ts-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-rank b{font-variant-numeric:tabular-nums}
.tx-medal,.tx-place{display:inline-grid;place-items:center;width:24px;height:24px;flex:none;border-radius:50%;font-size:12px;font-weight:700}
.tx-medal{color:#2b1d05;background:linear-gradient(145deg,#ffe28a,#d7a531)}.tx-medal.m2{background:linear-gradient(145deg,#f3f5f8,#a9b4c2)}.tx-medal.m3{background:linear-gradient(145deg,#f1b17e,#b06a33)}.tx-place{color:var(--muted)}
/* «Мотивация → Обзор» */
.tm-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tm-cap{text-transform:uppercase;letter-spacing:.03em;font-size:13px!important;color:var(--muted);margin-bottom:12px!important}
.tm-level{display:grid;gap:10px;align-content:start}
.tm-level progress::-webkit-progress-value{background:linear-gradient(90deg,var(--tx-bronze),var(--tx-gold))}.tm-level progress::-moz-progress-bar{background:linear-gradient(90deg,var(--tx-bronze),var(--tx-gold))}
.tm-level-row{display:flex;align-items:center;gap:16px}.tm-level-row strong{display:block;font-size:24px}.tm-level-row span{font-size:17px}
.tx-level-badge{width:62px;height:62px;flex:none}
.tm-sub{margin:0;color:var(--muted);font-size:13px}.tm-sub b{color:var(--fg)}
.tm-row{display:flex;align-items:center;gap:14px}.tm-row>div{display:grid;gap:3px;min-width:0}.tm-row strong{font-size:20px}.tm-row>div>span{color:var(--muted);font-size:13px}
.tm-box{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:10px;border:1px solid var(--border);background:var(--stripe);color:var(--muted)}.tm-box .ti{width:26px;height:26px}
.tm-place .tm-box{color:var(--fg)}
.tm-fact{display:grid;gap:2px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.tm-fact span{color:var(--muted);font-size:13px}.tm-fact b{font-size:22px}
.tm-place{display:grid;align-content:start;gap:14px}
.tm-outline{border-color:var(--accent)!important;color:var(--accent);background:transparent!important;font-weight:600;justify-self:start}.tm-outline:hover{background:var(--tx-soft)!important}
.tm-full{width:100%;margin-top:10px}
.tm-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.tm-head h2{display:flex;align-items:center;gap:10px;margin-right:auto!important}
.tm-link{border:0!important;background:none!important;box-shadow:none!important;padding:4px 0!important;color:var(--accent);font-weight:600;font-size:13px}.tm-center{width:100%}
.tm-bell{width:22px;height:22px;color:var(--accent)}
.tm-new{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--red);color:#fff;font-size:12px;font-weight:600}
.tm-note-list{list-style:none;margin:0;padding:0}
.tm-note-list li{display:grid;grid-template-columns:10px 28px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 4px;border-top:1px solid var(--border)}
.tm-note-list li[hidden]{display:none}
.tm-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.tm-note-list li.read .tm-dot{background:var(--border)}
.tm-note-icon{width:26px;height:26px}.tm-note-icon.alert{color:var(--red)}.tm-note-icon.award{color:var(--tx-gold)}.tm-note-icon.info{color:var(--muted)}.tm-note-list li.read .tm-note-icon{opacity:.6}
.tm-note-text{display:grid;gap:2px;min-width:0}.tm-note-text b{font-weight:600;overflow-wrap:anywhere}.tm-note-text span{color:var(--muted);font-size:13px}.tm-note-list li.read .tm-note-text b{font-weight:400;color:var(--muted)}
.tm-note-list time{color:var(--muted);font-size:13px;white-space:nowrap}
.tm-check{width:36px;height:32px;padding:0;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}
.tm-read{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;padding:6px 10px;border:1px solid var(--border);border-radius:7px}
.tm-empty{display:block!important;color:var(--muted);padding:12px 4px}
.tm-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.tm-cabinets h2{margin-bottom:10px!important}.tm-cabinets ul{list-style:none;margin:0;padding:0}
.tm-cabinets li{display:grid;grid-template-columns:10px minmax(80px,auto) 80px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 2px;border-top:1px solid var(--border)}
.tm-cab-dot{width:9px;height:9px;border-radius:50%;background:var(--muted)}.tm-cab-dot.ok{background:var(--tx-live)}.tm-cab-dot.warn{background:var(--tx-yellow)}
.tm-cab-percent{font-size:15px}.tm-cab-percent.ok{color:var(--tx-live)}.tm-cab-percent.warn{color:var(--tx-yellow)}
.tm-cab-state{display:grid;font-size:13px}.tm-cab-state small{color:var(--muted);font-size:12px}
.tm-top-badge{padding:3px 9px;border:1px solid var(--accent);border-radius:6px;color:var(--accent);font-size:12px;font-weight:700;white-space:nowrap}
.tm-cab-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}
.tm-cab-foot span{display:inline-flex;align-items:center;gap:6px}.tm-reliable{color:var(--tx-live)}.tm-reliable.bad{color:var(--red)}
.tm-switch{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.tm-switch button{border:0;border-radius:0;box-shadow:none;padding:6px 14px;font-size:13px;background:transparent}
.tm-switch button.primary{background:var(--accent);color:#fff}
.tm-rank-head,.tm-rank li{display:grid;grid-template-columns:44px minmax(0,1.4fr) minmax(0,1fr) 64px;align-items:center;gap:8px;padding:8px}
.tm-rank-head{color:var(--muted);font-size:12px;background:var(--stripe);border-radius:6px}.tm-rank-head span:last-child,.tm-rank b{text-align:right}
.tm-rank{list-style:none;margin:0;padding:0}.tm-rank li{border-top:1px solid var(--border)}
.tm-rank li.own{background:var(--tx-soft);border-radius:6px;color:var(--accent)}.tm-rank li.flash{outline:2px solid var(--accent)}
.tm-rank-name{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-rank-icon{color:var(--muted)}.tm-rank-title{color:var(--muted);font-size:13px}
.tm-recent-list{display:flex;gap:36px;flex-wrap:wrap}.tm-recent-list article{display:flex;align-items:center;gap:14px}
.tm-recent-list article>div{display:grid;gap:3px}.tm-recent-list article>div>span{color:var(--muted);font-size:13px}
.tm-recent-art{display:grid;place-items:center;width:52px;height:52px}.tm-recent-art img,.tm-recent-art svg{width:52px;height:52px}
/* «Уровень и достижения» */
.tp-level-grid{display:grid;grid-template-columns:1fr 2.3fr 1fr .8fr;border:1px solid var(--border);border-radius:10px}
.tp-cell{display:grid;gap:4px;align-content:center;padding:14px 18px}.tp-cell+.tp-cell{border-left:1px solid var(--border)}
.tp-cell>span{color:var(--muted);font-size:13px}.tp-cell strong{font-size:22px}.tp-bar p{margin:0;color:var(--muted)}.tp-bar p b{color:var(--fg);font-size:20px}
.tp-bar-row{display:flex;align-items:center;gap:12px}.tp-bar-row progress{flex:1}.tp-bar-row span{color:var(--muted)}
.tp-filter{display:flex;gap:8px;flex-wrap:wrap}.tp-filter button{font-size:13px;padding:7px 12px}
.tp-ach .achievement-badges{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.tp-ach .achievement-badge-wrap{display:block}.tp-ach .achievement-badge-wrap[hidden]{display:none}
.tp-ach .achievement-badge{display:grid;justify-items:center;width:100%;min-height:128px;align-content:center;background:var(--stripe);border-style:solid}
.tp-ach .achievement-name{font-size:13px;font-weight:600}.tp-ach .achievement-state{font-size:12px}.tp-ach .achievement-badge.earned .achievement-state{color:var(--tx-live)}
.tp-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.tp-rules>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:default;margin-bottom:6px}.tp-rules>summary .ts-chevron,.tp-phone-only{display:none}
.tp-rules h3{font-size:14px;margin:12px 0 4px}
.tp-rules-list{list-style:none;margin:0;padding:0}.tp-rules-list li{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:13px}
.tester-progress .plus,.tester-motivation .plus{color:var(--tx-live)}.tester-progress .minus,.tester-motivation .minus{color:var(--red)}
.tp-how{margin-top:10px;border-top:1px solid var(--border);padding-top:8px}.tp-how>summary{list-style:none;display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer}
.tp-history .tm-head select{min-height:34px;padding:6px 10px;font-size:13px}
.tp-history-head,.tp-history-list li{display:grid;grid-template-columns:150px 100px minmax(0,1fr);gap:10px;align-items:center;padding:9px 10px}
.tp-history-head{color:var(--muted);font-size:12px;background:var(--stripe);border-radius:6px}
.tp-history-list{list-style:none;margin:0;padding:0}.tp-history-list li{border-top:1px solid var(--border);font-size:13px}
.tp-history-list li>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-history-list time{color:var(--muted)}
.tp-note{display:flex;align-items:center;gap:8px;margin:14px 0 0;color:var(--muted);font-size:13px}
@media(max-width:1180px){.ts-top{grid-template-columns:1fr}.ts-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-bottom{grid-template-columns:1fr}.tm-cols,.tp-cols{grid-template-columns:1fr}.tp-ach .achievement-badges{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:720px){
 .tester-shift .panel,.tester-motivation .panel,.tester-progress .panel{padding:14px}
 .ts-head h1{font-size:24px}.ts-head-actions button{padding:8px 10px;font-size:13px}
 .ts-ops{gap:8px}.ts-ops button{flex-direction:column;gap:4px;height:66px;font-size:13px}
 .ts-start{margin-left:auto}
 /* Статус кабинета — в строке заголовка справа (как у владельца на скрине); время начала уходит строкой ниже.
    Сетка, а не перенос flex: при любом шрифте статус остаётся в первой строке, а узкие ячейки переносят слова внутри. */
 .ts-current-head{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:6px}.ts-current-head h2{grid-area:1/1;font-size:13px;letter-spacing:0}
 .ts-current-head .ts-live,.ts-cabinet-state{gap:5px;padding:3px 8px;font-size:11px}.ts-current-head .ts-live::before,.ts-cabinet-state::before{width:7px;height:7px;flex:none}
 .ts-current-head .ts-live{grid-area:1/2;justify-self:start}.ts-cabinet-state{grid-area:1/3;justify-self:end;margin-left:0}.ts-start+.ts-cabinet-state{margin-left:0}
 .ts-current-head .ts-start{grid-row:2;grid-column:1/-1;justify-self:end;margin-left:0}
 .ts-transfers .transfer-counter-desktop{grid-template-columns:1fr auto;gap:2px 10px}
 .ts-transfers .transfer-counter-desktop h3{grid-column:1}.ts-transfers .transfer-counter-desktop>.transfer-counter-controls{grid-column:2;grid-row:1/3}.ts-transfers .transfer-counter-total{grid-column:1;justify-self:start;font-size:13px}
 .ts-metrics{gap:10px}.ts-metric{padding:12px;gap:10px}.ts-metric strong{font-size:18px}.ts-metric-icon{width:24px;height:24px}.ts-metric-go{display:block;width:16px;height:16px}.ts-metric small{display:none}
 .ts-shifts-head h2{font-size:20px}.ts-filters{flex-wrap:nowrap;min-width:0}.ts-search,.ts-select-label{display:none}.ts-select select{max-width:118px;font-size:13px}
 .ts-table-wrap{display:none}
 .ts-cards{display:grid!important;gap:10px}.ts-all-shifts{display:flex!important;width:100%;border-color:var(--accent);color:var(--fg);background:var(--tx-soft)}.ts-all-shifts[hidden]{display:none!important}
 .ts-shift-card{display:flex!important;align-items:flex-start;gap:12px;cursor:pointer}.ts-card-icon{color:var(--muted);margin-top:2px}
 .ts-card-body{flex:1;display:grid;gap:4px;min-width:0}.ts-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.ts-card-time{color:var(--muted);font-size:13px}
 .ts-card-money{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.ts-card-money span{display:grid;color:var(--muted);font-size:12px}.ts-card-money span+span{border-left:1px solid var(--border);padding-left:12px}.ts-card-money b{color:var(--fg);font-size:17px}
 .ts-card-go{color:var(--muted);align-self:center}
 .ts-bottom{gap:10px}.ts-side{padding:0!important}.ts-side>summary{cursor:pointer;margin:0;padding:13px 14px}.ts-side .ts-chevron{display:block}.ts-side .ts-link{display:none}.ts-side-body{padding:0 14px 14px}
 .ts-prize-art{width:52px;height:52px}.ts-prize-art .ti{width:28px;height:28px}
 .tm-top{grid-template-columns:1fr 1fr;gap:10px}.tm-level{grid-column:1/-1}.tm-row{align-items:flex-start;gap:10px}.tm-row strong{font-size:17px}.tm-box{width:40px;height:40px}.tm-box .ti{width:22px;height:22px}
 .tm-note-list li{grid-template-columns:8px 24px minmax(0,1fr) auto;gap:4px 10px}.tm-note-list li>.tm-dot,.tm-note-list li>.tm-note-icon{grid-row:1/3}.tm-note-list time{grid-column:3;grid-row:2;font-size:12px}.tm-note-list li>:last-child{grid-column:4;grid-row:1/3}.tm-wide-only{display:none}
 .tm-read{padding:5px 8px;font-size:12px}
 .tm-cabinets li{grid-template-columns:10px minmax(0,1fr) auto;gap:4px 10px}.tm-cab-dot{grid-row:1}.tm-cab-name{grid-column:2}.tm-cab-percent{grid-column:3}.tm-cab-state{grid-column:2}.tm-top-badge{grid-column:3;justify-self:end}
 .tm-rank-head,.tm-rank li{grid-template-columns:36px minmax(0,1fr) 56px}.tm-rank-title,.tm-rank-head .tm-wide-only{display:none}
 .tm-recent-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tm-recent-list article{flex-direction:column;align-items:flex-start;gap:6px}
 .tp-level-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.tp-cell+.tp-cell{border-left:0}.tp-cell{padding:12px}
 .tp-cell:nth-child(1){grid-area:1/1}.tp-bar{grid-area:2/1;padding-top:0}.tp-cell:nth-child(3){grid-area:1/2;border-left:1px solid var(--border)}.tp-cell:nth-child(4){grid-area:2/2;border-left:1px solid var(--border)}
 .tp-filter{width:100%}.tp-filter button{flex:1;padding:7px 4px;font-size:12px}
 .tp-ach .achievement-badges{grid-template-columns:1fr 1fr}
 .tp-ach .achievement-badge{min-height:0;grid-template-columns:44px minmax(0,1fr);justify-items:start;align-items:center;text-align:left;gap:2px 10px;padding:10px}
 .tp-ach .achievement-art{grid-row:1/3;width:44px;height:44px}.tp-ach .achievement-art img,.tp-ach .achievement-art svg{width:44px;height:44px}
 .tp-rules{padding:0!important}.tp-rules>summary{cursor:pointer;margin:0;padding:14px}.tp-rules>summary .ts-chevron,.tp-phone-only{display:block}.tp-rules>:not(summary){margin-left:14px;margin-right:14px}.tp-rules>:last-child{margin-bottom:14px}
 .tp-history-head{display:none}.tp-history-list li{grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:9px 4px}.tp-history-list time{grid-column:1}.tp-history-list li>span{grid-column:1;grid-row:2}.tp-history-list b{grid-column:2;grid-row:1/3;font-size:15px}
}
.ts-plan-line strong.ts-none{font-size:14px;font-weight:600;color:var(--muted)}
.tm-head .tm-link{gap:4px}.tm-head .tm-link .ti{margin-right:4px}
@media(max-width:720px){.tp-cell strong{font-size:18px;overflow-wrap:anywhere}}
/* 0.3.24 — правки владельца для Садмина */
.ts-metric>.ts-metric-side{flex:none;display:grid;gap:3px;align-self:stretch;align-content:center;padding-left:16px;margin-left:auto;border-left:1px solid var(--border);min-width:110px}
.ts-metric-side span{color:var(--muted);font-size:12px}.ts-metric-side b{font-size:18px}
.ts-metric.pay .ts-metric-side{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}
.ts-stats{display:none}
.ts-plans-head{display:flex;align-items:center;gap:8px}.ts-plans-head h2{margin-right:auto!important;text-transform:none!important;letter-spacing:0!important;font-size:17px!important}
.ts-cabinet-rate{display:inline-flex;align-items:center;gap:8px}
body.employee-ui .work-section-dialog{width:min(480px,calc(100vw - 16px))}
body.employee-ui .work-section-dialog .dialog-head{padding:12px 16px}body.employee-ui .work-section-dialog .dialog-head h2{font-size:16px}
body.employee-ui .work-section-dialog .dialog-body{padding:12px 16px}
body.employee-ui .work-section-dialog form{display:grid;gap:8px;max-width:none}
body.employee-ui .work-section-dialog form>p{margin:0;font-size:12px;color:var(--muted)}
body.employee-ui .work-section-dialog .work-section-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body.employee-ui .work-section-dialog label{font-size:12px;gap:3px}
body.employee-ui .work-section-dialog input,body.employee-ui .work-section-dialog select{min-height:34px;padding:6px 9px}
body.employee-ui .work-section-dialog .form-actions{margin:0}.work-section-dialog .form-error:empty{display:none}
body.employee-ui .work-section-dialog #reload-work-section{display:none}
body.employee-ui .shift-detail-dialog{width:min(480px,calc(100vw - 16px))}
body.employee-ui .shift-detail-dialog .dialog-head{padding:12px 16px}body.employee-ui .shift-detail-dialog .dialog-head h2{font-size:16px}
body.employee-ui .shift-detail-dialog .dialog-body{padding:12px 16px;gap:8px}
body.employee-ui .shift-detail-dialog .detail-info{font-size:12px;gap:4px 12px}
body.employee-ui .shift-detail-dialog th,body.employee-ui .shift-detail-dialog td{padding:4px 10px;font-size:12px}
body.employee-ui .shift-detail-dialog h3{font-size:13px}body.employee-ui .shift-detail-dialog .comment-text{margin:4px 0;font-size:12px}
body.employee-ui .shift-detail-dialog textarea{min-height:56px;height:56px;font-size:13px}
body.employee-ui .shift-detail-dialog label{font-size:12px}
body.employee-ui .shift-detail-dialog button{padding:6px 12px;min-height:32px;font-size:13px}
body.employee-ui .shift-detail-dialog .toolbar{gap:8px;margin:0}
body.employee-ui .tip-dialog{width:min(340px,calc(100vw - 16px))}
body.employee-ui .tip-dialog .dialog-head{padding:12px 16px}body.employee-ui .tip-dialog .dialog-head h2{font-size:16px}
body.employee-ui .tip-dialog .dialog-body{padding:12px 16px}body.employee-ui .tip-dialog form{display:grid;gap:10px;max-width:none}body.employee-ui .tip-dialog .form-actions{margin:0}
.tester-journal{padding:16px 18px!important;border-radius:12px;display:grid;gap:12px;min-width:0}
.tester-journal-tabs .journal-tabs{display:flex;gap:6px;flex-wrap:wrap;border:0;margin:0}
.tester-journal-tabs .journal-tabs button{border-radius:8px;padding:7px 14px;font-size:13px;background:var(--stripe)}
.tester-journal-tabs .journal-tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:#fff}
.tester-journal .embedded-journal .dialog-body{padding:0;display:grid;gap:10px;min-width:0}
.tester-journal table{font-size:13px}.tester-journal .filter-form{margin:0}

@media(max-width:720px){
 .ts-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 14px 14px}
 .ts-stats-grid>div{display:grid;gap:2px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--stripe)}
 .ts-stats-grid span{color:var(--muted);font-size:12px}.ts-stats-grid b{font-size:17px}
 .ts-plans-head h2{font-size:15px!important}
 body.employee-ui .work-section-dialog .work-section-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tester-journal{padding:12px!important}
}
@media(min-width:721px) and (max-width:1400px){.ts-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 18px 16px}.ts-stats-grid>div{display:grid;gap:2px}.ts-stats-grid span{color:var(--muted);font-size:12px}.ts-stats-grid b{font-size:18px}}
.ts-metric span,.ts-metric-side span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts-metric>div{min-width:0}
body.employee-ui .shift-detail-dialog .edit-cell{min-height:0!important;height:auto;padding:1px 6px!important;font-size:12px!important;border:0;background:transparent;box-shadow:none}body.employee-ui .shift-detail-dialog .table-scroll{max-height:none}
.ts-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.ts-metric>.ts-metric-side{min-width:0;flex:0 1 auto}
@media(max-width:1400px){
 .ts-metric{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;align-items:center}
 .ts-metric>.ts-metric-icon{grid-row:1/3}
 .ts-metric>.ts-metric-side{grid-column:2;margin:0;padding:6px 0 0;border-left:0;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:baseline;gap:8px}
 .ts-metric.pay>.ts-metric-side{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}
 .ts-metric>.ts-metric-side b{font-size:15px;white-space:nowrap}
}
@media(max-width:1180px){.ts-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.ts-metric>.ts-metric-icon{grid-row:1;align-self:start}.ts-metric>.ts-metric-side{grid-column:1/-1;display:grid;justify-content:start;gap:1px}.ts-metric>.ts-metric-side b{font-size:15px}}
/* Карточки «по два»: основной и парный показатель поровну (ПК). */
@media(min-width:1401px){.ts-metric{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:14px}.ts-metric>.ts-metric-side{margin:0;padding-left:14px}}
@media(max-width:720px){.ts-filters{display:none}}
/* «Д+Ч+Л»: слагаемые столбиком мелко, итог крупно; узкий экран — только итог. */
.ts-metric-side b:has(.ts-parts){display:flex;align-items:center;gap:10px}
.ts-parts{display:grid;justify-items:end;font-size:11px;line-height:1.25;color:var(--muted);font-weight:500}.ts-parts i{font-style:normal;white-space:nowrap;font-variant-numeric:tabular-nums}
.ts-total{font-size:20px;white-space:nowrap}
.ts-narrow-label{display:none}
@media(max-width:1400px){.ts-parts{display:none}.ts-total{font-size:15px}.ts-wide-label{display:none}.ts-narrow-label{display:inline}}
.ts-metric strong:has(.ts-parts){display:flex;align-items:center;gap:10px}.ts-metric strong .ts-total{font-size:24px}
@media(max-width:1400px){.ts-metric strong .ts-total{font-size:18px}}
.ts-metric-side .ts-total{font-size:24px}@media(max-width:1400px){.ts-metric-side .ts-total{font-size:15px}}
.icon-settings-dialog{width:min(720px,calc(100vw - 24px))}
.icon-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.icon-setting{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;min-width:0}
.icon-setting-preview{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:8px;background:var(--stripe);color:var(--fg)}
.icon-setting-preview .ti{width:22px;height:22px}.icon-setting-preview img{width:32px;height:32px;object-fit:contain}
.icon-setting-name{display:grid;flex:1;min-width:0}.icon-setting-name b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-setting-name small{color:var(--muted);font-size:11px}
.icon-setting-upload{margin:0;cursor:pointer}.icon-setting-upload span,.icon-setting button{display:inline-block;padding:5px 9px;font-size:12px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}
.icon-setting-upload:hover span{background:var(--hover)}
@media(max-width:720px){.icon-settings{grid-template-columns:1fr}}
.ts-metric.pay .ts-parts{display:grid;gap:2px;justify-items:stretch;font-size:13px;color:var(--fg)}
.ts-metric.pay .ts-parts i{display:flex;justify-content:space-between;gap:12px}.ts-metric.pay .ts-parts em{font-style:normal;color:var(--muted)}
.ts-metric.pay .ts-metric-side>span:empty{display:none}
@media(max-width:1400px){.ts-metric.pay>.ts-metric-side{display:none}}
@media(min-width:1401px){.ts-metric>.ts-metric-side span{font-size:13px}.ts-metric>.ts-metric-side b{font-size:24px}}
/* Боковая панель Садмина */
.ps-tester{display:grid;gap:8px}.ps-tester h2{display:flex;align-items:center;gap:4px;margin:0}.ps-tester h3{margin:4px 0 0}
.ps-level{display:grid;gap:5px}.ps-level-head{display:flex;align-items:center;justify-content:space-between;gap:6px}
.ps-place{padding:2px 7px;border-radius:999px;font-size:11px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);white-space:nowrap}
.ps-tester progress{appearance:none;-webkit-appearance:none;width:100%;height:6px;border:0;border-radius:4px;overflow:hidden;background:var(--border)}
.ps-tester progress::-webkit-progress-bar{background:var(--border)}.ps-tester progress::-webkit-progress-value{background:linear-gradient(90deg,var(--tx-bronze),var(--tx-gold))}.ps-tester progress::-moz-progress-bar{background:linear-gradient(90deg,var(--tx-bronze),var(--tx-gold))}
.ps-level small,.ps-goal{color:var(--muted);font-size:11px}
.ps-tester .achievement-badges.compact{margin:0;max-height:none}
.ps-tiles{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.ps-tile{display:grid;gap:1px;padding:6px 7px;border:1px solid var(--border);border-radius:8px;background:var(--stripe);min-width:0}
.ps-tile span{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:10px;white-space:nowrap}.ps-tile b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trend-arrow.up{color:var(--tx-live)}.trend-arrow.down{color:var(--red)}
.ps-records{display:grid;gap:6px}.ps-record{display:flex;align-items:flex-start;gap:7px;font-size:12px}.ps-record .ti{width:16px;height:16px;color:var(--tx-gold);margin-top:2px}
.ps-record span{display:grid;min-width:0}.ps-record small{color:var(--muted);font-size:10px}
/* Карточки показателей v2: две равные половины, у каждой иконка + подпись + значение. */
.ts-metrics>.ts-metric{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;padding:14px 16px;align-items:center}
.ts-metrics>.ts-metric>.ts-metric-main,.ts-metrics>.ts-metric>.ts-metric-side{display:flex;align-items:center;gap:12px;min-width:0;margin:0;padding:0;border:0;flex:none}
.ts-metrics>.ts-metric>.ts-metric-side{padding-left:14px;border-left:1px solid var(--border)}
.ts-metrics>.ts-metric.pay>.ts-metric-side{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}
.ts-metrics>.ts-metric .ts-metric-main>div,.ts-metrics>.ts-metric .ts-metric-side>div{display:grid;gap:3px;min-width:0}
.ts-metrics>.ts-metric .ts-metric-icon{display:block;width:26px;height:26px;flex:none;color:var(--muted)}
.ts-metrics>.ts-metric.pay .ts-metric-main .ts-metric-icon{color:var(--accent)}
.ts-metrics>.ts-metric span{font-size:13px}.ts-metrics>.ts-metric strong,.ts-metrics>.ts-metric .ts-metric-side b{font-size:22px;white-space:nowrap}
.ts-metrics>.ts-metric.pay .ts-metric-side>div{width:100%}
.ts-metrics>.ts-metric.pay .ts-parts{display:grid;gap:2px;font-size:13px;color:var(--fg)}
.ts-metrics>.ts-metric.pay .ts-metric-side b{font-size:13px}
@media(max-width:1400px){
 .ts-metrics>.ts-metric{grid-template-columns:1fr;gap:8px;padding:12px}
 .ts-metrics>.ts-metric>.ts-metric-side{display:flex!important;padding:8px 0 0;border-left:0;border-top:1px solid var(--border)}
 .ts-metrics>.ts-metric .ts-metric-icon{width:22px;height:22px}
 .ts-metrics>.ts-metric strong,.ts-metrics>.ts-metric .ts-metric-side b{font-size:19px}
}
@media(max-width:720px){
 .ts-metrics>.ts-metric.pay{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
 .ts-metrics>.ts-metric.pay>.ts-metric-side{padding:0 0 0 12px;border-top:0;border-left:1px solid color-mix(in srgb,var(--accent) 35%,var(--border))}
 .ts-metrics>.ts-metric.pay strong{font-size:26px}
 .ts-metrics>.ts-metric span{font-size:12px}
}
.ts-metrics>.ts-metric>.ts-metric-main,.ts-metrics>.ts-metric>.ts-metric-side{grid-column:auto!important;grid-row:auto!important}
@media(max-width:720px){
 .ts-metrics>.ts-metric:last-child:nth-child(even){grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .ts-metrics>.ts-metric:last-child:nth-child(even)>.ts-metric-side{padding:0 0 0 12px;border-top:0;border-left:1px solid var(--border)}
}
/* «История» во вкладке «Мотивации»: фильтры одной строкой, заголовки сортировки без рамок. */
.tester-journal .filter-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 10px;margin:0;max-width:none;grid-template-columns:none}
.tester-journal .filter-form>label{flex:0 1 220px;min-width:160px;margin:0;font-size:12px;gap:4px}
.tester-journal .filter-form select,.tester-journal .filter-form input:not([type=checkbox]),.tester-journal .filter-form .range-picker-button,.tester-journal .filter-form button{min-height:36px;padding:6px 10px;font-size:13px}
.tester-journal .filter-form>button,.tester-journal .filter-form .form-actions{flex:0 0 auto;width:auto;margin:0}
.tester-journal .filter-form .form-error:empty,.tester-journal .filter-form>.footnote:empty{display:none}
.tester-journal th button{border:0;background:none;box-shadow:none;padding:0;min-height:0;font-weight:600;color:inherit}
@media(max-width:720px){.tester-journal .filter-form>label{flex:1 1 140px;min-width:0}}
/* Радмин (manager-preview.js): «Смены сотрудников» — одна таблица, карточки на телефоне */
body.manager-ui-preview .shift-page-heading h1{font-size:26px;margin:0}
body.manager-ui-preview .metrics .rm-metric{display:flex;align-items:center;gap:12px}
.rm-metric-icon{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:50%;background:var(--stripe);color:var(--accent)}
.rm-metric-icon .ti{width:20px;height:20px}.rm-metric-icon.green{color:var(--green)}.rm-metric-icon.red{color:var(--red)}
body.manager-ui-preview .rm-metric>div{display:grid;gap:2px;min-width:0}
body.manager-ui-preview .admin-cabinets .cabinet-group-title{display:flex;align-items:center;gap:10px}
.rm-collapse{display:none;margin-left:auto;min-height:0;height:26px;padding:0 8px;font-size:12px;border:0;background:none;color:var(--muted);gap:4px;align-items:center}
.rm-collapse[aria-expanded=false] .ti{transform:rotate(-90deg)}
.rm-bar{display:flex;align-items:center;gap:10px;margin:6px 0 4px}.rm-bar progress{flex:1;margin:0!important;min-width:0}
.rm-bar span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.rm-journal-head{display:flex;align-items:center;gap:10px;margin:18px 0 8px}.rm-journal-head h2{margin:0;font-size:18px}.rm-journal-head small{font-size:15px;font-weight:500;color:var(--muted)}
.rm-search{display:flex;align-items:center;gap:8px;flex:1 1 260px;min-width:0;height:28px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--muted)}
.rm-search input{border:0;background:none;outline:0;min-height:0;height:26px;padding:0;width:100%;font-size:12px;color:var(--fg)}
.rm-search .ti{width:15px;height:15px}
.rm-search-toggle{display:none}
.rm-cards{display:none}
.rm-more{display:flex;align-items:center;gap:14px;margin:10px 0 0;color:var(--muted);font-size:13px}.rm-more button{min-height:0;height:32px}
body.manager-ui-preview .admin-shifts .shift-filters{align-items:center}
@media(max-width:720px){
 body.manager-ui-preview .shift-page-heading h1{font-size:22px;width:100%}
 body.manager-ui-preview .metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 body.manager-ui-preview .metrics .rm-metric{padding:10px;gap:9px;border:1px solid var(--border);border-radius:10px}
 body.manager-ui-preview .rm-metric-icon{width:32px;height:32px}.rm-metric-icon .ti{width:17px;height:17px}
 body.manager-ui-preview .rm-metric span[data-phone-text]{font-size:0}body.manager-ui-preview .rm-metric span[data-phone-text]::after{content:attr(data-phone-text);font-size:12px}
 body.manager-ui-preview .rm-metric strong{font-size:16px}
 .rm-collapse{display:inline-flex}
 body.manager-ui-preview .admin-cabinets.rm-collapsed .team-forecasts,body.manager-ui-preview .admin-cabinets.rm-collapsed .cabinet-chips{display:none}
 body.manager-ui-preview .admin-cabinets .team-forecasts{grid-template-columns:1fr 1fr;gap:8px}
 body.manager-ui-preview .admin-cabinets .team-card{padding:10px}
 body.manager-ui-preview .admin-cabinets .team-card h3{font-size:14px}
 body.manager-ui-preview .admin-cabinets .team-card p{font-size:12px;margin:2px 0}
 body.manager-ui-preview .admin-cabinets .team-card-forecast{display:none}
 body.manager-ui-preview .admin-cabinets .goal-stage-label{font-size:11px}
 .rm-journal-head{margin:14px 0 6px}
 body.manager-ui-preview .admin-shifts{background:none;border:0;box-shadow:none;padding:0}
 body.manager-ui-preview .admin-shifts .table-scroll{display:none}
 body.manager-ui-preview .admin-shifts .shift-filters{display:grid;grid-template-columns:1fr 1fr auto;padding:0;gap:6px}
 body.manager-ui-preview .admin-shifts .shift-filters select[data-shift-filter=account]{display:none}
 body.manager-ui-preview .admin-shifts .shift-filters select{max-width:none;width:100%;height:34px;font-size:13px}
 .shift-filters .rm-search{display:none;grid-column:1/-1;height:34px}.rm-search-open .rm-search{display:flex}
 .rm-search-toggle{display:grid;place-items:center;width:34px;height:34px;min-height:0;padding:0}
 .rm-cards{display:grid;gap:8px}
 .rm-day{margin:8px 0 0;font-size:14px;font-weight:600}
 .rm-card{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(0,1.05fr) 14px;align-items:center;gap:9px;width:100%;min-height:0;padding:10px;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--fg);font-weight:400}
 .rm-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--stripe);color:var(--muted)}
 .rm-who{display:grid;gap:2px;min-width:0}.rm-who b{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14px}.rm-who em{font-style:normal;font-size:10px}
 .rm-who small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .rm-sums{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;padding-left:9px;border-left:1px solid var(--border)}
 .rm-sums>span{display:grid;min-width:0}.rm-sums small{font-size:10px;color:var(--muted);white-space:nowrap}.rm-sums b{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
 .rm-go{width:14px;height:14px;color:var(--muted)}
 .rm-more{justify-content:center;flex-direction:column;gap:6px}.rm-more button{width:100%;height:38px}
}
.rm-metric-icon{font-style:normal}
@media(max-width:720px){body.manager-ui-preview .metrics{padding:0;border:0;background:none;box-shadow:none}body.manager-ui-preview .metrics .rm-metric{background:var(--surface);min-height:0}body.manager-ui-preview .metrics .rm-metric span{line-height:1.2}}
/* Радмин: «Мотивация» — Обзор · Планы · Премии · Учёт */
body.manager-ui-preview .motivation-tabs{display:inline-flex;gap:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface);flex-wrap:nowrap}
body.manager-ui-preview .motivation-tabs button{border:0;border-radius:0;min-width:120px;background:none;font-weight:600}
body.manager-ui-preview .motivation-tabs button.primary{background:var(--accent);color:#fff}
.rm-tiles{display:grid;gap:12px;margin:12px 0}.rm-tiles.three{grid-template-columns:repeat(3,minmax(0,1fr))}.rm-tiles.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.rm-tile{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.rm-tile>div{display:grid;gap:2px;min-width:0}.rm-tile span{color:var(--muted);font-size:13px}.rm-tile strong{font-size:22px}
.rm-metric-icon.yellow{color:var(--tx-gold)}
.rm-chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;background:var(--stripe);color:var(--muted);white-space:nowrap}
.rm-chip.ok{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}
.rm-chip.warn{background:color-mix(in srgb,var(--tx-gold) 18%,transparent);color:var(--tx-gold)}
.rm-chip.bad{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red)}
.rm-chip.blue{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-size:12px;padding:4px 12px}
.rm-muted{color:var(--muted)}.rm-red{color:var(--red)}
.rm-dot{display:inline-block;width:11px;height:11px;border-radius:50%;flex:none;background:var(--muted);vertical-align:-1px}
.rm-dot.green{background:var(--green)}.rm-dot.yellow,.rm-dot.gold{background:var(--tx-gold)}.rm-dot.red{background:var(--red)}.rm-dot.bronze{background:var(--tx-bronze)}.rm-dot.silver{background:#b9bec8}
.rm-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.rm-head h2{margin:0;font-size:18px;margin-right:auto}
.rm-primary [data-action]{background:var(--accent);color:#fff;border-color:var(--accent)}
.rm-outline [data-action]{border-color:var(--accent);color:var(--accent);background:none}
.rm-attention{border-color:color-mix(in srgb,var(--tx-gold) 55%,var(--border));background:color-mix(in srgb,var(--tx-gold) 6%,var(--surface))}
.rm-attention h2{display:flex;align-items:center;gap:10px;font-size:17px;margin:0 0 8px}.rm-attention h2>.ti{color:var(--tx-gold);width:22px;height:22px}
.rm-attention-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(170px,1.3fr) minmax(130px,1fr) minmax(170px,1.4fr) auto auto;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border)}
.rm-attention-row .ti{width:15px;height:15px;vertical-align:-2px}
.rm-overview-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px;align-items:start;margin:12px 0}
.rm-cab-row{display:grid;grid-template-columns:12px minmax(100px,1fr) 80px auto auto;grid-template-areas:"dot name percent chip menu" ". recovery recovery recovery recovery";align-items:center;gap:4px 12px;padding:12px 0;border-top:1px solid var(--border)}
.rm-cab-row>.rm-dot{grid-area:dot}.rm-cab-name{grid-area:name;display:grid}.rm-cab-name small{color:var(--muted)}
.rm-cab-percent{grid-area:percent;font-size:18px}.rm-cab-percent.green{color:var(--green)}.rm-cab-percent.yellow{color:var(--tx-gold)}.rm-cab-percent.red{color:var(--red)}
.rm-cab-recovery{grid-area:recovery;font-size:13px}.rm-cab-row>.rm-chip{grid-area:chip}.rm-cab-row>.rm-menu{grid-area:menu}
.rm-menu{position:relative}.rm-menu summary{list-style:none;cursor:pointer;color:var(--accent);font-size:13px;display:flex;align-items:center;gap:3px;white-space:nowrap}.rm-menu summary::-webkit-details-marker{display:none}
.rm-menu summary .ti{width:14px;height:14px}
.rm-menu>div{position:absolute;right:0;top:calc(100% + 6px);z-index:5;display:grid;gap:6px;min-width:200px;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}
.rm-menu>div button{justify-content:flex-start;text-align:left}
.rm-switch{display:inline-flex;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:var(--surface)}
.rm-switch button{border:0;border-radius:0;min-height:0;height:32px;padding:0 16px;background:none;font-weight:600}
.rm-switch button[aria-selected=true]{background:var(--accent);color:#fff}
.rm-criterion{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.rm-criterion select{min-height:0;height:32px;width:auto}
.rm-rating .rm-head h2{margin-right:0}.rm-rating .rm-switch{margin-left:auto}
.rm-place{color:var(--accent);font-weight:700}
.rm-wide{width:100%;margin-top:8px;border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.rm-participation .rm-head h2{margin-right:0}.rm-participation .rm-head>small{margin-right:auto}
.rm-participation .rm-search{flex:0 1 220px;height:32px}.rm-participation select{width:auto;min-height:0;height:32px}
.rm-person{display:grid;grid-template-columns:34px minmax(140px,1fr) minmax(140px,1.4fr) auto auto;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--border)}
.rm-person[hidden]{display:none}.rm-person .rm-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--stripe);color:var(--muted)}
.rm-empty{display:grid;justify-items:center;gap:8px;padding:16px;color:var(--muted)}.rm-empty[hidden]{display:none}.rm-empty>.ti{width:30px;height:30px}.rm-empty p{margin:0}
.rm-fold{margin:12px 0}.rm-fold>summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none}.rm-fold>summary::-webkit-details-marker{display:none}
.rm-fold>summary span{display:grid}.rm-fold>summary small{color:var(--muted);font-weight:400}
.rm-fold-icon{transition:transform .15s}.rm-fold:not([open])>summary .ti-down.rm-fold-icon{transform:rotate(-90deg)}
.rm-fold[open]>summary{margin-bottom:10px}
.rm-note{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);font-size:13px}
.rm-note .ti,.rm-plan .footnote .ti,.rm-cabinets .footnote .ti,.rm-participation .footnote .ti{width:15px;height:15px;vertical-align:-3px}
.rm-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.rm-plan{border:1px solid var(--border);border-radius:10px;margin:8px 0;padding:0 12px}
.rm-plan>summary{display:flex;align-items:center;gap:12px;min-height:54px;cursor:pointer;list-style:none}.rm-plan>summary::-webkit-details-marker{display:none}
.rm-plan>summary b{font-size:15px}.rm-plan>summary .rm-muted{margin-left:auto;font-size:13px}
.rm-plan[open]>summary .rm-fold-icon{transform:rotate(90deg)}
.rm-levels{width:100%;border-collapse:collapse;margin:4px 0 8px;font-size:14px}.rm-levels th{text-align:left;color:var(--muted);font-weight:500;font-size:12px}.rm-levels :is(th,td){padding:7px 10px;border-top:1px solid var(--border)}
.rm-plan-result{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--border)}
.rm-plan-result>div{display:grid;gap:3px;align-content:start}.rm-plan-result span{color:var(--muted);font-size:12px}.rm-plan-result strong{font-size:20px}.rm-plan-result progress{width:100%}
.rm-sub-switch{margin:4px 0 12px}
.rm-bonus-calculator .bonus-calculator h2{font-size:18px}
body.manager-ui-preview .bonus-calculator .metrics .rm-metric{display:flex;align-items:center;gap:12px}
body.manager-ui-preview .bonus-calculator .rm-metric>div{display:grid;gap:2px}
body.manager-ui-preview .bonus-calculator .rm-metric strong{color:var(--green)}
.rm-closing{margin:12px 0}.rm-closing h2{font-size:18px;margin:0 0 12px}
.rm-steps{display:flex;align-items:center;gap:12px;list-style:none;padding:0;margin:0 0 12px}
.rm-steps li{display:flex;align-items:center;gap:10px;flex:1;color:var(--muted);font-weight:600}.rm-steps li:not(:last-child)::after{content:'';flex:1;height:2px;background:var(--border)}
.rm-steps b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--stripe);color:var(--muted)}
.rm-steps li.active{color:var(--fg)}.rm-steps li.active b{background:var(--accent);color:#fff}
.rm-closing-body{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rm-closing-body>p{flex:1 1 320px;display:flex;align-items:center;gap:10px;margin:0;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--stripe)}
.rm-closing-body>p span{display:grid}.rm-closing-body>p small{color:var(--muted)}.rm-closing-body>p>.ti{color:var(--accent);width:20px;height:20px}
.rm-closing-actions{display:flex;gap:8px;flex-wrap:wrap}.rm-closing-actions button{display:inline-flex;align-items:center;gap:6px}
body.manager-ui-preview .ledger-head button{display:inline-flex;align-items:center;gap:6px}
.rm-ledger-switch{display:none}
body.manager-ui-preview .ledger-panel .panel-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
body.manager-ui-preview .ledger-panel .panel-title .rm-search{flex:0 1 220px;height:32px}
.rm-phone-only{display:none}
@media(max-width:1100px){.rm-overview-grid,.rm-plan-grid{grid-template-columns:1fr}.rm-attention-row{grid-template-columns:1fr 1fr;}.rm-tiles.four{grid-template-columns:1fr 1fr}}
@media(max-width:720px){
 body.manager-ui-preview .motivation-tabs{display:grid;grid-template-columns:repeat(5,1fr);width:100%}
 body.manager-ui-preview .motivation-tabs button{min-width:0;padding:0 4px}
 .rm-tiles.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.rm-tiles.four{grid-template-columns:1fr 1fr;gap:8px}
 .rm-tile{padding:10px;gap:8px}.rm-tile strong{font-size:18px}.rm-tile span{font-size:12px}.rm-tile .rm-metric-icon{width:28px;height:28px}.rm-tiles.three .rm-tile{flex-direction:column;align-items:flex-start}
 .rm-phone-only{display:flex}.rm-phone-only.rm-switch{display:grid;grid-template-columns:1fr 1fr;width:100%;margin:8px 0}.rm-phone-only.rm-switch button{height:40px}
 .rm-plan-grid[data-rm-month-view=current] [data-rm-slot=next],.rm-plan-grid[data-rm-month-view=next] [data-rm-slot=current]{display:none}
 .rm-plan-column{padding:0;border:0;background:none;box-shadow:none}.rm-plan-column>.rm-head{justify-content:center}.rm-plan-column>.rm-head h2{display:none}.rm-plan-column>.rm-head .rm-chip{background:none;color:var(--fg);font-size:15px}
 .rm-plan{background:var(--surface)}.rm-plan>summary{flex-wrap:wrap;gap:4px 10px;padding:8px 0}.rm-plan>summary .rm-muted{margin-left:0;width:100%;order:3}.rm-plan>summary .rm-outline{margin-left:auto}
 .rm-plan-result{grid-template-columns:1fr 1fr 1fr;gap:8px}.rm-plan-result strong{font-size:16px}
 .rm-attention-row{grid-template-columns:1fr auto;gap:6px}
 .rm-cab-row{grid-template-columns:12px minmax(0,1fr) auto;grid-template-areas:"dot name percent" ". recovery recovery" ". chip menu"}
 .rm-cab-row>.rm-chip{justify-self:start}.rm-menu>div{right:0}
 .rm-rating .rm-switch{margin-left:0}.rm-rating .rm-head{gap:8px}
 .rm-participation .rm-head .rm-search{flex:1 1 100%;display:flex}.rm-participation .rm-head select{flex:1}
 .rm-person{grid-template-columns:32px minmax(0,1fr) auto;gap:4px 10px}.rm-person>.rm-muted{grid-column:2/-1;grid-row:2;font-size:12px}.rm-person>span:last-child{grid-column:1/-1}
 .rm-steps{display:none}.rm-closing-actions{width:100%;display:grid}.rm-closing-actions button{justify-content:center;height:42px}
 .rm-ledger-switch{display:grid}
 body.manager-ui-preview [data-rm-ledger-view=pay] .expense-operations,body.manager-ui-preview [data-rm-ledger-view=exp] .compact-balances{display:none}
 body.manager-ui-preview .ledger-columns{display:block}
 body.manager-ui-preview .compact-balances .table-scroll{display:none}
 .rm-balance-cards{display:grid;gap:8px;margin-top:8px}
 .rm-balance-card{display:grid;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:8px;width:100%;min-height:0;padding:10px;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--fg);font-weight:400}
 .rm-balance-card>span:first-child{display:grid;gap:2px;min-width:0}.rm-balance-card small{font-size:11px;color:var(--muted)}.rm-balance-card em{font-style:normal;color:var(--accent)}
 .rm-balance-out{display:grid;justify-items:end}.rm-balance-out b{font-size:15px}
 body.manager-ui-preview .ledger-panel .panel-title .rm-search{flex:1 1 100%;display:flex}
 .rm-dcl{color:var(--fg)}
}
.rm-cabinets,.rm-rating,.rm-participation,.rm-plan-column,.rm-attention,.rm-fold,.rm-closing{padding:14px 16px}@media(max-width:720px){.rm-cabinets,.rm-rating,.rm-participation,.rm-attention,.rm-fold,.rm-closing{padding:12px}}
body.manager-ui-preview .ledger-metrics .rm-metric{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px}body.manager-ui-preview .ledger-metrics .rm-metric>.ledger-delta{grid-column:2;margin:2px 0 0}body.manager-ui-preview .ledger-metrics .rm-metric strong{white-space:nowrap}
.rm-dcl-cell{font-weight:600}
/* Радмин: «Управление» */
body.manager-ui-preview .management-actions,body.manager-ui-preview .phone-management-switch{display:none!important}
.rm-management-tabs{margin:4px 0 12px}.rm-management-tabs>button{min-width:110px;height:40px}
body.manager-ui-preview [data-rm-management] .management-columns{display:block}
body.manager-ui-preview [data-rm-management=team] .management-activity,body.manager-ui-preview [data-rm-management=history] .management-team{display:none!important}
body.manager-ui-preview [data-rm-management] .management-team,body.manager-ui-preview [data-rm-management] .management-activity{display:block!important;width:auto;max-width:none;padding:16px}
body.manager-ui-preview .management-team .panel-title{display:flex;align-items:center;gap:10px}
body.manager-ui-preview .management-team .panel-title h2 small{color:var(--muted);font-weight:500}
body.manager-ui-preview .management-team [data-management=userCreate]{display:inline-flex;align-items:center;gap:6px;margin-left:auto}
body.manager-ui-preview .manager-staff .toolbar{display:flex;gap:10px;flex-wrap:wrap}
body.manager-ui-preview .manager-staff .toolbar .rm-search{flex:0 1 360px;height:36px}
body.manager-ui-preview .manager-staff .toolbar .rm-search input{height:34px;font-size:13px}
body.manager-ui-preview .manager-staff #user-account-filter{width:auto;min-width:180px}
.rm-staff-name{display:flex;align-items:center;gap:10px}.rm-staff-name .sub-line{display:none}
.rm-staff-name .team-select{border:0;background:none;padding:0;min-height:0;font-weight:600;color:var(--fg)}
.rm-letter{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--tone);color:#fff;font-weight:700;font-size:13px}
.rm-login{color:var(--muted);font-variant-numeric:tabular-nums}
body.manager-ui-preview #manager-staff-table .cabinet-access{border-radius:6px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);border:0;font-weight:600}
body.manager-ui-preview #manager-staff-table .team-row-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}
.rm-dots summary{display:grid;place-items:center;width:34px;height:32px;border:1px solid var(--border);border-radius:8px;color:var(--fg)}
.rm-dots>div{min-width:170px}
.rm-link{border:0;background:none;color:var(--accent);text-decoration:underline;min-height:0;padding:0}
.rm-staff-more .rm-staff-note{margin-left:auto;display:flex;align-items:center;gap:6px}.rm-staff-more .ti{width:15px;height:15px}
@media(max-width:720px){
 .rm-management-tabs{display:grid;grid-template-columns:repeat(3,1fr);width:100%}
 .rm-management-tabs>button{min-width:0}
 .rm-management-tabs{overflow:visible}
 body.manager-ui-preview [data-rm-management] .management-team,body.manager-ui-preview [data-rm-management] .management-activity{padding:0;border:0;background:none;box-shadow:none}
 body.manager-ui-preview .management-team [data-management=userCreate] span{font-size:0}body.manager-ui-preview .management-team [data-management=userCreate] span::after{content:'Создать';font-size:14px}
 body.manager-ui-preview .manager-staff .toolbar{display:grid;grid-template-columns:1fr auto}
 body.manager-ui-preview #manager-staff-table thead{display:none}
 body.manager-ui-preview #manager-staff-table,body.manager-ui-preview #manager-staff-table tbody{display:block;width:100%}
 body.manager-ui-preview #manager-staff-table tr[data-team]{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name actions" "login actions" "cabs actions";gap:2px 10px;margin:0 0 8px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
 body.manager-ui-preview #manager-staff-table tr[data-team][hidden]{display:none}
 body.manager-ui-preview #manager-staff-table td{display:block;padding:0;border:0}
 body.manager-ui-preview #manager-staff-table td.rm-staff-name{grid-area:name;display:flex}
 body.manager-ui-preview #manager-staff-table td.rm-login{grid-area:login;font-size:12px;padding-left:40px}
 body.manager-ui-preview #manager-staff-table td.comment{grid-area:cabs;padding-left:40px}
 body.manager-ui-preview #manager-staff-table td:last-child{grid-area:actions;align-self:center}
 body.manager-ui-preview #manager-staff-table [data-contact]{font-size:0;width:38px;height:36px;padding:0;display:grid;place-items:center}
 body.manager-ui-preview #manager-staff-table [data-contact]::before{content:'';width:18px;height:18px;background:currentColor;-webkit-mask:var(--ti) center/contain no-repeat;mask:var(--ti) center/contain no-repeat}
 .rm-staff-more{flex-direction:column}.rm-staff-more .rm-staff-note{margin:0}
 .rm-staff-more .rm-link{width:100%;height:42px;border:1px solid var(--accent);border-radius:10px;text-decoration:none;font-weight:600}
}
body.manager-ui-preview [data-rm-management=team] .management-activity,body.manager-ui-preview [data-rm-management=history] .management-team{display:none!important}
.rm-letter.tone-0{background:#5b5bf0}.rm-letter.tone-1{background:#2f80ed}.rm-letter.tone-2{background:#27ae60}.rm-letter.tone-3{background:#e08a2c}.rm-letter.tone-4{background:#e0457b}.rm-letter.tone-5{background:#16b1c4}.rm-letter.tone-6{background:#c99a06}.rm-letter.tone-7{background:#8e5cf0}
@media(max-width:720px){
 body.manager-ui-preview .manager-staff .toolbar .rm-search{flex:none;grid-column:1/-1;display:flex;height:40px}
 body.manager-ui-preview .manager-staff .toolbar #user-account-filter{grid-column:1/-1;width:100%}
 body.manager-ui-preview .manager-staff .table-scroll{overflow:visible}
 body.manager-ui-preview #manager-staff-table td{min-width:0;max-width:none;white-space:normal}
 body.manager-ui-preview #manager-staff-table .cabinet-access-list{display:flex;flex-wrap:wrap;gap:4px}
 body.manager-ui-preview #manager-staff-table .team-row-actions{flex-direction:row;flex-wrap:nowrap}
 body.manager-ui-preview #manager-staff-table .team-select{font-size:15px}
}
@media(max-width:720px){body.manager-ui-preview #manager-staff-table tr[data-team]{grid-template-rows:auto;grid-auto-rows:auto;height:auto}body.manager-ui-preview #manager-staff-table td{height:auto;min-height:0;line-height:1.3}}
/* Радмин: «Сравнение» */
.rm-subtitle{margin:2px 0 0;color:var(--muted);width:100%}
body.manager-ui-preview .analytics-dashboard[data-rm-decorated] .analytics-heading>div:first-child{display:none}
body.manager-ui-preview .analytics-dashboard[data-rm-decorated] .analytics-heading{display:none}
.rm-compare-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.rm-compare-bar .comparison-tabs{margin:0}
.rm-compare-bar .analytics-periods{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0;margin-left:auto;padding:0;border:0;background:none}
.rm-picker>summary{height:36px;padding:0 12px;border:1px solid var(--border);border-radius:8px;color:var(--fg);font-weight:600;background:var(--surface)}
.rm-picker>div{left:0;right:auto;width:min(340px,90vw);max-height:420px;overflow:auto}
body.manager-ui-preview .rm-picker .analytics-selectors{display:block!important;position:static;width:auto;border:0;padding:0;background:none}
.rm-picked{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}
.rm-pick-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 6px 5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-weight:600;font-size:13px}
.rm-pick-chip button{min-height:0;width:22px;height:22px;padding:0;border:0;background:none;color:var(--muted);font-size:16px;line-height:1}
.rm-dot.tone-0{background:#7488ff}.rm-dot.tone-1{background:#38d9a9}.rm-dot.tone-2{background:#47c6ef}.rm-dot.tone-3{background:#f9a96d}.rm-dot.tone-4{background:#e88df4}.rm-dot.tone-5{background:#e5ce6c}.rm-dot.tone-6{background:#62bca5}.rm-dot.tone-7{background:#a8a1ff}
body.manager-ui-preview .analytics-dashboard[data-rm-decorated] .analytics-layout{display:block}
body.manager-ui-preview .analytics-summary>.rm-summary-card{position:relative;padding-right:64px}
.rm-summary-card>.rm-metric-icon{position:absolute;right:14px;top:14px;border-radius:10px;width:40px;height:40px}
@media(max-width:720px){
 .rm-compare-bar{display:grid;padding:0;border:0;background:none}
 .rm-compare-bar .comparison-tabs{display:grid;grid-template-columns:1fr 1fr}
 .rm-compare-bar .analytics-periods{margin:0;display:grid;gap:8px}
 .rm-compare-bar .analytics-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
 .rm-picker{order:3}.rm-picker>summary{height:44px;background:var(--accent);color:#fff;border-color:var(--accent);justify-content:space-between}
 .rm-picker>div{position:static;width:auto;margin-top:6px}
 body.manager-ui-preview .analytics-summary{grid-template-columns:1fr 1fr}
 .rm-summary-card>.rm-metric-icon{width:32px;height:32px;right:10px;top:10px}
}
/* 0.3.32 · Радмин: карточки кабинетов как у сотрудника, без пустот между блоками */
body.manager-ui-preview .team-insights.admin-cabinets{margin:0}
body.manager-ui-preview .rm-journal-head{margin-top:4px}
body.manager-ui-preview .admin-cabinets .team-forecasts{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.rm-cab-card{padding:16px!important;cursor:pointer;gap:12px}
.rm-cab-card:hover,.rm-cab-card:focus-visible{border-color:var(--accent)}
.rm-cab-card .ts-plans-head h2{margin:0;font-size:17px}
.rm-cab-card .ts-plan-line strong{font-size:20px}
.rm-cab-extra{margin:0;padding-top:10px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}.rm-cab-extra b{color:var(--fg)}
@media(max-width:720px){
 body.manager-ui-preview .admin-cabinets .team-forecasts{grid-template-columns:1fr}
 .rm-cab-card{padding:12px!important;gap:10px}.rm-cab-card .ts-plan-line strong{font-size:17px}.rm-cab-card .ts-plan-icon{width:22px;height:22px}
}
.rm-criterion select{height:34px;padding:0 30px 0 10px;line-height:32px;font-size:13px}
@media(max-width:720px){.rm-rating .rm-head{flex-wrap:wrap}.rm-criterion{width:100%}.rm-criterion select{flex:1;width:auto}}
/* «Призы и акции»: комментарий в одну строку, целиком — в подсказке */
.rm-bonus-prizes .wide-comment{min-width:0;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:720px){.rm-bonus-prizes .wide-comment{max-width:120px}}
/* 0.3.32 · «Мой профиль» у всех: две колонки на компьютере, без прокрутки */
@media(min-width:860px){
 .self-profile-dialog{width:min(860px,calc(100vw - 24px))}
 .self-profile-dialog .dialog-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px}
 .self-profile-dialog .profile-login,.self-profile-dialog .dialog-body>.footnote{grid-column:1/-1}
 .self-profile-dialog section{grid-column:1;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--stripe)}
 .self-profile-dialog section+section{border-top:1px solid var(--border);padding-top:14px}
 .self-profile-dialog section:last-of-type{grid-column:2;grid-row:2}
 .self-profile-dialog.profile-with-contacts section:last-of-type{grid-row:2/span 2}
}
/* 0.3.32 · Радмин: аккуратные окна */
body.manager-ui-preview .schedule-editor .dialog-body form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
body.manager-ui-preview .schedule-editor form>label:has(textarea),body.manager-ui-preview .schedule-editor form>.form-error,body.manager-ui-preview .schedule-editor form>.form-actions{grid-column:1/-1}
body.manager-ui-preview .schedule-editor textarea{min-height:64px}
body.manager-ui-preview .schedule-editor .form-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:0}
body.manager-ui-preview .schedule-editor #schedule-delete{background:none;border-color:color-mix(in srgb,var(--red) 50%,var(--border));color:var(--red)}
body.manager-ui-preview .schedule-dialog{width:min(1120px,calc(100vw - 24px))}
body.manager-ui-preview .schedule-dialog .dialog-body{overflow-x:hidden}
body.manager-ui-preview .schedule-dialog .schedule-day{padding:4px}
body.manager-ui-preview .schedule-dialog .schedule-day>button{font-size:12px;padding:4px 6px;min-height:28px}
body.manager-ui-preview #schedule-results{border:1px solid var(--border);border-radius:10px;overflow:hidden}
body.manager-ui-preview #schedule-results .table-scroll{overflow-x:auto}
body.manager-ui-preview #schedule-results table{min-width:0;width:100%;font-size:13px}
body.manager-ui-preview #schedule-results th,body.manager-ui-preview #schedule-results td{padding:8px 10px;white-space:nowrap}
body.manager-ui-preview #schedule-results td.wide-comment,body.manager-ui-preview #schedule-results td:nth-last-child(2){min-width:0;max-width:220px;overflow:hidden;text-overflow:ellipsis}
body.manager-ui-preview .ludik-dialog:not(.ludik-employee-dialog){width:min(820px,calc(100vw - 24px))}
body.manager-ui-preview .ludik-dialog .ludik-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;max-width:none}
body.manager-ui-preview .ludik-dialog .ludik-filters label{flex:1 1 180px}
body.manager-ui-preview .ludik-dialog .ludik-filters button{height:40px}
body.manager-ui-preview .payout-dialog[data-money-kind=payout]{width:min(1000px,calc(100vw - 24px))}
body.manager-ui-preview:not(.admin-ui) .payout-dialog .money-other,body.manager-ui-preview:not(.admin-ui) .payout-dialog[data-money-mode=payout] .money-category,body.manager-ui-preview:not(.admin-ui) .payout-dialog[data-money-mode=ludik] .money-category{display:none}
body.manager-ui-preview:not(.admin-ui) .payout-dialog[data-money-kind=expense]{width:min(480px,calc(100vw - 24px))}
body.manager-ui-preview:not(.admin-ui) .payout-dialog[data-money-kind=expense] .payout-columns{grid-template-columns:minmax(0,1fr)}
body.manager-ui-preview:not(.admin-ui) .payout-dialog[data-money-kind=expense] .payout-modes,body.manager-ui-preview:not(.admin-ui) .payout-dialog[data-money-kind=expense] .money-employee,body.manager-ui-preview:not(.admin-ui) .payout-dialog[data-money-kind=expense] .payout-month-statistics,body.manager-ui-preview:not(.admin-ui) .payout-dialog[data-money-kind=expense] [data-payment-uid]{display:none}
body.manager-ui-preview .payout-dialog form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
body.manager-ui-preview .payout-dialog form>*{grid-column:1/-1}
body.manager-ui-preview .payout-dialog form>label:has([name=date]),body.manager-ui-preview .payout-dialog form>label:has([name=amount]){grid-column:auto}
body.manager-ui-preview .payout-dialog textarea{min-height:64px}
body.manager-ui-preview .payout-dialog .payout-month-statistics{padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--stripe)}
body.manager-ui-preview .payout-dialog .payout-month-statistics h3{margin:0 0 10px;font-size:14px}
body.manager-ui-preview .assignments-person-dialog{width:min(560px,calc(100vw - 24px))}
body.manager-ui-preview .assignments-manager-dialog .task-head{display:flex;align-items:flex-end;gap:8px}
body.manager-ui-preview .assignments-manager-dialog .task-head label{flex:1}
body.manager-ui-preview .assignments-manager-dialog .task-head button{height:40px}
body.manager-ui-preview .assignments-manager-dialog .task-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--stripe)}
body.manager-ui-preview .assignments-manager-dialog .task-form>*{grid-column:1/-1}
body.manager-ui-preview .assignments-manager-dialog .task-form>label:has([name=amount]),body.manager-ui-preview .assignments-manager-dialog .task-form>label:has(select[name=employee_id]){grid-column:auto}
body.manager-ui-preview .assignments-manager-dialog .task-form .footnote{margin:0;font-size:12px}
body.manager-ui-preview .assignments-manager-dialog .task-list-title{margin:6px 0 0;font-size:14px}
body.manager-ui-preview .assignments-manager-dialog table{font-size:12px}
/* «Учёт»: инструменты у заголовка выплат, «+ Выплата» справа */
.rm-ledger-tools{display:flex;gap:8px}.rm-ledger-tools button{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;font-size:13px}.rm-ledger-tools .ti{width:15px;height:15px}
body.manager-ui-preview .compact-balances .panel-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
body.manager-ui-preview .compact-balances .panel-title .rm-search{margin-left:auto}
body.manager-ui-preview .ledger-head[hidden]{display:none!important}
/* «Управление»: задания в строке, «+» для кабинетов без доступа */
.rm-grant{display:inline-flex;align-items:center;gap:4px;min-height:0;height:24px;padding:0 4px 0 8px;border:1px dashed var(--border);border-radius:6px;background:none;color:var(--muted);font-size:12px;font-weight:600}
.rm-grant span{display:grid;place-items:center;width:18px;height:18px;border-radius:5px;background:color-mix(in srgb,var(--green) 18%,transparent);color:var(--green);font-size:14px}
.rm-grant:hover{border-color:var(--green);color:var(--fg)}
.rm-task-button{height:32px;padding:0 10px;font-size:13px}.rm-task-button.has-review{border-color:var(--tx-yellow,#e5ce6c);color:var(--tx-yellow,#e5ce6c)}
body.manager-ui-preview .schedule-editor .form-actions [type=submit]{margin-left:auto}
body.manager-ui-preview .payout-dialog .form-error:empty,body.manager-ui-preview .schedule-editor .form-error:empty{display:none}
body.manager-ui-preview .payout-dialog .form-actions{margin-top:0}
@media(min-width:721px){body.manager-ui-preview #manager-staff-table td.rm-staff-name{display:table-cell;white-space:nowrap}body.manager-ui-preview #manager-staff-table .rm-letter{display:inline-grid;vertical-align:middle;margin-right:10px}}
body.manager-ui-preview .assignments-person-dialog .task-form>label:has([name=amount]){grid-column:1/-1}
@media(max-width:720px){
 body.manager-ui-preview #manager-staff-table tr[data-team]{grid-template-areas:"name actions" "login actions" "cabs cabs"}
 body.manager-ui-preview #manager-staff-table td.comment{padding-left:0;margin-top:6px}
 body.manager-ui-preview #manager-staff-table .team-row-actions{flex-wrap:nowrap}
 body.manager-ui-preview #manager-staff-table .rm-task-button{font-size:0;width:38px;height:36px;padding:0;display:grid;place-items:center}
 body.manager-ui-preview #manager-staff-table .rm-task-button::before{content:'';width:18px;height:18px;background:currentColor;-webkit-mask:var(--ti) center/contain no-repeat;mask:var(--ti) center/contain no-repeat}
 body.manager-ui-preview .payout-month-statistics .table-scroll{overflow-x:auto}
}
@media(max-width:720px){body.manager-ui-preview #manager-staff-table .team-row-actions{gap:6px}body.manager-ui-preview #manager-staff-table .team-row-actions>*{flex:none;min-width:38px}body.manager-ui-preview #manager-staff-table td:last-child{align-self:start}}
/* Карточка кабинета Радмина — компактнее */
body.manager-ui-preview .admin-cabinets .team-forecasts{grid-template-columns:repeat(auto-fill,minmax(250px,300px))}
.rm-cab-card{padding:10px 12px!important;gap:7px!important;border-radius:10px}
.rm-cab-card .ts-plans-head h2{font-size:14px}
.rm-cab-card .tm-cab-percent{font-size:13px}.rm-cab-card .tm-top-badge{padding:1px 6px;font-size:11px}
.rm-cab-card .ts-plan{gap:8px}.rm-cab-card .ts-plan+.ts-plan{padding-top:7px}
.rm-cab-card .ts-plan-icon{width:16px;height:16px;margin-top:1px}
.rm-cab-card .ts-plan-body{gap:4px}
.rm-cab-card .ts-plan-line h3{font-size:12px}
.rm-cab-card .ts-plan-line strong{font-size:14px}.rm-cab-card .ts-plan-line strong.ts-none{font-size:11px}
.rm-cab-card .ts-plan-line>span{font-size:11px}.rm-cab-card .ts-tier .ti{width:12px;height:12px}
.rm-cab-card progress{appearance:none;-webkit-appearance:none;display:block;width:100%;height:5px;border:0;border-radius:4px;overflow:hidden;background:var(--border)}
.rm-cab-card progress::-webkit-progress-bar{background:var(--border);border-radius:4px}
.rm-cab-card progress::-webkit-progress-value{background:var(--bar);border-radius:4px}
.rm-cab-card progress::-moz-progress-bar{background:var(--bar);border-radius:4px}
.rm-cab-extra{padding-top:6px;font-size:11px}
@media(max-width:720px){body.manager-ui-preview .admin-cabinets .team-forecasts{grid-template-columns:1fr}.rm-cab-card .ts-plan-line strong{font-size:14px}.rm-cab-card .ts-plan-icon{width:16px;height:16px}}
/* Телефон: только месячный план, две карточки в ряд */
@media(max-width:720px){
 body.manager-ui-preview .admin-cabinets .team-forecasts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .rm-cab-card{padding:9px 10px!important;gap:6px!important}
 .rm-cab-card .ts-plan:first-of-type,.rm-cab-card .rm-cab-extra,.rm-cab-card .ts-plan-icon{display:none}
 .rm-cab-card .ts-plan+.ts-plan{border-top:0;padding-top:0}
 .rm-cab-card .ts-plans-head{flex-wrap:wrap;gap:4px 6px}.rm-cab-card .ts-plans-head h2{font-size:13px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .rm-cab-card .ts-plan-line{flex-wrap:wrap;gap:2px 6px}
 .rm-cab-card .ts-plan-line h3{font-size:11px;color:var(--muted)}
}
@media(max-width:720px){.rm-cab-card .ts-plan{display:block;padding:0;margin:0}.rm-cab-card .ts-plan-line strong{font-size:15px}}
/* Журнал смен руководителя: денежные столбцы в рамке */
body.manager-ui-preview #shifts-table .rm-money-first{border-left:2px solid color-mix(in srgb,var(--accent) 55%,var(--border))!important}
body.manager-ui-preview #shifts-table .rm-money-last{border-right:2px solid color-mix(in srgb,var(--accent) 55%,var(--border))!important}
body.manager-ui-preview #shifts-table thead .rm-money-col{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--fg)}
.create-user-accounts{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:8px}.create-user-accounts legend{padding:0 4px;color:var(--muted);font-size:13px}
.rm-add-existing{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.rm-add-existing+[data-management=userCreate]{margin-left:8px!important}@media(max-width:720px){.rm-add-existing span{font-size:0}.rm-add-existing span::after{content:'Добавить';font-size:14px}}
/* «Планы» на узком телефоне: таблица уровней в ширину карточки */
.rm-plan,.rm-plan-column{min-width:0}.rm-levels{width:100%;table-layout:fixed}
@media(max-width:400px){.rm-levels th,.rm-levels td{padding:6px 4px;font-size:12px;overflow-wrap:anywhere}.rm-plan>summary{flex-wrap:wrap}}
/* «Управление» руководителя: таблица прокручивается внутри панели, страница не шире экрана */
body.manager-ui-preview .main,body.manager-ui-preview .management-columns,body.manager-ui-preview .management-team,body.manager-ui-preview .team-groups,body.manager-ui-preview .manager-staff{min-width:0;max-width:100%}
body.manager-ui-preview .manager-staff .table-scroll{max-width:100%;overflow-x:auto}
body.manager-ui-preview #manager-staff-table td.rm-login{overflow-wrap:anywhere}
body.manager-ui-preview #manager-staff-table .cabinet-access,body.manager-ui-preview #manager-staff-table .rm-grant{max-width:170px;min-width:0;height:auto;white-space:normal;overflow-wrap:anywhere;text-align:left}
body.manager-ui-preview #manager-staff-table .cabinet-access-list{flex-wrap:wrap;min-width:0}
@media(min-width:721px){body.manager-ui-preview #manager-staff-table td.rm-staff-name{white-space:normal}}
@media(min-width:721px) and (max-width:1280px){
 body.manager-ui-preview #manager-staff-table .rm-task-button,body.manager-ui-preview #manager-staff-table [data-contact]{font-size:0;width:34px;height:32px;padding:0;display:inline-grid;place-items:center}
 body.manager-ui-preview #manager-staff-table .rm-task-button::before,body.manager-ui-preview #manager-staff-table [data-contact]::before{content:'';width:16px;height:16px;background:currentColor;-webkit-mask:var(--ti) center/contain no-repeat;mask:var(--ti) center/contain no-repeat}
}
.rm-grant-menu{position:relative;display:inline-block}.rm-grant-menu>summary{list-style:none;cursor:pointer}.rm-grant-menu>summary::-webkit-details-marker{display:none}
.rm-grant-menu>div{position:absolute;z-index:20;top:calc(100% + 4px);left:0;display:grid;gap:4px;min-width:200px;max-height:260px;overflow:auto;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.rm-grant-menu>div .rm-grant{max-width:none!important;justify-content:space-between;width:100%}
.rm-grant-menu{display:contents}.rm-grant-menu[open]>summary{border-color:var(--green)}
.rm-grant-menu>div{position:static;display:flex;flex-wrap:wrap;gap:4px;width:100%;min-width:0;max-height:none;padding:6px 0 0;border:0;box-shadow:none;background:none}
.rm-grant-menu>div .rm-grant{width:auto}
@media(min-width:721px){body.manager-ui-preview #manager-staff-table td{vertical-align:top}body.manager-ui-preview #manager-staff-table td.rm-login{padding-top:14px}}
/* Окна руководителя на узком экране: одна колонка, поля сжимаются (Linux-шрифты шире) */
body.manager-ui-preview .schedule-editor form>*,body.manager-ui-preview .payout-dialog form>*,body.manager-ui-preview .assignments-manager-dialog .task-form>*{min-width:0}
body.manager-ui-preview .schedule-editor input,body.manager-ui-preview .payout-dialog input,body.manager-ui-preview .assignments-manager-dialog input{min-width:0;max-width:100%}
@media(max-width:560px){
 body.manager-ui-preview .schedule-editor .dialog-body form,body.manager-ui-preview .payout-dialog form,body.manager-ui-preview .assignments-manager-dialog .task-form{grid-template-columns:minmax(0,1fr)}
 body.manager-ui-preview .payout-dialog form>label,body.manager-ui-preview .assignments-manager-dialog .task-form>label{grid-column:1/-1!important}
 body.manager-ui-preview .schedule-editor .form-actions{flex-wrap:wrap}
}

/* Босс: карточки кабинетов как у руководителей, «Руководители» — отдельный раздел */
.boss-cabinet-cards.team-insights.admin-cabinets{margin:0}
.boss-cabinet-cards.team-insights.admin-cabinets .team-forecasts{grid-template-columns:repeat(auto-fill,minmax(250px,300px))}
@media(max-width:720px){.boss-cabinet-cards.team-insights.admin-cabinets .team-forecasts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
.boss-managers-page{padding:16px}.boss-managers-page .footnote{margin-top:0}
@media(max-width:720px){.boss-managers-page{padding:10px}}
/* «Управление» администратора: вкладки «Пользователи» и «Кабинеты» */
.management-team-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
#content:not([data-admin-tab=accounts]) .admin-accounts-panel{display:none}
#content[data-admin-tab=accounts] .management-columns,#content[data-admin-tab=accounts] .phone-management-switch{display:none!important}
.admin-accounts-panel{margin-top:8px}
.admin-accounts-panel .settings-error:empty{display:none}
#accounts-table td{padding-top:5px;padding-bottom:5px;vertical-align:middle}
#accounts-table td:first-child{overflow-wrap:anywhere}
#accounts-table small{display:block;color:var(--red);font-size:11px}
#accounts-table .account-blocked td:first-child{color:var(--muted)}
#accounts-table .account-actions{display:flex;flex-wrap:nowrap;gap:4px;margin:0}
#accounts-table .account-actions button{min-height:0;height:26px;padding:0 8px;font-size:12px}
#accounts-table th:nth-child(2),#accounts-table td:nth-child(2){width:90px;text-align:center}
#accounts-table th:nth-child(3),#accounts-table td:nth-child(3){width:1%;white-space:nowrap}
.management-team-actions{flex:none}
@media(max-width:720px){
 #accounts-table,#accounts-table tbody{display:block;width:100%}#accounts-table thead{display:none}
 #accounts-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:8px 10px;border-top:1px solid var(--border)}
 #accounts-table td{display:block;width:auto!important;height:auto!important;padding:0;border:0;white-space:normal!important;text-align:left!important}
 #accounts-table .account-actions{flex-wrap:wrap}
 #accounts-table td:nth-child(2){color:var(--muted);font-size:12px}#accounts-table td:nth-child(2)::before{content:'Площадки: '}
 #accounts-table td:nth-child(3){grid-column:1/-1}
}
/* Окно площадок одного кабинета: «Удалить» рядом с названием */
.platforms-compact{width:min(560px,calc(100vw - 24px))!important}
.platforms-compact .dialog-body{padding:10px 14px;gap:8px}
.platforms-compact .platform-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin:0}
.platforms-compact .platform-cards .platform-card{flex-direction:row;align-items:center;gap:6px;padding:5px 6px 5px 10px;border-radius:8px}
.platforms-compact .platform-cards .platform-card span{min-width:0;font-size:13px;overflow-wrap:anywhere}
.platforms-compact .platform-cards .platform-card button{width:auto;flex:none;min-height:0;height:24px;padding:0 7px;font-size:11px}
.platforms-compact #platform-add{display:block;margin:8px 0 0;min-height:0;padding:5px 10px;font-size:13px}
.platforms-compact form{gap:6px;margin-top:8px}.platforms-compact form .form-error:empty,.platforms-compact .settings-error:empty{display:none}
/* Иконки в «Мотивация → Настройки»: плотная сетка, под названием — где значок виден */
#ui-icons-settings .icon-settings{grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:6px}
#ui-icons-settings .icon-setting{padding:5px 8px;gap:8px}
#ui-icons-settings .icon-setting-preview{width:30px;height:30px}
#ui-icons-settings .icon-setting-preview .ti{width:18px;height:18px}#ui-icons-settings .icon-setting-preview img{width:24px;height:24px}
#ui-icons-settings .icon-setting-name small{line-height:1.25}
#ui-icons-settings .icon-setting-state{opacity:.7;font-size:10px}
#ui-icons-settings .icon-setting-upload span,#ui-icons-settings .icon-setting button{padding:3px 7px;font-size:11px}
#ui-icons-settings .footnote{margin:0 0 8px}#ui-icons-settings .form-error:empty{display:none}

/* Employee shift journal uses available desktop width, with space reserved for comments. */
@media(min-width:721px){body.employee-ui #shifts-table{width:100%}body.employee-ui #shifts-table :is(th,td){padding-inline:16px}body.employee-ui #shifts-table td:is(.comment,.ts-comment){width:100%;min-width:280px;max-width:1px}body.employee-ui #shifts-table .shift-comment-preview{display:block;overflow:hidden;text-overflow:ellipsis}}
.transfer-destination-text{white-space:pre-wrap;overflow-wrap:anywhere}.transfer-destinations section{min-width:0}.transfer-destination-form textarea{width:100%;min-height:90px;resize:vertical}.transfer-header-button{margin-left:auto;white-space:nowrap}
@media(max-width:720px){.sidebar-heading .transfer-header-button{margin-left:8px;padding:4px 7px;min-height:28px;font-size:11px}.sidebar-heading #menu-toggle{margin-left:auto}}
@media(min-width:860px){.self-profile-dialog:has(#transfer-destination-form) section:has(#self-password-form){grid-column:2;grid-row:2}.self-profile-dialog:has(#transfer-destination-form) section:has(#transfer-destination-form){grid-column:2;grid-row:3}}
/* Compact manager profile: transfer instructions take the same space as contacts. */
.self-profile-dialog:has(#transfer-destination-form) .dialog-head{padding:12px 16px}
.self-profile-dialog:has(#transfer-destination-form) .dialog-body{padding:12px;gap:10px}
.self-profile-dialog:has(#transfer-destination-form) section{padding:10px}
.self-profile-dialog:has(#transfer-destination-form) h3{font-size:15px;margin-bottom:8px}
.self-profile-dialog:has(#transfer-destination-form) form{gap:6px}
.self-profile-dialog:has(#transfer-destination-form) label{font-size:12px;gap:3px}
.self-profile-dialog:has(#transfer-destination-form) :is(input,textarea){min-height:32px;padding:6px 9px}
.self-profile-dialog:has(#transfer-destination-form) textarea{height:36px;min-height:36px}
.self-profile-dialog:has(#transfer-destination-form) button{min-height:32px;padding:6px 12px}
.self-profile-dialog:has(#transfer-destination-form) .footnote{font-size:11px;line-height:1.4}

.transfer-destinations-dialog{width:min(460px,calc(100vw - 24px))}.transfer-destinations-dialog .dialog-head{padding:12px 16px;gap:12px;flex-wrap:wrap}.transfer-destinations-dialog .dialog-head h2{font-size:17px;min-width:0;overflow-wrap:anywhere}.transfer-destinations-dialog .dialog-body{padding:16px}.transfer-destinations-dialog .transfer-destinations{min-width:0;overflow-wrap:anywhere}.transfer-destinations-dialog .transfer-destinations p{margin:0}
.profile>.transfer-header-button{margin-left:0}
.tx-medal-img{width:26px;height:26px;flex:none;object-fit:contain}.tm-rank-img{width:24px;height:24px;flex:none;object-fit:contain}
/* Calendar add-date buttons remain distinct from the scheduled shift cards. */
.schedule-day>[data-calendar-day]:not(:disabled){background:color-mix(in srgb,var(--accent) 13%,var(--surface));border-color:color-mix(in srgb,var(--accent) 36%,var(--border));color:var(--fg)}
.schedule-day>[data-calendar-day]:not(:disabled):hover{background:color-mix(in srgb,var(--accent) 23%,var(--surface))}
.schedule-editor{width:min(520px,calc(100vw - 24px))}.schedule-editor .dialog-head{padding:12px 16px}.schedule-editor .dialog-body{padding:12px 16px;gap:10px}
.schedule-editor .dialog-body form,body.manager-ui-preview .schedule-editor .dialog-body form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.schedule-editor form>label:has(textarea),.schedule-editor .schedule-interval,.schedule-editor .schedule-quick-choices,.schedule-editor .form-error,.schedule-editor .form-actions{grid-column:1/-1;min-width:0}
.schedule-editor input,.schedule-editor select{min-width:0;width:100%}.schedule-editor label{min-width:0;font-size:12px;gap:4px}.schedule-editor textarea,body.manager-ui-preview .schedule-editor textarea{min-height:46px;height:46px;resize:vertical}
.schedule-interval{margin:0;padding:8px 10px 10px;border:1px solid var(--border);border-radius:8px}.schedule-interval legend{font-size:12px;color:var(--muted);padding:0 4px}.schedule-interval-trigger{width:100%;min-width:0;font-size:12px;padding:8px;white-space:normal;text-align:left;background:var(--stripe)}
.schedule-interval-fields:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.schedule-interval-fields input{font-size:12px;padding:7px 5px}
.schedule-template-save{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.schedule-template-save label,.schedule-quick-choices label{display:flex;align-items:center;gap:6px;margin:0;white-space:nowrap}.schedule-template-save select{width:auto;min-width:90px}
.schedule-editor .schedule-template-save input[type=checkbox],.schedule-editor .schedule-quick-choices input[type=checkbox]{width:15px;min-width:15px;min-height:15px;height:15px;padding:0;flex:none}
.schedule-quick-choices{display:flex;align-items:center;gap:16px}.schedule-quick-choices label:has(input:disabled){color:var(--muted)}
@media(max-width:420px){.schedule-editor .dialog-body{padding:10px}.schedule-interval-fields:not([hidden]){grid-template-columns:minmax(0,1fr)}.schedule-editor .form-actions{flex-wrap:wrap}}

.schedule-editor .schedule-quick-choices{margin-right:auto}.schedule-editor .form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
/* Shared cabinet colours: a 1px outline and the cabinet name in the chosen colour, never a fill. */
[data-cabinet-outline]{border-width:1px;border-style:solid;border-color:var(--cabinet-color,var(--border))}
.schedule-day>button[data-cabinet-outline]{border-color:var(--cabinet-color,var(--border))}
[data-cabinet-name]{color:var(--cabinet-color,inherit);font-weight:600}
.after-close [data-cabinet-name]{color:inherit}
.rm-cab-row[data-cabinet-outline]{padding:12px;margin-top:8px;border-radius:10px}
.cabinet-color-picker{display:inline-flex;align-items:center;margin:0;justify-content:center}.cabinet-color-picker input[type=color]{width:22px;height:22px;min-height:0;padding:2px;border:1px solid var(--border);border-radius:5px;cursor:pointer;background:transparent}.cabinet-color-picker input::-webkit-color-swatch-wrapper{padding:0}.cabinet-color-picker input::-webkit-color-swatch{border:0;border-radius:2px}
.rm-cab-row:has(.cabinet-color-picker){grid-template-columns:12px minmax(100px,1fr) 80px 24px auto auto;grid-template-areas:"dot name percent color chip menu" ". recovery recovery recovery recovery recovery"}
@media(max-width:720px){.rm-cab-row:has(.cabinet-color-picker){grid-template-columns:14px minmax(0,1fr) auto}.rm-cab-row:has(.cabinet-color-picker){grid-template-areas:"dot name percent" ". recovery color" ". chip menu"}}

.rm-cab-row>.cabinet-color-picker{grid-area:color}
.tm-rank li{min-height:41px}.tm-rank-name>.ti{width:24px;height:18px;flex:none}.tm-rank li.tm-rank-rest{border-top:2px solid color-mix(in srgb,var(--muted) 60%,transparent)}

/* 0.3.47 · Администратор в новом виде руководителя: только то, чего у руководителя нет — пользователи, «Оплаты», «Настройки» */
body.admin-ui .integrated-users{margin:0}
body.admin-ui .integrated-users .toolbar{display:flex;gap:10px;flex-wrap:wrap}
body.admin-ui .integrated-users .toolbar .rm-search{flex:0 1 360px;height:36px}
body.admin-ui .integrated-users .toolbar .rm-search input{width:100%;height:34px;min-height:0;font-size:13px;border:0;background:none;padding:0}
body.admin-ui #user-account-filter{width:auto;min-width:180px}
body.admin-ui #admin-users-table .rm-staff-name .log-badge{flex:none}
body.admin-ui #admin-users-table .cabinet-access{border-radius:6px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);border:0;font-weight:600}
body.admin-ui #admin-users-table tr.selected td{background:color-mix(in srgb,var(--accent) 10%,transparent)}
body.admin-ui .management-team>.toolbar.panel-title{border-bottom:0;padding-top:4px}
body.admin-ui .payments-tabs{display:inline-flex;width:fit-content;gap:0;margin:12px 16px 0;padding:0;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:var(--surface)}
body.admin-ui .payments-tabs button{display:inline-flex;align-items:center;gap:6px;margin:0;border:0;border-radius:0;min-height:0;height:32px;padding:0 16px;background:none;color:var(--fg);font-weight:600}
body.admin-ui .payments-tabs button[aria-selected=true]{background:var(--accent);color:#fff}
body.admin-ui [data-motivation-tab=settings] .motivation-body{padding:14px 16px}
body.admin-ui [data-motivation-tab=settings] .motivation-body h2{margin:0 0 12px;font-size:18px}
@media(max-width:720px){
 body.admin-ui .motivation-tabs{grid-template-columns:repeat(3,1fr)}
 body.admin-ui .motivation-tabs button{font-size:12px;padding:0 2px}
 body.admin-ui .management-team>.panel-title{flex-wrap:wrap}
 body.admin-ui .management-team-actions{width:100%;justify-content:stretch}
 body.admin-ui .management-team-actions button{flex:1 1 0;min-width:0;justify-content:center;white-space:normal}
 body.admin-ui .integrated-users .toolbar .rm-search{flex:1 1 100%;height:40px}
 body.admin-ui .integrated-users .toolbar #user-account-filter{flex:1 1 100%;width:100%}
 body.admin-ui .integrated-user-table .table-scroll{overflow:visible}
 body.admin-ui #admin-users-table thead{display:none}
 body.admin-ui #admin-users-table,body.admin-ui #admin-users-table tbody{display:block;width:100%}
 body.admin-ui #admin-users-table tr[data-team]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;margin:0 0 8px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);height:auto}
 body.admin-ui #admin-users-table td{display:block;grid-column:1/-1;width:auto!important;min-width:0;max-width:none;height:auto;min-height:0;padding:0;border:0;background:none;white-space:normal;line-height:1.3}
 body.admin-ui #admin-users-table td.rm-user-name{grid-column:1}
 body.admin-ui #admin-users-table td.rm-role{grid-column:2;grid-row:1;align-self:center}
 body.admin-ui #admin-users-table td.rm-login,body.admin-ui #admin-users-table td.comment,body.admin-ui #admin-users-table td.rm-lead,body.admin-ui #admin-users-table td:last-child{padding-left:40px}
 body.admin-ui #admin-users-table td.rm-login{font-size:12px}
 body.admin-ui #admin-users-table td.rm-lead{color:var(--muted);font-size:12px}
 body.admin-ui #admin-users-table td.rm-lead::before{content:'Руководитель: '}
 body.admin-ui #admin-users-table .cabinet-access-list{display:flex;flex-wrap:wrap;gap:4px}
 body.admin-ui #admin-users-table .team-select{font-size:15px;white-space:normal;text-align:left}
 body.admin-ui .management-team>.toolbar.panel-title{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 0 0}
 body.admin-ui #admin-users-table td,body.admin-ui #admin-users-table td button[data-user]{font-size:13px}
 body.admin-ui #admin-users-table td button[data-user]{min-height:34px;padding:0 12px}
 body.admin-ui .admin-management-tabs>button{padding:0 4px;font-size:13px}
 body.admin-ui .payments-tabs{margin:8px 8px 0}
 body.admin-ui [data-motivation-tab=settings] .motivation-body{padding:12px}
 body.admin-ui [data-motivation-tab=settings] .motivation-body button{font-size:12px;padding:5px 8px;min-height:32px}
}
@media(max-width:720px){.rm-who b{min-width:0;overflow-wrap:anywhere}}
.rate-calculator-dialog{width:min(420px,calc(100vw - 24px))}
.rate-calculator-dialog .dialog-body{padding:16px;min-width:0}
.rate-calculator{display:grid;gap:12px;max-width:none;min-width:0}
.rate-calculator input{width:100%;min-width:0}
.rate-calculator-result{display:grid;gap:4px;padding:12px;border:1px solid var(--border);border-radius:7px;background:var(--stripe);min-width:0}
.rate-calculator-result span{color:var(--muted);font-size:13px}
.rate-calculator-result output{font-size:22px;font-weight:700;overflow-wrap:anywhere}

/* Мотивация → Депо: таблицы кабинетов, итог и заметки */
@media(min-width:721px) and (max-width:1200px){body.manager-ui-preview .motivation-tabs{display:flex;width:100%}body.manager-ui-preview .motivation-tabs button{min-width:0;flex:1 1 0;padding-inline:4px}}
.rm-depo{display:grid;gap:12px}
.rm-depo-year{display:inline-flex;align-items:center;gap:8px;justify-self:end}.rm-depo-year b{min-width:44px;text-align:center;font-variant-numeric:tabular-nums}.rm-depo-year button{min-width:34px;padding:4px 8px}
.rm-depo-cabinets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;align-items:start}
.rm-depo-card,.rm-depo-total,.rm-depo-notes{padding:12px 14px;min-width:0;margin:0}
.rm-depo-card[data-cabinet-outline]{border-radius:10px}
.rm-depo-card .rm-head,.rm-depo-total .rm-head,.rm-depo-notes .rm-head{margin-bottom:8px}.rm-depo-card h2,.rm-depo-total h2,.rm-depo-notes h2{font-size:16px;overflow-wrap:anywhere;min-width:0}
.rm-depo-toggle{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:12px;white-space:nowrap}.rm-depo-toggle .ti{width:14px;height:14px}.rm-depo-toggle[aria-expanded=true] .ti{transform:rotate(180deg)}
.rm-depo-table{width:100%;border-collapse:collapse;table-layout:fixed}.rm-depo-table tr[hidden]{display:none}
.rm-depo-table th,.rm-depo-table td{padding:5px 8px;border-top:1px solid var(--border);text-align:left;font-weight:400;font-size:13px}
.rm-depo-table tbody th{background:transparent;color:var(--fg)}.rm-depo-table thead th{border-top:0;color:var(--muted);font-size:12px;font-weight:600}
.rm-depo-table .rm-depo-sum{text-align:right;font-variant-numeric:tabular-nums}
.rm-depo-table td.rm-depo-sum:has(input){padding:2px 0 2px 4px}
.rm-depo-table input{width:100%;min-width:0;min-height:28px;padding:3px 8px;text-align:right;font-variant-numeric:tabular-nums;background:transparent;border-color:transparent}
.rm-depo-table input:hover{border-color:var(--border)}.rm-depo-table input:focus{border-color:var(--accent);background:var(--surface)}.rm-depo-table input[aria-invalid=true]{border-color:var(--red)}
.rm-depo-table .empty{color:var(--muted);text-align:center}
.rm-depo-bottom{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:12px;align-items:stretch}
.rm-depo-notes{display:flex;flex-direction:column}.rm-depo-notes textarea{flex:1;width:100%;min-height:320px;resize:vertical;padding:10px;line-height:1.45}
.rm-depo-notes-status{min-height:18px;margin:6px 0 0;font-size:12px;color:var(--muted)}.rm-depo-notes-status[data-state=error]{color:var(--red)}
@media(max-width:900px){.rm-depo-bottom{grid-template-columns:1fr}.rm-depo-notes textarea{min-height:240px}}
/* «Создать пользователя» у руководителя: без роли, плотнее; на широком окне логин/имя и пароль/повтор парами. */
.staff-create-dialog .dialog-body{padding:14px 16px;gap:12px}.staff-create-dialog form{gap:10px}.staff-create-dialog form>.footnote{margin:-4px 0 0;font-size:12px}.staff-create-dialog .create-user-accounts{padding:8px 12px}
@media(min-width:600px){.staff-create-dialog form{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}.staff-create-dialog form>*{grid-column:1/-1}.staff-create-dialog form>label:has([name=username]){grid-area:1/1}.staff-create-dialog form>label:has([name=display_name]){grid-area:1/2}.staff-create-dialog form>.footnote{grid-row:2}.staff-create-dialog form>label:has([name=password]){grid-area:3/1}.staff-create-dialog form>label:has([name=repeat]){grid-area:3/2}.staff-create-dialog form>.create-user-accounts{grid-row:4}.staff-create-dialog form>.form-error{grid-row:5}.staff-create-dialog form>.form-actions{grid-row:6}}
/* Админ: «Сотрудники · N» и «Руководители · M» вместо общего заголовка списка. */
.user-group-switch{vertical-align:middle;max-width:100%}.user-group-switch button{font-size:14px;white-space:nowrap}.user-group-switch small{font-weight:500;opacity:.85}.management-team .panel-title .user-group-switch button[aria-selected=true] small{color:inherit}
@media(max-width:400px){.user-group-switch button{padding:0 10px;font-size:13px}}
/* Прошлый месяц не закрыт у части кабинетов: панель администратора в «Планах». */
.plan-overdue{padding:12px 16px;margin-bottom:12px;border-color:var(--tx-gold)}.plan-overdue h2{font-size:16px;margin:0 0 6px}.plan-overdue p{margin:0 0 8px;overflow-wrap:anywhere}
.rm-plan summary [data-plan-own-month]{flex:none}

/* XP 2.0: existing cabinet actions remain usable on narrow screens. */
.discipline-actions{display:inline-flex;flex-wrap:wrap;gap:6px;max-width:100%}
.discipline-decision .dialog-body{overflow-wrap:anywhere}

/* One-off shift receipt; existing shift layout is unchanged. */
.shift-summary{overflow-wrap:anywhere}.shift-summary .metrics{display:flex;flex-wrap:wrap;gap:12px}.shift-summary .metrics>div{display:grid;gap:4px;flex:1 1 100px}.shift-summary dl>div{display:flex;justify-content:space-between;gap:12px}.shift-summary dd{margin:0;white-space:nowrap}.shift-summary progress{width:100%}

/* Original browser action prototype. All rules are scoped to its own surface. */
.ember-game{max-width:1120px;margin:auto;min-width:0}.ember-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}.ember-heading h2{margin:3px 0;font-size:25px;letter-spacing:-.7px}.ember-heading h2 small{font-size:12px;letter-spacing:0;color:var(--muted)}.ember-heading p{margin:5px 0;color:var(--muted);font-size:13px}.ember-heading .ember-eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:700}.ember-menu{display:flex;gap:8px}.ember-hud{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:10px 14px;background:#122534;color:#c5e7e4;border:1px solid #344b5b;border-bottom:0;border-radius:12px 12px 0 0;font-size:13px}.ember-hud [data-ember-health]{color:#ffb1a1}.ember-stage{position:relative;background:#091623;border:1px solid #344b5b;overflow:hidden;border-radius:0 0 12px 12px}.ember-stage canvas{display:block;width:100%;height:auto;image-rendering:pixelated;outline-offset:-4px}.ember-stage canvas:focus-visible{outline:2px solid #75e7dc}.ember-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#071321bb;color:#e7f7f4;padding:14px;text-align:center}.ember-overlay[hidden]{display:none}.ember-overlay>div{max-width:470px}.ember-mark{color:#7ce9d3;font-size:30px}.ember-overlay h3{font-size:27px;margin:8px 0;letter-spacing:-.6px}.ember-overlay p{font-size:14px;color:#bdd4d6;line-height:1.5}.ember-overlay button{background:#328e81;border-color:#5fb5a7;color:#fff;min-height:42px;padding:8px 22px}.ember-touch{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:12px 0}.ember-touch>div{display:flex;gap:7px;min-width:0}.ember-touch button{min-width:45px;min-height:44px;touch-action:none;user-select:none;padding:8px 12px}.ember-touch .ember-strike{border-color:#b46a4c;background:#b46a4c20}.ember-touch button.pressed{background:var(--accent);color:#fff}.ember-help{font-size:12px;color:var(--muted);margin:0;line-height:1.5}.ember-notice{font-size:13px;color:var(--red);min-height:1em}.game-card-preview[data-game-id="ember-vault"] .game-card-art{background:radial-gradient(ellipse at 70% 80%,#cf7c4633,transparent 55%),linear-gradient(140deg,#163a4e,#211b2a)}
@media(max-width:620px){.ember-heading{gap:8px}.ember-heading h2{font-size:21px}.ember-heading>div:first-child{width:100%}.ember-hud{font-size:11px;padding:8px;gap:6px}.ember-touch{gap:6px}.ember-touch>div{gap:4px}.ember-touch button{min-width:39px;padding:7px 8px;font-size:11px}.ember-overlay h3{font-size:20px}.ember-overlay p{font-size:12px;margin:7px 0}.ember-mark{font-size:22px}.ember-help{font-size:11px}}

/* 0.3.84: окно смены — НД/КД/чай вписывают прямо в строку, ставку выбирают в строке */
.shift-detail-dialog .cell-input{width:100%;max-width:120px;min-height:0!important;height:28px;padding:2px 8px!important;text-align:right;font-variant-numeric:tabular-nums;font-size:inherit!important;color:var(--accent);background:transparent;border:1px solid transparent;border-radius:6px;box-shadow:none}
.shift-detail-dialog .cell-input:hover{border-color:var(--border)}
.shift-detail-dialog .cell-input:focus{border-color:var(--accent);background:var(--surface);outline:none;color:var(--fg)}
.shift-detail-dialog .cell-input::placeholder{color:var(--muted)}
.shift-detail-dialog .cell-input.invalid{border-color:var(--red,#e5484d)}
.shift-detail-dialog td.number:has(.cell-input){padding-top:2px!important;padding-bottom:2px!important}
.shift-detail-dialog .detail-info .cell-select{min-height:0!important;height:26px;padding:0 6px!important;font-size:inherit!important;color:var(--accent);background:transparent;border:1px solid var(--border);border-radius:6px}
.shift-detail-dialog .detail-info .cell-input{display:inline-block;width:90px}
.shift-detail-dialog.saving .dialog-body{opacity:.6;pointer-events:none}
/* 0.3.84: «Добавить комиссию» вместо счётчиков «Переводы на площадку» и «Газ» */
.commission-desktop{display:grid;gap:8px}
.commission-desktop h3{margin:0}
.commission-add{justify-self:start;min-height:0!important;height:30px;padding:0 12px!important;font-size:13px!important}
.commission-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}
.commission-form input{flex:1 1 90px;min-width:0;max-width:140px;height:30px;min-height:0;padding:0 8px;text-align:right}
.commission-form button{min-height:0!important;height:30px;padding:0 10px!important;font-size:13px!important}
.commission-list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.commission-list li{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 8px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-variant-numeric:tabular-nums;background:var(--stripe)}
.commission-cancel{width:20px;height:20px;min-height:0!important;padding:0!important;border:0;background:transparent;color:var(--muted);font-size:14px!important;line-height:1}
.commission-cancel:hover{color:var(--red,#e5484d)}
.commission-desktop .transfer-counter-total{margin:0}
.ts-transfers .commission-desktop{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 12px}
.ts-transfers .commission-desktop .commission-list{grid-column:1/-1;grid-row:2}
.ts-transfers .commission-desktop .transfer-counter-total{grid-column:3;grid-row:1;justify-self:end}
@media(max-width:720px){.commission-desktop{display:grid}.ts-transfers .commission-desktop{grid-template-columns:1fr auto}.ts-transfers .commission-desktop .commission-form,.ts-transfers .commission-desktop .commission-add{grid-column:1/-1;grid-row:2}.ts-transfers .commission-desktop .commission-list{grid-row:3}.ts-transfers .commission-desktop .transfer-counter-total{grid-column:2;grid-row:1}}
/* 0.3.84: «Итог смены» — шкала уровня наверху с анимацией, иконки у показателей, «За …» отдельными блоками */
.shift-summary{display:grid;gap:14px}
.shift-summary .ss-level{display:grid;gap:8px}
.shift-summary .ss-level-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.shift-summary .ss-level-head h3{margin:0;font-size:16px}
.shift-summary .ss-level-up{padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;color:#fff;background:#22a06b}
.shift-summary .ss-bar{position:relative;height:10px;border-radius:999px;background:var(--stripe);box-shadow:inset 0 0 0 1px var(--border);overflow:hidden}
.shift-summary .ss-bar>span{position:absolute;top:50%;transform:translateY(-50%);border-radius:999px}
.shift-summary .ss-old{left:0;height:6px;background:#7cc4ff}
.shift-summary .ss-new{height:10px;width:0;background:#2fbf71;box-shadow:0 0 8px #2fbf7166}
.shift-summary .ss-new.grow{transition:width 1.2s cubic-bezier(.22,.61,.36,1) .25s}
.shift-summary .ss-lost{height:6px;background:#e5484d55}
.shift-summary .ss-level-foot{display:flex;justify-content:space-between;align-items:baseline;gap:4px 12px;flex-wrap:wrap;font-size:13px}
.shift-summary .ss-level-foot b{font-variant-numeric:tabular-nums}
.shift-summary .ss-level-foot em{font-style:normal;font-weight:600}
.shift-summary .ss-next{margin-left:auto;text-align:right;color:var(--muted)}
.shift-summary .up{color:#2fbf71}.shift-summary .down{color:var(--red,#e5484d)}
.shift-summary .ss-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.shift-summary .ss-metric{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--stripe)}
.shift-summary .ss-metric>.ti{width:22px;height:22px;color:var(--accent)}
.shift-summary .ss-metric>span{display:grid;gap:2px;min-width:0}
.shift-summary .ss-metric small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shift-summary .ss-metric strong{font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
.shift-summary .ss-metric.up strong{color:#2fbf71}.shift-summary .ss-metric.down strong{color:var(--red,#e5484d)}
.shift-summary .ss-metric.up>.ti,.shift-summary .ss-metric.down>.ti{color:inherit}
.shift-summary .ss-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.shift-summary .ss-part{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 12px;border:1px solid var(--border);border-radius:10px;color:var(--fg)}
.shift-summary .ss-part>.ti{width:18px;height:18px;color:var(--muted)}
.shift-summary .ss-part>span{flex:1;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shift-summary .ss-part>b{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--muted)}
.shift-summary .ss-part.up>b,.shift-summary .ss-part.up>.ti{color:#2fbf71}.shift-summary .ss-part.down>b,.shift-summary .ss-part.down>.ti{color:var(--red,#e5484d)}
.shift-summary [data-summary-close]{justify-self:start}
@media(max-width:420px){.shift-summary .ss-metric{flex-direction:column;align-items:flex-start;gap:6px;padding:8px 10px}.shift-summary .ss-metric strong{font-size:14px}.shift-summary .ss-metric small{white-space:normal;line-height:1.2}.shift-summary .ss-parts{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.shift-summary .ss-new.grow{transition:none}}
/* 0.3.84: «Правила XP» — «Игровые правила» и «Источники XP 2.0» одним блоком */
.xp-rules{display:grid;gap:14px}
.xp-rules>h2{margin:0}.xp-rules>.footnote{margin:0}
.xp-rule-group{display:grid;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.xp-rule-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--stripe);border-bottom:1px solid var(--border)}
.xp-rule-group-head h3{margin:0;font-size:14px}
.xp-rule-group-head .xp-rule-edit{min-height:0;height:30px;padding:0 12px;font-size:13px}
.xp-rule{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 220px;align-items:center;gap:6px 16px;padding:10px 14px}
.xp-rule+.xp-rule{border-top:1px solid var(--border)}
.xp-rule-name{display:grid;gap:2px;min-width:0}
.xp-rule-name small{color:var(--muted);font-size:12px}
.xp-rule-value{font-variant-numeric:tabular-nums;font-weight:600;min-width:0}
.xp-rule-state{display:flex;align-items:center;justify-content:flex-end;gap:10px;white-space:nowrap}
.xp-rule-state button{min-height:0;height:30px;padding:0 12px;font-size:13px;min-width:100px}
.xp-state{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}
.xp-state::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.xp-state.on{color:#2fbf71}
@media(max-width:720px){.xp-rule{grid-template-columns:minmax(0,1fr) auto}.xp-rule-value{grid-column:1;grid-row:2;font-size:13px}.xp-rule-state{grid-column:2;grid-row:1/3;flex-direction:column;align-items:flex-end;gap:6px}.xp-rule-state button{min-width:0}}
/* Compact «Сообщить о нарушении»: schedule/actual/delay facts, all five XP categories. */
.discipline-report-dialog{width:min(440px,calc(100vw - 24px))}
.discipline-report-dialog .dialog-body{padding:12px 14px}
.discipline-report-dialog .dialog-body form{gap:10px}
.discipline-report-dialog label{gap:4px}
.discipline-report-dialog select,.discipline-report-dialog textarea{padding:7px 10px;width:100%;min-width:0}
.discipline-report-dialog textarea{min-height:52px}
.discipline-report-dialog .form-error:empty{display:none}
.discipline-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0}
.discipline-times div{min-width:0;padding:6px 8px;border:1px solid var(--border);border-radius:7px;background:var(--stripe)}
.discipline-times dt{font-size:11px;line-height:1.3;color:var(--muted)}
.discipline-times dd{margin:2px 0 0;font-size:13px;font-weight:600;line-height:1.3;color:var(--fg);overflow-wrap:anywhere}
.discipline-times .late dd{color:var(--red)}
.discipline-hint{margin:-4px 0 0;font-size:12px;line-height:1.4;color:var(--muted)}
@media(max-width:420px){.discipline-times{grid-template-columns:minmax(0,1fr)}.discipline-times div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:5px 8px}.discipline-times dd{margin:0;text-align:right}}
.discipline-report-dialog .dialog-head{padding:12px 14px}.discipline-report-dialog .dialog-head h2{font-size:16px}.discipline-report-dialog .form-actions{margin-top:0}
