:root{color-scheme:light}
.theme-control{display:flex;align-items:center;gap:8px;margin:0;font-size:11px}
.theme-control select{width:auto;min-width:100px;margin:0;padding:6px 9px;font-size:11px}
.account-tools{display:flex;align-items:center;gap:15px}
.auth-theme{display:flex;justify-content:flex-end;padding:16px 24px}
[data-theme=dark]{color-scheme:dark;--ink:#e4e9e6;--green:#183f34;--lime:#d9ec9a;--paper:#0c0f0e;--muted:#a0ada5;--line:#303b35;--white:#171d19;--red:#ffad9a}
[data-theme=dark] .sidebar{background:#101b16;border-right:1px solid var(--line)}
[data-theme=dark] .topbar,[data-theme=dark] .panel,[data-theme=dark] .stat:not(.dark),[data-theme=dark] .paper,[data-theme=dark] .login-layout{background:var(--white)}
[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#101612;border-color:#435348;color:var(--ink)}
[data-theme=dark] input:disabled,[data-theme=dark] th,[data-theme=dark] .audit-changes{background:#202a23}
[data-theme=dark] td{border-color:var(--line)}
[data-theme=dark] .secondary{background:#24352b;border-color:#45614e;color:#e4eddf}
[data-theme=dark] .secondary:hover,[data-theme=dark] .project-card:hover{background:#2d4435}
[data-theme=dark] .primary{background:#cce58f;color:#172511}
[data-theme=dark] .primary:hover{background:#e0f2b6;color:#172511}
[data-theme=dark] .avatar,[data-theme=dark] .client-icon,[data-theme=dark] .totals>.total,[data-theme=dark] code{background:#2b3c2e;color:#e2eddb}
[data-theme=dark] .project-card,[data-theme=dark] .side-card,[data-theme=dark] .help-card,[data-theme=dark] .attachment,[data-theme=dark] .document-project{background:#1d2920}
[data-theme=dark] .notice,[data-theme=dark] .setup-banner{background:#263823;border-color:#50653c;color:#e6efdc}
[data-theme=dark] .notice.error{background:#3a2620;border-color:#765042;color:#ffccbc}
[data-theme=dark] .badge{background:#2c332d;border-color:#495049;color:#d4dcd3}
[data-theme=dark] .badge:is(.paid,.accepted,.sent,.uploaded,.approved,.finalized,.verified){background:#273c21;border-color:#516742;color:#cee8aa}
[data-theme=dark] .badge:is(.overdue,.failed,.unknown,.rejected,.blocked){background:#452d25;border-color:#745345;color:#ffd3bb}
[data-theme=dark] .badge:is(.issued,.partial,.local,.submitted,.ready){background:#223741;border-color:#3c5968;color:#b8dce9}
[data-theme=dark] .eyebrow,[data-theme=dark] .mini-stat span{color:#b7cba0}
[data-theme=dark] .audit-changes del{color:#e2aaa0}
[data-theme=dark] .audit-changes ins{color:#bce49c}
[data-theme=dark] a:hover{color:#d9ec9a}
[data-theme=dark] .primary:hover{color:#172511}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.photo-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:0}
.photo-card img{display:block;width:100%;height:190px;object-fit:cover}
.photo-card figcaption{padding:14px;font-size:12px;overflow-wrap:anywhere}
.photo-card figcaption small{display:block;color:var(--muted)}
.site-note{padding:18px 0;border-bottom:1px solid var(--line)}
.site-note p{margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.issue-card{padding:18px;border:1px solid var(--line);border-radius:8px;display:block;margin-bottom:14px}
.issue-card h3{margin:8px 0}
.issue-card .section-heading{margin-bottom:8px}
.theme-control>span{margin:0!important;color:var(--muted)}
@media(max-width:480px){.theme-control>span{display:none}.account-tools{gap:8px}.theme-control select{min-width:78px;width:78px}.topbar>div:first-child>span{display:none}.photo-grid{grid-template-columns:1fr}}
.chart-scroll{overflow-x:auto}.report-chart{width:100%;min-width:680px;max-height:360px}.report-chart text{fill:var(--muted);font:9px system-ui}.chart-axis{stroke:var(--line);stroke-width:1}.chart-positive{fill:#729747}.chart-negative{fill:#bc6b55}
.mobile-menu-toggle{display:none}
@media(max-width:800px){.sidebar{position:relative}.js .mobile-menu-toggle{display:block;position:absolute;right:20px;top:21px;background:transparent;color:#d9ec9a;border:1px solid #45614e;padding:7px 11px;border-radius:5px;font-size:11px}.js .sidebar:has(.mobile-menu-toggle[aria-expanded=false]) nav{display:none}.sidebar .company-switch{margin-bottom:0}.sidebar nav{margin-top:12px}}
/* Locale controls and a deterministic Monday-first calendar. */
.auth-theme{display:flex;justify-content:flex-end;gap:16px;flex-wrap:wrap}.account-tools{gap:12px}.language-control select{min-width:100px}
.date-field{display:flex;align-items:stretch;gap:0;width:100%;margin-top:8px}.date-field input{margin:0;min-width:0;border-radius:8px 0 0 8px}.date-open{flex:0 0 44px;border:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;background:var(--paper);color:var(--ink);font-size:24px;cursor:pointer}.date-open:focus-visible,.date-dialog button:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.date-dialog{width:min(350px,calc(100vw - 32px));padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--white);color:var(--ink);box-shadow:0 20px 80px #0005}.date-dialog::backdrop{background:#0007}.date-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}.date-heading h2{font-size:18px;margin:0;text-transform:capitalize}.date-dialog button{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:7px;cursor:pointer;padding:8px;font:inherit}.date-heading button{font-size:22px;min-width:36px}.date-weekdays,.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.date-weekdays{font-size:12px;margin-bottom:8px;color:var(--muted)}.date-grid button{padding:9px 0}.date-grid button[aria-pressed=true]{background:var(--green);color:#f4f7f0}.date-grid button[aria-current=date]{border:2px solid var(--green)}.date-dialog button:disabled{opacity:.35;cursor:not-allowed}.date-actions{display:flex;justify-content:space-between;gap:6px;margin-top:16px;font-size:12px}
@media(max-width:600px){.topbar{height:auto;min-height:76px;gap:10px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.account-tools{margin-left:auto;gap:8px}.theme-control select,.language-control select{min-width:0;max-width:120px}.theme-control{gap:5px}.topbar .avatar{display:none}.auth-theme{gap:10px}.date-dialog{padding:14px}}

.project-address{display:inline-flex;align-items:center;gap:10px;max-width:100%;vertical-align:middle}.project-address>.preline{min-width:0;overflow-wrap:anywhere}.map-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);position:relative;z-index:1}.map-link:hover{background:var(--white);border-color:var(--muted)}.map-link:focus-visible,.project-card-link:focus-visible{outline:3px solid var(--muted);outline-offset:3px}.project-card{position:relative}.project-card-link::after{content:"";position:absolute;inset:0;border-radius:8px}

/* Shrink grid children and date controls within their panel, including narrow tablets. */
.form-grid>*,.two-columns>*,.page-heading>*,.catalog-picker>*{min-width:0}.date-field{min-width:0;max-width:100%}.date-field .date-value{flex:1 1 0;width:0;min-width:0}.date-open{flex:0 0 40px;min-width:40px;padding:0}.date-dialog{inset:0;margin:auto;width:min(350px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}.date-heading h2{min-width:0;overflow-wrap:anywhere;text-align:center}.date-actions{flex-wrap:wrap}.date-actions button{min-width:0;white-space:normal}.line-classification{display:grid;max-width:none;width:100%;min-width:0}.line-item>label{min-width:0}.catalog-picker{flex-wrap:wrap}.catalog-picker>label{flex-basis:100%}.catalog-picker>p{margin:0}.filters>*{min-width:0}.record-details{overflow-wrap:anywhere}
@media(max-width:600px){.form-grid,.form-grid.two{grid-template-columns:minmax(0,1fr)}.line-classification{grid-template-columns:minmax(0,1fr)}.panel{padding:18px}.page-heading .actions{gap:8px}.date-dialog{padding:12px}.date-dialog .date-grid button{padding:7px 0}.date-heading{margin-bottom:10px}.date-actions{margin-top:10px}.line-item>label:first-of-type{grid-column:1/-1}.bill-grid{grid-template-columns:minmax(0,1fr)}}

/* Room between actions, including wrapped buttons on phones. */
.actions,.page-heading .actions{column-gap:16px;row-gap:16px}
.actions>form{margin:0;max-width:100%}
.invoice-add-actions{margin:24px 0 20px;align-items:stretch}
#document-form #line-items{display:grid;gap:32px;min-width:0}
#document-form .line-item{min-width:0;padding:20px;margin:0;border:1px solid var(--line);border-radius:12px;background:var(--paper);row-gap:20px}
@media(max-width:600px){#document-form .line-item{padding:14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 25px}}
#document-form .line-discount{gap:16px;padding-top:16px}
#document-form .panel:last-child>.actions{padding-top:8px}
@media(max-width:600px){.invoice-add-actions>.button,#document-form .panel:last-child>.actions>.button{width:100%;white-space:normal}.line-discount .move-line{min-width:44px}}

.discount-dialog{width:min(460px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--white);color:var(--ink);box-shadow:0 20px 80px #0005}
.discount-dialog::backdrop{background:#0007}.discount-dialog .section-heading{gap:16px;align-items:center}.discount-dialog h2{margin:0}.discount-dialog p{overflow-wrap:anywhere;max-height:100px;overflow:auto}.discount-dialog label{min-width:0}.discount-dialog .actions{margin-top:24px}.discount-dialog .button{white-space:normal}.edit-discount{min-width:44px;gap:8px}.edit-discount>span:first-child{font-size:18px}.discount-summary:empty{display:none}.edit-discount:focus-visible{outline:3px solid var(--muted);outline-offset:3px}
#document-form .line-discount{padding-top:8px;border-top:0;align-items:center}
@media(max-width:600px){.discount-dialog{padding:18px}.discount-dialog .actions>.button{flex:1 1 100%}}
