/* Compact square-edged workbench. Service colours communicate status. */
:root{--calendar-day-width:36px;--grid-fixed-width:72px;--provided:#17805f;--planned:#2769b1}
.app-header{height:58px;padding:0 24px;gap:28px}.brand{gap:9px}.brand-mark{width:34px;height:34px;object-fit:contain;flex:none;background:transparent}.brand strong{font-size:20px;letter-spacing:0;white-space:nowrap;color:#087f65}.brand small{font-size:8px;color:#526a61}.app-header nav{height:100%;display:flex;align-items:stretch;border-left:1px solid var(--line);padding-left:20px}.nav-item{display:flex;align-items:center;padding:0 15px;border-bottom:2px solid var(--green);background:transparent;font-size:13px}.header-tools{gap:14px}.header-tools .language-switch{min-height:32px;background:#fff}.avatar{width:30px;height:30px;background:#effaf4;color:#526a61}
main{max-width:1900px;padding:18px 24px 14px}.button{min-height:38px;padding:7px 13px;border-color:#cdded5;font-size:12px}.button.primary{background:#087f65;border-color:#087f65;font-weight:600}.button.primary:hover{background:#06664f}.button.icon-button{width:36px;min-height:38px;background:#fff}.input{min-height:40px;padding:8px 11px;background:#fff;border-color:#cdded5;font-size:13px}.input:focus{border-color:#439e7d}.field{gap:5px}.field-title{font-size:12px;font-weight:600}.field-translation{font-size:10px}.heading-actions{display:flex;flex-direction:row;align-items:center;gap:8px}
.export-menu>summary{display:inline-flex;align-items:center;gap:7px}.export-menu>summary>span:first-of-type{font-size:12px}.export-menu>summary>small{font-size:10px}.export-menu-panel{border-color:#cdded5;box-shadow:0 10px 28px #142b481c;padding:6px}.export-menu-panel>button{padding:12px}.export-menu-panel>button+button{border-top:1px solid #edf1f5}.export-menu-panel>button:hover{background:#f0fcf5}
.calendar-scroll{border-color:#d9e9de;scrollbar-color:#b6c4d3 #f3f6fa}.calendar th,.calendar td{border-color:#e7ede8}.editable-calendar th,.editable-calendar td{height:54px;padding:3px}.editable-calendar thead th{height:52px;background:#ffffff}.editable-calendar .grid-meta{padding:6px 7px;background:#fff}.editable-calendar thead .grid-meta{background:#ffffff}.editable-calendar .meta-location{left:0;background:#fbfdfb;box-shadow:2px 0 0 #dae3ed}.editable-calendar .field-title{font-size:11px;color:#3f5e52}.editable-calendar .field-translation{font-size:10px;color:#526a61;margin-top:2px}
.col-location{width:90px}.col-client{width:108px}.col-phone{width:128px}.col-scheduleDays{width:106px}.col-date{width:116px}.col-packageId{width:200px}.col-note{width:210px}.col-orderNo{width:102px}
.grid-input{min-height:34px;padding:5px 3px;font-size:12px}.meta-location .grid-input{font-size:14px;font-weight:600;color:#1e5949}.grid-input::placeholder{color:#64748b;font-weight:400}.grid-input:hover{border-color:#c3dfcf;background:#f3fbf6}.grid-input:focus{border-color:#439e7d;outline:0}.grid-choice,.grid-select{font-size:11px}.calendar .weekend{background:#fbfdfb}.calendar .today{background:#fff9e6}.calendar thead .today{background:#ffdc75;color:#624a10}.calendar thead .today small{color:#624a10}.calendar thead th>small{color:#526a61}
.day-cell{min-height:44px;padding:3px 1px;border:1px solid #d4e5fa;background:#eef6ff;color:var(--planned);filter:none}.day-cell strong{font-size:14px;font-weight:600}.day-cell small{font-size:9px;margin-top:2px}.day-cell.provided{background:#edf9f0;border-color:#c9e8d5;color:var(--provided)}.day-cell.cancelled{background:#f4f4f4;border-color:#e7e7e7;color:#64748b}.day-cell.note{background:#f0f4fa;border-color:#dce5f0;color:#426e9d}.day-cell.empty-cell{background:transparent;border-color:transparent;color:#a1baac;font-size:16px}.day-cell.empty-cell>span{opacity:.42}.day-cell.empty-cell:hover,.day-cell.empty-cell:focus-visible{background:#effaf3;border-color:#b2dac5}.day-cell.empty-cell:hover>span,.day-cell.empty-cell:focus-visible>span{opacity:1}.day-cell:hover{filter:none;border-color:currentColor}.cell-note{height:9px;line-height:9px;margin-top:2px}.cell-note .icon{width:9px;height:9px}
.grid-new-row .grid-meta,.grid-new-days{background:#fffdf3;border-top-color:#dfddbd!important;border-bottom-color:#dfddbd!important}.grid-new-row .grid-input{background:#fff;border:1px solid #d7e3d9}.grid-new-row .grid-input:focus{border-color:#439e7d}.grid-new-guidance{padding:8px 10px;gap:10px;color:#416856;max-width:750px}.grid-new-guidance>span>span{font-size:11px}.grid-new-guidance>span>small{font-size:10px}.grid-new-guidance .button{min-height:36px;margin-left:6px;background:#fff;color:#087f65;border-color:#9dcfb9}.grid-new-guidance .button:hover{background:#e6f8ed}
.grid-entry-footer>td{height:56px!important;background:#fbfdfb}.grid-footer-content{padding:9px 12px;gap:13px}.grid-footer-content .button{min-height:36px;font-size:11px}.grid-footer-content>span>span{color:#657a90}.grid-footer-content>span>small{font-size:10px}.grid-feedback:not(:empty){padding:7px 10px;margin:0 0 8px}.grid-dirty .grid-meta{background:#fffbf0}.grid-popover{padding:14px;border-color:#cdded5;box-shadow:0 10px 28px #142b4825}
.grid-after-table{display:flex;justify-content:space-between;gap:15px;margin-top:9px}.grid-guidance{display:flex;flex-wrap:wrap;gap:2px 12px;align-items:baseline;margin:0;font-size:10px;line-height:1.5}.grid-guidance>span{color:#526a61;font-weight:400}.grid-guidance>small{font-size:10px}.grid-footnote{margin:0;font-size:10px;line-height:1.5}.record-legend{gap:8px 18px;padding:9px 0 0;margin:9px 0 0;border-top:1px solid var(--line);font-size:11px}.record-legend strong{color:#426e9d}.record-legend>span:nth-child(2) strong{color:var(--amber)}.allocation-hint{color:#526a61;margin-top:7px;line-height:1.6;font-size:10px}.prototype-note{color:#526a61;margin-top:5px}
.ledger-heading{margin:0 0 10px;gap:14px}.ledger-heading h2{font-size:16px;color:#3f5e52}.ledger th,.ledger td{padding:10px 12px;vertical-align:middle}.ledger th{background:#ffffff}.ledger th .field-title{font-size:11px}.ledger tbody tr:nth-child(even){background:#fbfdfb}.ledger .button{min-height:32px;padding:5px 9px}.badge{padding:3px 7px;background:#eef6ff;color:var(--planned);border:1px solid #d4e5fa}.badge.provided{background:#edf9f0;color:var(--provided);border-color:#c9e8d5}.badge.cancelled{background:#f4f4f4;color:#64748b;border-color:#e7e7e7}.badge.note{background:#f0f4fa;color:#426e9d}.ledger-code{font-size:16px}
.ledger-card{padding:14px;border-top-width:2px;border-top-color:var(--planned)}.ledger-card.provided{border-top-color:var(--provided)}.ledger-card h3{font-size:17px}.ledger-card-code{font-size:24px}.ledger-card-status{margin:9px 0}.card-note{margin-top:10px;padding:10px;background:#f7fcf8}.ledger-card details{margin-top:12px;padding-top:10px}.card-actions{margin-top:12px}.empty{padding:30px 18px}
.modal{width:680px;border:1px solid #cdded5;box-shadow:0 18px 70px #142b4830}.modal-head{padding:17px 20px 14px;background:#fbfdfb}.modal-head h2{color:#087f65;font-size:18px}.modal-body{padding:19px 20px}.form-grid{gap:14px 17px}textarea.input{min-height:80px}.form-actions{padding-top:14px;margin-top:19px}.hint,.field-help{color:#526a61;font-size:11px}.date-trigger{min-height:52px;background:#fff;padding:8px 11px}.day-context{padding:13px 14px;gap:12px;margin-bottom:17px;background:#f5fcf7;border-left:2px solid #80c6ab}.day-option>span,.status-option>span{background:#fff;border-color:#cdded5}.day-option>span{min-height:44px;padding:5px 2px}.schedule-days{gap:6px}.status-choices{gap:8px}.status-option>span{min-height:64px;padding:10px 12px}
.status-option.provided input:checked+span{background:#edf9f0;border-color:#72ac9b;color:var(--provided);box-shadow:inset 3px 0 var(--provided)}.status-option.planned input:checked+span{background:#eef6ff;border-color:#84a6cf;color:var(--planned);box-shadow:inset 3px 0 var(--planned)}.status-option.cancelled input:checked+span{background:#f4f4f4;border-color:#a2adbb;color:#647183;box-shadow:inset 3px 0 #64748b}.status-option.note input:checked+span{background:#f0f4fa;border-color:#93aec9;color:#426e9d;box-shadow:inset 3px 0 #426e9d}.status-field{margin-bottom:16px}.independent-note{margin-top:7px}.error{padding:9px 11px;margin-bottom:14px}dl{gap:12px}.customer-history{gap:8px}.customer-order{background:#fbfdfb;padding:12px}
.picker-dialog{padding:18px;border-color:#cdded5}.picker-header{margin-bottom:12px}.picker-header h2{color:#087f65}.picker-selection{background:#f0fcf5;border-left:2px solid #80c6ab;padding:11px 14px;margin-bottom:12px}.picker-selection strong{color:#1e5949;font-size:22px}.picker-footer{margin-top:12px;padding-top:12px}.picker-shortcut{background:#f0fcf5;border-color:#cfeadc}.project-steps li{background:#fbfdfb}.project-steps li.current{border-color:#80c6ab;background:#f0fcf5}.building-project-context{background:#f5fcf7}
footer{max-width:1900px;padding:12px 24px 18px;border-top:1px solid #e7ede8;font-size:10px;color:#526a61}
@media(max-width:760px){:root{--calendar-day-width:44px}.app-header{height:52px;padding:0 12px;gap:13px}.brand{gap:7px}.brand-mark{width:29px;height:29px;font-size:23px}.brand strong{font-size:18px}.brand small{font-size:7px}.app-header nav{padding-left:10px}.nav-item{padding:0 6px;font-size:11px}.header-tools .language-switch{min-height:32px;padding:4px 7px;font-size:10px}main{padding:12px 12px 10px}.input,.button{min-height:44px}.editable-calendar th,.editable-calendar td{height:58px}.editable-calendar thead th{height:52px}.grid-input{min-height:44px}.meta-location .grid-input{font-size:13px}.day-cell{min-height:48px}.day-cell.empty-cell>span{opacity:.42}.grid-new-guidance .button,.grid-footer-content .button{min-height:44px}.grid-entry-footer>td{height:62px!important}.grid-footer-content{padding:8px 10px;gap:10px}.grid-after-table{flex-direction:column;gap:3px;margin-top:8px}.grid-guidance{display:block}.grid-guidance>span,.grid-guidance>small{display:block}.grid-footnote{font-size:9px}.record-legend{gap:7px 13px;font-size:10px}.ledger-heading{align-items:flex-start}.ledger-heading>.button{display:none}.ledger-card{padding:12px}.modal-scrim{padding:8px}.modal{max-height:calc(100dvh - 16px)}.modal-head{padding:13px 14px 11px}.modal-body{padding:16px 14px}.form-grid{gap:13px}.form-actions>.button{min-height:44px}.status-option>span{min-height:67px}.day-context{padding:11px 12px}.picker-dialog{padding:18px 16px calc(18px + env(safe-area-inset-bottom))}.picker-day{min-height:44px}.field-help{font-size:10px}footer{padding:10px 12px 14px;gap:3px}}
@media(max-width:360px){.app-header{padding:0 10px;gap:9px}.app-header nav{padding-left:7px}.nav-item{font-size:10px;padding:0 4px}main{padding-left:10px;padding-right:10px}.modal-body{padding:14px 12px}.form-grid{grid-template-columns:1fr}.grid-footer-content>span{max-width:140px}}

/* Make the next action discoverable without relying on hover or colour alone. */
.calendar thead .today>span{font-size:16px;font-weight:700}.calendar-today-label{display:block;font-size:9px;font-style:normal;font-weight:600;line-height:1.2;margin-top:1px}
.calendar .today .day-cell.empty-cell{background:#fffdf2;border:1px dashed #e5cd80;color:#7c681f}.calendar .today .day-cell.empty-cell>span{opacity:.78;font-weight:600}
.field-title em.required{color:#9b4c22;background:#fff3e8;padding:1px 5px;font-size:10px;font-weight:500}.field-title em.optional{font-size:10px}
.grid-new-row.grid-dirty .grid-new-guidance .button{background:#087f65;color:#fff;border-color:#087f65}

/* Mobile ledger: labelled values remain visible without expanding a record. */
@media(max-width:760px){.ledger-cards{gap:10px}.compact-ledger-card{padding:0;overflow:hidden}.ledger-record-heading{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px 12px;background:#f5faf7;border-bottom:1px solid #dfeae3}.ledger-record-heading>div{min-width:0}.ledger-record-heading .field-title{font-size:11px;line-height:1.4}.ledger-record-heading .field-translation{font-size:9px;line-height:1.3;margin:1px 0 0}.ledger-record-heading strong{display:block;font-size:15px;font-weight:600;line-height:1.5;margin-top:4px;font-variant-numeric:tabular-nums}.ledger-record-status{margin-top:4px}.compact-ledger-card .ledger-card-facts{display:block;margin:0;padding:0 12px}.ledger-fact{display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:12px;align-items:center;padding:7px 0;border-bottom:1px solid #e9f0eb}.ledger-fact dt .field-title{font-size:11px;line-height:1.4;color:#526a61;font-weight:500}.ledger-fact dt .field-translation{font-size:9px;line-height:1.3;margin:1px 0 0;color:#6d8177;overflow-wrap:normal}.ledger-fact dd{min-width:0;font-size:12px;line-height:1.55;color:#253d36;white-space:pre-wrap;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.ledger-fact[data-field=location] dd,.ledger-fact[data-field=client] dd{font-size:13px;font-weight:600}.ledger-fact .ledger-code{font-size:16px;line-height:1.4}.ledger-fact .field-help{font-size:10px;margin-top:2px}.compact-ledger-card .card-actions{margin:0;padding:9px 12px}.compact-ledger-card .card-actions .button{display:flex;gap:8px;min-height:44px;color:#087f65;border-color:#c5ddcf;background:#fbfdfb;font-size:11px}.compact-ledger-card .card-actions .button small{font-size:9px;color:#61796e}.compact-ledger-card .card-actions .button:hover{background:#eff8f2}}
@media(max-width:360px){.ledger-fact{grid-template-columns:94px minmax(0,1fr);column-gap:9px}.ledger-record-heading{gap:9px}.ledger-card-facts .ledger-fact dd{font-size:12px}}

.ledger-code-label{display:block;max-width:180px;margin-top:2px;font-size:10px;line-height:1.5;font-weight:400;color:#526a61;white-space:normal;overflow-wrap:anywhere}
.editable-calendar .grid-meta{padding-left:5px;padding-right:5px}.grid-date{font-size:10.5px;gap:3px;white-space:nowrap}.grid-date .icon{flex:0 0 12px;width:12px;height:12px}.meta-phone .grid-input{font-size:11px}.grid-amount{text-align:right;font-variant-numeric:tabular-nums}.input.auto-filled,.grid-input.auto-filled{background:#f0f8f4;color:#426354;cursor:default}.grid-input.auto-filled:focus{background:#f0f8f4}.order-service-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.order-service-fields .date-trigger{width:100%;gap:6px;padding:8px}.order-service-fields .date-trigger .icon{width:15px;height:15px}.order-service-fields .date-trigger strong{font-size:12px}.order-service-fields .date-trigger small{font-size:10px}
@media(max-width:760px){.order-service-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.order-service-fields>.field:last-child{grid-column:1/-1}.editable-calendar .grid-date{font-size:10.5px}.meta-phone .grid-input{font-size:11px}}
@media(max-width:360px){.order-service-fields{gap:9px}.order-service-fields .date-trigger{padding:7px 6px}}
@media(max-width:760px){.ledger-fact[data-field=serviceNo] dd{display:flex;align-items:center;flex-wrap:wrap;gap:3px 9px}.ledger-fact[data-field=serviceNo] .ledger-code{display:inline-block}.ledger-fact[data-field=serviceNo] .ledger-code-label{display:inline;margin:0;font-size:11px;max-width:100%}}
