.app-shell{width:min(1280px,100% - 36px);max-width:100%;margin:0 auto;padding:18px 0 32px;overflow-x:hidden}.app-shell-loading{align-items:center;min-height:100vh;display:flex}.login-shell{align-items:center;width:min(1180px,100% - 36px);min-height:100vh;margin:0 auto;padding:32px 0;display:grid}.login-hero{grid-template-columns:minmax(0,1fr) minmax(360px,430px);align-items:stretch;gap:24px;min-width:0;display:grid}.login-copy,.login-panel{border:1px solid #5d412524;min-width:0;box-shadow:0 20px 60px #522c141f}.login-copy{background:linear-gradient(140deg,#fff8eef0,#fff0e2bd),linear-gradient(135deg,#8f341529,#ffffff47);border-radius:28px;flex-direction:column;justify-content:flex-end;min-height:520px;padding:36px;display:flex}.login-copy h1{color:#2b170e;overflow-wrap:anywhere;max-width:12ch;margin:0;font-size:clamp(2.4rem,6vw,5.7rem);line-height:.95}.login-copy p:not(.eyebrow){max-width:58ch;color:var(--muted-strong);margin:18px 0 0;font-size:1rem}.login-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:28px;display:grid}.login-metrics div{background:#ffffff9e;border:1px solid #5d41251f;border-radius:16px;min-height:78px;padding:12px}.login-metrics span{color:var(--muted);font-size:.74rem;display:block}.login-metrics strong{color:var(--accent);margin-top:4px;font-size:1rem;display:block}.login-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffcf7e6;border-radius:24px;flex-direction:column;justify-content:center;gap:18px;padding:30px;display:flex}.login-panel label{color:var(--muted-strong);flex-direction:column;gap:8px;font-weight:700;display:flex}.login-panel input{width:100%;min-height:50px;color:var(--ink);background:#fffffff0;border:1px solid #5d41252e;border-radius:16px;padding:0 15px;font-size:1rem}.login-panel input:focus{border-color:var(--accent);outline:2px solid #c962343d}.login-password-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.login-password-toggle{border-radius:16px;min-height:50px;padding:0 15px}.login-submit{margin-top:4px}.workspace-hero{margin-bottom:18px}.workspace-switcher{flex-wrap:wrap;gap:10px;min-width:0;margin-bottom:18px;display:flex}.view-chip{max-width:100%;min-height:46px;color:var(--muted-strong);cursor:pointer;overflow-wrap:anywhere;text-align:center;background:#ffffffad;border:1px solid #8f341529;border-radius:999px;padding:0 18px;font-weight:700}.view-chip-active{color:#fff7ef;background:linear-gradient(135deg,#8f3415,#cf6d3e);border-color:#0000}.admin-auth-shell{justify-content:center;padding-top:6px;display:flex}.admin-auth-panel{flex-direction:column;gap:18px;width:min(620px,100%);display:flex}.admin-auth-top h2{margin-bottom:6px}.admin-auth-eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin:0 0 8px;font-size:.72rem;font-weight:700}.admin-auth-note{background:#ffffffa8;border:1px solid #5d412526;border-radius:16px;padding:14px 16px}.admin-auth-note strong{font-size:.92rem;display:block}.admin-auth-note p{color:var(--muted);margin:6px 0 0;font-size:.9rem}.admin-auth-field{color:var(--muted-strong);flex-direction:column;gap:8px;display:flex}.admin-auth-input-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.admin-auth-input-row input{min-height:48px;color:var(--ink);background:#ffffffeb;border:1px solid #5d41252e;border-radius:16px;padding:0 15px;font-size:1rem}.admin-auth-input-row input:focus{border-color:var(--accent);outline:2px solid #c962343d}.admin-auth-toggle{min-height:44px;color:var(--accent);background:#8f34151a;border:1px solid #8f341533;border-radius:14px;padding:0 14px;font-weight:700}.admin-auth-hint code{color:#5c2513;background:#8f341514;border-radius:8px;padding:1px 6px;font-weight:700}.admin-auth-submit{margin-top:2px}.hero{grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:14px;margin-bottom:12px;display:grid}.hero>*,.content-grid>*,.invoice-card header>*,.preview-line-head>*,.history-mobile-head>*,.panel-header-row>*{min-width:0}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin:0 0 6px;font-size:.68rem}.hero h1{text-wrap:balance;max-width:22ch;margin:0;font-size:clamp(1.1rem,1.45vw,1.5rem);line-height:1.08}.hero-copy{max-width:68ch;color:var(--muted);margin-top:6px;font-size:.84rem;line-height:1.35}.hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:700px;margin-top:8px;display:grid}.hero-metrics>div{background:#ffffff94;border:1px solid #5d41251a;border-radius:12px;padding:8px 10px}.hero-metrics span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;display:block}.hero-metrics strong{margin-top:4px;font-size:.88rem;display:block}.hero-badge,.panel,.status-card{border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffcf7c7;border-radius:28px;box-shadow:0 24px 60px #31221414}.hero-badge{background:radial-gradient(circle at 0 0,#c962342e,#0000 48%),linear-gradient(155deg,#ffffffe6,#f7ece0db);flex-direction:column;justify-content:center;gap:8px;min-height:138px;padding:16px;display:flex}.hero-badge span{color:var(--muted);text-transform:uppercase;letter-spacing:.16em;font-size:.66rem}.hero-badge strong{font-size:clamp(.9rem,1.05vw,1.1rem);line-height:1}.hero-badge p{color:var(--muted);max-width:22ch;margin:0;font-size:.8rem;line-height:1.3}.hero-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.hero-badge-grid>div{background:#ffffff8f;border-radius:14px;padding:8px 10px}.hero-badge-grid small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.64rem;display:block}.hero-badge-grid b{margin-top:4px;font-size:.84rem;display:block}.content-grid{grid-template-columns:minmax(520px,620px) minmax(340px,1fr);gap:20px;min-width:0;display:grid}.panel,.status-card{overflow-wrap:anywhere;min-width:0;max-width:100%;padding:30px}.panel-header h2{margin:0 0 8px;font-size:1.25rem}.panel-header p,.hint-text{color:var(--muted);margin:0}.form-panel{flex-direction:column;gap:20px;display:flex}.top-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field-span-2{grid-column:1/-1}.form-panel label,.admin-form-panel label{min-width:0;color:var(--muted-strong);flex-direction:column;gap:9px;font-size:.98rem;display:flex}.form-panel input,.form-panel select,.admin-form-panel input,.admin-form-panel select{width:100%;min-width:0;max-width:100%;min-height:48px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;background:#ffffffeb;border:1px solid #5d41252e;border-radius:16px;padding:0 15px;font-size:1rem;overflow:hidden}.form-panel input:focus,.form-panel select:focus,.admin-form-panel input:focus,.admin-form-panel select:focus{border-color:var(--accent);outline:2px solid #c962343d}.calc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.calc-grid article{background:linear-gradient(#ffffffeb,#f4e8dde0);border:1px solid #c9623424;border-radius:20px;padding:16px}.calc-grid span,.mini-label,.invoice-meta dt,.totals span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.calc-grid strong,.totals strong{margin-top:10px;font-size:1.2rem;display:block}.calc-grid small{color:var(--muted);margin-top:6px;display:block}.primary-button{color:#fff7ef;letter-spacing:.02em;background:linear-gradient(135deg,#8f3415,#cf6d3e);border:none;border-radius:18px;min-height:54px;margin-top:4px;font-size:1rem;font-weight:700}.secondary-button,.text-button,.danger-button{cursor:pointer;border:none}.secondary-button{min-height:42px;color:var(--accent);background:#8f34151a;border-radius:14px;padding:0 16px;font-weight:700}.secondary-button:disabled{opacity:.56;cursor:not-allowed}.text-button{color:var(--accent);background:0 0;padding:0;font-weight:700}.danger-button{color:#8c2118;background:#b12c201f;border-radius:14px;min-height:42px;padding:0 16px;font-weight:700}.danger-button:disabled,.primary-button:disabled{opacity:.68;cursor:wait}.error-banner{color:#8c2118;background:#b12c201a;border-radius:16px;margin:0;padding:12px 14px}.field-hint{color:var(--muted);margin-top:8px;font-size:.82rem;display:block}.inline-warning{color:#8c2118;background:#b12c2017;border-radius:14px;margin:10px 0 0;padding:10px 12px;font-weight:700}.success-banner{color:#25592b;background:#3a783f1f;border-radius:16px;margin:0;padding:12px 14px}.preview-panel{flex-direction:column;align-self:start;gap:18px;display:flex;position:sticky;top:20px}.line-items-section{flex-direction:column;gap:16px;display:flex}.line-items-header,.line-item-topbar{justify-content:space-between;align-items:center;gap:14px;display:flex}.line-item-topbar strong{font-size:1.05rem}.section-label{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:4px;font-size:.74rem;display:inline-block}.line-items-header p{color:var(--muted);margin:0}.line-items-list{flex-direction:column;gap:18px;display:flex}.line-item-card{background:#ffffffb3;border:1px solid #5d41251f;border-radius:22px;flex-direction:column;gap:16px;padding:18px;display:flex}.line-item-layout{grid-template-columns:1fr;align-items:start;gap:12px;display:grid}.line-item-fields{grid-template-columns:1fr;align-items:end;gap:14px;display:grid}.line-item-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.line-item-metrics>div{background:#f4e8dd99;border-radius:18px;padding:18px 16px}.metric-card{flex-direction:column;justify-content:space-between;min-height:116px;display:flex}.metric-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;line-height:1.2}.metric-value{word-break:break-word;margin-top:10px;font-size:1.28rem;line-height:1.1;display:block}.metric-note{color:var(--muted);margin-top:10px;font-size:.84rem;line-height:1.35;display:block}.invoice-card{background:linear-gradient(#fffffff2,#f6ece2e6),radial-gradient(circle at 100% 0,#c962341f,#0000 42%);border:1px solid #5d412526;border-radius:24px;padding:24px}.invoice-card header{border-bottom:1px solid #5d41251f;justify-content:space-between;gap:18px;padding-bottom:18px;display:flex}.invoice-card h3{overflow-wrap:anywhere;margin:6px 0 0;font-size:1.2rem}.invoice-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 0;display:grid}.preview-lines{flex-direction:column;gap:18px;margin-top:20px;display:flex}.preview-line{background:#ffffffad;border:1px solid #5d41251f;border-radius:18px;padding:20px}.preview-line-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.preview-chip{color:var(--accent);background:#8f34151a;border-radius:999px;flex:none;padding:8px 12px;font-size:.8rem;font-weight:700}.preview-rate-bar{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.preview-rate-bar>div{background:#f4e8dd94;border-radius:16px;padding:14px 16px}.preview-rate-bar span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.preview-rate-bar strong{overflow-wrap:anywhere;margin-top:8px;font-size:1.05rem;display:block}.invoice-meta dd{margin:6px 0 0;font-size:1.05rem}.totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.totals>div{background:#fffc;border-radius:18px;padding:16px 18px}.grand-total{color:#fff7ef;grid-column:1/-1;background:linear-gradient(135deg,#8f3415eb,#cf6d3eeb)!important}.grand-total span{color:#fff7efbd}.downloads{background:#f8f0e8d9;border:1px solid #5d412524;border-radius:22px;flex-direction:column;gap:14px;padding:20px 22px;display:flex}.downloads p{margin:0}.downloads-muted{background:#f8f0e885}.download-disabled{min-height:44px;color:var(--muted);overflow-wrap:anywhere;text-align:center;background:#5d41251a;border-radius:14px;justify-content:center;align-items:center;padding:0 18px;font-weight:700;display:inline-flex}.history-panel{flex-direction:column;gap:18px;display:flex}.history-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.history-overview article{background:#ffffffb8;border:1px solid #5d41251f;border-radius:16px;padding:14px 16px}.history-overview span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;display:block}.history-overview strong{margin-top:6px;font-size:1.05rem;display:block}.history-search{max-width:460px}.history-results{flex-direction:column;gap:14px;display:flex}.history-table-wrap{background:#ffffffdb;border:1px solid #5d412524;border-radius:18px;overflow:auto}.history-table{border-collapse:collapse;width:100%;min-width:960px}.history-table th,.history-table td{text-align:left;vertical-align:top;border-bottom:1px solid #5d41251a;padding:12px 14px;font-size:.92rem}.history-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:#f4e8dd8c;font-size:.7rem;font-weight:700}.history-table td strong{font-size:.96rem;display:block}.history-table td small{color:var(--muted);margin-top:4px;font-size:.78rem;display:block}.history-downloads{grid-template-columns:repeat(6,48px);align-items:center;gap:6px;width:max-content;display:grid}.history-downloads a,.history-downloads button{width:100%;min-width:0;min-height:34px;color:var(--accent);background:#8f34151f;border-radius:10px;justify-content:center;align-items:center;padding:0 12px;font-size:.86rem;font-weight:700;display:inline-flex}.history-downloads button{cursor:pointer;border:0}.history-downloads .history-action-edit{color:#24538d;background:#275c9b1f;grid-area:1/1/auto/span 3}.history-downloads .history-action-file{min-width:0}.history-downloads .history-action-delete{color:#fff8f4;background:linear-gradient(135deg,#9f2b22,#c75245);border:1px solid #7e1d1647;grid-area:1/4/auto/span 3;box-shadow:0 8px 18px #7e1d1629}.history-downloads .history-action-delete:hover,.history-downloads .history-action-delete:focus-visible{background:linear-gradient(135deg,#852018,#b53d31)}.history-downloads .history-action-excel{grid-area:2/1/auto/span 2}.history-downloads .history-action-pdf{grid-area:2/3/auto/span 2}.history-downloads .history-action-eway{grid-area:2/5/auto/span 2;justify-content:center;width:100%;min-width:0}.history-file-missing{min-height:34px;color:var(--muted);background:#5d412514;border-radius:10px;align-items:center;padding:0 12px;font-size:.82rem;display:inline-flex}@media (width<=760px){.history-downloads{grid-template-columns:repeat(6,minmax(0,1fr));width:100%;max-width:none}.history-downloads a,.history-downloads button,.history-downloads .history-action-file,.history-downloads .history-action-eway{width:100%;min-width:0}}.eway-table{min-width:1080px}.eway-distance-field{gap:5px;max-width:140px;display:grid}.eway-distance-field input,.eway-mobile-distance{width:100%;min-height:36px;color:var(--ink);font:inherit;background:#ffffffd1;border:1px solid #5d41252e;border-radius:10px;padding:0 10px}.eway-status{border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:.78rem;font-weight:800;display:inline-flex}.eway-status-ready{color:#245c31;background:#388e4a24}.eway-status-blocked{color:#8f3415;background:#8f341521}.history-mobile-list{flex-direction:column;gap:12px;display:none}.history-mobile-card{background:#ffffffd1;border:1px solid #5d412524;border-radius:16px;flex-direction:column;gap:12px;padding:14px;display:flex}.history-mobile-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.history-mobile-head strong{overflow-wrap:anywhere;font-size:1rem}.history-mobile-head span{color:var(--muted);overflow-wrap:anywhere;font-size:.82rem}.history-mobile-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:0;display:grid}.history-mobile-meta dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.history-mobile-meta dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:.9rem}.admin-grid{grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:20px;display:grid}.admin-list-panel,.admin-form-panel{flex-direction:column;gap:18px;display:flex}.panel-header-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.panel-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#20140d85;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{flex-direction:column;gap:18px;width:min(620px,100%);max-height:calc(100vh - 40px);display:flex;overflow:auto}.modal-metrics{margin-top:-4px}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.modal-primary{min-width:180px;margin-top:0}.delete-modal-card{border-color:#b12c2047}.delete-modal-kicker{color:#8c2118}.delete-modal-detail{color:var(--text);background:#b12c2014;border-radius:16px;margin:0;padding:14px 16px}.modal-danger{color:#fff;background:linear-gradient(135deg,#b9342a,#8d2119);min-width:180px}.payment-pill{border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:.78rem;font-weight:800;display:inline-flex}.payment-pill-paid{color:#245c31;background:#388e4a24}.payment-pill-unpaid{color:#8f3415;background:#8f341521}.admin-list{flex-direction:column;gap:12px;max-height:720px;padding-right:4px;display:flex;overflow-y:auto}.search-field{min-width:0;color:var(--muted-strong);flex-direction:column;gap:8px;display:flex}.search-field input{width:100%;min-width:0;min-height:46px;font:inherit;background:#ffffffeb;border:1px solid #5d41252e;border-radius:16px;padding:0 15px}.admin-list-card{text-align:left;cursor:pointer;background:#ffffffb8;border:1px solid #5d41251f;border-radius:20px;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:16px 18px;display:flex}.admin-list-card div{flex-direction:column;gap:4px;min-width:0;display:flex}.admin-list-card strong,.admin-list-card span,.admin-list-card small{overflow-wrap:anywhere}.admin-list-card span,.admin-list-card small{color:var(--muted)}.admin-list-card-active{background:#f4e8dddb;border-color:#8f341552}.admin-list-card:disabled{cursor:wait;opacity:.7}.empty-state{color:var(--muted);text-align:center;background:#ffffff85;border:1px dashed #5d412538;border-radius:18px;margin:0;padding:18px;font-weight:700}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-actions{flex-wrap:wrap;gap:12px;display:flex}.download-actions{flex-wrap:wrap;gap:12px;min-width:0;display:flex}.download-actions a,.download-actions button{color:#fff7ef;cursor:pointer;text-align:center;background:#2f2016;border:0;border-radius:14px;justify-content:center;align-items:center;min-width:0;min-height:44px;padding:0 18px;font-weight:700;display:inline-flex}@media (width<=960px){.login-hero,.hero,.content-grid,.admin-grid{grid-template-columns:1fr}.login-copy{min-height:380px}.preview-panel{position:static}.line-item-layout,.line-item-fields,.hero-metrics,.hero-badge-grid,.admin-form-grid,.history-overview{grid-template-columns:1fr}.line-item-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.app-shell{width:min(1200px,100% - 24px);padding-top:18px}.login-shell{width:min(1200px,100% - 24px);padding:18px 0}.login-copy,.login-panel{border-radius:22px;padding:22px}.login-copy{min-height:340px}.login-copy h1{font-size:clamp(2.2rem,16vw,4rem)}.panel,.status-card,.hero-badge{border-radius:22px;padding:20px}.calc-grid,.invoice-meta,.totals,.preview-rate-bar,.top-fields,.line-item-metrics,.history-overview{grid-template-columns:1fr}.invoice-card header{flex-direction:column}.panel-header-row,.panel-actions,.modal-actions,.admin-actions{flex-direction:column;align-items:stretch}.admin-auth-input-row,.login-password-row,.login-metrics{grid-template-columns:1fr}.form-panel input,.form-panel select,.admin-form-panel input,.admin-form-panel select{font-size:.92rem}}@media (width<=760px){.history-table-wrap{display:none}.history-mobile-list{display:flex}.history-mobile-meta{grid-template-columns:1fr}}:root{color:#23160f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink:#23160f;--accent:#8f3415;--muted-strong:#5e4129;--muted:#80685a;--border:#5d412526;background:radial-gradient(circle at 0 0,#d7895a33,#0000 30%),radial-gradient(circle at 100% 100%,#60361417,#0000 24%),linear-gradient(#fff9f3 0%,#f2e6da 100%);font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{min-width:320px;max-width:100%;overflow-x:hidden}body{width:100%;min-width:320px;max-width:100%;min-height:100vh;color:var(--ink);margin:0;overflow-x:hidden}#root{width:100%;max-width:100%;overflow-x:hidden}button,input,select{font:inherit;max-width:100%}a{color:inherit;text-decoration:none}
