:root{--ink:#18332f;--muted:#6d7973;--green:#143a36;--lime:#d8edb4;--paper:#f4f5ef;--line:#dce2d8;--red:#ad382f;--gold:#a66b1e;font:15px/1.5 Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:10px 16px;background:#fff;color:var(--ink);font-weight:600}button:hover{background:#edf3e7}button:disabled{opacity:.45;cursor:default}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#20524a}.danger{color:var(--red)}input,select,textarea{width:100%;border:1px solid #c5d1c6;background:#fff;padding:10px 12px;border-radius:8px;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #7da863;outline-offset:1px}input[type=checkbox]{width:20px;height:20px}label{display:grid;gap:5px;font-size:13px;color:#53665d}textarea{min-height:84px;resize:vertical}h1,h2,h3,p{margin:0}h1{font-size:30px;font-weight:650;letter-spacing:-.7px}h2{font-size:21px}h3{font-size:17px}small,.muted{color:var(--muted)}.layout{display:grid;grid-template-columns:238px 1fr;min-height:100vh}.sidebar{background:var(--green);color:#eff8e9;padding:29px 16px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:11px;margin:0 10px 28px;font-size:20px;font-weight:700}.brand img{width:40px}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#adbea9;font-weight:500;text-transform:uppercase}.nav-group{font-size:10px;text-transform:uppercase;letter-spacing:1.7px;color:#9bb1a6;margin:22px 14px 7px}.nav-button{width:100%;border:0;background:transparent;color:#d9e6dc;text-align:left;padding:9px 13px;font-size:13px;border-radius:7px;margin:1px 0;font-weight:500}.nav-button:hover{background:#285148}.nav-button.active{background:var(--lime);color:var(--green);font-weight:650}.sidebar-bottom{margin:26px 12px 0;border-top:1px solid #446159;padding-top:18px;color:#adbea9;font-size:12px}.main{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 34px;border-bottom:1px solid var(--line);background:#fbfcf8}.topbar .user{font-size:13px}.status{display:flex;align-items:center;gap:8px;font-size:12px}.dot{width:7px;height:7px;background:#629d48;border-radius:50%}.dot.off{background:#c28729}.content{padding:32px 34px 50px;max-width:1700px;margin:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.subtitle{color:var(--muted);margin-top:7px;max-width:730px;font-size:14px}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.actions input{width:auto}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:24px}.card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:23px}.card small{display:block}.metric{font-size:34px;font-weight:650;letter-spacing:-1px;margin:12px 0 4px}.card.accent{background:var(--green);color:#fff}.card.accent small{color:#c0d6c4}.grid2{display:grid;grid-template-columns:1.35fr 1fr;gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px;margin-bottom:20px}.panel p{margin-top:10px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.rowline{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #edf0e9;gap:20px}.rowline:last-child{border:0}.tag{font-size:11px;white-space:nowrap;border-radius:5px;padding:4px 8px;background:#e9f1df;color:#496739}.tag.warn{background:#fff0d5;color:#92601b}.tag.bad{background:#ffe8e3;color:#a23d30}.toolbar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.toolbar input[type=search]{max-width:360px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px;background:#fff}table{border-collapse:collapse;width:100%;font-size:13px}th{padding:13px 14px;background:#edf1e7;text-align:left;white-space:nowrap;font-weight:600;color:#546359}td{padding:12px 14px;border-top:1px solid #e8ece4;max-width:300px;min-width:95px;vertical-align:top}td:last-child{white-space:nowrap}tbody tr:hover{background:#fafcf7}td button{font-size:11px;padding:5px 8px}.empty{padding:48px 24px;text-align:center;color:var(--muted)}.notice{padding:15px 18px;background:#eef3e6;border:1px solid #d6e2c7;border-radius:9px;font-size:13px;margin:15px 0}.notice.warn{background:#fff5e5;border-color:#ead8b9}.notice.bad{background:#ffede8;border-color:#e8c7bd}.forms{display:grid;grid-template-columns:1fr 1fr;gap:15px}.forms .wide{grid-column:1/-1}.forms .check{display:flex;align-items:center;gap:9px}dialog{border:1px solid var(--line);border-radius:16px;padding:28px;width:min(720px,95vw);max-height:90vh;color:var(--ink);box-shadow:0 25px 100px #0b271b44}dialog::backdrop{background:#102b2477}dialog h2{margin-bottom:18px}dialog .actions{margin-top:22px;justify-content:flex-end}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:var(--green);color:#fff;padding:12vh 9vw;display:flex;flex-direction:column;justify-content:space-between}.login-art img{width:70px}.login-art h1{font-size:44px;line-height:1.13;margin-top:55px}.login-art p{color:#b9cfbf;font-size:17px;margin-top:22px}.login-form{padding:12vh 8vw;align-self:center}.login-form h2{font-size:28px}.login-form form{display:grid;gap:18px;margin-top:25px}.login-form small{display:block;margin-top:22px}.loading{padding:20vh;text-align:center;font-size:30px}#toast{display:none;position:fixed;bottom:25px;right:25px;max-width:500px;background:var(--green);color:white;padding:15px 22px;border-radius:10px;z-index:5;box-shadow:0 5px 30px #1235}.error{color:var(--red);font-size:13px;margin-top:12px}.report-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.report-tabs .active{background:var(--green);color:white}.conflict-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.footnote{font-size:12px;color:var(--muted);margin-top:18px}@media(max-width:1100px){.layout{grid-template-columns:205px 1fr}.cards{grid-template-columns:repeat(2,1fr)}.content{padding:25px 20px}.topbar{padding:15px 20px}.grid2{grid-template-columns:1fr}}@media(max-width:700px){.layout{display:block}.sidebar{position:static;height:auto;padding:14px}.brand{margin:0 0 12px}.sidebar nav{display:flex;overflow:auto;gap:5px}.nav-group,.sidebar-bottom{display:none}.nav-button{width:auto;white-space:nowrap}.topbar{flex-wrap:wrap}.page-head{flex-direction:column}.forms{grid-template-columns:1fr}.login{display:block}.login-art{padding:30px}.login-art h1{font-size:27px;margin-top:20px}.login-art p{font-size:14px}.login-form{padding:35px}.cards{gap:10px}.card{padding:17px}.metric{font-size:28px}.conflict-grid{grid-template-columns:1fr}}@media print{.sidebar,.topbar,.toolbar,.page-head .actions,.report-tabs,button,#toast,.footnote{display:none!important}.layout{display:block}.content{padding:0}.panel{border:0}.table-wrap{overflow:visible;border:0}table{font-size:10px}th,td{padding:5px;min-width:0}.notice{font-size:10px}.page-head{margin-bottom:12px}body{background:white}.cards{display:none}}
#print-root{display:none}.print-preview #app{display:none}.print-preview #print-root{display:block}.paper{background:white;padding:18mm;margin:25px auto;box-shadow:0 5px 25px #1232;max-width:210mm;color:#000;font:11pt/1.35 Arial,sans-serif}.paper.landscape{max-width:297mm}.paper h1{font-size:20pt;margin:6mm 0 3mm}.paper h2{font-size:15pt}.paper p{margin:4mm 0}.print-brand{font-size:12pt;font-weight:bold}.paper table{font-size:9pt;margin:5mm 0}.paper th,.paper td{border:1px solid #555;padding:2mm;white-space:normal;min-width:0;max-width:none;overflow-wrap:anywhere}.paper th{color:#000;background:#eee}.paper footer{font-size:8pt;margin-top:8mm;color:#555}.print-warning{font-size:9pt;font-weight:bold}.signatures{display:flex;justify-content:space-between;gap:10mm;margin-top:15mm;font-size:10pt}#print-controls{position:sticky;top:0;background:#e1e8d9;padding:15px;display:flex;gap:12px;justify-content:center;align-items:center;z-index:10}#print-controls span{font-size:12px}.print-event{break-inside:avoid;margin-bottom:10mm}@page{size:A4 portrait;margin:12mm}@page wide{size:A4 landscape;margin:10mm}.paper.landscape{page:wide}@media print{#app,#modal,#print-controls{display:none!important}#print-root{display:block!important;max-width:none;box-shadow:none;padding:0;margin:0}.paper.landscape{max-width:none}.paper thead{display:table-header-group}.paper tr{break-inside:avoid}.paper h1{font-size:18pt}.paper td,.paper th{color:#000!important}.signatures{break-inside:avoid}}
.ocr-photo{display:block;max-width:100%;height:auto;margin-top:20px}.ocr-text{min-height:65vh;margin:20px 0;font-family:Consolas,monospace}@media print{.ocr-photo{display:none}.ocr-text{border:0;height:auto;min-height:0;overflow:visible}.grid2{display:block}}
#ocr-paper{display:none}@media print{body:has(#ocr-paper)>.content{display:none}#ocr-paper{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font:11pt/1.4 Arial,sans-serif}}
.panel form>.actions{margin-top:18px}
.function-tooltip{position:fixed;width:max-content;max-width:min(320px,calc(100vw - 16px));padding:10px 13px;border-radius:8px;background:#173b35;color:#fff;font:13px/1.4 Segoe UI,Arial,sans-serif;box-shadow:0 4px 18px #0004;z-index:10000;pointer-events:none;white-space:normal;overflow-wrap:anywhere}@media print{.function-tooltip{display:none!important}}

.driver-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.driver-tabs button{text-align:left;min-width:145px}.driver-tabs small{display:block;font-weight:400}.driver-tabs .active{background:var(--green);color:white}.driver-tabs .active small{color:#c0d6c4}.task-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px}.task-card{margin:0}.task-card .actions{margin:18px 0 12px}.task-card h2{font-size:19px}.task-card .panel-head{align-items:start;gap:12px}.task-card .tag{white-space:normal}.task-details{color:var(--muted);font-size:14px;margin-top:12px}.permission-table td{min-width:0}.permission-table th{white-space:normal}.toolbar label{min-width:180px}details summary{cursor:pointer;margin-bottom:12px}

.role-picker{margin:22px 0;border:1px solid var(--line);border-radius:10px;padding:16px}.role-picker legend{font-weight:600;padding:0 6px}.role-choice{display:flex;align-items:flex-start;gap:12px;margin:12px 0;padding:10px;border-radius:8px;background:#f5f7f0;cursor:pointer}.role-choice input{width:auto;margin-top:4px}.role-choice small,.role-custom{display:block;white-space:normal;margin-top:4px}.role-description{margin:14px 0;padding:12px 0;border-bottom:1px solid var(--line)}.role-description h3{font-size:16px}.role-description p{font-size:13px;margin-top:7px}.role-guide summary{font-weight:600}.role-custom{color:var(--muted);font-size:11px}#role-overrides button{display:block;margin-top:12px;white-space:normal}#rights-summary p{margin-top:9px}#individual-rights{margin-top:20px}
.object-picker{display:grid;gap:8px;min-width:0;border:1px solid var(--line);border-radius:10px;padding:14px;background:#f6f8f2}.object-picker select{min-height:140px;padding:5px}.object-picker select option{padding:7px 8px;white-space:normal}.object-picker-status{font-size:13px;color:var(--green)}.object-add-toggle{justify-self:start}.object-create{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:14px}.object-picker [hidden]{display:none!important}.object-picker-error:empty{display:none}.object-picker .error{margin:0}.object-list-label{font-size:12px}.object-picker input:disabled,.object-picker select:disabled{background:#edf0e9;color:var(--muted)}

/* План: одна компактная строка на задание, подробности раскрываются по запросу. */
.planning-page .page-head{margin-bottom:14px;align-items:center;gap:12px}.planning-page .eyebrow{display:none}.planning-page h1{font-size:26px}.planning-page .subtitle{font-size:12px;margin-top:3px}.planning-page .toolbar{align-items:center;gap:7px;margin-bottom:8px}.planning-page .toolbar button,.planning-page .page-head button{padding:7px 11px;font-size:12px}.planning-page .toolbar label{min-width:0;display:flex;align-items:center;gap:7px}.planning-page #day-date{width:150px;padding:6px 8px}.planning-page .deleted-toggle{margin-left:auto;font-size:12px;white-space:nowrap}.planning-page .deleted-toggle input{width:16px;height:16px;margin:0}.plan-driver-tabs{flex-wrap:nowrap;overflow-x:auto;gap:6px;margin:9px 0;padding-bottom:5px;scrollbar-width:thin}.plan-driver-tabs button{flex:0 0 auto;min-width:0;padding:6px 10px;font-size:12px;white-space:nowrap}.plan-driver-tabs button strong{font-size:12px}.plan-driver-tabs button small{font-size:10px}.plan-help{font-size:12px;color:var(--muted);margin:4px 0 10px}.plan-help summary{margin-bottom:0}.plan-help[open] summary{margin-bottom:6px}.plan-help p{max-width:900px;padding:7px 10px;background:#eef3e6;border-radius:6px}.plan-task-list{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.plan-task{min-width:0;border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px 13px}.plan-task-main{display:grid;grid-template-columns:minmax(170px,2fr) minmax(85px,.9fr) minmax(135px,1.4fr) minmax(90px,.9fr) 65px;gap:12px;align-items:start;line-height:1.3}.plan-cell{min-width:0;display:flex;flex-direction:column;gap:2px;font-size:12px}.plan-label{font-size:10px;line-height:1.1;color:var(--muted)}.plan-object strong{font-size:14px;font-weight:650;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.plan-driver>span:not(.plan-label){overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.plan-driver small{font-size:10px}.plan-boats span:not(.plan-label){overflow-wrap:anywhere}.plan-task-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px}.plan-task-state{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}.plan-task-state .tag{padding:2px 6px;white-space:normal;font-size:10px}.plan-task-state small{font-size:10px}.plan-task .actions{gap:5px;flex-shrink:0}.plan-task .actions button{padding:4px 9px;font-size:11px;border-radius:6px}.plan-task-more{font-size:11px;margin-top:3px}.plan-task-more summary{color:var(--muted);margin:0;width:max-content;max-width:100%}.plan-task-info{margin-top:7px;border-top:1px solid var(--line);padding-top:5px;overflow-wrap:anywhere}.plan-task-info p{margin:4px 0;font-size:12px}.plan-task.is-deleted{background:#f4f4f1;border-style:dashed}.plan-task.is-deleted .plan-task-main span:not(.plan-label),.plan-task.is-deleted .plan-task-main strong,.plan-task.is-deleted .plan-task-main small{text-decoration:line-through;color:#7e8580}.plan-task.is-deleted .plan-task-main .plan-label{color:#848b86}
dialog:has(.task-form){width:min(760px,95vw);padding:18px 22px;max-height:calc(100vh - 36px)}dialog:has(.task-form) h2{font-size:20px;margin-bottom:12px}.task-form>.forms{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 12px}.task-form label{font-size:12px;gap:3px}.task-form input,.task-form select,.task-form textarea{padding:7px 9px;font-size:13px}.task-form textarea{min-height:60px}.task-form .task-driver-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.task-form .task-form-notes{font-size:12px}.task-form .task-form-notes summary{margin:0}.task-form .task-form-notes[open] summary{margin-bottom:7px}.task-form .task-form-notes label+label{margin-top:8px}.task-form>.actions{margin-top:14px}.task-form>.error:empty{display:none}.task-form .object-picker{padding:10px;gap:5px}.task-form .object-picker-status{font-size:11px}.task-form .object-add-toggle{font-size:12px;padding:4px 8px}.object-picker select[size="1"]{min-height:0;height:auto;padding:7px 9px}.task-form .object-picker select:not([size="1"]){min-height:0}.task-form .object-picker .object-create{grid-template-columns:1fr 1fr;gap:8px 12px;padding-top:9px}.task-form .object-create h3,.task-form .object-create .actions{grid-column:1/-1}.task-form .object-create h3{font-size:15px}.task-form .object-create .actions{margin-top:0}
@media(max-width:1100px){.plan-task-main{grid-template-columns:minmax(140px,1.8fr) minmax(75px,.9fr) minmax(115px,1.4fr) minmax(80px,.9fr) 58px;gap:9px}.planning-page .deleted-toggle{margin-left:0}}
@media(max-width:780px){.plan-task-main{grid-template-columns:minmax(140px,1.5fr) minmax(100px,1fr) minmax(90px,1fr)}.plan-object{grid-column:span 2}.plan-driver{grid-column:1}.plan-task-footer{align-items:flex-start}.plan-task .actions{flex-wrap:wrap;justify-content:flex-end}.plan-task-state{max-width:45%}.planning-page .page-head{align-items:flex-start}.planning-page .toolbar{gap:8px}.plan-task-list{gap:8px}.task-form>.forms{grid-template-columns:1fr 1fr}.task-form .task-driver-fields{gap:9px}.task-form .object-picker .object-create{grid-template-columns:1fr}}
@media(max-width:460px){.task-form>.forms,.task-form .task-driver-fields{grid-template-columns:1fr}.plan-task-main{grid-template-columns:1fr 1fr}.plan-object{grid-column:1/-1}.plan-driver{grid-column:auto}.plan-time{grid-column:auto}.plan-task-footer{display:block}.plan-task-state{max-width:none;margin-bottom:7px}.plan-task .actions{justify-content:flex-start}}

/* На большом экране заголовки общие для списка, действия и подробности в одной строке. */
.content:has(>.planning-page){padding-top:18px}.planning-page .page-head{margin-bottom:9px}.planning-page h1{font-size:24px;line-height:1.3}.planning-page .page-head .subtitle{display:none}.planning-page .toolbar{margin-bottom:6px}.plan-driver-tabs{margin:6px 0;padding-bottom:4px}.plan-driver-tabs button{display:flex;align-items:center;gap:6px;padding:6px 9px}.plan-driver-tabs button small{display:inline;font-size:12px}.plan-help{margin:3px 0 6px}.plan-columns{display:grid;grid-template-columns:minmax(170px,2fr) minmax(85px,.9fr) minmax(135px,1.4fr) minmax(90px,.9fr) 65px;gap:12px;padding:0 13px 5px;font-size:12px;color:var(--muted)}.plan-task-list{gap:6px}.plan-task{padding:7px 12px}.plan-task-main .plan-label{display:none}.plan-task-main{min-height:31px}.plan-driver small{font-size:12px}.plan-task-footer{align-items:flex-start;margin-top:4px;gap:10px}.plan-task-state{padding-top:1px;flex-shrink:0;max-width:35%}.plan-task-state .tag{font-size:12px;padding:1px 6px;line-height:1.4}.plan-task-state small{font-size:12px}.plan-task-more{flex:1;min-width:0;margin:0;padding-top:2px;font-size:12px}.plan-task .actions button{font-size:12px;padding:2px 8px;line-height:1.5}.plan-task-more summary{line-height:1.5}.plan-task-info{padding:7px 9px;margin-top:6px;border-radius:6px;background:#f7f8f3}
@media(max-width:1100px){.plan-columns{grid-template-columns:minmax(140px,1.8fr) minmax(75px,.9fr) minmax(115px,1.4fr) minmax(80px,.9fr) 58px;gap:9px}}
@media(max-width:780px){.plan-columns{display:none}.plan-task-main .plan-label{display:block}.plan-task-footer{flex-wrap:wrap}.plan-task-state{max-width:none}.plan-task-more{order:3;flex-basis:100%}.plan-task .actions{margin-left:auto}.plan-driver-tabs button{display:block}.plan-driver-tabs button small{display:block}.planning-page .page-head{margin-bottom:12px}.content:has(>.planning-page){padding-top:20px}}
@media(max-width:460px){.plan-task .actions{margin-top:6px}.plan-task-more{margin:5px 0}}

.password-field{display:flex;align-items:stretch;gap:6px;width:100%}.password-field input{flex:1;min-width:0}.password-toggle{flex:none;font-size:12px;padding:7px 9px;min-width:76px}.password-toggle[aria-pressed="true"]{background:#e1eee9}

/* Компактные задания: название и полный адрес одной строкой с переносом. */
.topbar{min-height:0;padding:6px 18px;gap:8px;font-size:12px;line-height:1.3}
.topbar .actions{gap:5px;flex-wrap:wrap;justify-content:flex-end}
.topbar button{padding:3px 7px;font-size:12px;line-height:1.35;border-radius:5px;min-height:25px}
.topbar .user{font-size:12px;line-height:1.3}
.topbar .dot{width:7px;height:7px}
.object-select-row{display:flex;align-items:flex-start;gap:6px}
.object-select-row select{flex:1;min-width:0}
.object-clear{flex:none;padding:8px 10px;font-size:12px}
.ocr-source{margin:12px 0}.ocr-source .grid2{margin-top:8px;align-items:start}.ocr-source img{margin:0;max-height:75vh;object-fit:contain;object-position:top left}.ocr-source pre{max-height:75vh;overflow:auto;background:white;padding:12px}
#ocr-import-form>fieldset{border:0;padding:0;margin:0;min-width:0}
.ocr-work{border:1px solid var(--line);border-radius:7px;background:#fff;margin:12px 0;padding:12px;min-width:0}.ocr-work legend{font-weight:650}.ocr-work .forms{gap:8px}.ocr-work>button{margin-top:8px;font-size:12px}.ocr-excluded{padding:8px;background:#eef0e9}.ocr-review{display:flex;align-items:center;gap:8px;margin:16px 0}.ocr-review input{width:auto}
@media(max-width:700px){.topbar{padding:5px 12px;gap:4px}.topbar .actions{justify-content:flex-start}.object-clear{padding:8px}}
.plan-task-list{gap:4px}
.date-divider{border-top:3px solid #8da59e;padding:9px 10px 5px;margin-top:9px;font-weight:650;color:#244c43;background:#eaf0ec;font-size:13px}
#registry-form fieldset{border:0;margin:0;padding:0;min-width:0}.registry-downloads{margin:12px 0}.registry-preview-tables>table{background:#fff;margin:8px 0 20px}.registry-preview-tables h3{margin:18px 0 8px}.registry-preview-tables details{margin:15px 0;padding:10px;border:1px solid var(--line);background:#fff}.registry-preview-tables td{padding:7px 12px}
tr.day-start>td,tr.day-start>th{border-top:3px solid #8da59e}
.shift-grid tbody tr+tr>th,.shift-grid tbody tr+tr>td{border-top:3px solid #8da59e}
@media print{tr.day-start>td,tr.day-start>th{border-top:2px solid #555}.date-divider{border-top:2px solid #555}}
.plan-task{padding:4px 10px;border-radius:6px}
.plan-task-main{min-height:0;align-items:center;line-height:1.25;gap:8px;grid-template-columns:minmax(180px,2.8fr) minmax(70px,.8fr) minmax(110px,1.4fr) minmax(83px,1fr) 55px}
.plan-columns{grid-template-columns:minmax(180px,2.8fr) minmax(70px,.8fr) minmax(110px,1.4fr) minmax(83px,1fr) 55px;gap:8px;padding:0 11px 3px}
.plan-cell{min-width:0;gap:0}
.plan-object-line{display:block;overflow-wrap:anywhere;font-size:12px}
.plan-object strong{display:inline;font-size:13px;white-space:normal;overflow:visible;text-overflow:clip}
.plan-address{color:var(--muted)}
.plan-driver .plan-driver-line{white-space:normal;overflow:visible;overflow-wrap:anywhere}
.plan-driver-line small{display:inline;font-size:12px}
.plan-task-footer{margin-top:2px;gap:8px;align-items:flex-start}
.plan-task-state{padding-top:0}
.plan-task-more{padding-top:0}
.plan-task .actions{gap:4px}
.plan-task .actions button{padding:1px 7px;min-height:23px}
@media(max-width:780px){.plan-task-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:5px 8px;align-items:start}.plan-cell.plan-object{grid-column:1/-1}.plan-driver{grid-column:1/-1;flex-direction:row;gap:5px;flex-wrap:wrap}.plan-task-footer{flex-wrap:wrap}.plan-task-more{order:3;flex-basis:100%}.plan-task .actions{flex-wrap:wrap}.plan-task-main .plan-label{font-size:10px}.plan-object .plan-label{display:none}}
.ocr-sheet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:9px;margin:12px 0}.ocr-sheet-card{display:flex;align-items:center;text-align:left;gap:8px;min-width:0;padding:9px;background:#fff;border:2px solid var(--line)}.ocr-sheet-card.selected{border-color:#286451;background:#edf5ec}.ocr-sheet-card.failed{border-color:#b65838}.ocr-sheet-card img{width:45px;height:64px;object-fit:contain;background:#f3f4ee;flex:none}.ocr-sheet-card>span{min-width:0;display:grid;gap:3px}.ocr-sheet-card strong{font-size:14px}.ocr-sheet-card small{font-size:11px;overflow-wrap:anywhere}.ocr-sheet-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ocr-sheet-stage{font-size:12px;color:#215541}.ocr-sheet-card.failed .ocr-sheet-stage{color:#95391d}.ocr-sheet-add{min-height:90px;border:2px dashed #8aa89b;background:#f7faf3;font-weight:650}.ocr-batch-notice{font-size:12px;color:#6d4a1a;overflow-wrap:anywhere;margin:8px 0}.ocr-selected-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 10px}.ocr-selected-heading h2{font-size:17px;overflow-wrap:anywhere;min-width:0}.ocr-selected-heading .actions{flex-shrink:0}.ocr-queue-toolbar{flex-wrap:wrap}.ocr-sheet-card[aria-pressed=true]{box-shadow:0 0 0 1px #286451}
.work-operation{display:inline-block;align-self:flex-start;padding:3px 6px;border-radius:5px;background:#eef0ec;color:#283c33;font-size:15px;font-weight:800;line-height:1.15;overflow-wrap:anywhere}.work-operation[data-operation="Замена"]{background:#fff0c7;color:#704500}.work-operation[data-operation="Установка"]{background:#e5f1e7;color:#174d34}.work-operation[data-operation="Вывоз"]{background:#e8eefb;color:#233f75}.plan-boats{gap:3px}.boat-number{display:inline-block;padding:2px 5px;border-radius:4px;font-size:14px;font-weight:750;line-height:1.15;overflow-wrap:anywhere}.boat-install{background:#e5f1e7;color:#174d34}.boat-remove{background:#e8eefb;color:#233f75}.plan-task.is-deleted .work-operation,.plan-task.is-deleted .boat-number{background:transparent;color:#7e8580}
.plan-driver-tabs{display:grid;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);overflow:visible;padding-bottom:0}.plan-driver-tabs button{white-space:normal;overflow-wrap:anywhere;text-align:left;min-width:0;padding:7px 9px}.plan-driver-tabs button strong{font-size:13px}.plan-driver-tabs button small{font-size:11px}
td[data-field="operation"],td[data-field="installed"],td[data-field="removed"]{font-size:15px;font-weight:750}td[data-field="installed"]{color:#174d34;background:#f1f7f0}td[data-field="removed"]{color:#233f75;background:#f1f4fb}
.boatday-group td>.boat-number{margin-bottom:3px}.plan-print-status{text-align:center;font-size:13pt;font-weight:800;white-space:nowrap!important;width:7mm}.plan-print-legend{font-size:10pt;margin:4mm 0}
@media(max-width:850px){.plan-driver-tabs{grid-auto-flow:row;grid-template-rows:none;grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:500px){.plan-driver-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.plan-driver-tabs button{flex-direction:column;align-items:flex-start;justify-content:center}.plan-driver-tabs button strong{overflow-wrap:normal}.plan-driver-tabs button small{font-size:10px}.driver-load{font-size:14px;color:var(--ink);font-weight:800}.plan-driver-tabs .active .driver-load{color:inherit}
.plan-driver>span.plan-driver-line{white-space:normal;overflow:visible;text-overflow:clip}.plan-task-main,.plan-columns{grid-template-columns:minmax(180px,2.8fr) minmax(94px,.8fr) minmax(110px,1.4fr) minmax(100px,1fr) 55px}
@media(max-width:780px){.plan-task-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}.plan-columns{display:none}}
.plan-print-table table{width:100%;table-layout:fixed}.plan-print-table th:nth-child(1){width:12%}.plan-print-table th:nth-child(2){width:10%}.plan-print-table th:nth-child(3){width:27%}.plan-print-table th:nth-child(4){width:9%}.plan-print-table th:nth-child(5),.plan-print-table th:nth-child(6){width:7%}.plan-print-table th:nth-child(7){width:6%}.plan-print-table th:nth-child(8){width:3%}.plan-print-table th:nth-child(9){width:19%}.plan-print-table td:nth-child(4),.plan-print-table td:nth-child(5),.plan-print-table td:nth-child(6){font-weight:700}.plan-print-table th{font-size:8pt;padding:1.5mm 1mm}.plan-print-table .plan-print-status{padding:1mm .3mm;font-size:11pt}.plan-print-table th.plan-print-status{font-size:8pt;white-space:normal!important}.plan-print-table.with-date th:nth-child(1){width:8%}.plan-print-table.with-date th:nth-child(2){width:11%}.plan-print-table.with-date th:nth-child(3){width:10%}.plan-print-table.with-date th:nth-child(4){width:23%}.plan-print-table.with-date th:nth-child(5){width:8%}.plan-print-table.with-date th:nth-child(6),.plan-print-table.with-date th:nth-child(7){width:7%}.plan-print-table.with-date th:nth-child(8){width:6%}.plan-print-table.with-date th:nth-child(9){width:3%}.plan-print-table.with-date th:nth-child(10){width:17%}
@media(max-width:700px){.ocr-selected-heading{align-items:flex-start;flex-direction:column}.ocr-sheet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ocr-sheet-card{padding:6px;gap:5px}.ocr-sheet-card img{width:32px;height:48px}}

/* Optional persistent sign-in, with a clear clickable checkbox label. */
.login-form .remember-login{display:flex;align-items:center;gap:10px;color:var(--ink);cursor:pointer}.remember-login input{flex:none;margin:0}.login-help{font-size:12px;line-height:1.5;color:var(--muted);margin-top:-9px}

.plan-select{width:15px;height:15px;margin:0 5px 0 0;vertical-align:middle;accent-color:var(--green)}.plan-task.is-selected{outline:2px solid #397653;outline-offset:-2px}
