@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Regular.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Bold.woff2) format('woff2');font-weight:600 900;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/Manrope-variable.ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:Onder;src:url('/fonts/Onder-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
/* Люди, автомобили, списки на выезд и сохранённые файлы. */
.inline-check{display:flex;align-items:center;gap:12px;font-size:13px;margin:0;padding:12px 0}.inline-check input{flex:none;margin:0}.inline-check small{display:block;font-size:11px;margin-top:4px}.crew-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;margin-top:14px;max-height:330px;overflow:auto}.crew-picker .inline-check{border-bottom:1px solid var(--line)}.selection-card{border:1px solid var(--line);border-radius:12px;padding:6px 14px 14px;margin:12px 0}.selection-card>label span{margin-left:auto;font-size:11px;color:var(--muted)}.selection-card [data-car-fields]{padding-top:12px}.checklist-edit{display:grid;grid-template-columns:20px 1fr 40px;gap:10px;align-items:center;margin:10px 0}.checklist-edit input[type=checkbox]{margin:0}.checklist-edit button{padding:9px}.schedule-edit{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0}.schedule-edit>.row>label{flex:1}.schedule-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.checked-text{text-decoration:line-through;color:var(--muted)}.dispatch-counts{display:flex;gap:20px;margin:18px 0}.dispatch-counts>b{padding:12px 16px;background:var(--soft);border-radius:10px}.dispatch-detail,.task-checklist,.comments-panel,.file-section,.history-panel,.schedule-detail,.document-readiness{margin:20px 0}.dispatch-detail h3{margin-top:26px}.export-roster{border-top:1px solid var(--line);padding-top:16px;margin-top:28px}.task-comment,.history-entry{padding:14px 0;border-bottom:1px solid var(--line)}.task-comment p,.history-entry p{white-space:pre-wrap;overflow-wrap:anywhere}.attachment-row{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.attachment-row>div{min-width:0;flex:1;overflow-wrap:anywhere}.attachment-row small{display:block;font-size:11px;margin-top:6px}.attachment-thumb{width:86px;height:70px;object-fit:cover;border-radius:8px}.file-picker{position:relative;border:1px solid var(--line);padding:10px 14px;border-radius:10px;margin:0;cursor:pointer;background:var(--soft);overflow:hidden}.file-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}.overview-shortcuts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.task-card[draggable=true]{cursor:grab}.kanban-column[data-drop-status]{min-height:360px}.history-panel #record-history{margin-top:16px}.dispatch-detail .table-wrap td{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:750px){.crew-picker,.schedule-fields{grid-template-columns:1fr}.dispatch-counts{gap:10px}.dispatch-counts>b{font-size:12px;padding:10px}.attachment-thumb{width:60px;height:60px}.attachment-row>button{font-size:11px;padding:8px}.dispatch-detail .table-wrap{font-size:12px}.selection-card>label{flex-wrap:wrap}.selection-card>label span{margin-left:30px}.dispatch-detail .check-list label{font-size:12px}}
:root{--green:#7abf00;--lime:#ccef61;--ink:#202020;--muted:#697163;--paper:#f6f6f4;--line:#dde2d6;--soft:#edf6d8;--danger:#a33c47;color:var(--ink);background:var(--paper);font-family:Montserrat,Arial,sans-serif;font-size:14px}
*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:white;color:var(--ink);font-weight:650}button:hover{border-color:#91ad68;background:#f4f8ed}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:3px}.primary{background:var(--lime);border-color:var(--lime);color:#233111;font-weight:750}.primary:hover{background:#badd55;border-color:#badd55}a{color:#527900;text-underline-offset:3px}.app-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}aside{padding:30px 17px;background:#202020;color:white;display:flex;flex-direction:column;gap:12px;position:sticky;top:0;height:100vh}.wordmark{font-family:Onder,Manrope,sans-serif;font-size:24px;font-weight:400;letter-spacing:0;text-decoration:none;color:var(--lime)}.sidebar-caption{font-size:9px;letter-spacing:.16em;color:#c4ccba;margin:0 9px 18px}nav{display:grid;gap:5px}nav button{background:none;border:0;color:#dae2d1;text-align:left;font-weight:600;padding:11px 14px}nav button.active{background:var(--lime);color:#233111}nav button:hover{background:#323a2a;color:#fff}nav button.active:hover{background:#ccef61;color:#233111}.account{margin-top:auto;border-top:1px solid #414a37;padding:20px 9px 0;display:grid;gap:6px}.account small{color:#bec8b3}.account button{padding:6px 0;margin:8px 14px 0 0;background:transparent;border:0;color:#dbe4d0;font-size:12px}main{padding:30px 38px 48px;min-width:0;max-width:1700px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}h1{font-family:Montserrat,Arial,sans-serif;font-size:clamp(22px,2.05vw,28px);font-weight:700;text-transform:none;letter-spacing:-.035em;margin:9px 0;line-height:1.3}h2{font-size:19px;margin:6px 0 14px}h3{font-size:16px;margin:5px 0 12px}p{line-height:1.65}small,.muted{color:var(--muted);line-height:1.6}.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:750}.actions,.row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.row{justify-content:space-between}.toolbar{display:flex;gap:10px;margin-bottom:22px}.toolbar input{max-width:540px}.toolbar button{margin-left:auto}input,textarea,select{padding:11px 12px;border:1px solid #d4ddca;border-radius:9px;background:white;width:100%;color:var(--ink);min-height:42px}textarea{resize:vertical;min-height:100px}label{display:block;font-size:12px;font-weight:650;margin-bottom:16px}label input,label select,label textarea{margin-top:7px}input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:#5d8700}input[type=number]{font-variant-numeric:tabular-nums}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.card,.metric{padding:21px;background:#fff;border:1px solid var(--line);border-radius:16px;min-width:0}.metric .value{font-size:33px;font-weight:800;font-variant-numeric:tabular-nums;margin:13px 0 6px;letter-spacing:-1px}.metric.highlight{background:var(--lime);border:0}.metric.highlight small{color:#405b21}.card .muted{font-size:12px}.card p{white-space:pre-wrap;word-break:break-word;margin:10px 0}.card-footer{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;border-radius:20px;font-size:11px;padding:5px 9px;background:var(--soft);color:#456616;margin:3px 5px 3px 0;font-weight:650}.badge.neutral{background:#f0f2ed;color:#646d5c}.badge.danger{background:#fce6e9;color:var(--danger)}.stage-line{font-size:11px;color:#526744;display:flex;gap:10px;align-items:center}.stage-line:before{content:'';height:7px;width:7px;border-radius:50%;background:var(--green)}.empty{padding:36px 22px;text-align:center;background:#fff;border:1px dashed #ccd8bb;border-radius:14px;color:var(--muted);line-height:1.7}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0 13px}.section-head h2{margin:0}.hero{padding:24px 28px;border-radius:18px;background:#202020;color:white;margin-bottom:24px;display:flex;gap:20px;justify-content:space-between;align-items:center}.hero strong{display:block;color:var(--lime);font-size:20px;margin-bottom:7px}.hero p{font-size:13px;margin:0;max-width:630px;color:#e1e8d8}.hero .signal{border:1px solid #8cab69;padding:14px 18px;border-radius:12px;min-width:110px;text-align:center}.hero .signal b{font-size:26px;color:var(--lime)}.hero .signal small{display:block;color:#d3dfc5}.section-note{font-size:12px;line-height:1.7;padding:12px 16px;background:#ebf2df;border-radius:10px;margin-bottom:16px}.task-tabs{display:flex;gap:6px;margin-bottom:15px}.task-tabs button.selected{background:#202020;color:white;border-color:#202020}.kanban{display:grid;grid-template-columns:repeat(6,minmax(230px,1fr));gap:12px;overflow:auto;align-items:start;padding-bottom:15px}.kanban-column{background:#e8edde;border-radius:14px;padding:12px;min-height:310px}.column-title{display:flex;gap:7px;align-items:center;justify-content:space-between;margin:3px 3px 16px}.column-title h2{font-size:13px;margin:0}.task-card{background:white;border:1px solid #d6decc;border-radius:11px;padding:14px;margin:9px 0}.task-name{padding:0;border:0;background:none;font-size:14px;font-weight:750;text-align:left;line-height:1.5}.task-card p{font-size:11px;color:#78836c;margin:10px 0}.task-card small{font-size:11px}.task-status{font-size:11px;padding:6px;min-height:34px;width:100%;margin-top:12px}.task-due{font-size:11px;color:#708060;margin-top:10px}.overdue{color:var(--danger);font-weight:700}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 15px}.filters label{flex:1;min-width:150px;max-width:250px;margin:0}.progress{height:6px;background:#eef2e6;border-radius:8px;overflow:hidden;margin:13px 0}.progress i{display:block;height:100%;background:var(--green)}.task-report{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.report-total{font-size:27px;font-weight:750}.report-details{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;text-align:center;padding-top:12px}.report-details b{font-size:20px;display:block}.report-details small{font-size:10px}.timeline{border-left:2px solid #a6ca5d;padding:0 0 0 20px;margin:22px 0}.timeline .card{margin-bottom:14px}.detail-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin:20px 0}dialog{border:1px solid #d2dcca;box-shadow:0 24px 90px #19221a30;border-radius:20px;padding:26px;width:min(820px,94%);max-height:90vh}dialog::backdrop{background:#1a261aba;backdrop-filter:blur(3px)}.dialog-head{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-head h2{font-size:21px;margin:0}.dialog-head button{border:0;background:#eef2e7;padding:7px 12px}#fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.wide{grid-column:1/-1}.check-list{display:flex;flex-wrap:wrap;gap:10px;border:1px solid var(--line);padding:12px;border-radius:10px}.check-list label{display:flex;gap:7px;align-items:center;margin:0;font-weight:500}.check-list input{margin:0}.error{color:var(--danger);font-size:13px;line-height:1.6}#notice{padding:13px 16px;background:#e4f1cf;border:1px solid #c8df9e;border-radius:11px;margin-bottom:18px;font-size:13px;white-space:pre-wrap}#notice.error{background:#fbe6e9;border-color:#f1c3c9}.quote-line{padding:14px;border:1px solid #d8e3c9;border-radius:12px;background:#f7f9f2;display:grid;grid-template-columns:2fr 1fr 1fr;gap:0 9px;margin:12px 0}.quote-line label{font-size:11px;margin-bottom:10px}.quote-line .selection{display:flex;align-items:center;gap:7px}.quote-line .selection input{margin:0}.quote-total{font-size:20px;font-weight:800;margin:15px 0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.client-quote{max-width:900px;margin:auto;background:white;padding:35px;border-radius:16px}.client-quote .wordmark{color:#425f20}.quote-address{padding:20px 0;border-bottom:1px solid var(--line);margin-bottom:20px}.source-list li{padding:7px 0;line-height:1.7}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.login-brand{background:#202020;padding:10vw 7vw;color:#edf6df;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.login-brand .wordmark{font-size:clamp(40px,5vw,72px)}.login-brand p{font-size:18px;max-width:300px}.spark{position:absolute;color:var(--lime);font-size:350px;bottom:-100px;right:-60px;line-height:1}.login-card{align-self:center;padding:60px;max-width:520px}.login-card h1{font-size:24px}.login-card p{color:var(--muted);margin:16px 0 26px}.login-card .primary{width:100%;margin:6px 0 20px}.login-card small{display:block;font-size:12px}#password-dialog,#credentials{max-width:480px}details summary{cursor:pointer;font-weight:650;font-size:12px}.source-note{font-size:10px;color:#839174;margin-top:14px}
@media(max-width:1150px){main{padding:25px 23px}.app-shell{grid-template-columns:205px minmax(0,1fr)}header{align-items:flex-start;flex-wrap:wrap}.metrics{grid-template-columns:repeat(2,1fr)}h1{font-size:22px}.login-card{padding:40px}}
@media(max-width:750px){.app-shell{display:block}aside{position:static;height:auto;padding:18px;gap:8px}.wordmark{font-size:24px}.sidebar-caption{margin:0;font-size:8px}nav{display:flex;overflow:auto;margin-top:15px;padding-bottom:6px}nav button{white-space:nowrap;font-size:12px}.account{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:8px 0 0;margin:0;font-size:11px;border:0}.account button{margin:0 0 0 12px}.account small{display:none}main{padding:22px 16px 40px}header{gap:16px}header .actions{width:100%;justify-content:flex-end}header .actions button{padding:9px 12px;font-size:11px}h1{font-size:clamp(17px,4vw,23px);overflow-wrap:anywhere}.metrics{gap:10px}.metric{padding:16px}.metric .value{font-size:27px}.hero{padding:20px;align-items:flex-start;flex-direction:column}.hero .signal{display:none}.grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.toolbar input{min-width:0}.toolbar button{font-size:11px}.kanban{grid-template-columns:repeat(6,minmax(270px,82vw));scroll-snap-type:x mandatory}.kanban-column{scroll-snap-align:start}#fields{grid-template-columns:1fr}.quote-line{grid-template-columns:1fr 1fr}.quote-line label:first-child{grid-column:1/-1}.login-shell{display:block}.login-brand{min-height:230px;padding:35px}.login-brand .wordmark{font-size:37px}.login-brand p{font-size:13px;max-width:220px}.spark{font-size:220px;bottom:-70px}.login-card{padding:30px 24px;max-width:100%}.client-quote{padding:20px}.filters label{max-width:none}dialog{padding:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(min-width:751px){aside>.wordmark{font-size:20px;flex-shrink:0}aside>.sidebar-caption{flex-shrink:0}nav{min-height:0;overflow-y:auto;grid-auto-rows:minmax(40px,auto);align-content:start}.account{flex-shrink:0}}
@media print{aside,header,.toolbar,.no-print,#notice,dialog,button{display:none!important}.app-shell{display:block}main{padding:0}.client-quote{padding:0;max-width:none;border-radius:0}.wordmark{font-size:30px}.client-quote h1{font-family:Montserrat,sans-serif;font-weight:700;text-transform:none}body{background:white;color:#202020}a{color:inherit;text-decoration:none}table{font-size:12px}.card{break-inside:avoid}.quote-total{break-inside:avoid}thead{display:table-header-group}}

.preserved-text{white-space:pre-wrap;overflow-wrap:anywhere}

/* Короткие отчёты сотрудников и чтение задачи участниками проекта. */
.task-tabs{flex-wrap:wrap}.task-tabs button{font-size:12px}
.personal-work,.report-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:22px 0}
.personal-work{padding:18px 22px;background:var(--soft);border-radius:14px}
.personal-work small{display:block;margin-top:5px}.personal-work b{font-size:15px}
.report-intro p{max-width:650px;color:var(--muted);font-size:13px;margin:10px 0 0}
.report-intro>.primary{flex-shrink:0}
.report-periods{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.report-periods button{font-size:12px}
.work-reports{display:grid;gap:16px;margin-bottom:20px}
.work-report h3{margin-bottom:2px}.work-report>.row{align-items:flex-start}
.work-report-block{border-left:3px solid #b3cd88;padding:6px 0 6px 16px;margin:16px 0}
.work-report-block small{font-weight:700;color:#4e6b30}
.work-report-block p{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.work-report-block.report-blocker{border-left-color:var(--danger)}
.report-blocker small{color:var(--danger)}
.completed-list{display:grid;gap:14px;margin-top:20px}.completed-list small{display:block;margin-top:5px}
.task-detail{margin:18px 0}.task-detail h3{margin:24px 0 8px}
.report-help{margin:16px 0;color:var(--muted)}.report-help p{font-size:12px;max-width:800px}
@media(max-width:750px){.personal-work,.report-intro{align-items:flex-start;flex-direction:column;gap:15px}.personal-work{padding:18px}.task-tabs button{padding:9px 11px}.work-report>.row button{font-size:11px}.report-intro h2{margin:0}.report-intro p{margin-top:8px}}

/* Сроки, следующий шаг проекта и подготовка выездов. */
.deadline-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 22px}
.deadline-tabs button{display:flex;gap:14px;align-items:center;font-size:12px}
.deadline-tabs b{font-size:17px;font-variant-numeric:tabular-nums}
.deadline-tabs .selected{background:var(--ink);color:#fff;border-color:var(--ink)}
.deadline-tabs .deadline-late:not(.selected) b{color:var(--danger)}
.project-stage{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0 14px}
.project-stage>span:last-child{font-size:12px;color:var(--muted)}
.next-step{padding:22px 24px;background:var(--lime);border-radius:14px;overflow-wrap:anywhere}
.next-step small{font-size:11px;font-weight:750;color:#405b21}
.next-step p{font-size:16px;font-weight:650;margin:9px 0 12px;white-space:pre-wrap}
.next-step button{margin:8px 8px 0 0;background:#fff9;border-color:#a3c75e}
.next-step.compact{padding:14px 16px;background:var(--soft);margin:15px 0 18px}
.next-step.compact p{font-size:13px;margin:7px 0}
.project-brief{display:flex;flex-direction:column}
.project-brief>.primary{align-self:flex-start;margin-top:auto}
.project-brief>.row{align-items:flex-start}
.readiness{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 24px;margin:20px 0}
.readiness>div{display:flex;gap:10px;align-items:flex-start;color:var(--muted)}
.readiness>div>span{font-size:19px;line-height:1.4}
.readiness .ready>span{color:#5b8b00}
.readiness b{font-size:12px;color:var(--ink)}
.readiness small{display:block;font-size:11px;margin-top:5px}
.technical-details{margin:16px 0}
.technical-details summary{font-size:14px}
.technical-details h3{margin-top:24px}
.project-finance{margin-top:24px}
.project-finance .value{font-size:clamp(19px,2vw,30px);overflow-wrap:anywhere}
.visit-actions details{margin:15px 0}
.visit-actions button{margin-top:10px}
.visit-history{margin-top:20px}
.timeline{max-width:1000px}
.form-details{border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:18px}
.form-details summary{margin-bottom:12px}
.form-details:not([open]) summary{margin-bottom:0}
.form-details label:last-child{margin-bottom:0}
.quote-calculation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px;background:var(--soft);border-radius:12px}
.quote-calculation small{display:block;font-size:11px}
.quote-calculation b{display:block;margin-top:6px;font-size:15px;overflow-wrap:anywhere}
.quote-line>.row{margin-bottom:12px}
.quote-line>.row button{padding:6px 9px;font-size:11px}
.line-details{margin:10px 0 16px}
.line-details summary{margin-bottom:12px}
.line-details label{font-size:11px}
.line-details textarea{min-height:80px}
.quote-group td{background:var(--soft);font-weight:750;font-size:12px}
.client-quote td small{display:block;white-space:pre-wrap;margin-top:8px}
@media(max-width:750px){.readiness{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.deadline-tabs{gap:7px}.deadline-tabs button{font-size:11px;padding:8px 10px;gap:10px}.next-step{padding:18px}.next-step p{font-size:14px}.quote-calculation{padding:14px;gap:14px}.quote-calculation b{font-size:13px}}

nav .nav-extra{margin-top:10px}nav .nav-extra summary{padding:12px 14px;color:#b8c1ad;list-style:none}nav .nav-extra summary::after{content:" +"}nav .nav-extra[open] summary::after{content:" −"}nav .nav-extra>div{display:grid;gap:5px}.login-card#setup-form h1{font-size:23px}.login-card#setup-form p{margin-bottom:20px}.login-card#setup-form>small{margin:4px 0 14px}

/* Готовые логотипы и краевая графика из фирменного комплекта, без изменения геометрии. */
.brand-logo{display:block;padding:12px 0;flex-shrink:0;max-width:196px}.brand-logo img{display:block;width:100%;height:auto}.login-logo{display:block;width:400px;max-width:100%;position:relative;z-index:1}.login-logo img{display:block;width:100%;height:auto}.login-brand p{position:relative;z-index:1;margin:28px 0 0;color:#fff}.brand-edge{position:absolute;right:0;bottom:0;width:clamp(180px,21vw,280px);height:auto;pointer-events:none}.quote-logo{display:block;width:360px;max-width:100%;height:auto;margin:10px 0 26px}.quote-address{padding:24px 0}.quote-address p{display:none}@media(max-width:750px){.brand-logo{width:196px}.login-logo{width:240px}.brand-edge{width:140px}.login-brand p{margin-top:22px;max-width:200px}}@media print{.quote-logo{width:85mm;height:auto;margin:5mm 0}}

.login-brand-copy{position:relative;z-index:1;width:100%}.login-brand{gap:30px;align-items:flex-start}.login-mascot{display:block;width:240px;height:auto;align-self:center;flex-shrink:0;object-fit:contain}.empty-with-mascot{display:flex;align-items:center;justify-content:center;gap:22px;grid-column:1/-1;text-align:left;min-height:190px}.empty-with-mascot img{display:block;width:108px;height:auto;flex-shrink:0}.empty-with-mascot span{max-width:430px}@media(max-width:750px){.login-brand{flex-direction:row;align-items:center;justify-content:space-between;gap:16px;padding:28px 24px;min-height:200px}.login-brand-copy{flex:1;min-width:0}.login-mascot{width:90px;height:auto;align-self:center}.login-brand p{font-size:12px;margin-top:20px}.empty-with-mascot{gap:16px;padding:24px 18px}.empty-with-mascot img{width:80px}}

.import-crew{margin:18px 0;padding:20px}.import-crew>p{font-size:13px}.import-crew .file-picker{display:inline-block}.import-crew #crew-import-preview{margin-top:18px}.planning-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(140px,1fr) minmax(140px,1fr);gap:16px;border-bottom:1px solid var(--line);padding:18px 0}.planning-row small{display:block;margin-top:6px}.task-planning{margin:18px 0}.task-planning>button{margin-top:18px}@media(max-width:750px){.planning-row{grid-template-columns:1fr}.planning-row label{margin:0}}
/* Общение и обновление справочников. */
.chat-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}.chat-room-list{max-height:72vh;overflow:auto;display:flex;flex-direction:column;gap:6px}.chat-room-list h2{font-size:16px}.chat-room-list button{text-align:left;display:flex;justify-content:space-between;gap:8px}.chat-room-list button.active{background:var(--green,#004c3b);color:white}.chat-conversation{min-width:0}.chat-conversation h2{font-size:20px}.chat-messages{height:44vh;min-height:240px;overflow:auto;padding:16px 4px;display:flex;flex-direction:column;gap:12px}.chat-message{background:#f2f5ef;border:1px solid #e0e8dc;border-radius:12px;padding:12px 16px;max-width:90%;align-self:flex-start;overflow-wrap:anywhere}.chat-message.mine{background:#eaf4cd;align-self:flex-end}.chat-message p{white-space:pre-wrap;margin:6px 0 0}.chat-message small{font-size:11px}.chat-conversation textarea{min-height:76px}.chat-conversation form{border-top:1px solid #dce4d5;padding-top:12px}.chat-conversation form .row small{font-size:11px}.sync-conflict{padding:16px 0;border-top:1px solid #dce4d5}.sync-values{display:grid;grid-template-columns:1fr 1fr;gap:16px;overflow-wrap:anywhere}.sync-values>div{padding:12px;background:#f2f5ef;border-radius:10px}.integration-card .filters{max-width:700px}.chat-room-list .badge{font-size:11px}nav [data-view=chat] .badge{margin-left:6px}
@media(max-width:760px){.chat-layout{grid-template-columns:1fr}.chat-room-list{max-height:150px}.chat-messages{height:42vh}.chat-conversation h2{font-size:16px}.sync-values{grid-template-columns:1fr}.chat-message{max-width:96%}}
.chat-room-list{background:transparent;color:var(--ink);position:static;height:auto;padding:0}.chat-room-list button.active{background:var(--lime);color:var(--ink)}
/* Цвет выделяет действие, обычные подписи остаются нейтральными. */
.badge{background:#f5f5f3;color:#596057;border:1px solid #e3e5df}.badge.draft{background:#282a27;border-color:#282a27;color:#fff}.badge.done{background:#edf4df;color:#456616;border-color:#dde8ca}.badge.danger{background:#fce6e9;border-color:#f1c3c9;color:var(--danger)}.badge.neutral{background:#f5f5f3;color:#596057}.section-note{background:#fafbf8;border:1px solid var(--line)}.task-buckets button{background:#fff}.task-buckets button.selected{background:#202020;color:#fff}.project-brief{background:#fff}.next-step,.next-step.compact,.next-step-block{background:#fff;border:1px dashed #c9cec3;border-radius:10px}.chat-message.mine{background:#f1f5e9}

.next-step button{border-color:var(--line);background:#fff}.next-step small{color:var(--muted)}

.personal-work{background:#fff;border:1px solid var(--line)}.metric.highlight{background:#fff;border:1px solid var(--line);box-shadow:inset 0 3px 0 var(--lime)}.metric.highlight small{color:var(--muted)}.project-subnav{display:flex;gap:8px;margin-bottom:20px}.project-subnav .selected{background:var(--ink);color:#fff;border-color:var(--ink)}

/* В списках показываем суть записи; полные заметки остаются в карточке. */
.card-excerpt{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;white-space:normal!important;overflow-wrap:anywhere;font-size:13px;line-height:1.5}
.venue-card.catalog-card .muted{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;white-space:normal;overflow-wrap:anywhere}
.collection-count{color:var(--muted);font-size:12px;margin:0 0 12px}.show-more{display:block;margin:20px auto 6px}.card>.row{align-items:flex-start}.card>.row h3{flex:1;min-width:0;line-height:1.35;margin:4px 0 8px}
header .actions{flex-shrink:0}.header-more{position:relative}.header-more summary{display:block;border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:#fff;font-size:14px;font-weight:650;list-style:none;cursor:pointer}.header-more summary::-webkit-details-marker{display:none}.header-more summary:hover{border-color:#91ad68;background:#f4f8ed}.header-more-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;z-index:20;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px #20202022;padding:7px;display:grid;gap:4px}.header-more-menu button{text-align:left;border:0;background:transparent}.header-more-menu button:hover{background:#f4f8ed}
.toolbar{margin-bottom:16px}.toolbar input{max-width:580px}.kanban-hint{color:var(--muted);font-size:12px;margin:0 0 8px}
@media(max-width:750px){header{margin-bottom:18px}header .actions{justify-content:flex-start;gap:7px}header .actions button,.header-more summary{font-size:12px;padding:9px 10px}.toolbar{margin-bottom:16px}.card,.metric{padding:18px}.card h3{font-size:15px}.source-note{font-size:11px}}
@media(max-width:750px){aside{padding:12px 16px 10px;gap:4px}.brand-logo{width:164px;padding:2px 0}.sidebar-caption{margin:0;font-size:8px}nav{margin-top:6px;padding-bottom:3px}nav button{padding:9px 11px}.account{padding:4px 0 0}.catalog-card h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}}

/* Рабочие сценарии: короткие формы, вкладки и сверка данных. */
.form-group{border:1px solid var(--line);border-radius:12px;padding:16px;margin:0 0 12px;min-width:0;background:#fff}
.form-group legend,.form-group>summary{font-size:14px;font-weight:700;padding:0 5px}.form-group>summary{cursor:pointer;padding:0;line-height:1.5}.form-group[open]>summary{margin-bottom:18px}
.form-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.form-group-grid>.wide{grid-column:1/-1}.form-group-grid label{margin-bottom:12px}.form-group-grid textarea{min-height:84px}.form-group-grid .check-list{max-height:150px;overflow:auto;padding:5px 0}.form-group-grid .form-details{padding:0;border:0;margin:0}
#form>.actions{position:sticky;bottom:-1px;padding:14px 0 8px;background:#fff;border-top:1px solid var(--line);margin-top:8px;z-index:3}#form .dialog-head{align-items:flex-start}#editor{max-height:92vh}
.project-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.project-subnav{display:flex;gap:8px;overflow-x:auto;flex-wrap:nowrap;padding:0 0 12px;margin:18px 0 10px;border-bottom:1px solid var(--line)}.project-subnav button{flex-shrink:0;white-space:nowrap;font-size:13px;padding:10px 12px}.project-subnav .selected{background:var(--ink);color:#fff;border-color:var(--ink)}.project-subnav .badge{margin-left:8px;background:#f1f1ed;color:var(--ink)}
.compact-work-row{padding:12px 0;border-bottom:1px solid var(--line)}.compact-work-row small{display:block;margin-top:5px}.compact-work-row:last-of-type{margin-bottom:14px}.decision-panel{margin:20px 0}.decision-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.decision-grid>div{padding:12px;border:1px dashed #d4d6cf;border-radius:10px}.decision-grid .task-name{display:block;margin-top:8px}.decision-grid p{font-size:13px;white-space:pre-wrap;margin:8px 0}.notification-card{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:12px}.notification-card.read{background:#f8f8f5}.notification-card h3{margin:6px 0}.notification-card .actions{flex-shrink:0}nav [data-view=notifications] .badge{margin-left:7px;font-size:11px}
.review-summary{padding:12px 0;color:var(--muted)}.review-rows{display:grid;gap:12px;margin-bottom:18px}.review-person{display:grid;grid-template-columns:minmax(160px,1.3fr) minmax(180px,1fr) minmax(150px,1fr);gap:20px;align-items:center}.review-person label{margin:0}.review-person .actions button{font-size:12px}.review-project>summary{font-weight:700;cursor:pointer}.review-project[open]>summary{margin-bottom:18px}.review-project .check-list{margin-bottom:14px}.review-project select{max-width:420px}
.crew-tools{padding:12px 0}.crew-tools label{max-width:340px;margin-bottom:12px}.crew-tools button{font-size:12px}.repeat-roster{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;background:var(--paper);border-radius:12px;padding:14px;margin-bottom:12px}.repeat-roster label{margin:0}.readiness-box{border:1px dashed #c7ccc2;border-radius:12px;padding:16px;margin:14px 0;background:#fafbf8}.readiness-box ul{margin:12px 0;padding-left:20px;font-size:13px;line-height:1.6}.readiness-box li{margin:5px 0}.readiness-box>small{display:block;margin-top:8px}.crew-picker .inline-check{min-width:0}.crew-picker b{overflow-wrap:anywhere}.dispatch-card .actions button{font-size:12px}.work-report-block p{white-space:pre-wrap}
@media(max-width:750px){.form-group-grid{grid-template-columns:1fr}.form-group{padding:12px}.project-top .actions{width:100%}.project-subnav{margin-top:12px}.review-person{grid-template-columns:1fr;gap:12px}.notification-card{display:block}.notification-card .actions{margin-top:14px}.repeat-roster{grid-template-columns:1fr}.crew-tools .actions{align-items:flex-start}.crew-tools .actions small{width:100%}.decision-grid{grid-template-columns:1fr}#editor{width:calc(100% - 20px);padding:18px}.form-group-grid .check-list{max-height:120px}}

.select-search{font-size:12px;min-height:36px;padding:8px 10px}.project-brief h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.nav-extra>summary{cursor:pointer}
@media(min-width:821px) and (max-height:800px){aside{padding-top:22px;padding-bottom:22px}.sidebar-caption{margin-bottom:8px}nav{gap:3px;grid-auto-rows:minmax(36px,auto)}nav button{padding-top:8px;padding-bottom:8px}nav .nav-extra{margin-top:2px}nav .nav-extra summary{padding-top:8px;padding-bottom:8px}}
