:root{--bg:#f4f7f4;--panel:#fff;--text:#18231c;--muted:#64736a;--line:#dfe7e1;--primary:#25643d;--primary2:#1c4f30;--danger:#a73a3a;--shadow:0 10px 30px rgba(31,56,41,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:var(--primary);text-decoration:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:260px;background:#10291b;color:#fff;padding:18px 14px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:50}.brand{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;text-align:center;padding:6px 8px 18px;overflow:hidden}.brand strong,.brand span{display:block}.brand span{font-size:12px;color:#b8ccbf}.brand-mark{width:54px;height:54px;border-radius:18px;background:#dfeadf;color:#184d2f;display:grid;place-items:center;font-weight:800;font-size:22px}.brand-mark.small{width:38px;height:38px;border-radius:12px;font-size:16px}.sidebar nav{display:grid;gap:3px;overflow:auto;padding-right:2px}.sidebar nav a{color:#d9e6dd;padding:10px 12px;border-radius:10px;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#214b33;color:#fff}.side-footer{margin-top:auto;padding:16px 8px 4px;border-top:1px solid #315342;display:flex;justify-content:space-between;gap:12px;align-items:end}.side-footer span,.side-footer small{display:block}.side-footer small{color:#9fb3a7}.side-footer a{color:#fff;font-size:13px}.main{margin-left:260px;min-width:0;width:calc(100% - 260px)}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:14px 24px;position:sticky;top:0;z-index:20}.topbar h1{font-size:22px;margin:0}.topbar p{margin:3px 0 0;color:var(--muted);font-size:12px}.top-actions{margin-left:auto}.menu-btn{display:none;border:0;background:transparent;font-size:24px}.content{padding:22px}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpi,.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.kpi{padding:18px}.kpi span{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}.kpi strong{font-size:21px}.panel{padding:18px;margin-bottom:18px}.panel h2{margin:0 0 16px;font-size:17px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.split{display:flex;gap:18px;align-items:flex-start}.split>.panel{width:360px}.split>.grow{flex:1;width:auto}.narrow{max-width:720px}form{display:grid;gap:12px}label{font-size:12px;color:#44554a;font-weight:600;display:grid;gap:6px}input,select,textarea{width:100%;border:1px solid #ced9d1;border-radius:10px;padding:10px 11px;background:#fff;color:#15241b;outline:none;font:inherit}input:focus,select:focus,textarea:focus{border-color:#6fa081;box-shadow:0 0 0 3px rgba(37,100,61,.10)}textarea{min-height:86px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:10px;padding:9px 13px;font-weight:700;font-size:13px;cursor:pointer}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary2)}.btn.ghost{background:#fff;border-color:#cfd9d1;color:#234b33}.btn.full{width:100%}.icon-btn{border:0;background:#f0f3f1;border-radius:9px;font-size:20px}.alert{padding:12px 14px;border-radius:10px;margin-bottom:14px}.alert.success{background:#e9f6ed;color:#235c35}.alert.danger{background:#faeaea;color:#8d2d2d}.muted{color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid #edf1ee}th{background:#f8faf8;color:#526258;font-size:11px;text-transform:uppercase;letter-spacing:.03em}.empty{text-align:center;color:var(--muted);padding:25px}.line-items{display:grid;gap:8px}.line-head,.line-row{display:grid;grid-template-columns:1.2fr 2fr .6fr .8fr .55fr 38px;gap:8px;align-items:center}.line-head{font-size:11px;color:var(--muted);font-weight:700}.journal-row{display:grid;grid-template-columns:1.2fr 2fr .7fr .7fr;gap:8px;margin-bottom:8px}.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.filters label{min-width:160px}.auth-body{min-height:100vh;background:linear-gradient(145deg,#eef5ef,#dce9df);display:grid;place-items:center;padding:20px}.auth-card{width:min(430px,100%);background:#fff;border-radius:22px;padding:28px;box-shadow:0 20px 60px rgba(25,70,44,.14);border:1px solid #dce5de}.auth-card.wide{width:min(760px,100%)}.auth-card h1{margin-bottom:4px}.auth-card .brand-mark{margin-bottom:16px}.auth-card hr{border:0;border-top:1px solid var(--line);width:100%}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:1fr 1fr}.split{display:grid}.split>.panel,.split>.grow{width:100%}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.menu-btn{display:block}.topbar{padding:12px 14px;height:72px}.topbar h1{font-size:18px}.content{padding:12px}.cards,.grid.two,.grid.three{grid-template-columns:1fr}.line-head{display:none}.line-row{grid-template-columns:1fr 1fr}.line-row input:nth-of-type(1){grid-column:1/-1}.line-row .remove-line{grid-column:2}.journal-row{grid-template-columns:1fr 1fr}.journal-row input:nth-child(2){grid-column:1/-1}.kpi strong{font-size:19px}.top-actions{display:none}}
.doc-actions{display:flex;gap:6px;flex-wrap:wrap}.btn.mini{padding:6px 9px;font-size:11px}.panel hr{border:0;border-top:1px solid var(--line);width:100%;margin:8px 0}.panel p.muted{font-size:13px;line-height:1.5}
@media(max-width:760px){.doc-actions{min-width:230px}.doc-actions .btn{flex:1}.panel .btn+form{margin-top:12px}}

/* Expenses / Purchases compact line-entry layout */
.expense-lines-title{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:18px 0 10px}
.expense-lines-title h3{margin:0 0 3px;font-size:16px}
.expense-lines-title p{margin:0;font-size:12px}
.expense-lines-table{border:1px solid var(--line);border-radius:12px;overflow:auto;background:#fff}
.expense-line-head,.expense-line{display:grid;grid-template-columns:minmax(170px,1.25fr) minmax(180px,1.45fr) minmax(150px,1.1fr) 80px 110px 82px 105px 95px 110px 38px;gap:8px;align-items:center;min-width:1120px}
.expense-line-head{padding:10px 10px 8px;background:#f8faf8;color:#526258;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;border-bottom:1px solid var(--line)}
.expense-lines{display:block}
.expense-line{padding:9px 10px;border-bottom:1px solid #edf1ee}
.expense-line:last-child{border-bottom:0}
.expense-line label{display:block;margin:0}
.expense-line label.mobile-label{font-size:0}
.expense-line input,.expense-line select{height:38px;padding:7px 9px;border-radius:8px;font-size:12px}
.expense-line .icon-btn{width:34px;height:34px;display:grid;place-items:center;cursor:pointer;color:#8b3030;background:#fff1f1}
.expense-calc{min-height:38px;display:flex;align-items:center;justify-content:flex-end;padding:0 4px;font-size:12px;white-space:nowrap}
.expense-calc strong{font-size:12px}
.mobile-caption{display:none}
.expense-summary{width:min(430px,100%);margin:14px 0 18px auto;border:1px solid var(--line);border-radius:12px;background:#fbfcfb;padding:10px 14px}
.expense-summary>div{display:flex;justify-content:space-between;gap:20px;padding:7px 0;font-size:13px}
.expense-summary .grand{border-top:1px solid var(--line);margin-top:4px;padding-top:10px;font-size:15px}
#expenseForm>.grid.three{align-items:start}
#expenseForm select{min-height:40px}
@media(max-width:1100px){
  .expense-line-head,.expense-line{min-width:1050px;grid-template-columns:165px 175px 145px 72px 100px 76px 95px 90px 100px 36px}
}
@media(max-width:760px){
  .expense-lines-title{align-items:stretch;flex-direction:column}
  .expense-lines-title .btn{width:100%}
  .expense-lines-table{border:0;overflow:visible;background:transparent}
  .expense-line-head{display:none}
  .expense-line{min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;margin-bottom:12px;border:1px solid var(--line);border-radius:12px;background:#fff}
  .expense-line label.mobile-label{display:grid;font-size:11px}
  .expense-line label:nth-child(1),.expense-line label:nth-child(2),.expense-line label:nth-child(3){grid-column:1/-1}
  .expense-calc{display:grid;justify-content:stretch;align-content:center;padding:6px 8px;border-radius:8px;background:#f7f9f7}
  .expense-calc strong{text-align:right}
  .mobile-caption{display:block;font-size:10px;color:var(--muted);text-transform:uppercase}
  .expense-line .remove-expense-line{grid-column:2;justify-self:end}
  .expense-summary{margin-left:0}
}

/* Expenses UI v3: fit all line columns inside common desktop widths without clipping */
@media(min-width:761px){
  .expense-lines-table{overflow-x:hidden}
  .expense-line-head,.expense-line{
    min-width:0;
    width:100%;
    grid-template-columns:
      minmax(145px,1.15fr)
      minmax(150px,1.25fr)
      minmax(125px,1fr)
      68px
      96px
      72px
      88px
      82px
      94px
      34px;
    gap:7px;
  }
  .expense-line-head{font-size:9.5px;padding-left:8px;padding-right:8px}
  .expense-line{padding-left:8px;padding-right:8px}
  .expense-line input,.expense-line select{padding-left:7px;padding-right:7px}
  .expense-calc{padding-left:2px;padding-right:2px}
  .expense-line .remove-expense-line{justify-self:end}
}
@media(min-width:761px) and (max-width:1250px){
  .expense-line-head,.expense-line{
    grid-template-columns:
      minmax(130px,1.05fr)
      minmax(140px,1.15fr)
      minmax(115px,.95fr)
      62px
      88px
      68px
      80px
      76px
      88px
      32px;
    gap:6px;
  }
  .expense-line input,.expense-line select{font-size:11px}
  .expense-calc strong{font-size:11px}
}
\n.brand-logo{display:block;width:180px;height:92px;max-width:100%;object-fit:contain;object-position:center;background:#fff;border-radius:12px;padding:6px;margin:0 auto}.topbar-logo{width:56px;height:42px;object-fit:contain}.settings-logo-preview{display:block;width:min(260px,100%);max-height:130px;object-fit:contain;border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff;margin:6px 0}.grid-span-3{grid-column:1/-1}.lpo-head,.lpo-row{grid-template-columns:2.4fr .55fr .65fr .85fr .55fr 38px}.boq-head,.boq-row{display:grid;grid-template-columns:.45fr 2fr 1.3fr .55fr .55fr .8fr .55fr 38px;gap:8px;align-items:center;min-width:1050px}.boq-head{font-size:11px;color:var(--muted);font-weight:700;margin:8px 0}.boq-row{margin-bottom:8px}.boq-lines{overflow:auto}.boq-row input{min-width:0}.doc-brand-logo{width:210px;max-height:110px;object-fit:contain}@media(max-width:760px){.brand-logo{width:150px;height:76px}.topbar-logo{display:none}.lpo-head{display:none}.lpo-row{grid-template-columns:1fr 1fr}.boq-head{display:none}.boq-row{min-width:0;grid-template-columns:1fr 1fr}.boq-row input:nth-child(2),.boq-row input:nth-child(3){grid-column:1/-1}}\n
/* High Grow branding refinement */
.brand{padding:4px 8px 14px;gap:0;min-height:118px;overflow:visible}
.brand-logo{display:block;width:auto!important;height:auto!important;max-width:168px!important;max-height:104px!important;object-fit:contain!important;object-position:center!important;background:transparent!important;border-radius:0!important;padding:0!important;margin:0 auto!important}
.topbar-logo{width:auto;max-width:62px;height:46px;object-fit:contain;background:transparent}
@media(max-width:760px){.brand{min-height:96px;padding-bottom:10px}.brand-logo{max-width:145px!important;max-height:88px!important}}

/* Supplier RFQ */
.supplier-picker{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fbfcfb}
.supplier-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.check-card{display:flex;grid-template-columns:none;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fff}
.check-card input{width:auto;margin:0}
.rfq-lines{display:grid;gap:6px}
.rfq-line-head,.rfq-line{display:grid;grid-template-columns:60px 1.4fr 1.4fr 100px 90px 38px;gap:8px;align-items:center}
.rfq-line-head{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}
.rfq-supplier-row{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:4px 0}
.rfq-supplier-row>span:last-child{display:flex;gap:5px}
.rfq-awards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.rfq-award-card{border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:8px;background:#fff}
.rfq-award-card>strong{font-size:15px}.statusstamp{display:inline-block;border:2px solid var(--primary);color:var(--primary);padding:4px 8px;border-radius:6px;font-weight:800}
@media(max-width:900px){.supplier-checks,.rfq-awards{grid-template-columns:1fr 1fr}.rfq-line-head{display:none}.rfq-line{grid-template-columns:1fr 1fr}.rfq-line input:nth-child(2),.rfq-line input:nth-child(3){grid-column:1/-1}}
@media(max-width:600px){.supplier-checks,.rfq-awards{grid-template-columns:1fr}.rfq-supplier-row{align-items:flex-start;flex-direction:column}}
