:root{--martini:#b4b851;--martini-rgb:180,184,81;--bg:#0f100e;--panel:#171815;--panel2:#1d1e1a;--cream:#f2eee6;--muted:#9f9f95;--line:#2c2e27;--olive:var(--martini);--bright:var(--martini);--gold:#c8a13d;--red:#d55a4f;--blue:#5b8bd8;--green:#53a869}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--cream);background:radial-gradient(circle at 78% 8%,rgba(var(--martini-rgb),.1),transparent 26%),linear-gradient(#11120f,#0d0e0c);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid var(--line);padding:22px 16px;display:flex;flex-direction:column;background:rgba(10,11,9,.82);position:sticky;top:0;height:100vh}.brand-logo{width:100%;max-width:170px;border-radius:16px;margin:4px 6px 24px}.side-nav{display:grid;gap:8px}.nav-item{border:0;border-radius:14px;padding:12px 14px;text-align:left;color:#d9d6cf;background:transparent}.nav-item.active,.nav-item:hover{background:rgba(var(--martini-rgb),.15);color:#fff}.profile-card{margin-top:auto;border:1px solid var(--line);border-radius:16px;padding:12px;display:flex;align-items:center;gap:10px;background:#141511}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#13140f;background:var(--bright);font-weight:800}.profile-card strong,.profile-card span{display:block}.profile-card span{font-size:12px;color:var(--muted);margin-top:2px}.main{padding:26px clamp(18px,4vw,46px) 60px;max-width:1200px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.pill-nav,.filter-pills{display:flex;gap:8px;flex-wrap:wrap}.pill,.filter-pill,.icon-btn,.small-btn,.ghost-btn{border:1px solid var(--line);background:#181915;color:#d5d2cb;border-radius:999px;padding:10px 14px}.pill.active,.filter-pill.active{background:var(--olive);color:#10110d;border-color:var(--olive);font-weight:800}.accent-btn{border:1px solid var(--martini);background:linear-gradient(var(--martini),var(--martini));color:#11120e;border-radius:14px;padding:12px 16px;font-weight:800;box-shadow:0 8px 24px rgba(var(--martini-rgb),.12)}button:disabled{opacity:.35;cursor:not-allowed}.page{display:none}.page.active{display:block}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:42px 0 22px}.hero h1,.page-head h1{font-size:clamp(34px,5vw,58px);line-height:1;margin:8px 0 12px}.kicker,.section-label,.month-label{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--bright)}.muted{color:var(--muted);line-height:1.5}.hero-chip{border:1px solid rgba(var(--martini-rgb),.35);background:rgba(var(--martini-rgb),.08);color:#d7d89e;border-radius:999px;padding:10px 14px;white-space:nowrap}.invoice-panel{display:grid;grid-template-columns:170px 1fr 1fr;gap:24px;align-items:center;border:1px solid var(--line);border-radius:24px;padding:24px;background:linear-gradient(145deg,#1a1b17,#141512)}.ring{width:142px;height:142px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--bright) 0deg,#30322a 0deg);position:relative}.ring:after{content:"";position:absolute;width:102px;height:102px;border-radius:50%;background:#171814;border:1px solid var(--line)}.ring-inner{position:relative;z-index:1;text-align:center}.ring-inner strong{display:block;font-size:30px}.ring-inner span,.invoice-meta{font-size:12px;color:var(--muted)}.invoice-main h2{margin:6px 0 4px}.big-money{font-size:40px;font-weight:850}.invoice-breakdown>div{display:grid;grid-template-columns:14px 1fr auto;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.invoice-breakdown>div:last-child{border:0}.dot,.status-dot{display:inline-block;border-radius:50%}.dot{width:9px;height:9px}.olive{background:var(--bright)}.gold,.hold{background:var(--gold)}.gray{background:#74766e}.confirmed{background:var(--green)}.away{background:var(--red)}.worked{background:var(--blue)}.status-dot{width:8px;height:8px;margin-right:6px}.today-card,.generator-card{margin-top:16px;border:1px solid var(--line);border-radius:20px;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:#10110f}.today-card h2,.generator-card h2{margin:5px 0 6px}.today-card p{margin:0}.light-btn{border:1px solid #b7ba5b;background:#efecd5;color:#151610;border-radius:14px;padding:12px 16px;font-weight:800}.content-section{margin-top:28px}.two-col{display:grid;grid-template-columns:1.3fr .7fr;gap:14px}.upload-panel,.quick-card,.job-card,.calendar-card,.contact-card,.invoice-row{border:1px solid var(--line);border-radius:20px;background:#151612;padding:20px}.upload-panel h2,.quick-card h2{margin:5px 0}.upload-zone{margin-top:16px;display:grid;gap:6px;border:1px dashed #474a3e;border-radius:16px;padding:22px;background:#11120f;cursor:pointer}.upload-zone input{display:none}.upload-title{font-weight:800}.upload-zone span:last-child{font-size:12px;color:var(--muted)}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.quick-grid>div{background:#11120f;border:1px solid var(--line);border-radius:14px;padding:14px}.quick-grid span,.job-grid span{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.quick-grid strong{font-size:20px}.page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:42px 0 24px}.page-head p{margin:0}.filter-pills{margin-bottom:14px}.jobs-list,.invoice-list{display:grid;gap:12px}.empty-state{border:1px dashed var(--line);border-radius:20px;padding:40px;text-align:center;color:var(--muted)}.job-top,.contact-top,.invoice-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.job-title{font-size:18px;font-weight:800}.job-sub{font-size:13px;color:var(--muted);margin-top:4px}.badge{border-radius:999px;padding:6px 9px;background:#23251f;font-size:12px}.job-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}.job-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.small-btn{border-radius:12px;padding:9px 11px}.small-btn.primary{background:var(--olive);color:#10110e;border-color:var(--olive)}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.calendar-toolbar h2{margin:0}.icon-btn{font-size:20px;padding:8px 13px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays span{padding:8px;text-align:center;color:var(--muted);font-size:12px}.day{min-height:116px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:8px}.day:nth-child(7n){border-right:0}.day.muted-day{opacity:.35}.day-number{font-size:12px;color:var(--muted)}.calendar-job{display:block;width:100%;border:0;text-align:left;margin-top:6px;padding:6px 7px;border-radius:8px;background:rgba(var(--martini-rgb),.16);color:#eee;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-job.hold{background:rgba(200,161,61,.18)}.calendar-job.worked{background:rgba(91,139,216,.18)}.calendar-job.went-away{text-decoration:line-through;opacity:.6}.generator-card{margin-bottom:14px}.invoice-row{align-items:center}.invoice-row h3{margin:0 0 5px}.contacts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.contact-card h3{margin:0}.contact-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.contact-links a{text-decoration:none}.contact-avatar{width:44px;height:44px;border-radius:14px;background:#292b22;display:grid;place-items:center;color:var(--bright);font-weight:800}.contact-info{display:flex;gap:12px}.invoice-sheet{padding:22px}.invoice-document{background:#fff;color:#171815;padding:34px;border-radius:14px}.invoice-doc-head{display:flex;justify-content:space-between;border-bottom:2px solid #171815;padding-bottom:20px;margin-bottom:24px}.invoice-doc-head h1{margin:0}.invoice-total{font-size:28px;font-weight:850;text-align:right;border-top:2px solid #171815;padding-top:18px;margin-top:24px}dialog{width:min(600px,calc(100% - 24px));border:1px solid var(--line);border-radius:22px;background:#171815;color:var(--cream);padding:0}dialog::backdrop{background:rgba(0,0,0,.72)}dialog form{padding:20px;display:grid;gap:14px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.close-btn{border:0;background:transparent;color:#ddd;font-size:28px}label{display:grid;gap:7px;font-size:13px;font-weight:700}input,select{width:100%;border:1px solid #36382f;border-radius:12px;background:#11120f;color:#eee9df;padding:11px 12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.preview-box{border:1px solid var(--line);border-radius:14px;padding:13px;background:#10110f;color:#c8c5bc}
@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{display:none}.main{padding:18px 14px 50px}.pill-nav{overflow-x:auto;flex-wrap:nowrap;max-width:70vw}.pill{white-space:nowrap}.invoice-panel{grid-template-columns:140px 1fr}.invoice-breakdown{grid-column:1/-1}.two-col{grid-template-columns:1fr}.day{min-height:96px}.contacts-grid{grid-template-columns:1fr}}
@media(max-width:620px){.topbar>.accent-btn{display:none}.pill-nav{max-width:100%}.hero{margin-top:26px}.hero-chip{display:none}.invoice-panel{grid-template-columns:1fr;text-align:center}.ring-wrap{display:flex;justify-content:center}.invoice-breakdown{text-align:left}.today-card,.generator-card,.page-head{flex-direction:column;align-items:flex-start}.today-card button,.generator-card button,.page-head button{width:100%}.job-grid{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}.calendar-card{padding:10px}.weekdays span{font-size:10px;padding:4px}.day{min-height:82px;padding:4px}.calendar-job{font-size:9px;padding:4px}.invoice-row{flex-direction:column}.invoice-row button{width:100%}}
@media print{body *{visibility:hidden}#invoiceDocument,#invoiceDocument *{visibility:visible}#invoiceDocument{position:absolute;inset:0}.invoice-document{border-radius:0}.no-print{display:none}}

/* Martini editorial future */
body{background:radial-gradient(900px 560px at 78% 0%,rgba(var(--martini-rgb),.105),transparent 62%),radial-gradient(700px 500px at 25% 65%,rgba(112,116,58,.045),transparent 65%),#0c0d0b}
.main{max-width:1240px}
.martini-hero{min-height:300px;margin:38px 0 24px;padding:44px 48px;position:relative;overflow:hidden;align-items:center;border:1px solid rgba(var(--martini-rgb),.17);border-radius:32px;background:linear-gradient(125deg,rgba(24,25,21,.92),rgba(13,14,12,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 28px 90px rgba(0,0,0,.24)}
.martini-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 58%,rgba(var(--martini-rgb),.055));pointer-events:none}
.hero-copy{position:relative;z-index:2}
.hero-eyebrow{margin:0 0 18px;color:var(--martini);font-size:10px;letter-spacing:.28em;font-weight:800}
.martini-hero h1{margin:0;font-family:Didot,"Bodoni 72","Bodoni MT",Georgia,serif;font-size:clamp(74px,10vw,142px);line-height:.78;font-weight:500;letter-spacing:-.065em;color:#f5f1e8;text-shadow:0 10px 46px rgba(0,0,0,.42)}
.martini-dot{color:var(--bright)}
.hero-subline{margin:28px 0 0;color:#b9b8ae;font-size:15px;letter-spacing:.03em}
.hero-watermark{position:absolute;right:-22px;top:50%;transform:translateY(-50%) rotate(-3deg);width:min(38%,390px);border-radius:30px;opacity:.12;filter:grayscale(1) contrast(1.15);mix-blend-mode:screen}
.invoice-panel,.today-card,.upload-panel,.quick-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 18px 50px rgba(0,0,0,.12)}
.invoice-panel{border-color:rgba(var(--martini-rgb),.14);background:linear-gradient(145deg,rgba(26,27,23,.96),rgba(16,17,14,.94));padding:30px;border-radius:28px}
.big-money{color:var(--bright);font-family:Didot,"Bodoni 72",Georgia,serif;font-size:48px;font-weight:700;letter-spacing:-.035em;text-shadow:0 0 34px rgba(var(--martini-rgb),.13)}
.invoice-main h2{color:#bbb9ae;font-size:14px;font-weight:600;letter-spacing:.02em}
.ring{box-shadow:0 0 50px rgba(var(--martini-rgb),.07)}
.today-card,.upload-panel,.quick-card{border-color:rgba(255,255,255,.075);background:linear-gradient(145deg,rgba(22,23,19,.94),rgba(14,15,13,.94))}
.upload-zone{transition:border-color .2s,background .2s,transform .2s}.upload-zone:hover{border-color:var(--bright);background:rgba(var(--martini-rgb),.045);transform:translateY(-2px)}
.accent-btn{transition:transform .2s,box-shadow .2s,filter .2s}.accent-btn:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 14px 34px rgba(var(--martini-rgb),.2)}
@media(max-width:620px){.martini-hero{min-height:240px;padding:34px 24px;border-radius:24px}.martini-hero h1{font-size:clamp(66px,24vw,98px)}.hero-watermark{right:-55px;width:70%;opacity:.08}.hero-eyebrow{max-width:220px;line-height:1.5}.big-money{font-size:42px}}

/* Shared topbar styling; workspace layout is defined by the responsive grid below. */
.main{max-width:1400px;margin:0 auto;padding-left:clamp(22px,5vw,76px);padding-right:clamp(22px,5vw,76px)}
.topbar{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:18px;position:relative;z-index:20;padding:14px 0;background:transparent}
.topbar:before{content:"";position:absolute;z-index:-1;inset:-10px -5vw -34px;background:radial-gradient(ellipse at 82% 8%,rgba(122,126,58,.11),transparent 58%),linear-gradient(180deg,rgba(12,13,11,.92) 0%,rgba(12,13,11,.62) 58%,transparent 100%);filter:blur(8px);pointer-events:none}
.top-brand{width:50px;height:50px;border:1px solid rgba(var(--martini-rgb),.22);border-radius:16px;background:linear-gradient(145deg,#1a1b17,#11120f);color:#f3efe5;font-family:Didot,"Bodoni 72",Georgia,serif;font-size:28px;line-height:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.top-brand span{color:var(--bright)}
.top-brand:hover{border-color:rgba(var(--martini-rgb),.5);transform:translateY(-1px)}
.pill-nav{align-items:center}
@media(max-width:900px){.main{padding-left:18px;padding-right:18px}.topbar{grid-template-columns:48px minmax(0,1fr) auto}.top-brand{width:44px;height:44px;border-radius:14px}.pill-nav{max-width:none}}
@media(max-width:620px){.topbar{grid-template-columns:42px minmax(0,1fr);gap:10px}.top-brand{width:40px;height:40px;font-size:23px;border-radius:12px}.pill-nav{max-width:100%;overflow-x:auto}.topbar>.accent-btn{display:none}}

/* Profile settings and printable Martini invoice */
.settings-card{max-width:820px;border:1px solid var(--line);border-radius:24px;padding:26px;background:linear-gradient(145deg,#171814,#11120f);display:grid;gap:16px}
.settings-card textarea{width:100%;border:1px solid #36382f;border-radius:12px;background:#11120f;color:#eee9df;padding:11px 12px;resize:vertical;font:inherit}
#invoiceDialog{width:min(980px,calc(100% - 24px));max-height:94vh}
.invoice-sheet{padding:16px;background:#12130f}
.martini-invoice{position:relative;overflow:hidden;background:#f5f1e7;color:#23241f;padding:58px 62px;border-radius:6px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.martini-invoice:after{content:"⌁";position:absolute;left:50%;top:54%;transform:translate(-50%,-50%) rotate(-18deg);font-family:Didot,Georgia,serif;font-size:340px;color:rgba(128,132,62,.045);pointer-events:none}
.mi-header,.mi-parties,.mi-footer{display:flex;justify-content:space-between;gap:42px}.mi-header{align-items:flex-start;padding-bottom:28px;border-bottom:1px solid var(--martini)}.mi-generated{padding-top:14px;font-family:Didot,"Bodoni 72",Georgia,serif;font-style:italic;font-size:18px}.mi-generated span{color:var(--martini)}.mi-generated b{margin-left:8px;color:var(--martini)}.mi-title{text-align:right}.mi-title h1{margin:0;font-family:Didot,"Bodoni 72",Georgia,serif;font-size:54px;letter-spacing:.03em;font-weight:500}.mi-title p{line-height:1.55;margin:7px 0 0}.mi-parties{padding:30px 0;border-bottom:1px solid #a8aa77}.mi-parties>div{width:50%}.mi-parties>div+div{padding-left:40px;border-left:1px solid var(--martini)}.mi-parties h3{margin:5px 0 8px;font-size:18px}.mi-parties p{margin:0;color:#55564f;line-height:1.65}.mi-parties span,.mi-project span{color:#787b34;font-size:11px;letter-spacing:.12em;font-weight:800}.mi-project{padding:28px 0 24px}.mi-project h2{margin:7px 0;font-size:21px}.mi-project p{margin:0;color:#55564f}.mi-table{position:relative;z-index:1;width:100%;border-collapse:collapse}.mi-table th{text-align:left;text-transform:uppercase;color:#74772e;font-size:10px;letter-spacing:.09em;padding:12px 8px;border-top:1px solid var(--martini);border-bottom:1px solid var(--martini)}.mi-table td{padding:15px 8px;border-bottom:1px solid #c6c7aa}.mi-table th:nth-child(n+2),.mi-table td:nth-child(n+2){text-align:right}.mi-totals{width:48%;margin:26px 0 34px auto;position:relative;z-index:1}.mi-totals>div{display:flex;justify-content:space-between;gap:20px;padding:10px 4px;border-top:1px solid #a8aa77}.mi-total{font-family:Didot,"Bodoni 72",Georgia,serif;color:var(--martini);font-size:25px}.mi-total strong{font-weight:600}.mi-footer{align-items:flex-end;padding-top:22px;border-top:1px solid var(--martini)}.mi-footer h2{font-family:Didot,"Bodoni 72",Georgia,serif;font-weight:500;font-size:30px;margin:0 0 10px}.mi-footer p{font-size:12px;line-height:1.55;margin:0;color:#55564f}.mi-footer>b{padding:9px 14px;background:var(--martini);color:#fff;font-size:10px;letter-spacing:.1em;white-space:nowrap}
@media(max-width:700px){.martini-invoice{padding:28px 22px}.mi-title h1{font-size:36px}.mi-generated{font-size:14px}.mi-parties{gap:18px}.mi-parties>div+div{padding-left:18px}.mi-table{font-size:11px}.mi-table th,.mi-table td{padding:10px 4px}.mi-totals{width:100%}.mi-footer{align-items:flex-start;flex-direction:column}.mi-footer>b{margin-top:14px}}
@media print{#invoiceDialog{position:static;width:auto;max-height:none;border:0}.invoice-sheet{padding:0}.martini-invoice{box-shadow:none;border-radius:0;min-height:100vh}.mi-generated{color:#23241f}}
.mi-generated{display:flex;align-items:center;gap:8px;padding-top:8px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-style:normal;font-size:10px;letter-spacing:.06em;color:#66675f;white-space:nowrap}.mi-generated>span{color:#66675f}.mi-wordmark{display:inline-flex;align-items:baseline;margin-left:1px;font-family:Didot,"Bodoni 72",Georgia,serif;font-size:23px;line-height:1;font-weight:500;letter-spacing:-.025em;color:#23241f}.mi-wordmark span{color:var(--martini)}.mi-glass-mark{width:29px;height:29px;margin-left:3px;fill:none;stroke:var(--martini);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.28}

/* Roles, private contact history, and watermark treatment */
.role-fieldset{border:1px solid var(--line);border-radius:18px;padding:18px;margin:0}.role-fieldset legend{padding:0 8px;font-weight:800}.role-fieldset p{margin:2px 0 14px;font-size:12px}.role-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.role-option{display:block}.role-option input{position:absolute;opacity:0;pointer-events:none}.role-option span{display:block;border:1px solid var(--line);border-radius:999px;padding:8px 11px;background:#11120f;color:#c7c4bb;font-size:12px;cursor:pointer}.role-option input:checked+span{background:rgba(var(--martini-rgb),.18);border-color:var(--martini);color:#e7e8b4}.role-add-btn{align-self:end;height:43px}.contact-name{display:block;border:0;background:transparent;color:var(--cream);padding:0;font-size:18px;font-weight:800;text-align:left}.contact-name:hover{color:var(--bright)}.preference-note{display:inline-block;margin-top:7px;padding:4px 7px;border-radius:999px;background:rgba(var(--martini-rgb),.12);color:#c8ca7b;font-size:10px}.preference-note.caution{background:rgba(200,161,61,.09);color:#aaa78f}.contact-favorite{border-color:rgba(var(--martini-rgb),.3)}.contact-caution{border-color:#35362f}.contact-detail{padding:22px}.preference-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 26px}.preference-btn.selected{background:rgba(var(--martini-rgb),.18);border-color:var(--martini);color:#e5e6ae}.preference-btn.selected.caution{background:rgba(200,161,61,.1);border-color:#665f3b;color:#c7c2a5}.contact-history{display:grid;gap:10px}.contact-history article{display:flex;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:14px;padding:13px;background:#11120f}.contact-history article span{color:var(--muted);font-size:12px;text-align:right}
@media(max-width:620px){.contact-history article{display:grid}.contact-history article span{text-align:left}.role-fieldset .grid2{grid-template-columns:1fr}}
.map-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.map-actions a{text-decoration:none}.job-location{color:#d7d8a4;text-decoration:none}.job-location:hover{text-decoration:underline}
.verify-location{display:flex;align-items:center;gap:8px;margin-top:8px;color:#c8c5bc;font-size:12px;font-weight:500}.verify-location input{width:auto}.location-status{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:5px 8px;border-radius:999px;background:rgba(83,168,105,.12);color:#8fd0a0;font-size:10px}.location-status.warning{background:rgba(200,161,61,.1);color:#d5bd79}.job-day-card{padding:24px;display:grid;gap:18px}.job-day-card h2{margin:4px 0}.job-day-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.job-day-grid>div{border:1px solid var(--line);border-radius:14px;padding:13px;background:#11120f}.job-day-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.job-day-location{border:1px solid rgba(var(--martini-rgb),.2);border-radius:16px;padding:16px;background:rgba(var(--martini-rgb),.05)}.job-day-location h3{margin:5px 0 7px}.job-day-location p{margin:10px 0 0;color:#c8c5bc;line-height:1.5}.location-warning{margin-top:10px;color:#d5bd79;font-size:12px;line-height:1.45}.calendar-job-wrap{display:grid;gap:3px;margin-top:6px}.calendar-job-wrap .calendar-job{margin-top:0}.calendar-map{display:block;color:#cfd180;font-size:9px;text-decoration:none;padding-left:7px}.calendar-map:hover{text-decoration:underline}@media(max-width:620px){.job-day-grid{grid-template-columns:1fr}}
.contact-search{display:grid;gap:8px;max-width:560px;margin:0 0 14px}.contact-search input{font-size:16px;padding:13px 15px}
.tax-year-label{min-width:130px}.tax-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tax-summary-card{border:1px solid var(--line);border-radius:22px;padding:22px;background:linear-gradient(145deg,#171814,#11120f)}.tax-summary-card h2{margin:10px 0 4px;font-family:Didot,"Bodoni 72",Georgia,serif;font-size:34px;color:var(--bright)}.tax-summary-card p{margin:0 0 20px;color:var(--muted);font-size:12px}.tax-summary-card>div{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding-top:14px}.tax-summary-card.total{border-color:rgba(var(--martini-rgb),.3)}.tax-disclaimer{margin:16px 0;border:1px solid rgba(200,161,61,.25);border-radius:18px;padding:18px;background:rgba(200,161,61,.055);color:#d5d2c5}.tax-disclaimer p{margin:7px 0 12px;color:var(--muted);line-height:1.55}.tax-links{display:flex;gap:12px;flex-wrap:wrap}.tax-links a{color:#d9db8f;font-size:12px}.tax-job-list{display:grid;gap:10px}.tax-job-row{display:grid;grid-template-columns:1.6fr .7fr .7fr .7fr;gap:16px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:15px 17px;background:#12130f}.tax-job-row span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.tax-job-fields small{color:var(--muted);font-weight:400;line-height:1.35}@media(max-width:800px){.tax-summary-grid{grid-template-columns:1fr}.tax-job-row{grid-template-columns:1fr 1fr}.tax-job-row>div:first-child{grid-column:1/-1}}

/* True letter-page invoice composition */
#invoiceDialog{width:min(920px,calc(100% - 24px))}.invoice-sheet{overflow:auto}.invoice-sheet #invoiceDocument{display:flex;justify-content:center}.martini-invoice{width:min(760px,100%);min-height:auto;aspect-ratio:8.5/11;display:flex;flex-direction:column;padding:46px 50px}.mi-header{padding-bottom:22px}.mi-parties{padding:24px 0}.mi-project{padding:22px 0 18px}.mi-table td{padding:12px 8px}.mi-totals{margin:20px 0 20px auto}.mi-footer{margin-top:auto}.mi-title h1{font-size:48px}
@media(max-width:700px){.martini-invoice{width:100%;aspect-ratio:auto;min-height:980px;padding:28px 22px}}
@media print{.martini-invoice{width:100%;min-height:100vh;aspect-ratio:auto;padding:46px 50px}}


/* Martini account entry */
[hidden]{display:none!important}
body.auth-pending{overflow:hidden}
body.auth-pending .app{visibility:hidden;height:100vh;overflow:hidden}
body.auth-ready .auth-gate{display:none}
.auth-gate{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:auto;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.035),transparent 38%),#0b0c0a}
.auth-shell{width:min(960px,100%);min-height:620px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:26px;background:#11120f;box-shadow:0 32px 90px rgba(0,0,0,.5)}
.auth-story{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:48px;background:linear-gradient(145deg,#171814,#0e0f0d 74%);overflow:hidden}
.auth-story:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.025),transparent 44%);pointer-events:none}
.auth-brand{position:absolute;z-index:2;top:48px;left:48px;width:62px;height:62px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(var(--martini-rgb),.26);border-radius:17px;color:#eeeae1;background:rgba(9,10,8,.34);font-family:Didot,"Bodoni 72",Georgia,serif;font-size:34px;line-height:1;letter-spacing:-.055em}
.auth-brand span{color:var(--martini);margin-left:1px}
.auth-watermark{position:absolute;z-index:0;left:50%;top:44%;width:620px;max-width:none;height:auto;mix-blend-mode:screen;filter:grayscale(1) contrast(1.08);opacity:.065;transform:translate(-50%,-50%) rotate(-4deg);pointer-events:none}
.auth-eyebrow{position:relative;z-index:1;margin:0 0 15px;color:#9b9d91;font-size:10px;font-weight:800;letter-spacing:.26em}
.auth-story h1{position:relative;z-index:1;margin:0;color:#f3efe6;font-family:Didot,"Bodoni 72",Georgia,serif;font-size:clamp(72px,8vw,110px);font-weight:400;line-height:.86;letter-spacing:-.055em}
.auth-story h1 span{color:var(--martini)}
.auth-tagline{position:relative;z-index:1;margin:27px 0 0;font-size:17px;color:#d8d4ca}
.auth-story-copy{position:relative;z-index:1;max-width:400px;margin:13px 0 0;color:#85877e;line-height:1.65}
.auth-panel{display:grid;grid-template-rows:auto auto auto 1fr;align-content:start;padding:48px;border-left:1px solid rgba(255,255,255,.045);background:#131411}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 34px;padding:4px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#0d0e0c}
.auth-tab{border:0;border-radius:10px;padding:11px 13px;color:#8f9188;background:transparent;font-weight:700}
.auth-tab:hover{color:#e7e3da;background:rgba(255,255,255,.035)}
.auth-tab.active{color:#10110e;background:var(--martini);box-shadow:none}
.auth-heading .section-label{color:#8e9086}
.auth-heading h2{margin:8px 0;color:#f1ede4;font-family:Didot,"Bodoni 72",Georgia,serif;font-size:38px;font-weight:400}
.auth-heading p{margin:0;color:#85877e;line-height:1.5}
.auth-form{display:grid;gap:15px;margin-top:27px}
.auth-form label{display:grid;gap:8px;color:#d6d2c9;font-size:13px;font-weight:700}
.auth-form input{width:100%;border:1px solid #32342e;border-radius:12px;padding:14px 15px;color:#f0ece3;background:#0e0f0d;outline:none}
.auth-form input:focus{border-color:var(--martini);box-shadow:0 0 0 3px rgba(178,180,90,.08)}
.auth-submit{width:100%;margin-top:3px;padding:14px;background:var(--martini);box-shadow:none}
.auth-submit:hover{box-shadow:0 10px 26px rgba(0,0,0,.22)}
.auth-submit:disabled{cursor:wait;opacity:.62;transform:none}
.auth-link{justify-self:center;border:0;padding:3px;color:#aeb06d;background:transparent;font-size:13px}
.auth-link:hover{text-decoration:underline}
.auth-status{min-height:20px;margin:0;text-align:center;color:#cbc48d;font-size:13px;line-height:1.45}
.auth-status[data-kind="error"]{color:#e28a82}
.auth-status[data-kind="success"]{color:#8fc29a}
.auth-privacy{align-self:end;margin:0;padding-top:25px;color:#71736b;font-size:11px;line-height:1.5;text-align:center}
#signOutBtn{margin-right:auto}
@media(max-width:760px){
  .auth-gate{place-items:start center;padding:0;background:#0b0c0a}
  .auth-shell{min-height:100dvh;grid-template-columns:1fr;border:0;border-radius:0}
  .auth-story{min-height:280px;justify-content:flex-end;padding:32px 25px}
  .auth-brand{top:max(23px,env(safe-area-inset-top));left:25px}
  .auth-brand{width:52px;height:52px;font-size:29px;border-radius:15px}
  .auth-watermark{left:auto;right:-52px;top:38%;width:360px;max-width:none;opacity:.05;transform:translateY(-50%) rotate(-4deg)}
  .auth-story h1{font-size:74px}
  .auth-tagline{margin-top:18px;font-size:16px}
  .auth-story-copy{display:none}
  .auth-panel{display:block;padding:30px 23px max(32px,env(safe-area-inset-bottom));border-left:0}
  .auth-tabs{margin-bottom:26px}
  .auth-heading h2{font-size:34px}
}


/* Settings help and legal footer */
.settings-help{margin-top:22px;border:1px solid var(--line);border-radius:24px;padding:28px;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.008))}
.settings-help-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:18px}
.settings-help-head h2{margin:7px 0 0;font-size:25px}
.settings-help-head p{max-width:420px;margin:0;text-align:right}
.help-list{border-top:1px solid var(--line)}
.help-list details{scroll-margin-top:24px;border-bottom:1px solid var(--line)}
.help-list summary{position:relative;cursor:pointer;list-style:none;padding:18px 36px 18px 0;color:var(--text);font-weight:700}
.help-list summary::-webkit-details-marker{display:none}
.help-list summary::after{content:'+';position:absolute;right:4px;top:15px;color:var(--martini);font-size:22px;font-weight:400}
.help-list details[open] summary::after{content:'−'}
.help-list details p{max-width:840px;margin:-2px 0 20px;color:var(--muted);line-height:1.65}
.app-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 4px 8px;color:#77796f;font-size:12px}
.app-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:18px}
.app-footer a,.footer-link{border:0;padding:0;color:#a5a78f;background:transparent;font:inherit;text-decoration:none}
.app-footer a:hover,.footer-link:hover{color:var(--martini)}
.legal-dialog{width:min(720px,calc(100vw - 32px));max-height:min(820px,calc(100dvh - 32px));overflow:auto;padding:28px}
.legal-updated{margin:-4px 0 22px;color:var(--muted);font-size:12px}
.legal-copy{display:grid;gap:8px}
.legal-copy h3{margin:12px 0 0;font-size:16px}
.legal-copy p{margin:0;color:var(--muted);line-height:1.65}
@media(max-width:700px){
  .settings-help{padding:22px 18px;border-radius:20px}
  .settings-help-head{display:block}
  .settings-help-head p{margin-top:8px;text-align:left}
  .app-footer{align-items:flex-start;flex-direction:column}
  .app-footer nav{justify-content:flex-start;gap:14px}
}


/* Overview income period */
.income-period-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:4px}
.period-toggle{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:999px;background:rgba(8,9,7,.55)}
.period-btn{border:0;border-radius:999px;padding:6px 11px;color:var(--muted);background:transparent;font-size:11px;font-weight:800;letter-spacing:.02em}
.period-btn:hover{color:var(--text)}
.period-btn.active{color:#10110e;background:var(--martini)}
@media(max-width:620px){.income-period-head{align-items:flex-start;flex-direction:column}.period-toggle{margin-bottom:5px}}


/* Final support and overview repairs */
.main{display:flex;min-height:100vh;flex-direction:column}
.page.active{display:block;flex:1}
.app-footer{width:100%;margin-top:auto;padding-top:34px}
.settings-help-head{align-items:flex-start}
.help-list details{min-height:60px}
.help-list summary{display:flex;min-height:60px;align-items:center;padding:16px 40px 16px 0;line-height:1.45}
.help-list summary::after{top:50%;transform:translateY(-50%)}
.help-list details p{margin:0;padding:0 40px 20px 0;line-height:1.65}
.report-dialog{width:min(620px,calc(100vw - 32px));padding:28px}
.report-intro{margin:-3px 0 22px}
.report-dialog label{display:grid;gap:8px;margin-top:16px;color:var(--text);font-size:13px;font-weight:700}
.report-dialog input,.report-dialog select,.report-dialog textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;color:var(--text);background:#0f100e}
.report-dialog textarea{resize:vertical}
@media(max-width:700px){.report-dialog{padding:22px 18px}.help-list details p{padding-right:8px}}


/* Tax business expenses */
.expense-panel{margin:22px 0;border:1px solid var(--line);border-radius:24px;padding:24px;background:linear-gradient(145deg,#181915,#121310)}
.expense-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.expense-panel-head h2{margin:7px 0 6px}
.expense-panel-head p{margin:0}
.expense-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}
.expense-stats>div{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:14px;padding:15px;background:#11120f}
.expense-stats span,.expense-row span{color:var(--muted);font-size:12px}
.expense-list{display:grid;gap:10px}
.expense-row{display:grid;grid-template-columns:minmax(0,1fr) 130px 170px auto;align-items:center;gap:18px;border-top:1px solid var(--line);padding:15px 0}
.expense-row>div:first-child strong,.expense-row>div:first-child span{display:block}
.expense-row>div:first-child span{margin-top:5px}
.expense-row>div:not(:first-child) span,.expense-row>div:not(:first-child) strong{display:block;text-align:right}
.expense-dialog{width:min(720px,calc(100vw - 32px));padding:28px}
.expense-dialog label{display:grid;gap:8px;margin-top:15px;color:var(--text);font-size:13px;font-weight:700}
.expense-dialog input,.expense-dialog select,.expense-dialog textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;color:var(--text);background:#0f100e}
.expense-rule-note{margin:18px 0 0;border-left:2px solid var(--martini);padding:10px 0 10px 14px;color:var(--muted);font-size:12px;line-height:1.55}
.tax-summary-card>div+div{margin-top:8px}
@media(max-width:760px){.expense-panel-head{align-items:flex-start;flex-direction:column}.expense-stats{grid-template-columns:1fr}.expense-row{grid-template-columns:1fr 1fr}.expense-row>div:first-child{grid-column:1/-1}.expense-row>div:not(:first-child) span,.expense-row>div:not(:first-child) strong{text-align:left}.expense-dialog{padding:22px 18px}}


/* Guided film-work expense categories */
.expense-guide{margin:22px 0 18px;border:1px solid rgba(var(--martini-rgb),.18);border-radius:18px;padding:18px;background:rgba(8,9,7,.34)}
.expense-guide-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px}
.expense-guide-heading h3,.expense-records-head h3{margin:0 0 5px;font-size:16px}
.expense-guide-heading p,.expense-records-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.expense-guide-heading>span{flex:0 0 auto;border:1px solid rgba(var(--martini-rgb),.22);border-radius:999px;padding:6px 9px;color:#c8ca7b;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.expense-category-pills{display:flex;flex-wrap:wrap;gap:8px}
.expense-category-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:8px 11px;color:#b7b8af;background:#11120f;font-size:12px;font-weight:700}
.expense-category-pill span{color:#73756c;font-size:10px}
.expense-category-pill:hover{border-color:rgba(var(--martini-rgb),.4);color:var(--text)}
.expense-category-pill.active{border-color:var(--martini);color:#eef0ba;background:rgba(var(--martini-rgb),.13)}
.expense-category-guide{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:14px;border:1px solid var(--line);border-radius:15px;padding:16px;background:#0f100d}
.expense-category-guide h4{margin:5px 0 6px;color:var(--text);font-size:14px;line-height:1.45}
.expense-category-guide p{max-width:760px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.expense-category-guide button{flex:0 0 auto}
.expense-records-head{margin-top:20px;padding-top:2px}
@media(max-width:700px){.expense-guide{padding:15px}.expense-guide-heading,.expense-category-guide{align-items:flex-start;flex-direction:column}.expense-category-guide button{width:100%}.expense-category-pills{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.expense-category-pill{flex:0 0 auto}}


/* Expense alignment repairs */
.expense-panel{padding:28px}
.expense-panel-head{align-items:center}
.expense-panel-head>div{min-width:0}
.expense-panel-head>button{flex:0 0 auto}
.expense-category-pills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.expense-category-pill{width:100%;min-height:38px;justify-content:space-between;text-align:left}
.expense-category-guide{min-height:118px}
.expense-category-guide>div{min-width:0}
.expense-stats{gap:14px;margin:20px 0}
.expense-stats>div{min-height:58px}
.expense-records-head{min-height:48px}
@media(max-width:900px){.expense-category-pills{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.expense-panel{padding:20px}.expense-panel-head{align-items:flex-start}.expense-category-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.expense-category-pill{white-space:normal}.expense-category-guide{min-height:0}}


/* Year-to-date totals inside expense pills */
.expense-category-pill{display:grid;grid-template-columns:minmax(0,1fr) auto auto;column-gap:7px;align-items:center}
.expense-pill-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit}
.expense-pill-total{color:#d5d78b!important;font-size:10px!important;font-variant-numeric:tabular-nums}
.expense-pill-chevron{color:#73756c!important;font-size:10px!important}
@media(max-width:700px){.expense-category-pill{grid-template-columns:minmax(0,1fr) auto}.expense-pill-chevron{display:none}.expense-pill-label{white-space:normal}}


/* Contained, responsive modal system */
#expenseDialog,
#reportProblemDialog,
#termsDialog,
#supportInfoDialog,
#jobDialog,
#timeDialog,
#contactDialog{
  width:min(760px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 32px);
  margin:auto;
  overflow:hidden;
}
#termsDialog,#supportInfoDialog{width:min(780px,calc(100vw - 32px))}
#expenseDialog{width:min(760px,calc(100vw - 32px))}
#expenseDialog .expense-dialog,
#reportProblemDialog .report-dialog,
#termsDialog .legal-dialog,
#supportInfoDialog .legal-dialog{
  width:100%;
  max-width:100%;
  max-height:calc(100dvh - 32px);
  margin:0;
  overflow-x:hidden;
  overflow-y:auto;
}
#expenseDialog .expense-dialog,
#reportProblemDialog .report-dialog{
  padding:26px;
}
#termsDialog .legal-dialog,
#supportInfoDialog .legal-dialog{padding:28px}
.dialog-head{min-width:0;gap:20px}
.dialog-head>div{min-width:0}
.dialog-head h2{overflow-wrap:anywhere}
.legal-copy,
.legal-copy p,
.legal-copy h3,
.expense-dialog label,
.report-dialog label{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}
.expense-dialog .grid2{min-width:0}
.expense-dialog input,
.expense-dialog select,
.expense-dialog textarea,
.report-dialog input,
.report-dialog select,
.report-dialog textarea{
  min-width:0;
  max-width:100%;
}
.expense-dialog textarea,
.report-dialog textarea{resize:vertical}
.expense-dialog .dialog-actions,
.report-dialog .dialog-actions,
.legal-dialog .dialog-actions{
  position:sticky;
  bottom:0;
  z-index:2;
  margin:14px -4px -4px;
  padding:14px 4px 4px;
  background:linear-gradient(180deg,rgba(23,24,21,0),#171815 28%);
}
@media(max-width:620px){
  #expenseDialog,
  #reportProblemDialog,
  #termsDialog,
  #supportInfoDialog,
  #jobDialog,
  #timeDialog,
  #contactDialog{
    width:calc(100vw - 20px);
    max-width:calc(100vw - 20px);
    max-height:calc(100dvh - 20px);
  }
  #expenseDialog .expense-dialog,
  #reportProblemDialog .report-dialog,
  #termsDialog .legal-dialog,
#supportInfoDialog .legal-dialog{
    max-height:calc(100dvh - 20px);
    padding:20px 16px;
  }
  .expense-dialog .grid2{grid-template-columns:1fr}
  .expense-dialog .dialog-actions,
  .report-dialog .dialog-actions,
  .legal-dialog .dialog-actions{
    gap:10px;
  }
  .expense-dialog .dialog-actions>*,
  .report-dialog .dialog-actions>*,
  .legal-dialog .dialog-actions>*{
    min-height:46px;
    flex:1;
  }
}


/* Compact centered beta-support form */
#reportProblemDialog{
  width:min(600px,calc(100vw - 32px));
}
#reportProblemDialog .report-dialog{
  max-height:min(720px,calc(100dvh - 32px));
  padding:24px;
  gap:0;
}
#reportProblemDialog .dialog-head{margin-bottom:8px}
#reportProblemDialog .dialog-head h2{margin:7px 0 0}
#reportProblemDialog .report-intro{margin:4px 0 12px;line-height:1.45}
#reportProblemDialog label{margin-top:12px;gap:6px}
#reportProblemDialog input,
#reportProblemDialog select{padding:11px 12px}
#reportProblemDialog textarea{min-height:112px;max-height:180px;padding:11px 12px}
#reportProblemDialog .auth-status{min-height:14px;margin:5px 0 0}
#reportProblemDialog .dialog-actions{margin-top:8px;padding-top:12px}
@media(max-width:620px){
  #reportProblemDialog{width:calc(100vw - 20px)}
  #reportProblemDialog .report-dialog{padding:20px 16px}
}


/* Job and calendar modal precision */
#jobDialog{width:min(860px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:hidden}
#jobDialog form{width:100%;max-height:calc(100dvh - 32px);overflow-x:hidden;overflow-y:auto;padding:26px 28px 24px;gap:15px;overscroll-behavior:contain}
#jobDialog textarea{width:100%;min-width:0;border:1px solid #36382f;border-radius:12px;background:#11120f;color:#eee9df;padding:11px 12px;resize:vertical}
#jobDialog .dialog-actions{position:sticky;bottom:-24px;z-index:4;margin:10px -4px -24px;padding:18px 4px 22px;background:linear-gradient(180deg,rgba(23,24,21,0),#171815 24%)}
.job-days-section{display:grid;gap:12px;margin-top:3px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#121310}
.job-days-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.job-days-heading>div{display:grid;gap:6px}.job-days-heading small{color:var(--muted);line-height:1.45;font-size:11px;font-weight:500}
#additionalJobDays{display:grid;gap:12px}
.additional-job-day{display:grid;gap:12px;padding:15px;border:1px solid #303229;border-radius:14px;background:#171815}
.additional-day-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.post-job-details{border:1px solid var(--line);border-radius:16px;padding:0 16px;background:#121310}
.post-job-details summary{cursor:pointer;padding:15px 0;color:#d9da9b;font-size:13px;font-weight:800}
.post-job-details[open]{padding-bottom:16px}.post-job-details[open] summary{border-bottom:1px solid var(--line);margin-bottom:14px}
.post-job-details>p{margin:0 0 14px}.post-job-details>.grid2,.post-job-details>label{margin-top:14px}
#jobDayDialog{width:min(620px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:hidden}
#jobDayDialog .job-day-card{max-height:calc(100dvh - 32px);overflow-y:auto;padding:26px;gap:16px}
#jobDayDialog .job-day-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#jobDayDialog .dialog-actions{margin-top:2px}
#contactDetailDialog{width:min(620px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:hidden}
#contactDetailDialog .contact-detail{max-height:calc(100dvh - 32px);overflow-y:auto;padding:26px}
.contact-title-line{margin:14px 0 0;color:var(--muted);font-size:14px;font-weight:700}
@media(max-width:620px){
 #jobDialog,#jobDayDialog,#contactDetailDialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
 #jobDialog form{max-height:calc(100dvh - 20px);padding:20px 16px 18px}
 #jobDialog .dialog-actions{bottom:-18px;margin-bottom:-18px;padding-bottom:16px}
 .job-days-heading{display:grid}.job-days-heading .small-btn{width:100%}
 #jobDayDialog .job-day-card,#contactDetailDialog .contact-detail{max-height:calc(100dvh - 20px);padding:20px 16px}
 #jobDayDialog .job-day-grid{grid-template-columns:1fr}
}

.native-add-day{border:1px dashed rgba(var(--martini-rgb),.32);border-radius:14px;background:#11120f}
.native-add-day summary{cursor:pointer;list-style:none;padding:13px 15px;color:#d9da9b;font-size:13px;font-weight:800}
.native-add-day summary::-webkit-details-marker{display:none}
.native-add-day[open] summary{border-bottom:1px solid var(--line)}
.native-add-day .additional-job-day{border:0;border-radius:0 0 14px 14px}

.cancel-new-day{display:flex;justify-content:flex-end;padding:0 15px 15px}
.additional-day-head .remove-job-day{flex:0 0 auto}
@media(max-width:620px){.cancel-new-day{padding:0 12px 12px}.cancel-new-day .small-btn{width:100%}}


.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:24px;border:1px solid rgba(220,83,70,.28);border-radius:18px;background:rgba(90,20,16,.08)}
.danger-zone h2{margin:5px 0 7px;font-size:21px}.danger-zone p{margin:0}.danger-label{color:#ef8176}
.danger-btn{appearance:none;border:1px solid rgba(239,96,82,.6);border-radius:12px;background:rgba(174,48,38,.16);color:#ff9a90;font:inherit;font-weight:800;padding:12px 16px;cursor:pointer;white-space:nowrap}
.danger-btn:hover{background:rgba(174,48,38,.28)}.danger-btn:disabled{cursor:not-allowed;opacity:.5}
.delete-account-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:26px}.delete-account-dialog>p{color:var(--muted);line-height:1.55}.delete-account-dialog label{margin-top:18px}.delete-account-dialog .dialog-actions{margin-top:24px}
.form-status{min-height:20px;margin:10px 0 0!important;font-size:13px}.form-status[data-kind="error"]{color:#ff9a90}.form-status[data-kind="success"]{color:#79d69b}
@media(max-width:620px){.danger-zone{align-items:stretch;flex-direction:column;padding:18px}.danger-zone .danger-btn{width:100%}.delete-account-dialog{padding:20px}}


.account-status-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.account-status-row>div{display:grid;gap:5px}.account-status-row strong{font-size:20px}
.beta-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(var(--martini-rgb),.42);border-radius:999px;background:rgba(var(--martini-rgb),.1);color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.1em;padding:7px 10px;white-space:nowrap}
.onboarding-shell{max-width:none}.onboarding-dialog{width:min(580px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:30px}
.onboarding-progress{display:flex;align-items:center;justify-content:space-between;gap:16px}.onboarding-dialog h2{margin:14px 0 8px;font-size:32px}.onboarding-dialog>p{margin:0 0 22px;line-height:1.55}
.onboarding-dialog label{margin-top:14px}.onboarding-dialog .grid2{margin-top:0}.optional-label{color:var(--muted);font-size:12px;font-weight:500}
.onboarding-submit{width:100%;margin-top:20px;min-height:50px}
@media(max-width:620px){.onboarding-dialog{padding:22px}.onboarding-dialog h2{font-size:27px}.onboarding-dialog .grid2{grid-template-columns:1fr}.account-status-row{align-items:flex-start}}


.auth-boot{display:none}
body.auth-checking{overflow:hidden;background:#090a08}
body.auth-checking .auth-gate,body.auth-checking .app{visibility:hidden}
body.auth-checking .auth-boot{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#090a08}
.auth-boot>span{font-family:Georgia,serif;font-size:54px;line-height:1;color:#ecece5;animation:martiniBoot 1.15s ease-in-out infinite alternate}
.auth-boot>span span{color:var(--accent)}
@keyframes martiniBoot{from{opacity:.45;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.auth-boot>span{animation:none}}

/* Turnaround identity and premium teal system */
:root{
  --martini:#318782;
  --martini-rgb:49,135,130;
  --accent:#318782;
  --bg:#0b1112;
  --panel:#11191a;
  --panel2:#162021;
  --cream:#f3f0e8;
  --text:#f3f0e8;
  --muted:#98a3a2;
  --line:#263234;
  --olive:var(--accent);
  --bright:#63b7b1;
  --gold:#d0a84c;
  --red:#df665c;
  --blue:#688ed8;
  --green:#58ad72;
}
html,body{background-color:var(--bg)}
body{color:var(--text);background:radial-gradient(860px 520px at 82% -4%,rgba(var(--martini-rgb),.10),transparent 64%),#0b1112}
.topbar:before{background:radial-gradient(ellipse at 82% 8%,rgba(var(--martini-rgb),.09),transparent 58%),linear-gradient(180deg,rgba(11,17,18,.94) 0%,rgba(11,17,18,.65) 58%,transparent 100%)}
.accent-btn,.pill.active,.filter-pill.active,.small-btn.primary,.auth-tab.active{background:var(--accent);border-color:var(--accent);color:#f8ffff}
.light-btn{border-color:#bedbd8;background:#e7f2f0;color:#102222}
.big-money,.section-label,.month-label,.kicker,.hero-eyebrow{color:var(--bright)}
.martini-hero{border-color:rgba(var(--martini-rgb),.18);background:linear-gradient(125deg,rgba(17,26,27,.97),rgba(10,16,17,.9));box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 28px 90px rgba(0,0,0,.26)}
.martini-hero h1{max-width:780px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(54px,7vw,96px);font-weight:780;letter-spacing:-.055em;line-height:.86}
.hero-subline{color:#aeb9b7}

/* Precise T-over-U mark; intentionally not a literal arrow. */
.turn-mark{position:relative;display:inline-block;width:1em;height:1em;flex:0 0 auto}
.turn-mark i,.turn-mark b{position:absolute;display:block;box-sizing:border-box}
.turn-mark i{z-index:2;left:19%;top:13%;width:62%;height:43%;border-top:.16em solid currentColor}
.turn-mark i:after{content:"";position:absolute;left:50%;top:-.02em;width:.16em;height:.52em;background:currentColor;transform:translateX(-50%)}
.turn-mark b{z-index:1;left:25%;bottom:8%;width:50%;height:48%;border:0 solid var(--accent);border-right-width:.15em;border-bottom-width:.15em;border-left-width:.15em;border-radius:0 0 .42em .42em}
.top-brand{display:grid;place-items:center;background:#10191a;border-color:rgba(var(--martini-rgb),.32)}
.top-brand .turn-mark{width:34px;height:34px;color:#f3f0e8;font-size:34px}
.brand-logo{display:flex;align-items:center;gap:11px;max-width:none;margin:4px 6px 24px;padding:8px;color:#f3f0e8}
.brand-logo .turn-mark{width:34px;height:34px;font-size:34px}
.brand-logo strong{font-size:12px;letter-spacing:.18em}
.auth-brand .turn-mark{width:43px;height:43px;font-size:43px;color:#f3f0e8}
.auth-watermark.turn-mark{left:auto;right:-8%;top:14%;width:420px;height:420px;opacity:.045;transform:none;mix-blend-mode:screen;filter:none;font-size:420px;color:#f3f0e8}
.hero-watermark.turn-mark{position:absolute;right:5%;top:50%;width:280px;height:280px;opacity:.055;transform:translateY(-50%);font-size:280px;color:#f3f0e8}
.auth-story h1{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(54px,5.6vw,78px);font-weight:780;letter-spacing:-.06em}
.auth-boot>.turn-mark{width:62px;height:62px;font-size:62px;animation:martiniBoot 1.15s ease-in-out infinite alternate}
.invoice-turn-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid rgba(var(--martini-rgb),.32);border-radius:8px;color:var(--accent)!important;font-size:14px;font-weight:800;letter-spacing:-.2em;padding-right:.2em}
.mi-wordmark{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;font-weight:850;letter-spacing:.12em}
.martini-invoice:after{content:"T∪";left:49%;top:51%;transform:translate(-50%,-50%);font-family:Inter,sans-serif;font-size:210px;font-weight:800;letter-spacing:-.22em;color:rgba(var(--martini-rgb),.035)}
.mi-header,.mi-parties,.mi-footer,.mi-table th{border-color:rgba(var(--martini-rgb),.62)}
.mi-parties>div+div{border-color:rgba(var(--martini-rgb),.5)}
.mi-parties span,.mi-project span,.mi-table th,.mi-total{color:#28736f}
.mi-footer>b{background:#287f7a}

/* Appearance control */
.appearance-card{max-width:820px;margin-bottom:16px;border:1px solid var(--line);border-radius:24px;padding:24px 26px;background:linear-gradient(145deg,#111a1b,#0e1516)}
.appearance-card h2{margin:7px 0 5px;font-size:22px}.appearance-card p{margin:0}
.theme-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.theme-choice{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:12px;border:1px solid var(--line);border-radius:15px;padding:12px;text-align:left;color:var(--text);background:rgba(255,255,255,.018)}
.theme-choice:hover{border-color:rgba(var(--martini-rgb),.55)}
.theme-choice.active{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--martini-rgb),.1)}
.theme-choice strong,.theme-choice small{display:block}.theme-choice small{margin-top:3px;color:var(--muted)}
.theme-swatch{width:44px;height:36px;border:1px solid var(--line);border-radius:9px;box-shadow:inset 0 -9px 0 rgba(var(--martini-rgb),.35)}
.dark-swatch{background:#0b1112}.light-swatch{background:#f4f2ec}

/* Light mode uses teal only for identity and primary interaction. */
html[data-theme="light"]{
  --bg:#f4f2ec;--panel:#ffffff;--panel2:#f0eee8;--cream:#172022;--text:#172022;--muted:#687475;--line:#d8ddda;--bright:#287d78;
}
html[data-theme="light"] body{color:var(--text);background:radial-gradient(780px 480px at 82% -8%,rgba(var(--martini-rgb),.08),transparent 65%),#f4f2ec}
html[data-theme="light"] .topbar:before{background:linear-gradient(180deg,rgba(244,242,236,.96),rgba(244,242,236,.7) 60%,transparent)}
html[data-theme="light"] .top-brand{background:#fff;color:#162022;box-shadow:0 8px 22px rgba(30,50,50,.06)}
html[data-theme="light"] .top-brand .turn-mark,html[data-theme="light"] .brand-logo{color:#172022}
html[data-theme="light"] .pill,html[data-theme="light"] .filter-pill,html[data-theme="light"] .icon-btn,html[data-theme="light"] .small-btn,html[data-theme="light"] .ghost-btn{color:#344143;background:#fff}
html[data-theme="light"] .martini-hero{background:linear-gradient(135deg,#fff,#eef3f1);box-shadow:0 24px 70px rgba(27,52,51,.08)}
html[data-theme="light"] .martini-hero h1{color:#172022;text-shadow:none}
html[data-theme="light"] .hero-subline{color:#687475}
html[data-theme="light"] .invoice-panel,html[data-theme="light"] .settings-card,html[data-theme="light"] .tax-summary-card,html[data-theme="light"] .expense-panel,html[data-theme="light"] .appearance-card{background:#fff;box-shadow:0 12px 34px rgba(27,52,51,.045)}
html[data-theme="light"] .today-card,html[data-theme="light"] .generator-card,html[data-theme="light"] .upload-panel,html[data-theme="light"] .quick-card,html[data-theme="light"] .job-card,html[data-theme="light"] .calendar-card,html[data-theme="light"] .contact-card,html[data-theme="light"] .invoice-row,html[data-theme="light"] .quick-grid>div,html[data-theme="light"] .upload-zone,html[data-theme="light"] .tax-job-row,html[data-theme="light"] .expense-stats>div,html[data-theme="light"] .expense-category-pill,html[data-theme="light"] .expense-category-guide,html[data-theme="light"] .job-day-grid>div,html[data-theme="light"] .contact-history article,html[data-theme="light"] .job-days-section,html[data-theme="light"] .additional-job-day,html[data-theme="light"] .post-job-details{background:#fff}
html[data-theme="light"] dialog{color:var(--text);background:#fff}
html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea,html[data-theme="light"] .settings-card textarea,html[data-theme="light"] .auth-form input{color:#172022;background:#fbfbf8;border-color:#cfd5d2}
html[data-theme="light"] .badge{background:#edf0ed}
html[data-theme="light"] .ring:after{background:#fff}
html[data-theme="light"] .settings-help{background:#fff}
html[data-theme="light"] .theme-choice{background:#fbfbf8}
html[data-theme="light"] .dialog-actions{background:linear-gradient(180deg,rgba(255,255,255,0),#fff 28%)}
@media(max-width:760px){.auth-story h1{font-size:54px}.hero-watermark.turn-mark{right:-12%;width:210px;height:210px;font-size:210px}.theme-toggle{grid-template-columns:1fr}}

/* Professional finance UI refinement */
body,input,select,textarea,button{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body{font-weight:400;letter-spacing:0;background:var(--bg)}
button{font-weight:600;letter-spacing:-.01em}
.brand-period{color:var(--accent)}
.mi-wordmark:after{content:".";color:var(--accent)}
.mi-wordmark .brand-period+.brand-period{display:none}
.page-head h1,.content-section h2,.today-card h2,.quick-card h2,.upload-panel h2,.generator-card h2,.settings-card h2,.appearance-card h2,.settings-help h2,.expense-panel h2,.tax-summary-card h2{font-family:inherit;font-weight:650;letter-spacing:-.035em}
.page-head h1{font-size:clamp(38px,4vw,52px);line-height:1.02}
.martini-hero{min-height:270px;border-radius:16px;background:#101718;box-shadow:none}
.martini-hero h1{font-size:clamp(50px,6.2vw,80px);font-weight:650;letter-spacing:-.055em;line-height:.94;text-shadow:none}
.auth-story h1{font-size:clamp(50px,5.2vw,72px);font-weight:650;letter-spacing:-.055em;line-height:.96}
.hero-eyebrow,.section-label,.month-label,.kicker{font-size:10px;font-weight:700;letter-spacing:.15em;color:#6bb5b0}
.hero-subline{font-size:15px;letter-spacing:-.01em}
.big-money,.tax-summary-card h2,.quick-grid strong,.invoice-breakdown strong,.job-card strong,.mi-totals strong{font-family:inherit;font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:-.035em}

/* Teal identifies the product and primary action; it does not fill routine navigation. */
.accent-btn,.small-btn.primary{background:#2f827e;border-color:#2f827e;color:#f8ffff;box-shadow:none;border-radius:9px}
.accent-btn:hover,.small-btn.primary:hover{background:#397f7c;border-color:#4b9995;transform:none;box-shadow:none}
.pill.active,.filter-pill.active,.auth-tab.active{background:rgba(var(--martini-rgb),.08);border-color:rgba(var(--martini-rgb),.55);color:#83c4bf;box-shadow:none}
.pill,.filter-pill,.auth-tab,.ghost-btn,.small-btn,.icon-btn,.light-btn{border-radius:9px;box-shadow:none}
.pill:hover,.filter-pill:hover,.ghost-btn:hover,.small-btn:hover,.icon-btn:hover{border-color:#405052;background:#151e1f;color:var(--text);transform:none}
.light-btn{background:#e9eeee;border-color:#d5dfde;color:#132020;border-radius:9px;box-shadow:none}
.nav-item{border-radius:8px;font-weight:550}
.nav-item.active{color:#82c2bd;background:rgba(var(--martini-rgb),.08);box-shadow:inset 2px 0 0 var(--accent)}

/* Restrained geometry and flat surfaces replace the softer, playful treatment. */
.invoice-panel,.today-card,.upload-panel,.quick-card,.generator-card,.job-card,.calendar-card,.contact-card,.settings-card,.appearance-card,.settings-help,.expense-panel,.tax-summary-card,.tax-disclaimer,.danger-zone{border-radius:14px;background:var(--panel);box-shadow:none}
.quick-grid>div,.expense-stats>div,.job-day-grid>div,.contact-history article,.tax-job-row,.invoice-row,.upload-zone,.theme-choice,.post-job-details,.native-add-day,.additional-job-day{border-radius:10px}
dialog{border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.48)}
input,select,textarea,.settings-card textarea,.auth-form input{border-radius:8px}
.beta-pill,.badge,.preference-note,.location-status{border-radius:6px}
.ring{filter:none}
.topbar:before{background:linear-gradient(180deg,rgba(11,17,18,.96),rgba(11,17,18,.72) 62%,transparent)}
.hero-watermark.turn-mark,.auth-watermark.turn-mark{opacity:.035}

/* Remove the remaining Martini olive from interactive and informational UI. */
.role-option input:checked+span,.preference-note,.preference-btn.selected,.job-location,.calendar-map,.tax-links a,.expense-guide-heading>span,.expense-category-pill.active,.expense-pill-total,.post-job-details summary,.native-add-day summary{color:#77bbb6!important}
.role-option input:checked+span,.preference-btn.selected,.expense-category-pill.active{background:rgba(var(--martini-rgb),.09);border-color:rgba(var(--martini-rgb),.6)}
.post-job-details summary,.native-add-day summary{font-weight:650}

html[data-theme="light"] body{background:#f5f6f4}
html[data-theme="light"] .martini-hero{background:#fff;border-color:#dce2df;box-shadow:none}
html[data-theme="light"] .pill.active,html[data-theme="light"] .filter-pill.active,html[data-theme="light"] .auth-tab.active{background:#e9f2f1;border-color:#6da5a2;color:#205f5c}
html[data-theme="light"] .nav-item.active{background:#e9f2f1;color:#205f5c}
html[data-theme="light"] .pill:hover,html[data-theme="light"] .filter-pill:hover,html[data-theme="light"] .ghost-btn:hover,html[data-theme="light"] .small-btn:hover,html[data-theme="light"] .icon-btn:hover{background:#f0f3f1;border-color:#aeb9b6;color:#172022}
@media(max-width:760px){.martini-hero{min-height:220px;border-radius:12px}.martini-hero h1,.auth-story h1{font-size:clamp(44px,14vw,58px)}dialog{border-radius:14px}}

/* The signed-in workspace leads with data, not a marketing hero. */
.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:8px 0 24px;padding:0 2px}
.dashboard-head h1{margin:7px 0 6px;font-family:inherit;font-size:clamp(34px,4vw,48px);font-weight:650;letter-spacing:-.045em;line-height:1}
.dashboard-head p{margin:0;font-size:14px}
.invoice-panel{margin-top:0}
@media(max-width:760px){.dashboard-head{margin:2px 0 18px}.dashboard-head h1{font-size:34px}.dashboard-head p{font-size:13px}}

/* Data-first dashboard pass: compact, flat, precise. */
.main{max-width:1320px;padding-top:18px}
.topbar{padding:6px 0 12px;border-bottom:1px solid var(--line)}
.topbar:before{display:none}
.pill-nav{gap:22px;align-self:stretch}
.pill{position:relative;border:0;border-radius:0;padding:12px 0 10px;color:var(--muted);background:transparent!important}
.pill:after{content:"";position:absolute;right:0;bottom:-13px;left:0;height:2px;background:transparent}
.pill.active{border:0;color:var(--text);background:transparent!important}
.pill.active:after{background:var(--accent)}
.pill:hover{border:0;color:var(--text);background:transparent!important}
.dashboard-head{margin:26px 0 16px}
.dashboard-head h1{margin:0 0 5px;font-size:32px;font-weight:620;letter-spacing:-.035em}

/* Tighter cards and controls use finance-tool geometry. */
.invoice-panel,.today-card,.upload-panel,.quick-card,.generator-card,.job-card,.calendar-card,.contact-card,.settings-card,.appearance-card,.settings-help,.expense-panel,.tax-summary-card,.tax-disclaimer,.danger-zone{border-radius:8px}
.quick-grid>div,.expense-stats>div,.job-day-grid>div,.contact-history article,.tax-job-row,.invoice-row,.upload-zone,.theme-choice,.post-job-details,.native-add-day,.additional-job-day{border-radius:7px}
.accent-btn,.small-btn.primary,.light-btn,.ghost-btn,.small-btn,.icon-btn,input,select,textarea,.settings-card textarea,.auth-form input{border-radius:7px}
dialog{border-radius:10px}
.invoice-panel{grid-template-columns:104px minmax(220px,.85fr) 1.15fr;gap:18px;padding:18px 20px}
.today-card,.generator-card,.upload-panel,.quick-card,.job-card,.contact-card,.invoice-row{padding:15px 17px}
.calendar-card,.settings-card,.appearance-card,.settings-help,.expense-panel,.tax-summary-card{padding:18px}
.content-section{margin-top:16px}.two-col{gap:10px}
.quick-grid{gap:8px;margin-top:11px}.quick-grid>div{padding:10px 11px}
.job-grid{gap:10px;margin-top:12px}.job-actions,.contact-links{margin-top:12px}
.page-head{margin:28px 0 18px}.filter-pills{margin-bottom:11px}
.jobs-list,.invoice-list,.contacts-grid{gap:9px}

/* Money reads like a ledger; teal remains a signal rather than decoration. */
.big-money,.tax-summary-card h2{color:var(--text);text-shadow:none}
.big-money,.ring-inner strong,.quick-grid strong,.invoice-breakdown strong,.job-grid strong,.tax-summary-card h2,.expense-stats strong,.expense-pill-total{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-variant-numeric:tabular-nums slashed-zero;letter-spacing:-.045em}
.big-money{font-size:38px;font-weight:600}
.section-label,.month-label,.kicker{color:var(--muted)}
.section-label:before{display:none}

/* Paid progress is supporting information, not the centerpiece. */
.ring-wrap{display:flex;align-items:center;justify-content:center}
.ring{width:82px;height:82px;box-shadow:none;background:conic-gradient(var(--accent) 0deg,#263133 0deg)}
.ring:after{width:66px;height:66px;border:0}
.ring-inner strong{font-size:19px;font-weight:600}
.ring-inner span{font-size:10px}

html[data-theme="light"] .pill,html[data-theme="light"] .pill.active,html[data-theme="light"] .pill:hover{background:transparent!important;color:#596465}
html[data-theme="light"] .pill.active{color:#172022}
html[data-theme="light"] .big-money,html[data-theme="light"] .tax-summary-card h2{color:#172022}
@media(max-width:900px){.pill-nav{gap:18px}.invoice-panel{grid-template-columns:94px 1fr}.main{padding-top:12px}}
@media(max-width:620px){.topbar{padding-bottom:10px}.pill-nav{gap:18px}.pill:after{bottom:-11px}.dashboard-head{margin:20px 0 14px}.dashboard-head h1{font-size:30px}.invoice-panel{grid-template-columns:1fr;text-align:left;padding:16px}.ring-wrap{justify-content:flex-start}.today-card,.generator-card,.upload-panel,.quick-card,.job-card,.contact-card,.invoice-row{padding:14px}}

/* Mercury-inspired workspace structure, tailored to freelance production finance. */
.app{grid-template-columns:236px minmax(0,1fr)}
.sidebar{padding:18px 14px;background:#0c1213;border-color:#202b2d}
.brand-logo{margin:0 4px 22px;padding:7px 8px}
.side-nav{gap:2px}
.side-nav-label{margin:20px 10px 7px;color:#657173;font-size:9px;font-weight:700;letter-spacing:.14em}
.nav-item{position:relative;border-radius:5px;padding:9px 11px;color:#9da7a7;font-size:13px}
.nav-item.active,.nav-item:hover{background:transparent;color:#f0f2ef}
.nav-item.active:before{content:"";position:absolute;top:7px;bottom:7px;left:-14px;width:2px;background:var(--accent)}
.sidebar-add{width:100%;margin-top:22px;padding:10px 12px}
.profile-card{border-radius:7px;padding:10px;background:#101718}
.avatar{border-radius:6px;color:#dce3e1;background:#273234}
@media(min-width:901px){.top-brand,.pill-nav{display:none}.topbar{justify-content:flex-end;border-bottom:0;padding:0}.main{padding-top:20px}}

/* Restrained accent usage and ledger surfaces. */
.section-label,.month-label,.kicker,.hero-eyebrow{color:#7d898a}
.contact-avatar{color:#d7dedc;background:#252f31;border-radius:7px}
.upload-zone{border-color:#364244;background:#0e1516}
.income-period-head{align-items:center}
.period-toggle{gap:14px;padding:0;border:0;border-radius:0;background:transparent}
.period-btn{position:relative;border:0;border-radius:0;padding:5px 0 7px;color:#738082;background:transparent;font-size:11px;font-weight:600}
.period-btn:after{content:"";position:absolute;right:0;bottom:0;left:0;height:1px;background:transparent}
.period-btn.active{color:var(--text);background:transparent}
.period-btn.active:after{background:var(--accent)}
.invoice-breakdown>div{border-bottom:.5px solid #2a3537;padding:10px 0}
.invoice-breakdown>div:first-child{border-top:.5px solid #2a3537}
.invoice-panel,.today-card,.upload-panel,.quick-card,.income-trend-card,.generator-card,.job-card,.calendar-card,.contact-card,.settings-card,.appearance-card,.settings-help,.expense-panel,.tax-summary-card{border:.5px solid #293436;background:#101718}

/* Accurate cumulative paid-income curve. */
.income-trend-card{margin-top:10px;padding:16px 18px;border-radius:8px}
.income-trend-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.income-trend-head h2{margin:5px 0 0;font-size:16px;font-weight:600;letter-spacing:-.02em}
.trend-delta{border:1px solid #2d393b;border-radius:5px;padding:5px 7px;color:#9aa5a5;background:#0d1415;font:500 10px/1.2 "SFMono-Regular",Consolas,monospace}
.trend-delta.up{color:#83bfa0;border-color:rgba(88,173,114,.25)}
.trend-delta.down{color:#df8178;border-color:rgba(223,102,92,.25)}
.income-chart-wrap{height:124px;margin-top:12px}
#incomeTrendChart{display:block;width:100%;height:100%;overflow:visible}
.chart-grid{stroke:#263133;stroke-width:.75;stroke-dasharray:2 5}
.trend-line{fill:none;stroke:var(--accent);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.income-trend-axis{display:flex;justify-content:space-between;margin-top:3px;color:#667274;font-size:10px}

html[data-theme="light"] .sidebar{background:#f7f8f6;border-color:#dce2df}
html[data-theme="light"] .profile-card,html[data-theme="light"] .income-trend-card{background:#fff}
html[data-theme="light"] .invoice-panel,html[data-theme="light"] .today-card,html[data-theme="light"] .upload-panel,html[data-theme="light"] .quick-card,html[data-theme="light"] .income-trend-card,html[data-theme="light"] .generator-card,html[data-theme="light"] .job-card,html[data-theme="light"] .calendar-card,html[data-theme="light"] .contact-card{border-color:#dce2df}
html[data-theme="light"] .chart-grid{stroke:#dce2df}
@media(max-width:900px){.app{grid-template-columns:1fr}.income-chart-wrap{height:110px}}
@media(max-width:620px){.income-trend-card{padding:14px}.income-trend-head{align-items:flex-start;flex-direction:column;gap:9px}}

/* Stable workspace grid: never allow the main column to shrink to its contents. */
.app{display:grid;width:100%;max-width:none;grid-template-columns:236px minmax(0,1fr)}
.main{min-width:0;width:auto;max-width:none;margin:0;padding:20px clamp(22px,3vw,42px) 60px}
.page{width:100%;max-width:1180px;margin:0 auto}
.topbar{width:100%;max-width:1180px;margin:0 auto}
@media(min-width:761px) and (max-width:900px){
  .app{grid-template-columns:210px minmax(0,1fr)}
  .sidebar{display:flex;width:auto}
  .main{padding:18px 20px 50px}
  .top-brand,.pill-nav{display:none}
  .topbar{display:flex;justify-content:flex-end}
}
@media(max-width:760px){
  .app{display:block;width:100%}
  .sidebar{display:none}
  .main{display:block;width:100%;max-width:none;margin:0;padding:14px 14px 50px}
  .page,.topbar{width:100%;max-width:none}
  .topbar{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px}
  .top-brand,.pill-nav{display:flex}
  .top-brand{display:grid}
}

/* Turnaround dark-only palette: warm olive is identity, not decoration. */
:root{
  --martini:#929760;
  --martini-rgb:146,151,96;
  --accent:#929760;
  --bg:#0d0e0c;
  --panel:#161714;
  --panel2:#1b1c18;
  --cream:#f0eee7;
  --text:#f0eee7;
  --muted:#92948b;
  --line:#292b26;
  --olive:#929760;
  --bright:#929760;
  --green:#58a872;
  --gold:#c49a45;
  --red:#d8645a;
  --blue:#85877f;
}
html,body{color-scheme:dark;background:#0d0e0c}
body{background:#0d0e0c}
.sidebar{background:#11120f;border-color:#252720}
.main{background:#0d0e0c}
.invoice-panel,.today-card,.upload-panel,.quick-card,.generator-card,.job-card,.calendar-card,.contact-card,.settings-card,.settings-help,.expense-panel,.tax-summary-card{border-color:#292b26;background:#161714}
.accent-btn,.small-btn.primary{border-color:#929760;background:#929760;color:#11120e;box-shadow:none}
.accent-btn:hover,.small-btn.primary:hover{border-color:#a3a86d;background:#a3a86d}
.brand-period,.mi-wordmark:after{color:#929760}
.turn-mark b{border-color:#929760}
.nav-item.active{color:#f0eee7;background:transparent;box-shadow:none}
.nav-item.active:before{background:#666960}
.pill.active,.filter-pill.active,.auth-tab.active{border-color:#3b3d37;background:#1b1c18;color:#f0eee7;box-shadow:none}
.pill.active:after,.period-btn.active:after{background:#777a72}
.period-btn.active{color:#f0eee7}
.section-label,.month-label,.kicker,.hero-eyebrow{color:#85877f}
.olive{background:var(--martini)}
.ring{background:conic-gradient(var(--martini) 0deg,#30322a 0deg)}
.role-option input:checked+span,.preference-btn.selected,.expense-category-pill.active{border-color:#4b4d45;background:#20211d;color:#eeece5!important}
.job-location,.calendar-map,.tax-links a,.post-job-details summary,.native-add-day summary{color:#c4c5bd!important}
.calendar-job{border-left:2px solid #65685f;background:rgba(255,255,255,.055)}
.calendar-job.hold{border-left-color:var(--gold)}
.calendar-job.worked{border-left-color:var(--blue)}
.profile-card{background:#161714;border-color:#292b26}
.avatar{background:#292b26;color:#d8d7d0}
.mobile-add-job{display:none}
@media(min-width:761px){.topbar{display:none!important}.dashboard-head{margin-top:12px}}
@media(max-width:760px){.topbar>.mobile-add-job{display:block!important;grid-column:1/-1;width:100%}.topbar{display:grid}.dashboard-head{margin-top:18px}}

/* Invoice ledger summary and final removal of the former teal workspace accent. */
.invoice-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 14px}
.invoice-summary-card{display:grid;gap:7px;min-height:132px;border:1px solid #292b26;border-radius:8px;padding:22px 24px;background:#161714}
.invoice-summary-card strong{color:#f0eee7;font:500 30px/1.05 "SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.055em}
.invoice-summary-card span{color:#dedcd4;font-size:15px;font-weight:650}
.invoice-summary-card small{color:#85877f;font-size:12px}
.invoice-summary-card.overdue.has-value strong{color:#b88773}
.invoice-summary-card.paid.has-value strong{color:#7f967d}
.expense-pill-total,.expense-guide-heading>span{color:#b7b8af!important}
.expense-guide-heading>span{border-color:#34362f!important}
.expense-category-pill.active .expense-pill-total{color:#eeece5!important}
.calendar-job.worked{border-left-color:#85877f}
.upload-zone{border-color:#34362f;background:#11120f}
.sidebar{border-color:#252720}
.side-nav-label,.nav-item,.contact-avatar,.invoice-meta{color:#92948b}
.contact-avatar{background:#292b26}
.role-option input:checked+span,.preference-note,.preference-btn.selected,.job-location,.calendar-map,.tax-links a,.expense-category-pill.active,.post-job-details summary,.native-add-day summary{color:#c4c5bd!important}
.preference-note{background:#20211d}
.filter-pill .status-dot.worked,.status-dot.worked{background:#85877f}
.overdue-breakdown strong{color:#b88773}
.overdue-dot{background:#b88773}
.next-job-meta{margin-top:8px!important;color:#b9bab2!important;font-size:12px}
.recent-activity-card{margin-top:16px;border:1px solid #292b26;border-radius:8px;padding:16px 18px;background:#161714}
.recent-activity-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:8px}
.recent-activity-head h2{margin:5px 0 0;font-size:16px;font-weight:650;letter-spacing:-.025em}
.activity-view-all{border:0;padding:4px 0;color:#b9bab2;background:transparent;font-size:12px}
.activity-view-all:hover{color:#f0eee7}
.recent-activity-list article{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:11px;border-top:1px solid #292b26;padding:11px 0}
.recent-activity-list article:first-child{border-top:0}
.activity-mark{width:6px;height:6px;border-radius:50%;background:#777a72}
.activity-mark.paid{background:#7f967d}.activity-mark.invoice{background:#929760}
.recent-activity-list strong,.recent-activity-list span{display:block}.recent-activity-list strong{font-size:13px}.recent-activity-list span,.recent-activity-list time,.activity-empty{color:#92948b;font-size:11px}.activity-empty{margin:14px 0 5px}
.install-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px;border:1px solid #292b26;border-radius:8px;padding:18px;background:#161714}
.install-card h2{margin:5px 0 4px;font-size:18px}.install-card p{margin:0}
.install-dialog-content,.mobile-menu-sheet{padding:22px}.install-dialog-content{display:grid;gap:18px}
.install-instructions{color:#b9bab2;line-height:1.6}.install-instructions p{margin:0 0 8px}.install-instructions ol{display:grid;gap:9px;margin:0;padding-left:22px}
.mobile-more{display:none}.mobile-menu-dialog{width:min(440px,calc(100vw - 24px))}.mobile-menu-sheet nav{display:grid;gap:6px;margin-top:14px}.mobile-menu-sheet nav button{border:1px solid #292b26;border-radius:7px;padding:14px;text-align:left;color:#f0eee7;background:#161714;font-weight:650}
dialog{max-height:calc(100dvh - max(24px,env(safe-area-inset-top)) - max(24px,env(safe-area-inset-bottom)));overflow:auto;overscroll-behavior:contain}
.call-sheet-progress{display:flex;align-items:center;gap:10px;margin-top:12px;color:#b9bab2;font-size:12px}.call-sheet-progress span{width:14px;height:14px;border:2px solid #34362f;border-top-color:#929760;border-radius:50%;animation:call-sheet-spin .8s linear infinite}.call-sheet-progress p{margin:0}@keyframes call-sheet-spin{to{transform:rotate(360deg)}}
.call-sheet-review-dialog{width:min(820px,calc(100vw - 24px))}.call-sheet-review-form{padding:24px}.call-sheet-review-form>.dialog-head{margin-bottom:5px}.call-sheet-review-form>.dialog-head h2{margin:5px 0}.call-sheet-review-form>.dialog-head p{margin:0}
.duplicate-notice{border-left:2px solid #b88773;padding:11px 13px;color:#c8bbb4;background:rgba(184,135,115,.07);font-size:12px;line-height:1.5}
.critical-confirmations{border:1px solid #34362f;border-radius:8px;padding:16px;margin:2px 0 0}.critical-confirmations legend{padding:0 7px;color:#f0eee7;font-size:13px;font-weight:700}.critical-confirmations p{margin:0 0 12px;color:#92948b;font-size:12px}.confirmation-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.confirmation-grid label{display:flex;align-items:center;gap:7px;border:1px solid #292b26;border-radius:6px;padding:9px;color:#c8c7c0;background:#11120f}.confirmation-grid input,.extracted-contact input{width:auto}
.extracted-contacts{display:grid;gap:10px;border-top:1px solid #292b26;padding-top:16px}.extracted-contacts p{margin:4px 0 0}.extracted-contact{display:flex;align-items:flex-start;gap:10px;border:1px solid #292b26;border-radius:7px;padding:11px;background:#11120f}.extracted-contact strong,.extracted-contact small{display:block}.extracted-contact small{margin-top:4px;color:#92948b;font-weight:400;line-height:1.4}
@media(max-width:760px){.invoice-summary-grid{grid-template-columns:1fr}.invoice-summary-card{min-height:0;padding:18px}.invoice-summary-card strong{font-size:26px}}

@media(max-width:760px){
  body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
  .main{padding-bottom:calc(94px + env(safe-area-inset-bottom))}
  .topbar{grid-template-columns:42px minmax(0,1fr);align-items:center;padding-top:4px}
  .topbar>.mobile-add-job{grid-column:2;width:auto;justify-self:end;padding:10px 14px}
  .pill-nav{position:fixed;right:0;bottom:0;left:0;z-index:900;display:grid;grid-template-columns:repeat(5,1fr);gap:0;max-width:none;padding:7px 7px calc(7px + env(safe-area-inset-bottom));border-top:1px solid #292b26;background:rgba(17,18,15,.97);backdrop-filter:blur(18px)}
  .pill-nav .pill{display:block;width:100%;padding:10px 2px 9px;text-align:center;font-size:11px}
  .pill-nav .pill:after{right:22%;bottom:3px;left:22%;height:1px}
  .pill-nav .mobile-secondary{display:none}
  .pill-nav .mobile-more{display:block}
  .app-footer{padding-bottom:18px}
  .install-card{align-items:flex-start;flex-direction:column}.install-card button{width:100%}
  .mobile-menu-dialog{width:100%;max-width:none;margin:auto 0 0;border-radius:12px 12px 0 0;padding-bottom:env(safe-area-inset-bottom)}
  .call-sheet-review-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.call-sheet-review-form{padding:18px 14px}.confirmation-grid{grid-template-columns:1fr 1fr}.call-sheet-review-form .dialog-actions{position:sticky;bottom:0;margin:6px -14px -18px;padding:14px;background:#161714;border-top:1px solid #292b26}.call-sheet-review-form .dialog-actions button{flex:1}
}
