:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17202a;background:#f4f6f8}*{box-sizing:border-box}body{margin:0;background:#f4f6f8}a{color:#146c53;text-decoration:none}button,input,select{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:250px;background:#10251f;color:#fff;padding:24px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand,.auth-brand{font-size:22px;font-weight:800;letter-spacing:.06em}.brand span,.auth-brand span{color:#63d4a9}.brand small,.auth-brand small{display:block;font-size:11px;font-weight:500;letter-spacing:.08em;opacity:.65;margin-top:3px}.sidebar nav{margin-top:34px;display:grid;gap:5px}.sidebar nav a{color:#dce8e3;padding:10px 12px;border-radius:8px}.sidebar nav a:hover{background:#1b3a30}.sidebar-foot{margin-top:auto;font-size:13px;color:#cbd8d3}.link-btn{background:none;border:0;color:#7ed8b6;padding:8px 0;cursor:pointer}.content{margin-left:250px;width:calc(100% - 250px);padding:26px 34px 50px}.topbar{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #e3e8ea;padding:14px 18px;border-radius:12px;margin-bottom:24px}.topbar span{display:block;font-size:12px;color:#728078;margin-top:3px}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:8px 0 22px}.page-head h1{font-size:28px;margin:0 0 6px}.page-head p{margin:0;color:#6b7470}.button{border:0;background:#146c53;color:#fff;padding:10px 15px;border-radius:8px;font-weight:700;cursor:pointer;display:inline-block}.button.secondary{background:#e8f1ed;color:#175f4c}.button.danger{background:#a83e3e}.button.wide{width:100%}.panel{background:#fff;border:1px solid #e2e7e9;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 2px 9px rgba(31,48,42,.04)}.panel.narrow{max-width:720px}.panel h2{margin-top:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stats>div{background:#fff;border:1px solid #e2e7e9;border-radius:12px;padding:18px}.stats span{font-size:12px;color:#74807b;text-transform:uppercase;letter-spacing:.06em}.stats strong{display:block;font-size:22px;margin-top:7px}.checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;color:#315246}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:1fr 1fr 2fr;gap:14px}label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#45504b;margin-bottom:14px}input,select{width:100%;border:1px solid #cfd7d4;border-radius:8px;padding:10px 11px;background:#fff}.inline-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.inline-form input,.inline-form select{width:auto;min-width:150px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:11px 10px;border-bottom:1px solid #edf0f1;text-align:left;white-space:nowrap}th{font-size:12px;color:#65716c;text-transform:uppercase;letter-spacing:.04em;background:#fafbfb}tfoot th{font-size:14px;background:#f5f8f7}.num{text-align:right}.pill{display:inline-block;background:#edf2f0;color:#38574c;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.pill.posted{background:#e5f5ed;color:#17714e}.pill.reversed{background:#f8e9e9;color:#934646}.totals{display:flex;gap:28px;justify-content:flex-end;margin:18px 0;font-size:13px}.totals strong{display:block;font-size:17px;text-align:right}.flash{padding:12px 15px;border-radius:9px;margin-bottom:18px;background:#e7f6ee;color:#1e684c;border:1px solid #ccebdc}.flash.error{background:#faecec;color:#923b3b;border-color:#efcdcd}.balance-banner{padding:13px 16px;border-radius:10px;margin-bottom:15px;font-weight:800}.balance-banner.ok{background:#e7f6ee;color:#1d6b4d}.balance-banner.bad{background:#faecec;color:#923b3b}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.company-card{background:#fff;border:1px solid #e2e7e9;border-radius:12px;padding:18px}.company-card h3{margin:0 0 7px}.company-card p{color:#707c77;font-size:13px}.icon{border:0;background:#f1f3f2;border-radius:6px;padding:5px 9px;cursor:pointer}.closing{text-align:right}.auth-shell{max-width:420px;margin:8vh auto;padding:20px}.auth-brand{text-align:center;color:#10251f;margin-bottom:24px}.auth-card{background:#fff;border:1px solid #e1e6e8;border-radius:14px;padding:28px;box-shadow:0 8px 30px rgba(30,50,43,.08)}.auth-card h1{margin-top:0}.auth-card p{color:#69746f}.muted{font-size:13px;text-align:center}@media(max-width:900px){.sidebar{width:210px}.content{margin-left:210px;width:calc(100% - 210px);padding:20px}.stats{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:1fr}.checklist{grid-template-columns:1fr}}@media(max-width:680px){.sidebar{position:static;width:100%;min-height:auto}.app-shell{display:block}.content{margin:0;width:100%;padding:16px}.sidebar nav{grid-template-columns:1fr 1fr;margin-top:20px}.sidebar-foot{margin-top:20px}.topbar,.page-head{flex-direction:column}.stats,.cards,.grid2{grid-template-columns:1fr}.inline-form{display:grid}.inline-form input,.inline-form select{width:100%}}
textarea{width:100%;border:1px solid #cfd7d4;border-radius:8px;padding:10px 11px;background:#fff;font:inherit}.pill.open{background:#eef4ff;color:#315f9c}.pill.paid{background:#e5f5ed;color:#17714e}.pill.overdue{background:#faecec;color:#923b3b}.pill.partially_paid,.pill.partially_credited{background:#fff5df;color:#8d6610}.page-head .button+.button{margin-left:6px}

.trial-report{position:relative;user-select:none;-webkit-user-select:none}
.trial-watermark{position:absolute;right:18px;top:10px;font-size:28px;font-weight:800;opacity:.10;transform:rotate(-8deg);pointer-events:none}
.locked-row td{text-align:center;padding:24px!important;background:#f5f5f5}
@media print{.trial-report,.trial-report *{display:none!important}}
.check{display:inline-block;margin:8px 18px 8px 0}

.export-actions{display:flex;gap:8px;justify-content:flex-end;margin:0 0 12px 0}

.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.report-tile{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid #d8dee6;border-radius:8px;text-decoration:none}
.report-tile span{font-size:12px;opacity:.7}
.report-scroll{overflow:auto}
.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}

/* Milestone 37 — simplified navigation and onboarding */
.nav-group{margin:2px 0;border:0}.nav-group summary{cursor:pointer;padding:9px 14px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.8;list-style:none}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:'›';float:right;transform:rotate(90deg)}.nav-group:not([open]) summary:after{transform:none}.nav-group a{padding-left:22px!important}
.progress{height:8px;background:#e9ecef;border-radius:999px;overflow:hidden;margin:12px 0 18px}.progress span{display:block;height:100%;background:currentColor}
.onboarding-grid,.quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.setup-item,.quick-grid a{display:flex;gap:10px;align-items:center;padding:14px;border:1px solid #e5e7eb;border-radius:10px;text-decoration:none;color:inherit;background:#fff}.setup-item>span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;border:1px solid #cbd5e1;font-weight:700}.setup-item.done{opacity:.7}.setup-item.done>span{background:#eef2f7}.setup-item div,.quick-grid a{min-width:0}.setup-item small,.quick-grid small{display:block;margin-top:3px;opacity:.65}.quick-grid a{display:block}.quick-grid a:hover,.setup-item:hover{border-color:#94a3b8}
@media(max-width:760px){.onboarding-grid,.quick-grid{grid-template-columns:1fr}}

.uat-badge{padding:8px 12px;border-radius:999px;font-weight:800}.uat-badge.pass{background:#e8f5e9}.uat-badge.warn{background:#fff3cd}

/* UAT M47 usability */
.sidebar nav{overflow-y:auto;min-height:0;flex:1;padding-right:4px}.sidebar-foot{flex:0 0 auto}.transaction-summary{margin:16px 0 20px auto;max-width:420px;border:1px solid #dbe3e0;border-radius:10px;padding:12px 16px;background:#fafcfb}.transaction-summary>div{display:flex;justify-content:space-between;padding:6px 0}.transaction-summary .grand{font-size:18px;border-top:2px solid #cfd9d5;margin-top:5px;padding-top:10px}.ledger-group h2{position:sticky;top:0;background:#fff;padding:8px 0}.full{grid-column:1/-1}

/* UAT M48 */
.field-help{display:block;color:#6b7470;font-size:11px;font-weight:500;max-width:430px;line-height:1.45}.line-actions{display:flex;justify-content:flex-end;margin:6px 0 10px}.remove-line{font-size:18px;color:#8a3030}.line-total{font-weight:700;min-width:100px}

/* UAT M49 navigation */
.nav-subhead{display:block;padding:10px 16px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.6;font-weight:700}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid3>div{display:flex;flex-direction:column;gap:5px}@media(max-width:900px){.grid3{grid-template-columns:1fr}}

/* UAT M50 - professional COA and employee/payroll setup */
.account-form-grid{display:grid;grid-template-columns:180px minmax(240px,1.6fr) minmax(170px,.8fr) minmax(220px,1.1fr) minmax(150px,.7fr) auto;gap:14px;align-items:end}.account-form-grid label,.account-edit-grid label{min-width:0}.account-add-action{align-self:end;padding-bottom:1px}.account-edit-grid{display:grid;grid-template-columns:180px minmax(280px,1.5fr) 180px minmax(240px,1fr) 160px;gap:16px;align-items:start}.danger-zone{border-left:4px solid #b33}.button.danger{background:#9b2c2c}.button.tiny{padding:7px 11px;font-size:12px}.employee-master-form{padding:0;overflow:hidden}.employee-section{padding:22px 24px;border-bottom:1px solid #e6ebe8}.employee-section:last-of-type{border-bottom:0}.employee-section h2{margin:0 0 16px;font-size:18px}.form-grid.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 18px}.span2{grid-column:span 2}.span3{grid-column:1/-1}.form-actions{padding:18px 24px;background:#f7f9f8;border-top:1px solid #e6ebe8}.check-label{display:flex!important;align-items:center;gap:8px;padding-top:28px}.check-label input{width:auto!important}.salary-picker select{max-width:480px}.link-danger{border:0;background:none;color:#a22;cursor:pointer;text-decoration:underline;padding:0}.field-help{display:block;margin-top:5px;line-height:1.35;color:#65706c}
@media(max-width:1200px){.account-form-grid{grid-template-columns:160px 1.4fr 180px 1fr 150px}.account-add-action{grid-column:1/-1}.account-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three-col{grid-template-columns:repeat(2,minmax(0,1fr))}.span3{grid-column:1/-1}}
@media(max-width:760px){.account-form-grid,.account-edit-grid,.form-grid.three-col{grid-template-columns:1fr}.span2,.span3{grid-column:auto}.check-label{padding-top:0}}

/* M68F.2 — sidebar submenu alignment: every submenu item is a full-width row */
.sidebar{overflow-x:hidden}
.sidebar nav{
  display:block !important;
  overflow-x:hidden !important;
  overflow-y:auto;
  width:100%;
  min-width:0;
}
.sidebar nav > a,
.sidebar .nav-group,
.sidebar .nav-group > summary,
.sidebar .nav-group > a,
.sidebar .nav-group > .nav-subhead{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
.sidebar nav > a,
.sidebar .nav-group > a{
  display:block !important;
  float:none !important;
  clear:both !important;
  position:relative;
  white-space:normal !important;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.3;
}
.sidebar .nav-group{display:block !important;margin:6px 0 10px}
.sidebar .nav-group > summary{display:block !important;box-sizing:border-box}
.sidebar .nav-group > .nav-subhead{display:block !important;clear:both;padding:10px 12px 4px 18px}
.sidebar .nav-group > a{box-sizing:border-box;padding:8px 12px 8px 28px !important;margin:0 !important;border-radius:7px}
.sidebar .nav-group > a + a{margin-top:1px !important}
.sidebar .nav-group > a:hover{background:#1b3a30}
.sidebar .nav-group > a.active,
.sidebar .nav-group > a[aria-current="page"]{background:#1b3a30;color:#fff;font-weight:700}
.sidebar nav::-webkit-scrollbar{width:7px;height:0}
.sidebar nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:999px}
.sidebar nav::-webkit-scrollbar-track{background:transparent}

/* Do not restore the old two-column sidebar on small screens. */
@media(max-width:680px){
  .sidebar nav{display:block !important;grid-template-columns:none !important}
  .sidebar .nav-group > a{padding-left:28px !important}
}


/* M69.7C — global page exit / ESC navigation */
.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.global-page-exit{white-space:nowrap}
.page-exit-row{display:flex;justify-content:flex-end;margin:0 0 16px}
@media(max-width:680px){.topbar-actions{width:100%;justify-content:flex-start}.page-exit-row{justify-content:flex-start}}

/* M69.9A company profile */
.company-logo-preview{display:flex;align-items:center;gap:18px;margin:8px 0 16px;flex-wrap:wrap}.company-logo-preview img{max-width:180px;max-height:90px;object-fit:contain;border:1px solid #e5e7eb;border-radius:10px;padding:8px;background:#fff}.company-card-logo{max-width:120px;max-height:55px;object-fit:contain;margin-bottom:8px}.check{display:flex!important;align-items:center;gap:8px;font-weight:500}.check input[type=checkbox]{width:auto!important;margin:0}.panel h2{margin-top:24px}.panel h2:first-child{margin-top:0}

/* M69.9B document terms / commercial information */
.commercial-fields textarea,.document-info .preline{white-space:pre-wrap}
.commercial-fields h2,.document-info h2{margin-top:0}
.document-info h3{margin-bottom:.25rem;margin-top:1rem}
.document-info .preline{margin-top:0}
