*{box-sizing:border-box}body{margin:0;background:#f4f6f7;color:#182f3e;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}header{background:#172d3b;color:#fff;padding:25px max(20px,calc((100% - 850px)/2))}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:1px}.brand svg{color:#e5ab58}.brand small{font-size:10px;color:#e5ab58;border:1px solid #e5ab58;padding:3px 6px;border-radius:5px}header p{color:#c6d4db;font-size:13px}main{max-width:850px;margin:auto;padding:20px}nav{display:flex;gap:10px;margin-bottom:24px}button{font:inherit;cursor:pointer;border:1px solid #d7dfe4;border-radius:10px;padding:11px 14px;background:#fff;color:#172d3b;display:inline-flex;align-items:center;gap:8px}button:hover{filter:brightness(.97)}nav button.active,.primary{background:#172d3b;color:#fff;border-color:#172d3b}.heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.heading h2{margin:0}h1{font-size:27px;margin:10px 0}h2{font-size:19px;display:flex;gap:8px;align-items:center}.sub{color:#71818b;margin-top:0}.panel{background:#fff;border:1px solid #e1e7ea;border-radius:16px;padding:20px;margin:18px 0;box-shadow:0 3px 16px #182f3e0a}.panel p{color:#697984;font-size:14px}label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;margin:10px 0}input{padding:12px;border:1px solid #cbd5dc;border-radius:9px;font:inherit;width:100%;font-weight:400}.project{width:100%;display:flex;justify-content:space-between;text-align:left;gap:10px;margin:10px 0;padding:20px;background:#fff;border:1px solid #dce4e8;border-radius:14px}.project div,.record div{display:flex;flex-direction:column;gap:6px}.project span,.record span{font-size:12px;color:#73828b}.project b{white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stats>div{padding:16px;background:#fff;border:1px solid #dfe6e9;border-radius:13px;display:flex;flex-direction:column;gap:8px}.stats span{font-size:12px;color:#70818c}.stats b{font-size:18px}.record{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #edf0f2;padding:14px 0}.record button{padding:7px}.running{font-weight:700;color:#2b7558!important}.warning{color:#a66d19!important}.back{border:0;background:transparent;padding-left:0}footer{text-align:center;color:#7d8a93;font-size:12px;padding:30px 15px}@media(max-width:600px){.stats{grid-template-columns:1fr 1fr}.stats>div:first-child{grid-column:span 2}.project{flex-direction:column}.heading{align-items:flex-start}.heading button{white-space:nowrap}}.auth{max-width:480px;margin:35px auto}.auth form{display:grid;gap:12px}.auth button{margin-top:10px}header>button{float:right;background:transparent;color:#fff;border:1px solid #9db0bd;border-radius:8px;padding:8px 12px;display:inline-flex;align-items:center;gap:8px}.warning{color:#8d4b16;background:#fff4e5;padding:10px;border-radius:8px}.active-timer{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:#e6f4ed;border:1px solid #a8d4bb;border-radius:12px;padding:12px 14px;margin:12px 0;color:#245b40}.active-timer span{flex:1}.active-timer button{padding:7px 10px}.time-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.time-form{border:1px solid #dce4e8;background:#f7fafb;border-radius:12px;padding:16px;margin:16px 0}.time-form h3{margin:0 0 12px;font-size:16px}.record{flex-wrap:wrap}.record span{flex:1;min-width:170px}.record button{font-size:12px}.day-group{margin:18px 0 24px}.day-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;padding:11px 12px;background:#edf3f6;border-radius:10px;color:#203d4b}.day-heading strong{font-size:15px}.day-heading span{font-size:12px;color:#627783}.day-group .record{padding-left:12px;padding-right:12px}.time-form select{padding:12px;border:1px solid #cbd5dc;border-radius:9px;font:inherit;width:100%;background:#fff}.worker-label{font-weight:600;color:#4b6574}.report-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.report-shortcuts button{padding:9px 13px;background:#edf3f6;border-color:#d7e3e9;font-size:13px;font-weight:600}.report-filters{display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(140px,1fr) minmax(140px,1fr) auto;gap:12px;align-items:end;margin-bottom:20px}.report-filters label{margin:0;min-width:0}.report-filters select,.report-filters input{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbd5dc;border-radius:9px;background:#fff;color:#182f3e;font:inherit;font-weight:400}.report-filters button{min-height:44px;white-space:nowrap}.report-date-hint{color:#607785;font-size:12px;font-weight:500}.report-worker{width:100%;text-align:left;cursor:pointer;font:inherit;background:#fff}.report-worker:hover{background:#f3f7fb}.report-worker strong{font-size:15px}.report-worker b{white-space:nowrap;font-size:15px}@media(max-width:750px){.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filters label:first-child{grid-column:1/-1}.report-filters button{grid-column:1/-1;justify-content:center}}@media(max-width:440px){.report-filters{grid-template-columns:1fr}.report-filters label:first-child,.report-filters button{grid-column:auto}.report-worker{gap:8px}}header{padding:24px 20px}.header-inner{max-width:810px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.header-copy{min-width:0}.header-copy p{margin-bottom:0}.header-inner>button{flex-shrink:0;background:transparent;color:#fff;border-color:#9db0bd}nav{flex-wrap:wrap}nav button{justify-content:center}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c88730;outline-offset:3px}input,select{min-width:0;min-height:44px;color:#182f3e;background:#fff;font-size:16px}.project div{min-width:0}.project strong,.project span{overflow-wrap:anywhere}.receipt-note{display:block;margin-top:4px;overflow-wrap:anywhere}.error-message{position:sticky;bottom:12px;border:1px solid #e3b677;box-shadow:0 4px 16px #182f3e15;z-index:2}@media(max-width:600px){main{padding:16px}header{padding:20px 16px}.header-inner{align-items:flex-start;gap:12px}.brand{flex-wrap:wrap;font-size:14px;gap:7px}.header-inner>button{padding:8px;font-size:13px}nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.heading{flex-wrap:wrap}.panel{padding:16px}.stats b{overflow-wrap:anywhere}.record span{min-width:0;flex-basis:60%}.record b{white-space:nowrap}.report-worker span{flex-basis:auto}}.report-filters>*{min-width:0}.report-filters input,.report-filters select{width:100%;max-width:100%;min-width:0;font-size:16px}.report-filters input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;min-inline-size:0}.report-filters input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}.panel:has(>.report-filters){min-width:0}@media(max-width:600px){.panel:has(>.report-filters){padding:14px}.report-filters{gap:10px;margin-bottom:16px}.report-shortcuts{gap:6px;margin-bottom:12px}.report-shortcuts button{flex:1;justify-content:center;min-height:44px;padding:8px;font-size:12px}.panel:has(>.report-filters) .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.panel:has(>.report-filters) .stats>div{min-width:0;padding:12px;gap:6px}.panel:has(>.report-filters) .stats>div:first-child{grid-column:auto}.panel:has(>.report-filters) .stats b{font-size:16px}.report-worker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:12px 0}.report-worker strong{min-width:0;overflow-wrap:anywhere}.report-worker span{grid-column:1;grid-row:2}.report-worker b{grid-column:2;grid-row:1/3;align-self:center}.panel:has(>.report-filters) .record:not(.report-worker){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.panel:has(>.report-filters) .record span{min-width:0;overflow-wrap:anywhere}}.report-title{font-size:24px;line-height:1.25;margin:18px 0 16px}.report-panel{padding:20px}.report-panel .report-shortcuts{background:#edf3f6;padding:4px;border-radius:12px;gap:4px}.report-panel .report-shortcuts button{flex:1;justify-content:center;background:transparent;border-color:transparent;padding:9px 8px;min-height:40px}.report-panel .report-shortcuts button:hover{background:#fff}.report-panel .report-filters{gap:12px}.report-panel .report-filters label{gap:7px}.report-panel .report-filters input,.report-panel .report-filters select{font-size:16px;padding:10px;min-height:44px}.report-panel .report-filters>button{background:#172d3b;color:#fff;border-color:#172d3b;font-size:14px}.report-panel .stats{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:10px;margin:22px 0}.report-panel .stats>div{min-width:0;background:#f3f7f9;border:0;padding:14px;border-radius:12px}.report-panel .stats b{font-size:22px}.report-panel h2{font-size:17px;margin:22px 0 10px}.report-panel .report-worker{border:1px solid #e1e7ea;border-radius:12px;padding:12px;margin:8px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.report-panel .report-worker strong{grid-column:1;font-size:15px}.report-panel .report-worker span{grid-column:1;grid-row:2;min-width:0}.report-panel .report-worker b{grid-column:2;grid-row:1/3;align-self:center;font-size:16px}.report-panel .report-day-info{min-width:0;gap:4px}.report-panel .report-day-info strong{font-size:14px;overflow-wrap:anywhere}.report-panel .report-day-info span{font-size:12px;min-width:0}.report-help{border-top:1px solid #e1e7ea;margin-top:16px;padding-top:14px;color:#607785;font-size:12px}.report-help summary{cursor:pointer;padding:4px 0}.report-help p{line-height:1.5}@media(max-width:750px){.report-panel .report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.report-panel .report-filters label:first-child,.report-panel .report-filters>button{grid-column:1/-1}}@media(max-width:600px){.report-title{font-size:22px;letter-spacing:-.4px}.report-panel{padding:14px!important;margin-top:12px}.report-panel .report-shortcuts button{font-size:13px}.report-panel .report-filters{gap:12px 10px;margin-bottom:16px}.report-panel .stats{grid-template-columns:minmax(0,2fr) minmax(0,1fr)!important;margin:18px 0;gap:8px!important}.report-panel .stats>div{padding:12px!important}.report-panel .stats>div:first-child{grid-column:auto}.report-panel .stats span{font-size:11px}.report-panel .stats b{font-size:20px!important}.report-panel .record:not(.report-worker){grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:12px 0}.report-panel .record:not(.report-worker)>b{font-size:15px}}.report-export{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0}.report-export span{font-size:12px;color:#70818c}.report-entry>div{display:flex;flex-direction:column;gap:4px;flex:1;min-width:150px}.report-entry b{white-space:nowrap}.report-entry button{font-size:12px}@media(max-width:480px){.report-entry button{width:100%;justify-content:center}}.app-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 55% 30%,#24485a,#172d3b 48%,#0d1d28);color:#fff;text-align:center;padding:28px}.loading-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;width:min(100%,320px);animation:loading-appear .55s ease both}.loading-emblem{width:104px;height:104px;border:1px solid #e5ab5870;border-radius:26px;display:grid;place-items:center;position:relative;color:#e5ab58;background:linear-gradient(145deg,#ffffff13,#ffffff04);box-shadow:0 20px 65px #0005,0 0 0 9px #ffffff05;animation:loading-float 3s ease-in-out infinite}.loading-emblem-spark{position:absolute;width:8px;height:8px;background:#f1be75;border-radius:50%;right:17px;top:17px;box-shadow:0 0 18px #e5ab58}.loading-wordmark{margin-top:29px;font-size:clamp(26px,7vw,34px);font-weight:850;letter-spacing:.13em}.loading-tagline{font-size:12px;letter-spacing:.11em;color:#b7cbd5;margin-top:9px}.loading-progress{height:3px;width:178px;margin-top:39px;border-radius:20px;background:#ffffff25;overflow:hidden}.loading-progress span{display:block;height:100%;width:38%;border-radius:20px;background:linear-gradient(90deg,#c78b3f,#f3c98d);animation:loading-slide 1.25s ease-in-out infinite}.loading-content p{font-size:12px;color:#adc0cc;margin:17px 0 0;letter-spacing:.025em}.loading-footer{position:absolute;bottom:max(32px,env(safe-area-inset-bottom));font-size:10px;letter-spacing:.28em;color:#8ea4b1}.loading-ambient{position:absolute;border-radius:50%;filter:blur(5px);pointer-events:none}.loading-ambient-one{width:350px;height:350px;left:-200px;top:-160px;border:1px solid #e5ab5825;box-shadow:0 0 100px #e5ab580a}.loading-ambient-two{width:480px;height:480px;right:-300px;bottom:-250px;border:1px solid #a4d2e322;box-shadow:0 0 130px #a4d2e30a}@keyframes loading-slide{0%{transform:translate(-110%)}50%{transform:translate(145%)}to{transform:translate(370%)}}@keyframes loading-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes loading-appear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.loading-content,.loading-emblem,.loading-progress span{animation:none}.loading-progress span{width:100%}}.costing>.heading h2{font-size:22px;margin:0}.costing>.heading p{margin:5px 0;color:#71818b;font-size:13px}.cost-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.cost-summary>div{background:#edf3f6;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px;min-width:0}.cost-summary>div:first-child{background:#172d3b;color:#fff}.cost-summary span,.cost-summary small{font-size:12px}.cost-summary strong{font-size:22px;overflow-wrap:anywhere}.cost-summary .cost-loss{background:#fff0ec;color:#993b26}.cost-breakdown>div,.cost-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf0f2;align-items:center}.cost-breakdown{font-size:14px}.cost-row>div{min-width:0;display:flex;flex-direction:column;gap:4px}.cost-row strong,.cost-row small{overflow-wrap:anywhere}.cost-row small,.cost-entry>small{font-size:12px;color:#71818b}.cost-row b{white-space:nowrap}.cost-entry{border:1px solid #e1e7ea;border-radius:12px;padding:12px;margin:10px 0}.cost-entry .cost-row{padding:0 0 8px;border:0}.cost-entry .time-actions{margin:8px 0 0;gap:6px}.cost-entry button{font-size:12px;padding:8px;min-height:40px}.cost-form label{font-size:13px}.cost-form input,.cost-form select{font-size:16px;min-width:0}.cost-form select{padding:11px;border:1px solid #cbd5dc;border-radius:9px;background:#fff;width:100%}.cost-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cost-check{display:flex;flex-direction:row;align-items:center;gap:10px}.cost-check input{width:20px;min-height:20px;height:20px;flex-shrink:0}.cost-form input[type=file]{font-size:13px;padding:10px;max-width:100%}.cost-success{background:#e6f4ed;padding:10px;border-radius:8px;color:#245b40!important}@media(max-width:600px){.cost-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-summary>div:first-child{grid-column:1/-1}.cost-summary strong{font-size:19px}.cost-summary>div{padding:12px}.costing>.time-actions button{flex:1;justify-content:center;font-size:13px}.cost-row{align-items:flex-start;font-size:14px}.cost-fields{grid-template-columns:1fr}.cost-form input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-inline-size:0}.costing>.heading{align-items:flex-start}.costing>.heading h2{font-size:20px}}.project-with-cover{align-items:center}.project-with-cover .project-card-info{flex:1;min-width:0}.work-cover-small{width:92px;height:76px;object-fit:cover;border-radius:10px;flex-shrink:0}.work-cover-large{width:100%;max-height:360px;object-fit:cover;border-radius:16px;margin:10px 0 18px;display:block}.work-photos h2{margin:0}.work-photos>.heading p{font-size:13px;margin:6px 0;color:#71818b}.photo-upload{border-bottom:1px solid #edf0f2;margin-bottom:16px;padding-bottom:12px}.photo-upload>p{overflow-wrap:anywhere}.photo-file-button{position:relative;display:inline-flex;margin:0;align-items:center;justify-content:center;padding:12px 16px;border:1px solid #cbd5dc;border-radius:10px;background:#edf3f6;font-size:14px;cursor:pointer;min-height:44px}.photo-file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer}.photo-file-button:focus-within{outline:3px solid #c88730;outline-offset:3px}.work-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.work-photo-card{border:1px solid #e1e7ea;border-radius:12px;overflow:hidden;min-width:0;background:#fff}.work-photo-open{padding:0;border:0;border-radius:0;width:100%;display:block;background:#edf3f6;aspect-ratio:4/3}.work-photo-open img{width:100%;height:100%;object-fit:cover;display:block}.work-photo-caption{padding:10px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.work-photo-caption p{margin:0;font-size:12px;overflow-wrap:anywhere}.work-photo-caption button{font-size:12px;padding:7px;min-height:36px;white-space:normal}.work-photo-badge{background:#e6f4ed;color:#245b40;border-radius:6px;padding:6px 8px;font-size:12px;font-weight:600}.photo-empty{padding:18px;background:#f3f7f9;border-radius:12px}.work-photo-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#081a26d9;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.work-photo-viewer{position:relative;width:min(900px,100%);max-height:calc(100dvh - 40px);overflow:auto;background:#fff;border-radius:16px;padding:16px}.work-photo-close{position:sticky;top:0;z-index:1;display:block;margin-left:auto;margin-bottom:10px}.work-photo-full{max-height:60dvh;max-width:100%;width:100%;object-fit:contain;border-radius:10px;background:#f3f7f9}@media(max-width:600px){.project.project-with-cover{flex-direction:row;align-items:center;flex-wrap:wrap}.project-with-cover>b{margin-left:auto}.work-cover-small{width:76px;height:76px}.work-cover-large{max-height:240px}.work-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.work-photo-overlay{padding:10px}.work-photo-viewer{max-height:calc(100dvh - 20px);padding:12px}.photo-upload .photo-file-button{flex:1}}.work-section{background:#fff;border:1px solid #e1e7ea;border-radius:14px;margin:12px 0;overflow:clip}.work-section>summary,.cost-section>summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;padding:18px 16px;min-height:64px}.work-section>summary::-webkit-details-marker,.cost-section>summary::-webkit-details-marker{display:none}.work-section>summary:after,.cost-section>summary:after{content:"⌄";font-size:20px;color:#607785;flex-shrink:0;margin-left:4px}.work-section[open]>summary:after,.cost-section[open]>summary:after{transform:rotate(180deg)}.work-section>summary>span{font-size:17px;font-weight:700;flex:1;min-width:0}.work-section>summary>small{font-size:12px;color:#71818b;text-align:right;max-width:45%}.work-section[open]>summary{border-bottom:1px solid #edf0f2;background:#f8fafb}.work-section-body>.panel{margin:0;border:0;border-radius:0;box-shadow:none}.work-section-body>.work-photos>.heading{display:none}.work-section-body>.panel>h2:first-child{display:none}.work-section>summary:focus-visible,.cost-section>summary:focus-visible{outline:3px solid #c88730;outline-offset:-4px}.cost-section{border:1px solid #e1e7ea;border-radius:10px;margin:10px 0}.cost-section>summary{padding:14px 12px;min-height:52px;font-size:14px}.cost-section>summary>span{flex:1;min-width:0;font-weight:600}.cost-section>summary small{font-weight:400;color:#71818b}.cost-section>summary b{white-space:nowrap}.cost-section[open]>summary{border-bottom:1px solid #edf0f2}.cost-section-body{padding:8px 12px}@media(max-width:600px){.work-section>summary{padding:16px 14px;gap:8px}.work-section>summary>span{font-size:16px}.work-section>summary>small{font-size:11px}.cost-section>summary{gap:8px}.cost-section>summary b{font-size:13px}}.estimate-section{background:#f9fbfc;margin:18px 0}.estimate-section>.cost-section-body{padding:14px}.estimate-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 14px}.estimate-summary>div{background:#edf3f6;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:6px;min-width:0}.estimate-summary span{font-size:12px;color:#607785}.estimate-summary strong{font-size:18px;overflow-wrap:anywhere}.estimate-over{color:#993b26!important}.estimate-summary .estimate-over{background:#fff0ec}.estimate-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.estimate-table-wrap{max-width:100%;overflow:auto}.estimate-table{width:100%;border-collapse:collapse;font-size:13px;margin:10px 0}.estimate-table th,.estimate-table td{padding:10px 6px;text-align:right;border-bottom:1px solid #e1e7ea;white-space:nowrap}.estimate-table th:first-child{text-align:left;white-space:normal;min-width:100px}.estimate-table thead th{font-size:11px;color:#607785}@media(max-width:600px){.estimate-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.estimate-summary>div:last-child{grid-column:1/-1}.estimate-fields{grid-template-columns:1fr}.estimate-table{font-size:11px}.estimate-table th,.estimate-table td{padding:9px 4px}.estimate-table th:first-child{min-width:85px}.estimate-section>.cost-section-body{padding:10px}}:root{color-scheme:dark;--bg:#101419;--surface:#19212b;--raised:#222d39;--line:#354251;--text:#f2f5f8;--muted:#b2bfce;--accent:#f5bd78;--ink:#171b21;--danger:#ffb4a4;--success:#9bdfb8}body{background:radial-gradient(ellipse at top left,#24303d66,transparent 55%),var(--bg);color:var(--text);font-size:17px;line-height:1.55;min-height:100dvh;-webkit-font-smoothing:antialiased}header{background:#141b23;border-bottom:1px solid #2b3745;padding:28px 24px}.header-inner{max-width:930px;align-items:center}.brand{font-size:20px;letter-spacing:.08em;gap:12px}.brand svg{color:var(--accent);width:28px;height:28px}.brand small{font-size:10px;color:var(--accent);border-color:#765b38;background:#f5bd780a;padding:4px 7px}.header-copy p{color:var(--muted);font-size:14px;letter-spacing:.01em}.header-inner>button{background:#222d39;color:var(--text);border-color:var(--line);font-size:14px;min-height:46px}main{max-width:980px;padding:28px 24px 60px}nav{background:#19212bed;border:1px solid #354251;border-radius:16px;padding:6px;gap:6px;margin-bottom:26px;position:sticky;top:12px;z-index:10;box-shadow:0 8px 30px #0003;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}nav button{flex:1;border-color:transparent;background:transparent;color:var(--muted);font-size:16px;font-weight:650;min-height:48px;border-radius:11px;padding:10px 12px}nav button.active{background:var(--accent);border-color:var(--accent);color:var(--ink);box-shadow:0 2px 12px #f5bd7822}button{background:var(--raised);border:1px solid var(--line);color:var(--text);font-size:16px;font-weight:550;padding:12px 16px;border-radius:12px;min-height:46px;transition:background .15s,border-color .15s,transform .15s}button:hover{filter:none;background:#2a3745;border-color:#536477}button:active{transform:translateY(1px)}button:disabled{opacity:.45}.primary,.report-panel .report-filters>button{background:var(--accent);color:var(--ink);border-color:var(--accent);font-weight:750}.primary:hover,.report-panel .report-filters>button:hover{background:#ffd39b;border-color:#ffd39b}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:#ffd39b;text-underline-offset:3px}h1{font-size:clamp(28px,4vw,36px);line-height:1.2;letter-spacing:-.04em;margin:16px 0 12px;font-weight:800}h2{font-size:23px;line-height:1.3;letter-spacing:-.02em}h3{font-size:19px;line-height:1.35}.heading{margin:8px 0 20px}.sub{color:var(--muted);font-size:15px}.panel{background:var(--surface);border-color:var(--line);border-radius:20px;padding:24px;box-shadow:0 10px 35px #0002}.panel p{color:var(--muted);font-size:15px;line-height:1.6}label,.cost-form label,.time-form label{font-size:15px;line-height:1.4;color:#d4deea;font-weight:650;gap:8px;margin:14px 0}input,select,.time-form select,.cost-form select,.report-filters input,.report-filters select,.report-panel .report-filters input,.report-panel .report-filters select{background:#111820;border-color:#405063;color:var(--text);font-size:17px;font-weight:400;min-height:48px;border-radius:11px;padding:12px;max-width:100%}input::placeholder{color:#91a2b5}input[type=checkbox]{accent-color:var(--accent)}input[type=file]::file-selector-button{background:#2a3745;color:var(--text);border:1px solid #536477;border-radius:7px;padding:7px;margin-right:10px;font:inherit}.auth{max-width:500px;margin:48px auto}.auth h1{font-size:32px}.auth form{gap:6px}.project{background:linear-gradient(130deg,#202b37,#19212b);border-color:var(--line);padding:22px;border-radius:18px;box-shadow:0 6px 18px #0002;margin:14px 0}.project:hover{background:#24313f;border-color:#6c7d91}.project strong{font-size:20px;line-height:1.3}.project span,.record span{font-size:14px;color:var(--muted)}.project b{font-size:18px;color:var(--accent)}.project-card-info{gap:8px!important}.work-cover-small{width:104px;height:92px;border-radius:12px}.work-cover-large{border:1px solid var(--line);border-radius:20px}.stats{gap:12px;margin:20px 0 24px}.stats>div{background:var(--surface);border-color:var(--line);padding:20px;border-radius:16px;gap:10px}.stats span{color:var(--muted);font-size:14px}.stats b{font-size:24px;font-weight:800;letter-spacing:-.025em}.record{border-color:#354251;padding:17px 0;font-size:16px}.record button{font-size:14px;min-height:42px;padding:9px 12px}.worker-label{color:#d7e2ed}.day-heading{background:#253342;color:var(--text);border:1px solid #3a4d61;padding:14px;border-radius:12px}.day-heading strong{font-size:17px}.day-heading span{color:var(--muted);font-size:14px}.time-form{background:#141c25;border-color:var(--line);padding:20px;border-radius:14px}.time-form h3{font-size:19px}.danger{color:var(--danger);border-color:#7b4e47;background:#392727}.danger:hover{background:#51312d;border-color:#ba7869}.warning{color:#ffd399!important;background:#352a1d;border:1px solid #7b603b;font-size:15px;line-height:1.55;padding:13px;border-radius:12px}.error-message{border-color:#b28b53;box-shadow:0 6px 24px #0005}.active-timer{background:#183c2e;border-color:#3f8160;color:#c0f1d4;padding:14px;border-radius:14px;font-size:16px}.running{color:#9bdfb8!important}.back{color:var(--muted);background:transparent;border:0;min-height:42px}.back:hover{background:transparent;color:var(--text)}footer{color:#94a4b6;font-size:12px;line-height:1.6;padding:24px 20px 40px}.report-title{font-size:30px}.report-panel .report-shortcuts{background:#111820;border:1px solid var(--line);padding:5px}.report-panel .report-shortcuts button{color:#d6e1ed;font-size:15px;min-height:44px}.report-panel .report-shortcuts button:hover{background:var(--raised)}.report-panel .stats>div{background:var(--raised);border:1px solid var(--line)}.report-panel .stats span{color:var(--muted);font-size:13px}.report-panel .stats b{font-size:24px!important}.report-panel h2{font-size:20px}.report-panel .report-worker{background:#1f2a36;border-color:var(--line);padding:15px}.report-panel .report-worker:hover{background:#2a3848}.report-panel .report-worker strong,.report-panel .report-worker b{font-size:17px}.report-panel .report-day-info strong{font-size:16px}.report-panel .report-day-info span,.report-export span{font-size:13px;color:var(--muted)}.report-help{border-color:var(--line);color:var(--muted);font-size:14px}.report-help summary{padding:8px 0;min-height:40px}.costing>.heading h2{font-size:24px}.costing>.heading p,.work-photos>.heading p{font-size:15px;color:var(--muted)}.cost-summary>div,.estimate-summary>div{background:var(--raised);border:1px solid var(--line);border-radius:14px}.cost-summary>div:first-child{background:linear-gradient(135deg,#354334,#243227);border-color:#648064;color:#ecf4e9}.cost-summary span,.cost-summary small,.estimate-summary span{color:#b7c6d7;font-size:13px}.cost-summary strong{font-size:26px;letter-spacing:-.025em}.cost-summary .cost-loss,.estimate-summary .estimate-over{background:#402924;border-color:#795147;color:#ffc0ae}.cost-breakdown{font-size:16px}.cost-breakdown>div,.cost-row{border-color:var(--line);padding:14px 0}.cost-row strong{font-size:16px}.cost-row small,.cost-entry>small{color:var(--muted);font-size:14px}.cost-entry{background:#1d2834;border-color:var(--line);padding:15px;border-radius:14px}.cost-entry button{font-size:14px;min-height:44px}.cost-success{background:#183c2e;border:1px solid #3f8160;color:#c0f1d4!important;padding:13px;border-radius:12px}.photo-upload{border-color:var(--line)}.photo-file-button{background:#253342;border-color:#4d6076;color:var(--text);font-size:16px;min-height:48px}.work-photo-card{background:#202b37;border-color:var(--line);border-radius:14px}.work-photo-open,.work-photo-full{background:#111820}.work-photo-caption p{color:#d7e2ed;font-size:14px}.work-photo-caption button{font-size:14px;min-height:44px}.work-photo-badge{background:#254535;color:#b9eccc;border:1px solid #497b5b;font-size:13px}.photo-empty{background:#222d39;color:var(--muted)}.work-photo-viewer{background:var(--surface);border:1px solid var(--line);color:var(--text)}.work-photo-overlay{background:#080c12ed}.work-section{background:var(--surface);border-color:var(--line);border-radius:18px;margin:14px 0;box-shadow:0 5px 20px #0002}.work-section>summary{padding:22px 20px;min-height:78px}.work-section>summary>span{font-size:20px;letter-spacing:-.02em}.work-section>summary>small{font-size:13px;color:var(--muted)}.work-section>summary:after,.cost-section>summary:after{color:var(--accent);font-size:24px}.work-section[open]>summary{background:#222e3b;border-color:var(--line)}.work-section>summary:hover{background:#25313e}.work-section-body>.panel{background:var(--surface)}.cost-section{background:#1e2935;border-color:#405063;border-radius:13px;margin:12px 0}.cost-section>summary{font-size:16px;padding:17px 14px;min-height:60px}.cost-section>summary small{color:var(--muted);font-size:13px}.cost-section[open]>summary{border-color:var(--line)}.cost-section-body{padding:12px 14px}.estimate-section{background:#1b2631}.estimate-summary strong{font-size:21px}.estimate-over{color:#ffc0ae!important}.estimate-table{font-size:14px}.estimate-table th,.estimate-table td{border-color:#405063;padding:12px 8px}.estimate-table thead th{font-size:12px;color:var(--muted)}@media(max-width:600px){body{font-size:16px}header{padding:22px 16px}.brand{font-size:17px;gap:9px}.brand svg{width:25px;height:25px}.header-copy p{font-size:13px;max-width:240px}.header-inner{align-items:flex-start;gap:10px}.header-inner>button{font-size:13px;min-height:42px;padding:9px 10px}main{padding:20px 16px 40px}nav{top:8px;gap:5px;padding:5px;margin-bottom:22px}nav button{font-size:15px;min-height:46px;padding:9px 8px}h1{font-size:29px}h2{font-size:22px}.report-title{font-size:28px}.panel{padding:18px;border-radius:18px}.project{padding:18px}.project strong{font-size:19px}.project span{font-size:14px}.project-with-cover{gap:14px}.work-cover-small{width:90px;height:90px}.stats>div{padding:16px}.stats span{font-size:13px}.stats b{font-size:22px}.work-section>summary{padding:20px 16px;min-height:76px;gap:10px}.work-section>summary>span{font-size:18px}.work-section>summary>small{font-size:12px}.work-section-body>.panel{padding:18px}.report-panel .stats span{font-size:12px}.report-panel .stats b{font-size:22px!important}.report-panel .report-shortcuts button{font-size:14px}.report-panel .record:not(.report-worker)>b{font-size:16px}.time-form{padding:16px}.cost-summary strong{font-size:23px}.cost-summary span,.cost-summary small{font-size:13px}.costing>.time-actions button{font-size:14px;min-height:48px;flex-basis:40%}.cost-row{font-size:15px}.cost-row small{font-size:13px}.cost-section>summary b{font-size:15px}.estimate-table{font-size:12px}.estimate-table th,.estimate-table td{padding:10px 6px}.photo-file-button{font-size:15px}.work-photo-caption button{font-size:13px}}@media(prefers-reduced-motion:reduce){button{transition:none}}.app-loading{background:radial-gradient(ellipse at 55% 30%,#303d4b,#19212b 48%,#101419)}.day-group .record .worker-label{display:block;font-size:18px;font-weight:750;line-height:1.35;color:var(--text);margin-bottom:5px;letter-spacing:-.01em}@media(max-width:600px){.day-group .record .worker-label{font-size:18px}}.day-heading{flex-direction:column;align-items:flex-start;gap:7px}.day-heading>span{display:block;width:100%}.day-browser{margin-top:22px;min-width:0}.day-view-switch{display:flex;gap:4px;padding:4px;background:var(--bg);border:1px solid var(--line);border-radius:14px;margin-bottom:14px}.day-view-switch button{flex:1;justify-content:center;border:0;background:transparent;font-size:15px;min-height:44px}.day-view-switch button.active{background:var(--accent);color:var(--ink)}.day-carousel-controls{display:flex;align-items:center;gap:8px;margin-bottom:12px}.day-carousel-controls button{flex-shrink:0;padding:10px;min-width:44px;min-height:44px;justify-content:center}.day-carousel-controls label{flex:1;min-width:0;margin:0}.day-carousel-controls select{width:100%;min-width:0;margin:0;font-size:16px;padding:10px 8px}.day-carousel-card{height:560px;overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;border:1px solid var(--line);border-radius:16px;background:var(--surface);scrollbar-gutter:stable}.day-carousel-card .day-group{margin:0;min-height:100%}.day-carousel-card .day-heading{position:sticky;top:0;z-index:1;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px}.day-carousel-card .day-group .record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:12px;margin:0 8px;align-items:center;font-size:15px}.day-carousel-card .record>span{min-width:0;font-size:13px;line-height:1.4}.day-carousel-card .record>b{font-size:16px;white-space:nowrap}.day-carousel-card .record>button{font-size:13px;min-height:44px;padding:8px 12px;justify-self:start}.day-carousel-card .record>button.danger{justify-self:end}.day-carousel-card .record>.time-form{grid-column:1/-1}.day-carousel-card .day-group .record .worker-label{font-size:16px;line-height:1.3;margin-bottom:3px}.day-carousel-card .day-heading{padding:13px 16px;gap:5px}.day-carousel-card .day-heading span{font-size:13px}.day-carousel-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.day-carousel-hint{font-size:13px;line-height:1.5;color:var(--muted);margin:10px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.day-carousel-card{height:520px}.day-carousel-controls{gap:6px}.day-carousel-card .day-heading strong{font-size:17px}}.header-user-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-user-actions>button{font-size:14px;min-height:46px;padding:8px 12px}.header-user-actions .profile-photo-button{gap:7px}.staff-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;overflow:hidden;background:#30404f;border:1px solid #526475;color:var(--muted);vertical-align:middle}.record .staff-avatar{flex:0 0 30px;min-width:30px;grid-column:auto;grid-row:auto}.staff-avatar img{width:100%;height:100%;object-fit:cover;display:block}.staff-avatar-large{width:152px;height:152px;flex-basis:152px}.staff-name,.employee-person,.day-group .record .worker-label{display:flex;align-items:center;gap:8px}.record .employee-person{flex-direction:row;flex:1;min-width:140px}.employee-record>.employee-person strong{font-size:17px}.employee-record>span{flex-basis:100%;font-size:13px}.day-carousel-card .day-group .record .worker-label{display:flex;gap:6px}.day-carousel-card .worker-label .staff-avatar{width:24px;height:24px;min-width:24px;flex-basis:24px}.avatar-editor{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 32px);margin:auto;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--text);overflow-y:auto;box-shadow:0 20px 80px #0008}.avatar-editor::backdrop{background:#060a10bb}.avatar-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.avatar-editor-heading h2{margin:0;font-size:22px}.avatar-editor-heading button{padding:8px;min-width:44px;min-height:44px;justify-content:center}.avatar-person-name{font-size:17px;font-weight:650;margin:12px 0;color:var(--text)}.avatar-preview{display:flex;justify-content:center;margin:20px 0}.avatar-preview>img{width:152px;height:152px;border-radius:50%;object-fit:cover;border:2px solid var(--accent)}.avatar-editor .avatar-help{font-size:14px;line-height:1.5;color:var(--muted)}.avatar-pickers,.avatar-save-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.avatar-pickers label,.avatar-save-actions button{flex:1;justify-content:center;min-width:130px}.avatar-pickers .disabled{opacity:.5}.avatar-remove{width:100%;justify-content:center;font-size:14px;margin-top:4px}@media(max-width:600px){.header-inner{flex-wrap:wrap}.header-user-actions{margin-left:auto}.header-user-actions>button{font-size:13px;padding:7px 10px;min-height:44px}.avatar-editor{padding:18px}.avatar-editor-heading h2{font-size:20px}}.staff-avatar,.record .staff-avatar{width:44px;height:44px;min-width:44px;flex:0 0 44px}.staff-avatar-large{width:152px;height:152px;min-width:152px;flex-basis:152px}.staff-name,.record .employee-person{gap:11px}.employee-record>.employee-person strong{font-size:18px}.day-carousel-card .worker-label .staff-avatar{width:40px;height:40px;min-width:40px;flex-basis:40px}.day-carousel-card .day-group .record .worker-label{font-size:17px;gap:10px}.header-user-actions .profile-photo-button{gap:10px;text-align:left;max-width:min(290px,calc(100vw - 150px))}.profile-button-name{display:flex;flex-direction:column;gap:2px;min-width:0}.profile-button-name strong{font-size:16px;line-height:1.25;overflow-wrap:anywhere}.profile-button-name small{font-size:12px;color:var(--muted);font-weight:450}.avatar-editor .profile-name-field{margin-top:18px;font-size:15px}.avatar-editor .profile-name-field input{font-size:17px}@media(max-width:600px){.header-user-actions{width:100%;justify-content:space-between}.header-user-actions .profile-photo-button{max-width:calc(100% - 105px)}}header{padding:16px 24px 14px}.header-inner{display:flex;flex-direction:column;align-items:stretch;gap:5px}.header-top{display:grid;grid-template-columns:100px minmax(0,1fr) 100px;align-items:center;min-height:44px}.header-top .brand{grid-column:2;justify-content:center;flex-wrap:nowrap;gap:9px;font-size:20px;white-space:nowrap}.header-top .header-signout{grid-column:3;grid-row:1;justify-self:end;justify-content:center;min-height:44px;padding:9px 10px;font-size:13px;background:transparent;border-color:transparent;color:var(--muted)}.header-top .header-signout:hover{background:var(--raised);color:var(--text)}.header-tagline{display:flex;justify-content:center;align-items:center;gap:10px;color:var(--muted)}.header-tagline small{font-size:9px;letter-spacing:.12em;color:var(--accent);border:1px solid #765b38;border-radius:5px;padding:3px 6px}.header-tagline p{margin:0;font-size:12px}.header-user-actions{width:100%;margin:7px 0 0;justify-content:center}.header-user-actions .profile-photo-button{max-width:100%;background:transparent;border-color:transparent;padding:8px 14px;gap:12px;justify-content:center}.header-user-actions .profile-photo-button:hover{background:var(--raised)}.header-user-actions .staff-avatar{width:52px;height:52px;min-width:52px;flex-basis:52px}.header-user-actions .profile-button-name strong{font-size:18px}@media(max-width:600px){header{padding:12px 16px 10px}.header-top{grid-template-columns:44px minmax(0,1fr) 44px}.header-top .brand{font-size:17px;gap:7px;letter-spacing:.07em}.header-top .brand svg{width:24px;height:24px}.header-top .header-signout{width:44px;padding:10px}.header-signout>span{display:none}.header-tagline p{display:none}.header-user-actions{margin-top:5px;justify-content:center}.header-user-actions .profile-photo-button{max-width:100%}}@media(max-width:350px){.header-top .brand{font-size:15px;gap:6px}.header-top .brand svg{width:20px;height:20px}}.header-user-actions{justify-content:flex-start}.header-user-actions .profile-photo-button{justify-content:flex-start;padding-left:0;text-align:left}@media(max-width:600px){.header-user-actions{justify-content:flex-start}}.company-brand{display:flex;align-items:center;gap:14px;padding:12px 0 8px;min-width:0}.company-logo{width:58px;height:58px;flex:0 0 58px}.company-brand strong{font-size:30px;font-weight:800;line-height:1.15;letter-spacing:-.035em;color:var(--text);overflow-wrap:anywhere;min-width:0}.header-inner:has(.company-brand) .header-top .brand{font-size:16px;color:var(--muted)}.header-inner:has(.company-brand) .header-top .brand svg{width:21px;height:21px}.header-inner:has(.company-brand) .header-user-actions{margin-top:0}@media(max-width:600px){.company-brand{gap:12px;padding-top:9px}.company-brand strong{font-size:28px}.company-logo{width:54px;height:54px;flex-basis:54px}.header-inner:has(.company-brand) .header-top .brand{font-size:15px}}.company-brand-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:0;background:transparent;border-color:transparent;text-align:left}.company-brand-button:hover{background:#ffffff04;border-color:var(--line)}.company-brand-button .company-brand{flex:1;min-width:0}.company-edit-icon{color:var(--muted);flex-shrink:0;margin-right:8px}.company-logo-image{object-fit:contain;border-radius:10px}.company-settings form>label{font-size:15px;margin-top:18px}.company-settings form>label input:not([type=file]){font-size:17px}.company-logo-preview{padding:14px;margin:16px 0;background:#101820;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;gap:12px}.company-logo-preview>.company-brand{padding:0;width:100%}.company-logo-preview>img{width:64px;height:64px;object-fit:contain;flex-shrink:0}.company-logo-preview>strong,.company-logo-preview .company-brand strong{font-size:22px;overflow-wrap:anywhere;min-width:0}.company-settings .photo-file-button{width:100%;justify-content:center}.company-settings .disabled{opacity:.5}.company-brand-button,.company-brand-button:hover,.company-brand-button:active{display:block;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none;filter:none;min-height:0;transition:none}.company-brand-button .company-brand{width:100%}.company-brand-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:8px}.header-inner>.company-brand-button,.header-inner>.company-brand-button:hover,.header-inner>.company-brand-button:active{background:transparent;border:0;box-shadow:none}.project-view-tabs{display:flex;gap:5px;padding:5px;margin:18px 0;background:var(--surface);border:1px solid var(--line);border-radius:14px}.project-view-tabs>button{flex:1;justify-content:center;border:0;background:transparent;font-weight:700}.project-view-tabs>button.active{background:var(--accent);color:var(--ink)}.project-view-tabs>button span{font-size:12px;border-radius:20px;padding:2px 7px;background:#ffffff12}.project-view-tabs>button.active span{background:#171b2115}.project-card-info .project-status,.project-status{display:inline-flex;align-self:flex-start;font-size:12px!important;font-weight:650;line-height:1.4;border-radius:20px;padding:4px 9px;width:fit-content}.project-card-info .project-status.ongoing,.project-status.ongoing{background:#f5bd7818;color:var(--accent)}.project-card-info .project-status.completed,.project-status.completed{background:#9bdfb818;color:var(--success)}.project-detail-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0}.project-detail-heading h1{margin:0}.project-detail-heading .project-status{align-self:center}.project-actions{margin:12px 0 18px}.project-action-buttons{display:flex;gap:10px;flex-wrap:wrap}.project-action-buttons button{font-size:14px;min-height:44px}.project-delete-confirm{margin-top:12px;padding:16px;border:1px solid #865344;border-radius:14px;background:#302322}.project-delete-confirm p{font-size:14px;color:var(--muted);line-height:1.5}.project-undo{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:14px;border:1px solid #456a57;background:#1c3228;border-radius:14px;margin:12px 0;color:var(--success)}.project-undo span{font-size:14px}.project-undo button{font-size:13px;min-height:44px}@media(max-width:600px){.project-view-tabs>button{font-size:15px}.project-action-buttons button{flex:1;justify-content:center}.project-delete-confirm .project-action-buttons button{flex-basis:100%}}.invoice-panel{min-width:0}.invoice-intro{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap}.invoice-intro h2{margin:0}.invoice-intro p,.invoice-help{font-size:14px;color:var(--muted);line-height:1.5}.invoice-form{margin:20px 0}.invoice-form fieldset{padding:0;border:0;min-width:0}.invoice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.invoice-profile{border:1px solid var(--line);padding:16px;border-radius:16px}.invoice-profile summary{cursor:pointer;font-weight:700}.invoice-profile>.invoice-grid{margin-top:16px}.invoice-line-editor{border:1px solid var(--line);border-radius:16px;padding:16px;margin:12px 0;background:var(--surface)}.invoice-line-editor textarea{min-height:65px}.invoice-line-numbers{display:grid;grid-template-columns:1fr 1fr 1.5fr 1fr;gap:10px}.invoice-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.invoice-actions button{font-size:14px;min-height:44px}.invoice-line-editor .invoice-actions{justify-content:space-between}.invoice-total{display:grid;gap:8px;padding:20px 0}.invoice-total span{font-size:14px;color:var(--muted)}.invoice-total b{font-size:22px}.invoice-record{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;padding:20px 0;border-top:1px solid var(--line)}.invoice-record>div:first-child{display:grid;gap:7px}.invoice-record>div:first-child span{font-size:14px;color:var(--muted)}.invoice-record>b{font-size:22px}.invoice-record>.invoice-actions{width:100%}.invoice-record .invoice-paid{color:var(--success)!important}.invoice-record .invoice-unpaid{color:var(--accent)!important}.invoice-share{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:18px}.invoice-share>span{display:block;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}.invoice-empty{padding:25px 0;color:var(--muted)}.invoice-dialog{width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:20px;border-radius:20px;border:1px solid var(--line);background:var(--surface);color:var(--text);overflow-y:auto;box-sizing:border-box}.invoice-dialog::backdrop{background:#000b}.invoice-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.invoice-dialog-heading h2{font-size:20px}.invoice-paper{padding:28px;background:#fff;color:#1b2a38;border-radius:8px;margin-top:16px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.invoice-paper h2,.invoice-paper h3,.invoice-paper p,.invoice-paper small{color:#1b2a38}.invoice-paper h2{font-size:23px;margin:0}.invoice-paper h3{font-size:16px;margin:7px 0}.invoice-paper-heading,.invoice-paper-meta{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.invoice-paper-heading>div{text-align:right}.invoice-preview-line{display:grid;grid-template-columns:1fr auto;gap:5px 16px;border-bottom:1px solid #dbe2e7;padding:14px 0}.invoice-preview-line span{grid-column:1;font-size:12px;color:#536373}.invoice-preview-line b{grid-column:2;grid-row:1/3;align-self:center}.invoice-paper-totals{margin:20px 0}.invoice-paper-totals p{display:flex;justify-content:space-between;margin:5px 0}.invoice-grand-total{padding:12px;background:#f5bd78;font-size:18px}.invoice-note{white-space:pre-wrap}.invoice-form input,.invoice-form select,.invoice-form textarea{width:100%;min-width:0;box-sizing:border-box}.invoice-form>fieldset>label{margin:16px 0}@media(max-width:600px){.invoice-grid{grid-template-columns:1fr}.invoice-line-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-dialog{padding:12px}.invoice-paper{padding:18px;font-size:13px}.invoice-paper h2{font-size:20px}.invoice-preview-line{grid-template-columns:1fr}.invoice-preview-line b{grid-column:1;grid-row:auto}.invoice-grand-total{font-size:16px}.invoice-record>.invoice-actions>button{flex:1;justify-content:center}.invoice-intro>.primary{width:100%;justify-content:center}}
