:root{
  --navy:#15314a;--navy2:#214762;--blue:#2e93e4;--text:#203c54;--muted:#758795;
  --border:#dce6ed;--soft:#f5f8fa;--green:#21875c;--amber:#d38a25;--red:#b43a43;--white:#fff
}
*{box-sizing:border-box}body{margin:0;background:#f1f5f8;color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
button,input,select,textarea{font:inherit}.hidden{display:none!important}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(140deg,#edf7fd,#f9fbfc)}
.auth-card{width:min(430px,100%);padding:30px;border:1px solid var(--border);border-radius:21px;background:white;box-shadow:0 25px 70px rgba(20,52,77,.13)}
.auth-brand,.eyebrow{font-size:9px;font-weight:950;letter-spacing:.12em;color:var(--blue);text-transform:uppercase}.auth-card h1{margin:7px 0}.auth-card p{color:var(--muted)}
.auth-card label{display:flex;flex-direction:column;gap:6px;margin:14px 0;font-size:11px;font-weight:850}.auth-card input{height:46px;border:1px solid var(--border);border-radius:10px;padding:0 12px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:22px 15px;background:var(--navy);color:white;display:flex;flex-direction:column}
.back-link{color:#a8c2d6;font-size:11px;text-decoration:none;margin-bottom:24px}.back-link:hover{color:#fff}.brand{padding:0 9px 20px;border-bottom:1px solid rgba(255,255,255,.1)}
.brand strong{display:block;font-size:18px;letter-spacing:.03em}.brand span{display:block;margin-top:4px;color:#a8c2d6;font-size:11px}.sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:18px}
.side-btn{border:0;text-align:left;border-radius:9px;padding:11px 12px;background:transparent;color:#bdd0df;font-size:12px;font-weight:800;cursor:pointer}.side-btn:hover,.side-btn.active{background:#244b69;color:#fff}
.sidebar-bottom{margin-top:auto;padding:16px 9px 0;border-top:1px solid rgba(255,255,255,.1)}.org-badge{margin-bottom:8px;color:#9db7ca;font-size:10px}.text-btn{border:0;background:none;color:#c7d7e3;padding:0;cursor:pointer;font-size:11px}
.main{min-width:0;padding:26px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.topbar h1{margin:3px 0 5px;font-size:29px;letter-spacing:-.035em}.topbar p{margin:0;color:var(--muted);font-size:13px}
.primary-btn,.secondary-btn,.danger-outline-btn{border-radius:9px;padding:9px 12px;font-weight:850;font-size:11px;cursor:pointer}.primary-btn{border:1px solid #2885cf;background:linear-gradient(135deg,#3ca1ed,#2587d6);color:#fff}.secondary-btn{border:1px solid #ccdbe6;background:#fff;color:#426179}.danger-outline-btn{border:1px solid #e0a1a7;background:#fff;color:#aa333c}.compact{padding:7px 9px}.full{width:100%}
.view{display:none}.view.active{display:block}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric{padding:17px;border:1px solid var(--border);border-radius:15px;background:#fff;text-align:left;color:var(--text);box-shadow:0 6px 24px rgba(25,53,75,.045)}
.metric-link{cursor:pointer}.metric-link:hover{border-color:#a8cfea;transform:translateY(-1px)}.metric span{display:block;color:#758896;font-size:10px;font-weight:800}.metric strong{display:block;margin-top:5px;color:#16354e;font-size:26px;letter-spacing:-.03em}.metric small{display:block;margin-top:8px;color:#8797a3;font-size:9px}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{padding:18px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 7px 28px rgba(25,53,75,.045)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px}.panel-head h2{margin:0;font-size:18px}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.45}
.stack-list{display:flex;flex-direction:column;gap:8px}.stack-card{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px;border:1px solid #e1e9ef;border-radius:11px;background:#fbfdfe;cursor:pointer}.stack-card:hover{border-color:#b8d6eb}.stack-card strong{display:block;font-size:11px}.stack-card span{display:block;margin-top:3px;color:#7b8d9a;font-size:9px}.stack-card .amount{font-size:13px;color:#173a55;text-align:right}.stack-card .balance-label{color:#af3c45}
.invoice-tools{display:flex;gap:8px}.invoice-tools select,.invoice-tools input,.panel-head>input{height:39px;border:1px solid #d5e0e8;border-radius:9px;padding:0 10px;color:#3b5870;background:#fff}.table-wrap{overflow:auto;border:1px solid #e0e8ee;border-radius:11px}table{width:100%;border-collapse:collapse;font-size:10px}th{padding:9px;text-align:left;background:#f6f8fa;color:#758795;font-size:9px;white-space:nowrap}td{padding:10px 9px;border-top:1px solid #edf1f4;white-space:nowrap}tr:hover td{background:#fbfdfe}.num{text-align:right}.table-link{border:0;background:none;padding:0;color:#1e6fae;font-size:10px;font-weight:850;cursor:pointer}.table-link:hover{text-decoration:underline}
.status{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef4f8;color:#587188;font-size:8px;font-weight:900}.status-paid{background:#e9f7ef;color:#247d58}.status-partially-paid{background:#fff6df;color:#a16916}.status-sent{background:#eef7ff;color:#2679b8}.status-void{background:#f1f2f3;color:#7f888e}.status-draft{background:#f2f0fb;color:#685995}
dialog{border:0;border-radius:17px;padding:0;box-shadow:0 28px 90px rgba(14,35,51,.30);max-height:93vh}dialog::backdrop{background:rgba(9,24,36,.55)}.wide-dialog{width:min(1080px,96vw)}.detail-dialog{width:min(880px,95vw)}#paymentDialog{width:min(570px,94vw)}
.dialog-shell{max-height:93vh;display:flex;flex-direction:column;background:#f7f9fb}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:17px 20px;background:#fff;border-bottom:1px solid var(--border)}.dialog-head h2{margin:3px 0 2px;font-size:22px}.dialog-head p{margin:0;color:var(--muted);font-size:10px}.icon-btn{width:33px;height:33px;border:0;border-radius:9px;background:#eef3f6;color:#50697b;font-size:19px;cursor:pointer}.dialog-body{padding:18px 20px;overflow:auto}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:13px 20px;background:#fff;border-top:1px solid var(--border)}.split-actions{justify-content:space-between}.right-actions{display:flex;gap:8px}
.invoice-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:11px}.field>span{font-size:9px;font-weight:850;color:#587083}.field input,.field select,.field textarea{width:100%;border:1px solid #d3dfe7;border-radius:9px;padding:9px 10px;outline:none;background:#fff;color:#28465d}.field input,.field select{height:42px}.field textarea{resize:vertical;line-height:1.45}.field input:focus,.field select:focus,.field textarea:focus{border-color:#71b5e7;box-shadow:0 0 0 3px rgba(46,147,228,.10)}
.estimate-load-row{display:grid;grid-template-columns:1fr auto;gap:7px}.section-label-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:13px 0 9px}.section-label-row strong{display:block;font-size:11px}.section-label-row span{display:block;margin-top:2px;color:#84939e;font-size:8px}.invoice-items{border:1px solid #dde6ed;border-radius:11px;overflow:hidden;background:#fff}.invoice-items-head,.invoice-item-row{display:grid;grid-template-columns:minmax(260px,2.4fr) 90px 100px 120px 120px 38px;gap:7px;align-items:center;padding:8px}.invoice-items-head{background:#f4f7f9;color:#788a98;font-size:8px;font-weight:900}.invoice-item-row{border-top:1px solid #edf1f4}.invoice-item-row:first-child{border-top:0}.invoice-item-row input{width:100%;height:38px;border:1px solid #d8e2e9;border-radius:8px;padding:0 8px;color:#345168}.invoice-item-amount{text-align:right;font-size:11px;font-weight:850}.remove-row-btn{border:0;background:#fff0f1;color:#ae3942;border-radius:7px;width:30px;height:30px;cursor:pointer}
.invoice-lower-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;margin-top:16px}.totals-card{padding:15px;border:1px solid #dce6ed;border-radius:12px;background:#fff}.discount-row,.tax-row,.total-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:10px}.discount-row input{width:120px;height:36px;border:1px solid #d7e2e9;border-radius:8px;padding:0 8px;text-align:right}.tax-row{border-bottom:1px solid #e9eef2}.total-row strong{font-size:11px}.grand{margin-top:4px;padding-top:12px;border-top:1px solid #dbe4eb}.grand strong{font-size:18px;color:#163650}.invoice-payment-summary{margin-top:9px;padding:10px;border-radius:9px;background:#f2f8fc}.invoice-payment-summary>div{display:flex;justify-content:space-between;padding:4px 0;font-size:10px}.invoice-payment-summary>div:last-child strong{color:#a33a43}
.detail-top{display:grid;grid-template-columns:1.2fr .8fr;gap:15px}.detail-card{padding:14px;border:1px solid #dfe8ee;border-radius:12px;background:#fff}.detail-card h3{margin:0 0 10px;font-size:11px}.detail-field{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:10px}.detail-field span{color:#7c8d99}.detail-field strong{text-align:right}.detail-balance{padding:17px;border-radius:12px;background:linear-gradient(135deg,#163a55,#245c7f);color:#fff}.detail-balance span{display:block;color:#c1d6e5;font-size:9px}.detail-balance strong{display:block;margin-top:4px;font-size:29px}.detail-balance small{display:block;margin-top:8px;color:#bcd3e3;font-size:9px}.detail-items{margin-top:14px}.detail-items table{border:1px solid #e0e8ee;border-radius:10px;overflow:hidden}.payments-block{margin-top:14px}.payment-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:10px;border:1px solid #e0e8ee;border-radius:10px;background:#fff;margin-top:7px}.payment-row strong{display:block;font-size:10px}.payment-row span{display:block;margin-top:3px;color:#7d8e9b;font-size:9px}.payment-row .payment-amount{font-size:13px;color:#217a56;text-align:right}.receipt-btn{border:0;background:none;color:#267dbd;padding:3px 0;font-size:8px;font-weight:850;cursor:pointer}
.payment-balance-card{margin-bottom:14px;padding:14px;border-radius:11px;background:#173b56;color:white}.payment-balance-card span{display:block;color:#bdd2df;font-size:9px}.payment-balance-card strong{display:block;margin-top:3px;font-size:24px}.two-field{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-line{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid #e2e9ee;border-radius:9px;background:#fff;font-size:10px}.check-line small{display:block;margin-top:3px;color:#8796a1;font-size:8px}.empty-state{padding:24px;text-align:center;color:#82929e;font-size:10px}
@media(max-width:1000px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.metrics{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.invoice-form-grid{grid-template-columns:1fr 1fr}.invoice-items{overflow:auto}.invoice-items-head,.invoice-item-row{min-width:820px}}
@media(max-width:720px){.app-shell{display:block}.sidebar{position:relative;height:auto}.sidebar nav{flex-direction:row;overflow:auto}.main{padding:15px}.topbar{flex-direction:column}.metrics{grid-template-columns:1fr}.invoice-tools{width:100%;flex-direction:column}.panel-head{flex-direction:column}.invoice-form-grid,.invoice-lower-grid,.detail-top,.two-field{grid-template-columns:1fr}.dialog-actions{flex-wrap:wrap}.split-actions{align-items:stretch;flex-direction:column}.right-actions{justify-content:flex-end}}


/* ===== Quick Receipt V1 ===== */
.quick-receipt-layout{
  display:grid;
  grid-template-columns:minmax(0,720px);
  justify-content:center;
}
.quick-receipt-panel,.quick-result-panel{width:100%}
.quick-receipt-callout{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-bottom:15px;
  padding:12px 13px;
  border:1px solid #cfe2f1;
  border-radius:11px;
  background:#f2f9fe
}
.quick-receipt-callout strong{font-size:11px;color:#226da5}
.quick-receipt-callout span{font-size:9px;color:#687f91;line-height:1.5}
.quick-customer-snapshot{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:-1px 0 13px
}
.quick-customer-snapshot>div{
  padding:9px 10px;
  border:1px solid #e0e8ee;
  border-radius:9px;
  background:#fbfdfe
}
.quick-customer-snapshot span{
  display:block;
  margin-bottom:3px;
  color:#83929e;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:850
}
.quick-customer-snapshot strong{
  display:block;
  color:#36546b;
  font-size:10px;
  word-break:break-word
}
.quick-receipt-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:5px
}
.quick-success-icon{
  display:grid;
  place-items:center;
  width:56px;height:56px;
  margin:5px auto 14px;
  border-radius:50%;
  background:#e9f7ef;
  color:#21855a;
  font-size:27px;
  font-weight:900
}
.quick-result-panel{text-align:center;padding:32px}
.quick-result-panel h2{margin:5px 0 3px;font-size:23px;color:#173a54}
.quick-result-panel>p{margin:0;color:#778a98;font-size:11px}
.quick-result-amount{
  margin:18px 0 5px;
  color:#173a54;
  font-size:38px;
  font-weight:900;
  letter-spacing:-.04em
}
.quick-result-meta{color:#738694;font-size:10px}
.quick-result-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:23px
}
.quick-email-note{
  display:block;
  max-width:500px;
  margin:13px auto 0;
  color:#8b99a4;
  font-size:8px;
  line-height:1.5
}
@media(max-width:650px){
  .quick-customer-snapshot{grid-template-columns:1fr}
}


/* ===== Quick Receipt V2: free-form customers + editing ===== */
.quick-customer-field{position:relative}
.quick-customer-suggestions{
  position:absolute;
  z-index:50;
  top:67px;
  left:0;
  right:0;
  max-height:260px;
  overflow:auto;
  border:1px solid #cadbe7;
  border-radius:10px;
  background:#fff;
  box-shadow:0 14px 35px rgba(21,49,74,.16)
}
.quick-suggestion{
  display:block;
  width:100%;
  padding:10px 11px;
  border:0;
  border-top:1px solid #edf2f5;
  background:#fff;
  text-align:left;
  cursor:pointer
}
.quick-suggestion:first-child{border-top:0}
.quick-suggestion:hover{background:#f2f8fc}
.quick-suggestion strong{display:block;color:#2c4c63;font-size:10px}
.quick-suggestion span{display:block;margin-top:3px;color:#7c8d99;font-size:8px}
.quick-suggestion-empty{
  padding:11px;
  color:#7a8d9a;
  font-size:9px;
  line-height:1.45
}
.quick-edit-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:5px;
  margin-bottom:10px;
  padding:10px 11px;
  border:1px solid #f0d7a6;
  border-radius:9px;
  background:#fff8e9
}
.quick-edit-banner strong{display:block;color:#8b621f;font-size:10px}
.quick-edit-banner span{display:block;margin-top:2px;color:#9c7c46;font-size:8px}
.quick-ledger-actions{display:flex;gap:8px;align-items:center}
.danger-link{color:#ad3943!important}
@media(max-width:650px){
  .quick-edit-banner{align-items:flex-start;flex-direction:column}
}


/* ===== Expense Receipt Scanner V1 ===== */
.scan-layout{display:grid;grid-template-columns:1fr;gap:18px}
.scanner-head-actions{display:flex;gap:8px}
.scan-drop-zone{
  min-height:300px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:30px 18px;
  border:2px dashed #b9cfde;
  border-radius:16px;
  background:linear-gradient(180deg,#fbfdff,#f3f8fb);
  text-align:center
}
.scan-camera-icon{
  display:grid;place-items:center;
  width:68px;height:68px;
  margin-bottom:13px;
  border-radius:18px;
  background:#e5f3fd;
  color:#2d8fd7;
  font-size:34px;font-weight:900
}
.scan-drop-zone>strong{font-size:16px;color:#23465f}
.scan-drop-zone>span{max-width:460px;margin-top:6px;color:#7b8e9b;font-size:10px;line-height:1.55}
.scan-capture-actions{display:flex;gap:9px;margin-top:18px;flex-wrap:wrap;justify-content:center}
.scan-file-label{position:relative;display:inline-flex;align-items:center;justify-content:center}
.scan-file-label input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.scan-preview-wrap{
  display:grid;
  justify-items:center;
  gap:12px;
  padding:15px;
  border:1px solid #dce6ed;
  border-radius:14px;
  background:#f7fafc
}
.scan-preview-wrap>img{
  display:block;
  max-width:min(100%,520px);
  max-height:620px;
  object-fit:contain;
  border-radius:10px;
  box-shadow:0 7px 24px rgba(26,56,78,.13);
  background:white
}
.scan-preview-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.scan-progress{
  display:flex;align-items:center;gap:12px;
  width:min(100%,520px);
  padding:12px;
  border-radius:10px;
  background:#edf7fe;
  color:#315b78
}
.scan-spinner{
  width:24px;height:24px;border-radius:50%;
  border:3px solid #c7dfef;border-top-color:#2f91da;
  animation:receiptSpin .8s linear infinite
}
@keyframes receiptSpin{to{transform:rotate(360deg)}}
.scan-progress strong{display:block;font-size:10px}
.scan-progress span{display:block;margin-top:2px;color:#7790a1;font-size:8px}
.expense-editor{
  margin-top:2px;padding:16px;
  border:1px solid #d9e5ed;
  border-radius:14px;
  background:#fbfdfe
}
.expense-editor-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.expense-editor-head h3{margin:3px 0 2px;font-size:18px}
.expense-editor-head p{margin:0;color:#7a8c99;font-size:9px}
.confidence-badge{padding:6px 9px;border-radius:999px;background:#f0f3f5;color:#637785;font-size:8px;font-weight:900;white-space:nowrap}
.confidence-high{background:#e9f7ef;color:#247a57}.confidence-medium{background:#fff6df;color:#936319}.confidence-low{background:#fff0f0;color:#a7444b}
.expense-grid{display:grid;gap:10px}.expense-grid.three{grid-template-columns:repeat(3,1fr)}.expense-grid.two{grid-template-columns:repeat(2,1fr)}
.expense-item-title{margin-top:7px}
.expense-items-table{overflow:auto;border:1px solid #dce6ed;border-radius:11px;background:#fff}
.expense-items-head,.expense-item-row{
  display:grid;
  grid-template-columns:minmax(220px,2fr) 75px 105px 105px minmax(170px,1fr) 36px;
  gap:7px;align-items:center;
  min-width:820px;padding:8px
}
.expense-items-head{background:#f3f7f9;color:#768996;font-size:8px;font-weight:900}
.expense-item-row{border-top:1px solid #edf1f4}
.expense-item-row input,.expense-item-row select{
  height:37px;min-width:0;
  border:1px solid #d7e2e9;border-radius:7px;
  padding:0 7px;background:#fff;color:#35536a;font-size:9px
}
.expense-bottom-grid{display:grid;grid-template-columns:1fr 320px;gap:16px;margin-top:15px}
.expense-totals-card{padding:13px;border:1px solid #dce6ed;border-radius:11px;background:#fff}
.expense-totals-card label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 0;color:#637988;font-size:9px}
.expense-totals-card input{width:130px;height:35px;border:1px solid #d6e1e8;border-radius:7px;padding:0 8px;text-align:right}
.expense-totals-card .expense-grand{margin-top:6px;padding-top:10px;border-top:1px solid #dce5ec;color:#27475e;font-size:11px;font-weight:900}
.accountant-note{padding:10px;border:1px solid #e6e0c9;border-radius:9px;background:#fffbed;color:#796c42;font-size:8px;line-height:1.5}
.expense-save-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.expense-archive-tools{display:flex;gap:8px}.expense-archive-tools input,.expense-archive-tools select{height:38px;border:1px solid #d6e1e8;border-radius:8px;padding:0 9px;background:#fff;color:#405e75;font-size:9px}
.expense-archive-summary{display:flex;gap:10px;margin-bottom:11px}.expense-archive-summary>div{min-width:150px;padding:10px 12px;border:1px solid #e0e8ee;border-radius:10px;background:#f8fafc}
.expense-archive-summary span{display:block;color:#81919d;font-size:8px}.expense-archive-summary strong{display:block;margin-top:3px;color:#29485f;font-size:15px}
.cell-sub{margin-top:3px;max-width:230px;overflow:hidden;text-overflow:ellipsis;color:#8b98a2;font-size:8px}
.expense-receipt-dialog{width:min(850px,95vw)}
.expense-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.expense-detail-grid>div{padding:10px;border:1px solid #e0e8ee;border-radius:9px;background:#fff}
.expense-detail-grid span{display:block;color:#8695a0;font-size:8px;text-transform:uppercase;letter-spacing:.05em}.expense-detail-grid strong{display:block;margin-top:4px;font-size:10px}
.expense-detail-items{margin-top:13px}.expense-detail-totals{width:min(330px,100%);margin:13px 0 0 auto;padding:11px;border:1px solid #dfe7ed;border-radius:10px;background:#fff}
.expense-detail-totals>div{display:flex;justify-content:space-between;padding:5px 0;font-size:9px}.expense-detail-totals .grand{margin-top:4px;padding-top:9px;border-top:1px solid #dfe7ed;font-size:11px}
.expense-detail-note{margin-top:13px;padding:11px;border:1px solid #e0e8ee;border-radius:9px;background:#fff}.expense-detail-note span{font-size:8px;font-weight:900;color:#7c8e9a}.expense-detail-note p{margin:5px 0 0;font-size:10px;line-height:1.5}
@media(max-width:800px){
  .expense-grid.three,.expense-grid.two,.expense-bottom-grid{grid-template-columns:1fr}
  .expense-editor-head,.scanner-head{flex-direction:column}
  .expense-archive-tools{width:100%;flex-direction:column}
  .expense-archive-tools input,.expense-archive-tools select{width:100%}
}
@media(max-width:520px){
  .scanner-panel,.expense-archive-panel{padding:13px}
  .scan-drop-zone{min-height:360px;padding:24px 13px}
  .scan-capture-actions{width:100%;flex-direction:column}
  .scan-file-label{width:100%;min-height:48px}
  .scan-preview-actions{width:100%;flex-direction:column}
  .scan-preview-actions button{width:100%;min-height:45px}
  .expense-save-actions{flex-direction:column-reverse}
  .expense-save-actions button{width:100%;min-height:44px}
  .expense-archive-summary{display:grid;grid-template-columns:1fr 1fr}
  .expense-archive-summary>div{min-width:0}
  .expense-detail-grid{grid-template-columns:1fr}
}


/* ===== Expense Receipt Scanner V1.1 — PDF support ===== */
.scan-pdf-preview{
  width:min(100%,520px);
  min-height:260px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:28px;
  border:1px solid #d9e4eb;
  border-radius:12px;
  background:linear-gradient(180deg,#fff,#f5f8fa);
  box-shadow:0 7px 24px rgba(26,56,78,.08)
}
.scan-pdf-icon{
  display:grid;
  place-items:center;
  width:72px;height:84px;
  border-radius:10px;
  background:#b6424b;
  color:#fff;
  font-size:19px;
  font-weight:950;
  letter-spacing:.05em;
  box-shadow:0 6px 18px rgba(150,45,55,.18)
}
.scan-pdf-preview strong{
  display:block;
  max-width:300px;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#2c4c63;
  font-size:12px
}
.scan-pdf-preview span{
  display:block;
  margin-top:5px;
  color:#82929e;
  font-size:9px
}


/* ===== Rossi-Sendon Construction Group unified admin shell V1 ===== */
/* Mirrors the main Operations dashboard sidebar. */
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.app-shell{
  grid-template-columns:250px minmax(0,1fr);
}
.sidebar{
  position:sticky;
  top:0;
  height:100vh;
  padding:24px 18px;
  display:flex;
  flex-direction:column;
  gap:28px;
  background:linear-gradient(180deg,#0b1b30,#102945);
  color:#fff;
}
.sidebar-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  min-width:0;
  overflow:hidden;
  padding:4px 6px 14px;
}
.brand-logo{
  display:block;
  background:transparent!important;
  object-fit:contain;
}
.sidebar-logo{
  width:100%;
  max-width:190px;
  height:auto;
  max-height:92px;
  object-position:left center;
  border-radius:0!important;
  box-shadow:none!important;
  flex:0 0 auto;
}
.brand-sub{
  font-size:12px;
  color:#a9c6e5;
  margin-top:2px;
}
.sidebar-brand-sub{
  margin-left:2px;
}
.sidebar nav{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:0;
}
.side-btn{
  display:block;
  width:100%;
  box-sizing:border-box;
  border:0;
  background:transparent;
  color:#b9cce2;
  text-align:left;
  padding:12px 14px;
  border-radius:12px;
  font-size:inherit;
  font-weight:650;
  line-height:normal;
  text-decoration:none;
  cursor:pointer;
}
.side-btn:hover,
.side-btn.active{
  background:rgba(80,170,255,.15);
  color:#fff;
}
.side-link{
  white-space:nowrap;
}
.sidebar-bottom{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:0;
  border-top:0;
}
.org-badge{
  margin:0;
  padding:9px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#c7d8ea;
  text-align:center;
  font-size:12px;
}
.text-btn{
  border:0;
  background:transparent;
  color:#b9cce2;
  padding:8px;
  font-size:inherit;
}
.text-btn:hover{
  color:#fff;
}
@media(max-width:1000px){
  .app-shell{
    grid-template-columns:190px minmax(0,1fr);
  }
}
@media(max-width:760px){
  .app-shell{
    display:block;
  }
  .sidebar{
    position:static;
    height:auto;
    padding:14px;
    gap:14px;
  }
  .sidebar-brand{
    padding:0 4px 4px;
  }
  .sidebar-logo{
    max-width:165px;
    max-height:78px;
  }
  .sidebar nav{
    flex-direction:row;
    overflow:auto;
    gap:7px;
    padding-bottom:2px;
  }
  .side-btn{
    width:auto;
    min-width:max-content;
    white-space:nowrap;
  }
  .sidebar-bottom{
    display:none;
  }
}
