/* Referencia visual Lovable, identidad propia de Cozar. */
:root{--primary:#016b82;--primary-hover:#00576a;--text:#263e40;--muted:#708083;--border:#e2eae7;--background:#f7faf8;--sidebar-width:216px;--radius:10px;--nav-active:#016b82}
body{font-size:14px;line-height:1.5;background:radial-gradient(ellipse at 0 20%,#e4f0ec 0,transparent 55%),#f8faf8}
.sidebar{padding:18px 14px 20px;background:linear-gradient(180deg,#016b82 0,#016b82 108px,#dceee9 180px,#f2f7f4 300px,#f7faf8 100%);color:var(--text);border:0}
.sidebar .brand-container{padding:0;margin:0 -2px}.sidebar .brand-logo{width:100%;max-width:190px;margin:auto}
.navigation{margin-top:35px}.navigation-content{gap:24px}nav{gap:5px}nav a{display:flex;align-items:center;gap:10px;padding:9px 11px;color:#617575;border:0;font-size:13px;font-weight:500;border-radius:7px}nav a:hover{background:#e0eeea;color:var(--primary)}nav a[aria-current="page"]{background:var(--primary);color:white;border:0;font-weight:600}.nav-icon{width:16px;height:16px;flex-shrink:0;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.user-area{padding:18px 9px 0;border-top:1px solid var(--border)}.user-caption{color:var(--muted);font-size:11px;letter-spacing:0}.user-name{margin:3px 0 4px;font-size:13px}.user-area a{font-size:12px}.sidebar button.secondary{color:var(--primary);border-color:var(--border);padding:7px 10px;font-size:12px;min-height:34px}.sidebar button.secondary:hover{background:#e0eeea}
main{max-width:1440px;padding:30px 32px 42px}h1{font-size:25px;letter-spacing:-.65px;margin-bottom:10px}h2{font-size:17px}h3{font-size:14px}.eyebrow{font-size:10px;margin-bottom:8px;letter-spacing:.08em}.lead{font-size:14px}main>p{margin-bottom:16px}.panel{padding:20px;margin-top:18px;border-color:#e3eae5;background:#ffffffd9;box-shadow:0 3px 12px #214d3f03}.panel h2{margin-bottom:10px}
input,textarea,select{min-height:38px;padding:8px 11px;font-size:14px;line-height:1.45;border-color:#d3dfdb;border-radius:7px}textarea{min-height:110px}label{font-size:12px;margin-bottom:5px}button,.button-link{min-height:36px;padding:7px 13px;font-size:12px;border-radius:7px}a{ text-underline-offset:3px}.form-actions{margin-top:18px;padding-top:15px;gap:14px}.client-form>p{margin-bottom:16px}.address-fieldset{padding:18px;margin:18px 0}.address-grid{gap:14px}
.authenticated .dashboard-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.authenticated .dashboard-totals .panel{padding:15px 17px;margin:0;background:#ffffffba}.authenticated .dashboard-totals strong{font-size:25px;font-weight:650;line-height:1.2}.authenticated .dashboard-totals span{font-size:11px;color:var(--muted);margin-top:6px}.dashboard-task{padding:12px 0}.dashboard-task h3{margin-bottom:5px}.dashboard-task p{margin:6px 0}summary{font-size:13px;font-weight:600;cursor:pointer}.welcome .lead{margin:0}.work-badge{font-size:10px;padding:3px 7px;border-radius:20px;font-weight:500}.work-badges{gap:5px}.client-work-summary{padding-top:10px;margin-top:12px}.client-work-summary .next-measurement{font-size:11px}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.page-heading h1{margin:0}.client-search{max-width:none;padding:14px 16px;display:flex;align-items:end;gap:12px}.client-search .search-field{flex:1;max-width:440px}.client-search input{margin:0}.client-search button{margin:0}.client-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:none;margin:18px 0}.client-list .panel{padding:16px;margin:0;min-width:0}.client-list h2{font-size:14px;margin-bottom:8px}.client-list p{font-size:12px}.client-list>li:not(.panel){grid-column:1/-1}.client-detail{max-width:none}.client-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.quotation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.quotation-grid .panel{margin:0}.quotation-grid h2{font-size:15px}.quotation-filter{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.quotation-filter label{width:100%;margin:0}.quotation-filter select{max-width:360px}.quotation-filter button{margin:0}.state-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:16px 0}.state-tabs a{font-size:11px;text-decoration:none;border-radius:20px;padding:5px 10px;color:var(--muted)}.state-tabs a:hover{background:#e4eeea}.state-tabs a[aria-current="page"]{background:var(--primary);color:white}.quotation-heading{display:flex;justify-content:space-between;gap:15px;align-items:start}.quotation-heading p{margin:0}.quotation-heading .work-badge{white-space:nowrap}.quotation-grid .muted{font-size:12px;color:var(--muted)}
.work-table-scroll{overflow-x:auto}.work-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;min-width:650px;margin-top:14px}.work-table th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:500;color:var(--muted);padding:9px 10px;border-bottom:1px solid var(--border)}.work-table td{padding:12px 10px;border-bottom:1px solid #edf1ee;vertical-align:top}.work-table tbody tr:last-child td{border-bottom:0}.work-table .button-link{font-size:11px;min-height:30px;padding:5px 9px}.work-table .work-address{max-width:230px;color:var(--muted)}
.measurement-document{padding:24px!important;border-radius:10px}.summary-element{margin-top:20px;padding-top:16px}.calendar-toolbar{gap:14px;margin:18px 0 12px}.calendar-legend{margin-bottom:12px}.calendar-heading strong{font-size:14px}footer{font-size:10px;padding:14px 32px;border:0}.notice{padding:12px 15px;background:#e7f3ed;border-radius:8px}
@media(max-width:1050px){.client-list{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding:26px 24px}}
@media(max-width:899px){.sidebar{padding:12px 22px;background:linear-gradient(100deg,#016b82 0,#016b82 24%,#e5f0eb 80%,#f7faf8 100%)}.sidebar .brand-logo{width:140px;margin:0}.navigation{margin-top:0}.menu-toggle{color:var(--primary);border-color:#c5dcd4;background:#ffffff70}.menu-open .navigation-content{padding-top:20px}.menu-open .navigation{background:#f1f7f3;margin:12px -22px -12px;padding:0 16px 16px}.sidebar .user-area{padding:15px 10px 0}}
@media(max-width:650px){.authenticated .dashboard-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.client-list,.quotation-grid{grid-template-columns:1fr}.client-search{flex-wrap:wrap}.client-search .search-field{flex:1 1 100%;max-width:none}.page-heading{align-items:start}button,.button-link{min-height:40px}.client-detail dl{grid-template-columns:1fr}main{padding:24px 18px}.panel{padding:16px}.summary-actions{gap:12px!important}}
@media print{.work-table{min-width:0}body{background:white}.measurement-document{padding:0!important}}

.state-tabs{flex-direction:row}.day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}.day-grid section{min-width:0}.day-grid h3{margin:7px 0}.day-grid p{font-size:13px;margin:7px 0}.day-grid section{border-top:1px solid #edf1ee;padding-top:6px}@media(max-width:650px){.day-grid{grid-template-columns:1fr}}

.app-topbar{position:sticky;top:0;z-index:15;display:flex;align-items:center;gap:24px;padding:12px 32px;background:#f8faf8ed;border-bottom:1px solid #e1ebe7;backdrop-filter:blur(12px)}.app-name{font-size:12px;white-space:nowrap;font-weight:600;text-decoration:none}.global-search{display:flex;align-items:center;gap:8px;flex:1;margin:0}.global-search svg{width:18px;height:18px;fill:none;stroke:#708083;stroke-width:1.7;flex-shrink:0}.global-search input{width:100%;min-width:0;max-width:700px;margin:0;background:white}.global-search button{margin:0}.profile-label{font-size:11px;color:var(--primary)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.pipeline-panel{margin:18px 0;padding:16px 18px;background:#ffffffc9;border:1px solid var(--border);border-radius:10px}.pipeline-panel h2{font-size:13px;margin:0 0 12px}.pipeline{display:flex;gap:6px;overflow-x:auto}.pipeline a{flex:1;min-width:92px;text-decoration:none;padding:9px 10px;border-radius:7px;background:#edf5f1;color:#54736d}.pipeline span{display:block;font-size:10px;white-space:nowrap}.pipeline strong{font-size:20px;color:var(--primary)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dashboard-grid>.panel{margin:0;min-width:0}.today-label{text-transform:capitalize;font-size:13px;color:var(--muted)}.activity-item{padding:10px 0 10px 15px;border-left:2px solid #c9dfd7;margin:8px 0}.activity-item p{font-size:11px;color:var(--muted);margin:4px 0}.profile-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.profile-buttons form{margin:0}@media(max-width:899px){.app-topbar{padding:10px 22px;gap:10px}.app-name{display:none}}@media(max-width:650px){.dashboard-grid{grid-template-columns:1fr}.app-topbar{padding:10px 18px}.global-search input{font-size:12px}.global-search button{min-height:38px}.profile-label{display:none}}

.dashboard-totals{display:grid}.dashboard-totals a.panel{display:flex;flex-direction:column;text-decoration:none;gap:5px;min-width:0}.authenticated .primary-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.primary-metrics strong{font-size:24px!important}.more-states{padding:12px 18px;margin:0 0 18px}.more-states .dashboard-totals{margin:14px 0 0}.today-label{text-transform:none}@media(max-width:1000px){.authenticated .primary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Tablet field work: readable panels, large controls and contained tables. */
@media (pointer:coarse) { button,.button-link,input,select { min-height:44px; } input[type=checkbox]{min-height:24px;min-width:24px;} .form-actions{gap:12px;flex-wrap:wrap;} canvas{max-width:100%;} }
@media (min-width:700px) and (max-width:1100px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.panel{min-width:0;}main{min-width:0;} }
.work-table-scroll{max-width:100%;overflow-x:auto;} .panel input:not([type=checkbox]),.panel select,.panel textarea{max-width:100%;box-sizing:border-box;}

.dashboard-grid{align-items:start;}

/* Session controls belong to the header, keeping navigation focused on work. */
.sidebar{background:linear-gradient(180deg,#016b82 0px,#016b82 100px,#147a8e 125px,#4e96a4 155px,#93bfbe 190px,#c0d8cd 235px,#e5efe8 300px,#f2f7f3 370px,#f7faf8 480px);}
.navigation{margin-top:75px;} .sidebar nav a{color:#314f4f;} .sidebar nav a[aria-current=page]{color:white;}
.app-topbar{gap:16px;} .global-search{min-width:0;} .global-search input{max-width:none;flex:1;}
.account-menu{position:relative;flex:0 0 auto;} .account-menu>summary{display:flex;align-items:center;gap:9px;list-style:none;padding:5px 8px;border-radius:8px;min-height:44px;cursor:pointer;color:var(--text);}
.account-menu>summary::-webkit-details-marker{display:none;} .account-menu>summary:hover,.account-menu[open]>summary{background:#e9f2ed;}
.account-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#e2efea;color:var(--primary);font-size:14px;}
.account-identity{display:flex;flex-direction:column;line-height:1.35;} .account-identity strong{font-size:12px;} .account-identity small{font-size:10px;color:var(--muted);font-weight:400;} .account-chevron{font-size:16px;}
.session-menu{position:absolute;right:0;top:calc(100% + 8px);width:245px;max-width:calc(100vw - 30px);padding:16px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #244e411a;z-index:25;}
.session-menu .user-caption,.session-menu .user-name{display:block;} .session-menu p{margin:14px 0;} .session-menu a{font-size:12px;} .session-menu form{margin:10px 0 0;} .session-menu button{width:100%;text-align:left;margin:0;min-height:40px;} .session-menu .user-name{font-weight:600;}
@media(max-width:899px){.sidebar{background:linear-gradient(100deg,#016b82 0%,#016b82 25%,#147a8e 38%,#4e96a4 48%,#93bfbe 60%,#c0d8cd 72%,#e5efe8 86%,#f7faf8 100%);} .navigation{margin-top:0;} .app-topbar{gap:10px;} }
@media(max-width:650px){.account-identity small,.account-chevron{display:none;} .account-menu>summary{padding:3px;gap:5px;} .account-avatar{width:28px;height:28px;} .account-identity strong{font-size:11px;max-width:65px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} .global-search svg{display:none;} .app-topbar{gap:8px;} }
@media print{.account-menu{display:none;}}

@media(max-width:899px){.sidebar{background:linear-gradient(90deg,#016b82 0px,#016b82 180px,#3c8d9c 220px,#86b6b7 280px,#c7ddd3 330px,#e9f2eb 390px,#f7faf8 100%);}}

/* Tablet: team controls retain readable labels and generous touch targets. */
.time-controls [id$="people"] label { display:flex; align-items:center; gap:12px; min-height:44px; margin:4px 0; padding:4px 8px; border-radius:8px; }
.time-controls [id$="people"] input[type="checkbox"] { display:inline-block; flex:0 0 22px; width:22px; height:22px; min-height:22px; margin:0; padding:0; }
.time-controls button, .time-controls summary { min-height:44px; }
@media (max-width:1100px) { main button, main .button-link { min-height:44px; } main select, main input:not([type="checkbox"]):not([type="hidden"]):not([type="file"]) { min-height:44px; } }

/* Workshop: status is conveyed by text as well as colour. */
.workshop-legend{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px}.workshop-legend span{padding:8px 12px;border-radius:8px;border-left:5px solid var(--stage-color);background:#fff;font-size:.86rem}.stage-pending{--stage-color:#88939c}.stage-ordered{--stage-color:#087b89}.stage-received{--stage-color:#d78223}.stage-fabricating{--stage-color:#c5a61b}.stage-ready{--stage-color:#3b8b57}.stage-review{--stage-color:#b84343}.workshop-status{border-left:5px solid var(--stage-color,#88939c)}.workshop-pdf{max-width:760px}.workshop-pdf img{max-height:750px}.time-controls input[type=checkbox]{width:22px;height:22px}.time-controls button{min-height:44px}

.dashboard-totals>div.panel strong{display:block;font-size:1.5rem;color:var(--primary,#175e65)}.dashboard-totals>div.panel span{display:block;margin-top:8px}

.workshop-summary{display:grid;grid-template-columns:minmax(180px,230px) 1fr;gap:20px;align-items:start;margin:18px 0 24px}.workshop-summary .workshop-legend{flex-direction:column;gap:6px;margin:0}.workshop-summary .workshop-legend span{padding:6px 10px}.workshop-summary .dashboard-totals{margin:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.workshop-summary .dashboard-totals .panel{padding:12px;min-height:0}.workshop-summary .dashboard-totals span{font-size:.8rem}.cutting-page{position:relative;display:inline-block;max-width:100%;line-height:0}.cutting-page canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.cutting-page.marking canvas{pointer-events:auto;touch-action:none;cursor:crosshair}.cutting-tools{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.cutting-tools button{min-height:44px}.cutting-tools [aria-pressed=true]{outline:3px solid #76b8b4;outline-offset:2px}.cutting-page img{margin:0}.cutting-tools [role=status]{align-self:center}@media(max-width:700px){.workshop-summary{grid-template-columns:1fr}.workshop-summary .workshop-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.workshop-summary .dashboard-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}

.worker-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.worker-access-row{margin:0;padding:12px;border:1px solid #dce5e5;border-radius:10px}.worker-access-row label{display:block;margin-bottom:8px}.worker-access-row select{min-height:44px;width:100%}.worker-access-row[hidden]{display:none}@media(max-width:700px){.worker-access-grid{grid-template-columns:1fr}}

@media(max-width:900px){.worker-grid{grid-template-columns:1fr}}

.next-step{border-left:4px solid var(--primary,#175e65);padding:18px 22px}.next-step .eyebrow{margin:0 0 8px}.next-step h2{margin:0 0 12px;font-size:1.15rem}.next-step .button-link{min-height:44px}

/* One progression palette for every module; text always identifies the state. */
:root{--flow-amber:#80500c;--flow-amber-bg:#fff4dc;--flow-red:#a52c2c;--flow-red-bg:#fff0ef;--flow-green:#175e65;--flow-green-bg:#edf7f3}
main .flow-pending{border-left:5px solid var(--flow-amber);background:var(--flow-amber-bg)}
main .flow-ready{border-left:5px solid var(--flow-green);background:var(--flow-green-bg)}
main .flow-error{border-left:5px solid var(--flow-red);background:var(--flow-red-bg)}
main .flow-neutral{border-left:5px solid #87959b}
main button.action-required,main .button-link.action-required{background:var(--flow-amber-bg);color:var(--flow-amber);border:2px solid var(--flow-amber);font-weight:700;min-height:44px}
main button.action-advance,main .button-link.action-advance{background:var(--flow-green);color:white;border:2px solid var(--flow-green);font-weight:700;min-height:44px}
main button.action-issue,main .button-link.action-issue{background:var(--flow-red-bg);color:var(--flow-red);border:2px solid var(--flow-red);font-weight:700;min-height:44px}
main button:disabled{background:#e9eded!important;color:#566467!important;border-color:#cbd3d3!important;opacity:1;cursor:not-allowed}
main .field-pending{border:2px solid var(--flow-amber);background:var(--flow-amber-bg)}
main [aria-invalid=true]{border:2px solid var(--flow-red);background:var(--flow-red-bg)}
main .errorlist,main .error{color:var(--flow-red)}
.flow-hint{font-size:.9rem;color:var(--flow-amber);margin:8px 0}
main .action-required:focus-visible,main .action-advance:focus-visible,main .action-issue:focus-visible{outline:3px solid #253e48;outline-offset:3px}
@media print{.next-step,.flow-hint{display:none!important}}

main .summary-pending .button-link.secondary{background:#fff;color:#52656b;border:1px solid #b7c4c8;min-height:44px}

/* Dashboard: each operational area keeps its figures and tasks together. */
.dashboard-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.dashboard-group>header h2{margin:0}.dashboard-group .group-count{font-size:22px;font-weight:700;color:var(--primary)}
.dashboard-group .dashboard-subsection{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}
.dashboard-group .dashboard-subsection h3{margin-top:0}.dashboard-today{grid-column:1/-1}
.dashboard-day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.dashboard-group .dashboard-task:last-child{margin-bottom:0}
.calendar-event.status-cancelled{border-left-color:#a52c2c;border-style:dashed;opacity:.85}
.calendar-event.status-cancelled strong{text-decoration:line-through}.calendar-event.status-cancelled .appointment-status{color:#a52c2c}
@media(max-width:650px){.dashboard-day-grid{grid-template-columns:1fr}.dashboard-group>header{align-items:flex-start}}

.measurement-breakdown{font-size:13px;color:var(--muted);margin:0 0 20px}.quote-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.quote-card-header h2{margin-top:0}.quote-card-price{font-size:22px;font-weight:700;white-space:nowrap;color:var(--primary)}.quote-card-price small{display:block;font-size:12px;font-weight:400;color:var(--muted)}.quote-card-dates{display:flex;flex-wrap:wrap;gap:24px;margin:16px 0}.quote-card-dates dt{color:var(--muted);font-size:12px}.quote-card-dates dd{margin:4px 0 0;font-weight:600}.quote-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.quote-quick-actions form{margin:0}.quote-quick-actions details{flex-basis:100%}.quote-overdue{color:var(--flow-red)}
@media(max-width:650px){.quote-card-header{flex-direction:column}.quote-card-price{font-size:20px}}

.client-job-list{display:grid;gap:16px;margin-top:18px}.client-job-list article{padding:16px;border:1px solid #dce7e4;border-radius:12px;background:#f8fbfa}.client-job-list p{margin:8px 0}.installation-group .form-actions{display:flex;flex-wrap:wrap;gap:12px}

.stage-logistics{--stage-color:#56864b}

/* Preparation route is separate from the progress/status colour. */
.preparation-route{display:flex;flex-direction:column;gap:5px;padding:14px 16px;margin:12px 0 18px;border:2px solid #006680;border-left-width:6px;border-radius:12px;background:#eef8f8;color:#174b54;overflow-wrap:anywhere}
.preparation-route .route-caption{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.preparation-route strong{font-size:1.08rem;line-height:1.3}.preparation-route>span:last-child{font-size:.86rem;line-height:1.4}
.preparation-route.route-factory{border-color:#bc641d;background:#fff5e9;color:#713b14}
.preparation-route.route-mixed{border-color:#526270;background:#f1f5f7;color:#334856}
@media(max-width:650px){.preparation-route{padding:12px}.preparation-route strong{font-size:1rem}}

/* Compact operational cards: one column on narrow screens, up to three when space allows. */
.operational-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:16px;align-items:start;margin-top:14px}
.operational-card-grid>.dashboard-task{min-width:0;margin:0;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface,#fff);overflow-wrap:anywhere}
.operational-card-grid>.workshop-status{border-left:5px solid var(--stage-color,#88939c)}
.operational-card-grid>.dashboard-task h3{margin-top:0;font-size:15px;line-height:1.4}
.operational-card-grid .button-link,.operational-card-grid button{max-width:100%;white-space:normal;min-height:44px}
.operational-card-grid input,.operational-card-grid select,.operational-card-grid textarea{max-width:100%;min-width:0}
.operational-card-grid .preparation-route{margin:10px 0 14px;padding:10px 12px}.operational-card-grid .preparation-route strong{font-size:1rem}
.operational-card-grid>p:only-child{grid-column:1/-1}
.preparation-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:12px 0 20px;font-size:12px;line-height:1.4}
.preparation-legend>span{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:7px;font-weight:700}
.preparation-legend i{width:10px;height:10px;border-radius:3px;flex-shrink:0;background:currentColor}
.preparation-legend .route-workshop{color:#006680;background:#eef8f8}.preparation-legend .route-factory{color:#bc641d;background:#fff5e9}.preparation-legend .route-mixed{color:#526270;background:#f1f5f7}
@media print{.operational-card-grid{display:block}.operational-card-grid>.dashboard-task{break-inside:avoid;margin-bottom:12px}}

/* Same phase color on legend, counters, and each workshop card. */
.stage-condition{--stage-color:#9b6a32}
.authenticated .workshop-summary .dashboard-totals .workshop-status{border-left:5px solid var(--stage-color)}
.workshop-stage-label{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:650}
.workshop-stage-label::before{content:"";flex:0 0 10px;height:10px;border-radius:50%;background:var(--stage-color)}
.workshop-issue-label{color:#a53333}

.authenticated section.workshop-status,.authenticated details.workshop-status{border-left-color:var(--stage-color)}

/* Without a phase legend, counters use the available row instead of its narrow legend column. */
.authenticated .works-summary .dashboard-totals{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),280px))}
.works-summary .dashboard-totals .panel{overflow-wrap:normal;word-break:normal}

.card-next-step{padding:12px;margin:12px 0;border-radius:8px}
.card-next-step .button-link{margin-top:6px}

.stage-preparation{--stage-color:#ed7800}
.dashboard-work-item{border-top:1px solid var(--border);padding:15px 0}
.dashboard-work-item h3{font-size:15px;line-height:1.4;margin:0 0 8px}
.dashboard-work-item .button-link{margin-top:8px;max-width:100%;white-space:normal;min-height:44px}
.dashboard-work-item .dashboard-pending-detail{font-size:.9rem;margin:4px 0}
.dashboard-section-note{color:var(--muted);font-size:.9rem;margin-top:0}
.dashboard-more{border-top:1px solid var(--border);padding:12px 0;margin-top:10px}
.dashboard-more summary{color:var(--primary);min-height:32px}
.dashboard-section-link{display:block;margin-top:14px;font-weight:650}
.dashboard-group .group-count{white-space:nowrap;font-size:18px}
