:root{--tblr-primary:#276b58;--tblr-primary-rgb:39,107,88;--tblr-font-sans-serif:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ink:#243e37;--line:#e2e8e4}*{box-sizing:border-box}body{background:#f5f7f5;color:#253b34;font-family:var(--tblr-font-sans-serif)}.rail{position:fixed;inset:0 auto 0 0;width:220px;background:#153f34;color:#dbe8e1;padding:35px 22px;display:flex;flex-direction:column}.brand{font-size:28px;font-weight:800;color:#fff;letter-spacing:-3px;text-decoration:none;width:55px}.brand span{color:#b8d5a0}.rail-caption{font-size:9px;letter-spacing:1.3px;color:#98b2a5;margin-top:70px;margin-bottom:15px}.rail-active{padding:13px;background:#ffffff15;border:1px solid #ffffff12;border-radius:9px;font-weight:600}.rail-active span{margin-right:12px}.rail-note{margin-top:42px;font-size:22px;line-height:1.5;letter-spacing:-.6px;color:#b9cdbf}.rail-footer{margin-top:auto;display:flex;gap:10px;align-items:center;font-size:13px}.rail-footer small{display:block;font-size:10px;color:#91ab9e}.rail-footer .avatar{background:#d0dbc8;color:#234f3d}main{margin-left:220px;padding:0 44px 24px;max-width:1700px}header{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.breadcrumb-line{font-size:12px;color:#7c8982}.breadcrumb-line span{margin:0 13px;color:#a8b5ac}.connection{font-size:11px;color:#65776c;white-space:nowrap}.connection.online:before{content:"";display:inline-block;width:6px;height:6px;background:#409478;border-radius:50%;margin-right:7px}.local-banner{margin-top:23px;font-size:11px;color:#718174;display:flex;align-items:center;gap:8px}.local-dot{width:6px;height:6px;background:#a3b48e;border-radius:50%;flex-shrink:0}.heading-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:30px 0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;color:#7e8b7f;margin-bottom:9px}h1{font-size:40px;line-height:1.1;letter-spacing:-1.6px;margin:0 0 13px;font-weight:650}p{color:#738177;font-size:13px;margin:0}.btn{border-radius:8px;min-height:40px;font-weight:550}.btn-primary{background:#276b58;border-color:#276b58}.btn-primary:hover{background:#205745;border-color:#205745}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}.stat{border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px 20px}.stat-label{font-size:12px;color:#748178}.stat-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:9px}.stat-value{font-size:29px;font-weight:600;letter-spacing:-1px}.stat-icon{width:33px;height:33px;border-radius:9px;background:#f0f4ee;color:#638574;display:grid;place-items:center;font-size:17px}.stat.warn .stat-icon{background:#fff4df;color:#ba8c3e}.toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:10px}.tabs{display:flex;gap:25px}.tabs button{background:none;border:0;color:#7b877f;padding:10px 0 15px;border-bottom:2px solid transparent;font-size:13px;white-space:nowrap}.tabs button.selected{color:#225d49;border-color:#2b7256;font-weight:650}.live-hint{font-size:10px;color:#8d9891}.filters{display:flex;gap:12px;margin:22px 0 19px}.form-control,.form-select{border-color:#dde5df;border-radius:7px;min-height:41px;font-size:13px;box-shadow:none}.search-wrap{position:relative;max-width:380px;flex:1}.search-wrap span{position:absolute;left:12px;top:6px;font-size:22px;color:#8c9990}.search-wrap input{padding-left:37px}.filters select{max-width:220px}.list-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:20px 0 12px}.list-heading h2{font-size:15px;margin:0;font-weight:650}.list-heading span{font-size:11px;color:#8c968f}.cleaning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cleaning-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:box-shadow .15s}.cleaning-card:hover{box-shadow:0 4px 16px #1f41300a}.card-main{padding:20px}.card-top{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.address{font-size:16px;letter-spacing:-.3px;font-weight:650;margin:0 0 5px}.work-title{font-size:11px;color:#89948c}.pill{font-size:10px;padding:4px 7px;border-radius:5px;background:#f0f2ef;color:#7b867c;white-space:nowrap}.pill.green{background:#e8f4ed;color:#37765c}.pill.amber{background:#fff4de;color:#9e7a35}.times{display:flex;gap:28px;margin:22px 0 19px;font-size:11px;color:#8a938c}.times strong{font-size:14px;color:#53655a;margin-left:5px;font-weight:550}.card-person{display:flex;align-items:center;gap:9px}.card-person .avatar{width:27px;height:27px;font-size:11px;border-radius:50%;background:#eaf0e4;color:#64764b;box-shadow:none}.person-name{font-size:12px;font-weight:600}.card-facts{display:flex;align-items:center;justify-content:space-between;gap:8px}.check-text{font-size:10px;color:#789284}.check-text.missing{color:#bd9142}.card-comment{font-size:11px;color:#8a938b;margin-top:14px;min-height:16px}.card-bottom{background:#fafbf9;border-top:1px solid #edf0eb;display:flex;justify-content:space-between;align-items:center;padding:11px 20px;gap:10px}.price{font-size:17px;font-weight:650;color:#3a5044}.price small{font-size:10px;font-weight:400;color:#859086;display:block}.open-card{font-size:11px;color:#367158;background:white;border:1px solid #dce5dc;border-radius:6px;padding:7px 12px}.attention{border:1px solid #e6deca;background:#fcf9f0;border-radius:8px;padding:11px 14px;font-size:11px;color:#93815e}.attention+.attention{margin-top:8px}.empty{padding:35px 20px;text-align:center;background:#fff;border:1px dashed #dce4dd;border-radius:10px;color:#819081;grid-column:1/-1;font-size:13px}#notice:not(:empty){margin:10px 0;padding:10px;border-radius:6px;background:#e8f3e9;color:#306b4d;font-size:12px}#extrasSection{margin-top:30px}footer{display:flex;justify-content:space-between;margin-top:35px;font-size:10px;color:#9aa398}dialog{border:0;border-radius:16px;max-width:590px;width:calc(100% - 32px);max-height:90dvh;padding:0;box-shadow:0 24px 100px #153f3440;color:#314739}dialog::backdrop{background:#17372965;backdrop-filter:blur(2px)}.dialog-top{padding:25px 26px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}.dialog-top h2{font-size:21px;letter-spacing:-.5px;margin:0 0 6px}.dialog-top p{font-size:11px}.close-button{background:none;border:0;font-size:28px;color:#8a968c;height:30px}.dialog-body{padding:23px 26px;display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:12px;font-weight:550;color:#677667}label input,label select,label textarea{margin-top:7px}.checklist-note{font-size:11px;color:#889481}.money-box{background:#f3f6f0;border:1px solid #e4eadd;border-radius:10px;padding:17px}.money-box input{font-size:22px;font-weight:600}.money-box #breakdown{font-size:12px;margin-top:12px;display:flex;justify-content:space-between;color:#819073}.money-box #breakdown strong{color:#3c7457}.dialog-actions{padding:17px 26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.alert{font-size:12px;margin:0}details{font-size:11px;color:#7e8b7d}details summary{cursor:pointer}#audit{margin-top:12px;display:grid;gap:8px}button:focus-visible{outline:3px solid #8cbaa0;outline-offset:3px}
@media(min-width:1500px){.cleaning-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){.rail{width:175px;padding:28px 16px}main{margin-left:175px;padding:0 25px 20px}.live-hint{display:none}.rail-note{font-size:20px}.card-main{padding:16px}.address{font-size:14px}}@media(max-width:760px){.rail{display:none}main{margin:0;padding:0 18px 24px}header{height:58px}.breadcrumb-line{font-size:10px}.connection{font-size:10px}.local-banner{font-size:9px;line-height:1.5;margin-top:15px}.heading-row{margin:23px 0;align-items:flex-start}.heading-row p{max-width:210px;font-size:11px}h1{font-size:32px;margin-bottom:10px}.eyebrow{font-size:8px}.heading-row .btn{font-size:11px;padding:8px 10px;margin-top:23px;white-space:nowrap}.stats{grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:22px}.stat{padding:12px 14px}.stat-value{font-size:25px}.stat-label{font-size:11px}.stat-icon{width:28px;height:28px;font-size:14px}.tabs{gap:23px}.tabs button{font-size:12px}.filters{gap:8px;margin-top:17px}.filters select{max-width:145px;font-size:11px}.search-wrap input{font-size:11px}.cleaning-grid{grid-template-columns:1fr}.address{font-size:16px}.card-main{padding:18px}.list-heading span{font-size:10px}.form-grid{grid-template-columns:1fr}.dialog-body,.dialog-top{padding:20px}.dialog-actions{padding:15px 20px}.dialog-actions .btn{font-size:12px}footer{gap:14px;font-size:9px}.times{margin:18px 0}.card-comment{min-height:0}.local-dot{align-self:flex-start;margin-top:4px}}

/* Равная высота карточек и место для сумм на планшете. */
.cleaning-card{display:flex;flex-direction:column}.card-main{flex:1}.stat-value{white-space:nowrap}.stat-icon{flex-shrink:0}@media(min-width:761px) and (max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}}

/* Рабочий список: одна уборка — одна строка, адрес закреплён при прокрутке. */
.cleaning-list{min-width:0}.list-scroll{position:relative;overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;scrollbar-width:thin}.work-list{width:100%;min-width:1020px;border-collapse:separate;border-spacing:0;font-size:12px;line-height:1.45}.work-list th,.work-list td{padding:13px 12px;text-align:left;vertical-align:middle;border-bottom:1px solid #eaf0eb}.work-list thead th{background:#eef3ee;font-size:10px;letter-spacing:.2px;color:#718176;font-weight:600;white-space:nowrap}.work-list tbody tr:last-child>*{border-bottom:0}.work-list tbody tr:hover>*{background:#f7faf6}.work-list .address-cell{min-width:180px;max-width:230px;position:sticky;left:0;background:#fff;font-weight:400;z-index:1;border-right:1px solid #eaf0eb}.work-list thead th:first-child{position:sticky;left:0;z-index:2;border-right:1px solid #dfe7df}.address-link{display:block;border:0;background:none;padding:0;margin:0 0 3px;font:inherit;font-size:13px;font-weight:650;color:#285c49;text-align:left;cursor:pointer}.address-link:hover{text-decoration:underline}.work-title{line-height:1.5;overflow-wrap:anywhere}.time-cell{min-width:106px;white-space:nowrap;font-variant-numeric:tabular-nums;color:#3d5648}.time-cell span{display:inline-block;width:40px;font-size:10px;color:#8a968c}.time-cell>div+div{margin-top:3px}.work-list .pill{display:inline-block;white-space:normal;max-width:125px;font-size:11px}.work-list .check-text{font-size:11px;white-space:nowrap}.work-list .person-name{font-weight:500;white-space:nowrap}.missing{color:#a87c32}.comment-cell{min-width:145px;max-width:280px;overflow-wrap:anywhere;color:#6d7e71}.price-cell{min-width:115px}.work-list .price{font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}.work-list .price small{font-size:10px}.work-list .open-card{min-height:34px;padding:6px 10px}.action-cell{width:96px}.muted{color:#a0aaa2}.work-cell{min-width:160px}.extra-list{min-width:820px}.scroll-hint{display:none;font-size:10px;color:#869389;margin:8px 2px}.list-scroll:focus-visible{outline:3px solid #8cbaa0;outline-offset:3px}.heading-row{margin:22px 0}.stats{margin-bottom:20px}.stat{padding:13px 18px}.filters{margin:17px 0}.list-heading{margin:17px 0 10px}@media(max-width:1350px){.scroll-hint{display:block}}@media(max-width:760px){.work-list .address-cell{min-width:150px;max-width:170px}.work-list th,.work-list td{padding:12px 10px}.heading-row{margin:23px 0}.stat{padding:12px 14px}}

/* Колонки и значения соответствуют текущему оперативному экрану. */
.work-list{min-width:1090px}.row-field{font:inherit;font-size:12px;text-align:left;border:1px solid #dfe7df;border-radius:6px;background:#fff;color:#365b49;padding:7px 10px;min-height:34px;cursor:pointer}.row-field:hover{border-color:#89ac97;background:#f3f8f1}.row-field.missing{color:#a87c32}.row-field.pill{white-space:nowrap;max-width:none;font-size:11px}.row-field.has-comment{background:#edf4ec;color:#346446}.flag-cell{white-space:nowrap;color:#648573}.comment-cell{min-width:95px}.source-field{min-width:135px;font-size:11px;white-space:nowrap}.deposit-source{background:#fff4de;color:#9e7a35}.purchase-source{background:#eef1fc;color:#566b9b}.extra-list{min-width:990px}
/* Компактные редакторы полей и операционные блоки. */
[hidden]{display:none!important}.attention-panel{border:1px solid #e5ddc5;border-radius:10px;background:#fcfaf3;margin:16px 0 24px;overflow:hidden}.attention-heading{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid #e9e2ce;gap:12px}.attention-heading h2{font-size:14px;margin:0}.attention-heading span{font-size:11px;color:#9a8962}.attention-scroll{max-height:205px;overflow:auto}.attention-event{display:grid;grid-template-columns:92px 1fr 100px;gap:14px;padding:11px 16px;border-bottom:1px solid #eee8d9;font-size:11px;color:#8b7b56}.attention-event:last-child{border:0}.attention-event span{overflow-wrap:anywhere}.attention-event time{text-align:right;font-size:10px}.quick-editor{max-width:390px;border-radius:12px}.quick-heading{padding:20px 20px 14px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.quick-heading h2{font-size:18px;margin:0 0 6px}.quick-heading p{font-size:11px}#quickContent{padding:14px 20px}.quick-options{display:grid;gap:5px}.quick-option{background:white;border:0;border-radius:7px;padding:11px 12px;text-align:left;color:#3a5e4b;font-size:13px;display:flex;justify-content:space-between;gap:10px}.quick-option:hover,.quick-option.selected{background:#edf4ea}.quick-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:14px}.field-error{color:#ab563e;font-size:12px;overflow-wrap:anywhere}.field-error:not(:empty){padding:12px 20px}.operations-section{margin-top:34px}.purchase-form,.extra-form{background:white;border:1px solid var(--line);border-radius:10px;padding:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}.purchase-comment{grid-column:span 2}.purchase-form .field-error,.extra-form .field-error{grid-column:1/-1}.purchase-row{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;display:grid;grid-template-columns:95px 1.3fr 1fr 95px 1.2fr auto;align-items:center;gap:15px;font-size:12px;margin-bottom:9px}.purchase-row strong{font-weight:600}.purchase-row small{display:block;font-size:10px;color:#8a998d;margin-top:5px}.purchase-note{overflow-wrap:anywhere}.purchase-actions{display:flex;gap:5px}.purchase-actions .btn{font-size:11px;padding:6px 9px;min-height:32px}.purchase-inline{grid-column:1/-1;background:#f8faf6}.week-tabs{display:flex;gap:8px;margin:12px 0}.week-tabs .btn{font-size:11px;min-height:32px}.week-tabs .selected{background:#e3efdf;color:#356247}.add-extra{margin:12px 0;min-width:44px}.remove-row{border:1px solid #e8dcd7;background:#fff;color:#a36e5c;border-radius:6px;font-size:22px;line-height:26px;width:30px;height:30px}.extra-list .row-field{white-space:normal;min-width:85px}.extra-list td:nth-child(3){min-width:180px}.extra-list td:last-child{min-width:140px}#purchaseResult,#purchaseUndo,#extraUndo{font-size:12px;color:#527057;margin-top:10px}.extra-form{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:5px}@media(max-width:1100px){.purchase-form,.extra-form{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-row{grid-template-columns:95px 1fr 1fr}.purchase-actions{grid-column:3}}@media(max-width:760px){.attention-event{grid-template-columns:65px 1fr;gap:8px}.attention-event time{grid-column:2;text-align:left}.attention-heading{padding:12px}.attention-heading h2{font-size:13px}.purchase-form,.extra-form{grid-template-columns:1fr;padding:14px}.purchase-comment{grid-column:auto}.purchase-row{grid-template-columns:1fr 1fr;gap:12px}.purchase-actions{grid-column:1/-1}.purchase-note{grid-column:1/-1}.quick-editor{max-width:calc(100% - 32px)}.attention-scroll{max-height:200px}.list-heading{flex-wrap:wrap}}

/* Новое начисление заполняется в строке таблицы; покупка — в одну строку. */
.extra-draft-row>td{background:#f4f8ef!important;padding:10px 8px}.extra-draft-row .form-control,.extra-draft-row .form-select{min-height:34px;height:34px;font-size:11px;padding:6px 8px;min-width:100px}.extra-draft-row [name="date"]{min-width:126px}.extra-draft-row [name="apartment_id"]{min-width:185px}.extra-draft-row [name="title"]{min-width:135px}.extra-draft-row [name="total"]{width:92px;min-width:92px}.extra-draft-row [name="payment_source"]{min-width:155px}.extra-draft-row [name="comment"]{min-width:160px}.draft-actions form{display:flex;gap:5px;min-width:65px}.save-row{border:1px solid #97b294;border-radius:6px;background:#e7f1df;color:#326443;width:30px;height:30px}.empty-row{padding:22px!important;color:#8b9789;text-align:center!important}.extra-draft-row .field-error:not(:empty){padding:6px 0;font-size:10px}.purchase-entry-scroll{overflow-x:auto;position:relative;border:1px solid var(--line);border-radius:10px;background:white;scrollbar-width:thin}#purchaseForm{display:flex;flex-wrap:nowrap;align-items:end;gap:12px;border:0;border-radius:0;padding:12px;min-width:max-content}#purchaseForm>label{flex:1 0 145px;min-width:145px;font-size:11px}#purchaseForm>label:nth-child(1){flex:0 0 134px;min-width:134px}#purchaseForm>label:nth-child(2){flex-basis:190px;min-width:190px}#purchaseForm>label:nth-child(3){flex-basis:180px;min-width:180px}#purchaseForm>label:has([name="amount"]){flex:0 0 105px;min-width:105px}#purchaseForm .purchase-comment{flex-basis:165px;min-width:165px}#purchaseForm .form-control,#purchaseForm .form-select{height:36px;min-height:36px;font-size:12px}#purchaseForm>div{flex:0 0 auto}#purchaseForm .btn{height:36px;min-height:36px;font-size:12px;white-space:nowrap}

/* Цена и повторная уборка доступны из адресной ячейки без новых колонок. */
.address-actions{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;margin-top:8px}.cleaning-price{border:0;background:#edf4e9;color:#326147;border-radius:5px;padding:4px 7px;font-size:12px;font-weight:650;white-space:nowrap}.cleaning-price span{font-size:11px;color:#88a17b;margin-left:3px}.repeat-cleaning{border:0;background:none;color:#71876d;font-size:10px;padding:4px 0;white-space:nowrap}.repeat-cleaning:hover{color:#276b58;text-decoration:underline}.price-adjustment{font-size:10px;color:#8a8e6b;margin-top:5px}.repeat-note{font-size:9px;color:#789174;margin-top:4px}.quick-price-summary{white-space:pre-line;font-size:12px;color:#547147;background:#f2f7ee;padding:12px;border-radius:7px;margin:12px 0;line-height:1.8}.price-reason-label{margin-top:14px}

/* Две строки в адресной ячейке: адрес и действия; детали доступны по нажатию. */
#rows .address-cell{width:250px;min-width:250px;max-width:250px;padding-top:9px;padding-bottom:9px}#rows .address-heading{display:flex;align-items:center;gap:6px;max-width:226px}#rows .address-link{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;margin:0;line-height:18px}#rows .address-actions{flex-wrap:nowrap;gap:8px;margin-top:4px;line-height:20px}#rows .cleaning-price{padding:2px 6px;font-size:11px}#rows .repeat-cleaning{font-size:10px;padding:2px 0}.cleaning-ordinal{flex-shrink:0;font-size:9px;color:#75876c;background:#edf2e8;border-radius:4px;padding:1px 4px}.address-date{font-size:9px;color:#89927c;white-space:nowrap}.attention-scroll,.list-scroll,.purchase-entry-scroll{overscroll-behavior-y:auto;scroll-behavior:auto}@media(max-width:760px){#rows .address-cell{width:180px;min-width:180px;max-width:180px}#rows .address-heading{max-width:160px}#rows .address-actions{gap:5px}#rows .cleaning-price{font-size:10px;padding:2px 4px}#rows .repeat-cleaning{font-size:9px}}

/* Компактная рабочая шапка без боковой панели и финансовой сводки. */
main{margin:0 auto;padding:0 24px 24px;max-width:none;width:100%}
.compact-header{height:auto;min-height:64px;gap:16px;padding:12px 0;border-bottom:0}
.page-title,.header-status{display:flex;align-items:center;gap:16px;min-width:0}
.compact-header h1{font-size:23px;letter-spacing:-.6px;line-height:1.2;margin:0}
#dateLabel{font-size:12px;color:#7b877f}
.header-status{gap:12px}.local-badge{font-size:10px;color:#7b877f;background:#edf1eb;border-radius:4px;padding:3px 6px;white-space:nowrap}
.toolbar{min-height:43px;gap:14px;flex-wrap:wrap}.tabs{gap:24px}.tabs button{padding:9px 0 11px}
.summary-counts{display:flex;flex-wrap:wrap;gap:8px 20px;padding:7px 0;font-size:12px;color:#7b877f}
.summary-count{white-space:nowrap}.summary-count strong{margin-left:4px;font-size:13px;color:#365b49}.summary-count.warn strong{color:#aa8038}
.filters{margin:12px 0;gap:10px}.filters .form-control,.filters .form-select{height:36px;min-height:36px}
.filters .search-wrap span{top:3px}.attention-panel{margin:12px 0 18px}
@media(max-width:760px){main{padding:0 12px 20px}.compact-header{align-items:flex-start;padding:14px 0 10px;gap:10px}.page-title{flex-direction:column;align-items:flex-start;gap:4px}.compact-header h1{font-size:21px}#dateLabel{font-size:10px}.header-status{flex-direction:column;align-items:flex-end;gap:5px}.local-badge{font-size:9px}.toolbar{gap:0}.tabs{width:100%;gap:24px}.summary-counts{gap:8px 16px;font-size:11px;padding:5px 0 9px}.summary-count strong{font-size:12px}.filters{gap:8px}.filters .search-wrap{min-width:0}.filters select{max-width:140px}.filters input{min-width:0}.attention-heading span{font-size:10px}}

/* Таблицы прокручиваются только по горизонтали; вертикаль принадлежит странице. */
.list-scroll,.purchase-entry-scroll{overflow-y:hidden}

/* Вкладки и справочник повторяют структуру рабочего экрана. */
.tabs{flex-wrap:wrap;gap:0 24px}.maid-search{margin:12px 0;max-width:380px}.maid-list{min-width:730px}.maid-list th:first-child,.maid-list td:first-child{position:sticky;left:0;background:#fff;z-index:1;min-width:175px}.maid-list thead th:first-child{background:#eef3ee}.maid-list .inactive{color:#8b958c}.maid-list .maid-name{border:0;background:none;padding:5px 0;color:#285c49;font-weight:600;text-align:left}.maid-list .maid-name:hover{text-decoration:underline}#maidsSection .list-heading{margin-top:16px}#maidsSection .list-heading .btn{font-size:12px;min-height:34px}#maidCount{font-weight:400;margin-left:8px}#maidError:not(:empty){padding:0}#maidForm input,#maidForm select{min-width:0}@media(max-width:760px){.tabs{gap:0 20px}.tabs button{font-size:12px}#maidsSection .list-heading{gap:8px}#maidsSection .list-heading .btn{font-size:11px;padding:6px 9px}.maid-search{max-width:none}.maid-list{min-width:680px}}

.history-weeks{margin:12px 0 8px;gap:8px}.history-weeks .btn{display:flex;align-items:center;gap:10px}.history-weeks span{font-size:10px;color:#7e8c80}.history-list{min-width:1050px}.history-list td:nth-child(2){white-space:nowrap}.history-list td:nth-child(3){min-width:210px}.history-list td:last-child{min-width:190px;max-width:380px}.history-list .row-field{max-width:100%;overflow-wrap:anywhere}.row-field:disabled,.remove-row:disabled{cursor:default;opacity:.65}.row-field:disabled:hover{background:#fff;border-color:#dfe7df}#historyStatus{font-size:11px;margin-top:6px}#historyUndo{font-size:12px;margin-top:10px;color:#527057}@media(max-width:450px){.history-weeks .btn{flex-direction:column;align-items:flex-start;gap:2px;flex:1}}
/* Рабочие данные используют те же таблицы и вкладки, что локальные примеры. */
.dataset-switch{display:flex;align-items:center;gap:12px;margin:8px 0 14px;font-size:12px}.dataset-switch select{width:auto;max-width:100%;min-height:32px;font-size:12px}
.copy-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 4px;color:#65776b;font-size:12px}.copy-notice .btn{font-size:11px;min-height:30px;padding:4px 9px}
#copyMessage,.copy-note,#copyViewDate,#copyExtrasRange,#copyPurchaseRange{font-size:12px;color:#7b877f}.copy-note{padding:10px 12px;background:#f3f2ea;border-radius:5px;line-height:1.6}
.copy-source-details{margin-top:24px;color:#7b877f;font-size:12px;overflow-wrap:anywhere}#copySources{line-height:1.7;margin-top:12px}#copyIssues p{margin-bottom:6px}
.copy-mode #dateLabel,.copy-mode #connection,.copy-mode #lastUpdate{display:none}
.copy-readonly{display:inline-block;padding:6px 8px;font-size:12px}.copy-price{font-size:11px;color:#708378}.copy-detail-line{margin:10px 0;overflow-wrap:anywhere}.copy-detail-line strong{display:block;margin-bottom:3px}.copy-extra-list{min-width:1050px}.copy-purchase-list{min-width:900px}#copyOmitted{font-size:12px;color:#7b877f;margin-top:12px}
@media(max-width:760px){.copy-notice{align-items:flex-start}.copy-notice span{max-width:240px}.copy-notice .btn{flex-shrink:0}.copy-price{font-size:10px}}

/* Компактные строки плана: две строки текста без лишнего вертикального поля. */
:is(#rows,#copyRows) .work-list:not(.maid-list) tbody tr>*{padding-top:6px;padding-bottom:6px}
:is(#rows,#copyRows) .address-heading{display:flex;align-items:center;gap:6px}
:is(#rows,#copyRows) .address-link{margin:0;line-height:18px}
:is(#rows,#copyRows) .address-actions{margin-top:2px;line-height:18px;gap:6px}
:is(#rows,#copyRows) .time-cell>div{line-height:18px}
:is(#rows,#copyRows) .time-cell>div+div{margin-top:2px}
:is(#rows,#copyRows) .row-field{min-height:30px;padding-top:4px;padding-bottom:4px;line-height:18px}
#copyRows .copy-readonly{padding-top:4px;padding-bottom:4px;line-height:18px}
#rows .cleaning-price,#rows .repeat-cleaning{padding-top:0;padding-bottom:0;line-height:18px}

/* Сохранения нового периода используют прежнюю плотность таблицы. */
#copyRows .address-actions .copy-price{min-height:18px;padding:0 4px;font-size:11px;line-height:18px}
#copyRows .address-actions{flex-wrap:nowrap}#copyRows .repeat-cleaning{padding:0;line-height:18px}
#workingEditor{max-width:660px}#workingEditFields input,#workingEditFields select{min-width:0}#workingEditNote,#workingEditSubtitle,#workingAudit{font-size:12px;color:#708378}#workingNotice{font-size:12px;margin:12px 0;color:#416b50}
#copyExtras .form-control,#copyExtras .form-select{min-width:110px;font-size:12px;min-height:32px}#copyExtras [name="apartmentId"]{min-width:180px}#copyExtras [name="reason"]{min-width:160px}#copyExtras .field-error{font-size:11px;white-space:normal}
.working-entry{overflow-x:auto;margin:10px 0}.working-entry-form{display:flex;gap:10px;align-items:end;padding:12px;border:1px solid #dfe7df;border-radius:8px;background:#fff;min-width:max-content}.working-entry-form label{min-width:120px}.working-entry-form [name="apartmentId"]{min-width:180px}.working-entry-form .form-control,.working-entry-form .form-select{font-size:12px;min-height:34px}.working-entry-form .field-error{max-width:250px;white-space:normal}.working-entry-form p{max-width:150px;font-size:12px;white-space:normal}

/* Личный доступ */
.access-page{max-width:480px;margin:8vh auto;padding:20px}.access-card{background:#fff;border:1px solid #dde3eb;border-radius:14px;padding:24px;margin-top:24px}.access-card label,#accountBody label{display:block;margin:12px 0}.access-card input,#accountBody input,#accountBody select{margin-top:5px}.access-card .btn{margin-top:8px}#accountDialog{width:min(680px,94vw)}.staff-entry{padding:12px 0;border-top:1px solid #e4e8ef}.staff-entry .btn{margin:6px 8px 0 0}.access-secret{padding:12px;border:1px solid #82b8aa;border-radius:8px;overflow-wrap:anywhere}.access-secret code{user-select:all}.access-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.staff-entry form{display:grid;grid-template-columns:1fr 1fr;gap:8px}
