
    :root {
      --ink: #16191c;
      --muted: #68707a;
      --panel: #ffffff;
      --panel-2: #f6f4ef;
      --line: #ddd8cf;
      --brand: #f2a51a;
      --brand-dark: #b46f00;
      --steel: #254154;
      --green: #168567;
      --red: #b63d35;
      --blue: #2f6da3;
      --side: #13171b;
      --shadow: 0 18px 45px rgba(20, 20, 20, 0.08);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    * { box-sizing: border-box; }
    html, body { margin: 0; min-height: 100%; background: var(--panel-2); color: var(--ink); }
    body { overflow-x: hidden; }
    button, input, select, textarea { font: inherit; }
    button { cursor: pointer; }
    .hidden { display: none !important; }

    .login {
      min-height: 100vh;
      display: grid;
      grid-template-columns: minmax(340px, 480px) 1fr;
      background:
        linear-gradient(120deg, rgba(19, 23, 27, 0.98), rgba(37, 65, 84, 0.96)),
        repeating-linear-gradient(45deg, rgba(242, 165, 26, 0.13) 0 18px, rgba(255,255,255,0.02) 18px 36px);
    }
    .login-card {
      align-self: center;
      margin: 32px;
      background: #fff;
      border-radius: 8px;
      box-shadow: var(--shadow);
      padding: 28px;
    }
    .login-visual {
      min-height: 100%;
      padding: 48px;
      color: white;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 28px;
    }
    .blueprint {
      max-width: 680px;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
    }
    .blueprint div {
      min-height: 74px;
      border: 1px solid rgba(255,255,255,0.22);
      background: rgba(255,255,255,0.055);
      border-radius: 6px;
      padding: 12px;
      color: rgba(255,255,255,0.82);
      font-size: 12px;
      letter-spacing: 0;
    }
    .brand-row { display: flex; align-items: center; gap: 12px; }
    .brand-mark {
      width: 44px;
      height: 44px;
      border-radius: 8px;
      background: var(--brand);
      color: #191815;
      display: grid;
      place-items: center;
      font-weight: 900;
      letter-spacing: 0;
      flex: 0 0 auto;
    }
    h1, h2, h3, p { margin-top: 0; }
    .login h1 { margin-bottom: 6px; font-size: 30px; letter-spacing: 0; }
    .login p { color: var(--muted); line-height: 1.45; }
    .field { display: grid; gap: 6px; margin-bottom: 14px; }
    .field label { font-size: 12px; font-weight: 800; color: #3d444c; text-transform: uppercase; letter-spacing: 0; }
    .input, input, select, textarea {
      width: 100%;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #fff;
      color: var(--ink);
      padding: 10px 11px;
      min-height: 40px;
      outline: none;
    }
    textarea { resize: vertical; min-height: 84px; }
    input:focus, select:focus, textarea:focus { border-color: var(--brand-dark); box-shadow: 0 0 0 3px rgba(242,165,26,0.16); }
    .btn {
      border: 1px solid transparent;
      border-radius: 6px;
      padding: 10px 12px;
      background: var(--ink);
      color: white;
      font-weight: 800;
      min-height: 40px;
    }
    .btn.primary { background: var(--brand); color: #151515; }
    .btn.secondary { background: #fff; color: var(--ink); border-color: var(--line); }
    .btn.ghost { background: transparent; color: var(--ink); border-color: transparent; }
    .btn.danger { background: var(--red); color: #fff; }
    .btn.small { padding: 7px 9px; min-height: 32px; font-size: 12px; }
    .btn:disabled { opacity: 0.55; cursor: not-allowed; }

    .app {
      min-height: 100vh;
      display: grid;
      grid-template-columns: 292px 1fr;
    }
    .sidebar {
      background: var(--side);
      color: white;
      min-height: 100vh;
      padding: 18px 16px;
      position: sticky;
      top: 0;
      align-self: start;
      overflow-y: auto;
      max-height: 100vh;
    }
    .sidebar .brand-row { margin-bottom: 18px; }
    .sidebar .brand-text strong { display: block; font-size: 17px; }
    .sidebar .brand-text span { color: rgba(255,255,255,0.58); font-size: 12px; }
    .nav-group { margin: 18px 0 8px; color: rgba(255,255,255,0.48); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: 0; }
    .nav-btn {
      width: 100%;
      display: flex;
      gap: 10px;
      align-items: center;
      border: 0;
      border-radius: 6px;
      color: rgba(255,255,255,0.78);
      background: transparent;
      padding: 9px 10px;
      text-align: left;
      margin: 2px 0;
    }
    .nav-btn .nav-icon {
      width: 24px;
      height: 24px;
      border-radius: 6px;
      display: grid;
      place-items: center;
      background: rgba(255,255,255,0.08);
      color: var(--brand);
      font-size: 11px;
      font-weight: 900;
      flex: 0 0 auto;
    }
    .nav-btn.active, .nav-btn:hover {
      background: rgba(242,165,26,0.14);
      color: #fff;
    }
    .main {
      min-width: 0;
      display: flex;
      flex-direction: column;
    }
    .topbar {
      position: sticky;
      top: 0;
      z-index: 10;
      background: rgba(246,244,239,0.94);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid var(--line);
      padding: 14px 22px;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 14px;
      align-items: center;
    }
    .search-wrap { display: flex; align-items: center; gap: 10px; }
    .search-wrap input { max-width: 420px; background: #fff; }
    .top-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
    .user-pill {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 8px 10px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #fff;
      font-size: 13px;
      font-weight: 800;
    }
    .view {
      padding: 22px;
      width: 100%;
      max-width: 1680px;
    }
    .page-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 18px;
    }
    .page-title h2 { margin: 0 0 4px; font-size: 25px; letter-spacing: 0; }
    .page-title p { margin: 0; color: var(--muted); }
    .actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }

    .grid { display: grid; gap: 14px; }
    .grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .card {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 8px;
      box-shadow: 0 1px 0 rgba(20,20,20,0.02);
      padding: 16px;
    }
    .metric { min-height: 126px; display: flex; flex-direction: column; justify-content: space-between; }
    .metric span { color: var(--muted); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: 0; }
    .metric strong { font-size: 28px; letter-spacing: 0; }
    .metric small { color: var(--muted); }
    .metric.good strong { color: var(--green); }
    .metric.warn strong { color: var(--brand-dark); }
    .metric.bad strong { color: var(--red); }
    .section-title {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: center;
      margin: 22px 0 10px;
    }
    .section-title h3 { margin: 0; font-size: 17px; }
    .table-wrap {
      overflow: auto;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }
    table { width: 100%; border-collapse: collapse; min-width: 780px; }
    th, td {
      padding: 11px 12px;
      border-bottom: 1px solid #ece7de;
      text-align: left;
      vertical-align: top;
      font-size: 13px;
    }
    th {
      background: #faf8f3;
      color: #49515a;
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 0;
      font-weight: 900;
      position: sticky;
      top: 0;
      z-index: 1;
    }
    tr:last-child td { border-bottom: 0; }
    .row-actions { display: flex; gap: 6px; flex-wrap: wrap; }
    .tag {
      display: inline-flex;
      align-items: center;
      min-height: 24px;
      padding: 3px 8px;
      border-radius: 999px;
      background: #ede8dd;
      color: #3f454b;
      font-size: 12px;
      font-weight: 800;
      white-space: nowrap;
    }
    .tag.green { background: #e3f4ee; color: #0a6b51; }
    .tag.red { background: #f8e4e2; color: #9d302b; }
    .tag.gold { background: #faeed3; color: #8a5600; }
    .tag.blue { background: #e3eef7; color: #255d8d; }
    .empty {
      padding: 32px;
      text-align: center;
      color: var(--muted);
      border: 1px dashed var(--line);
      border-radius: 8px;
      background: rgba(255,255,255,0.6);
    }
    .tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 12px 0 16px; }
    .tab {
      border: 1px solid var(--line);
      background: #fff;
      border-radius: 6px;
      padding: 8px 10px;
      font-weight: 800;
      color: #4d5660;
    }
    .tab.active { border-color: var(--brand-dark); background: #fff5df; color: #191815; }
    .split {
      display: grid;
      grid-template-columns: minmax(260px, 360px) 1fr;
      gap: 14px;
    }
    .project-list {
      display: grid;
      gap: 8px;
      max-height: calc(100vh - 196px);
      overflow: auto;
    }
    .project-card {
      text-align: left;
      border: 1px solid var(--line);
      background: #fff;
      border-radius: 8px;
      padding: 12px;
    }
    .project-card.active { border-color: var(--brand-dark); background: #fff8e8; }
    .project-card strong { display: block; margin-bottom: 4px; }
    .project-card span { display: block; color: var(--muted); font-size: 12px; }
    .progress {
      height: 10px;
      background: #eee8dc;
      border-radius: 999px;
      overflow: hidden;
      margin-top: 10px;
    }
    .progress div { height: 100%; background: var(--green); min-width: 2px; }
    .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .form-grid .wide { grid-column: 1 / -1; }
    .check-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
    .check-grid label {
      display: flex;
      gap: 8px;
      align-items: center;
      border: 1px solid var(--line);
      border-radius: 6px;
      padding: 8px;
      text-transform: none;
      font-size: 13px;
      font-weight: 700;
    }
    .modal-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,0.42);
      display: grid;
      place-items: center;
      z-index: 100;
      padding: 18px;
    }
    .modal {
      width: min(920px, 100%);
      max-height: 92vh;
      overflow: auto;
      background: #fff;
      border-radius: 8px;
      box-shadow: 0 24px 80px rgba(0,0,0,0.28);
      border: 1px solid rgba(0,0,0,0.08);
    }
    .modal-head, .modal-foot {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 14px 16px;
      border-bottom: 1px solid var(--line);
    }
    .modal-foot { border-bottom: 0; border-top: 1px solid var(--line); justify-content: flex-end; }
    .modal-body { padding: 16px; }
    .modal h3 { margin: 0; }
    .toast {
      position: fixed;
      right: 18px;
      bottom: 18px;
      background: #111;
      color: #fff;
      padding: 12px 14px;
      border-radius: 8px;
      box-shadow: var(--shadow);
      z-index: 120;
      max-width: 360px;
    }
    .signature-pad {
      border: 1px solid var(--line);
      background: #fffdf8;
      border-radius: 8px;
      width: 100%;
      height: 220px;
      touch-action: none;
    }
    .calendar-grid {
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      gap: 1px;
      background: var(--line);
      border: 1px solid var(--line);
      border-radius: 8px;
      overflow: hidden;
    }
    .calendar-cell {
      min-height: 116px;
      background: #fff;
      padding: 8px;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .calendar-cell.muted { background: #faf8f3; color: #9aa0a7; }
    .calendar-day { font-weight: 900; font-size: 12px; }
    .event {
      font-size: 11px;
      line-height: 1.25;
      border-left: 3px solid var(--brand);
      background: #fff7e6;
      padding: 4px 5px;
      border-radius: 4px;
    }
    .bar-list { display: grid; gap: 9px; }
    .bar-row { display: grid; grid-template-columns: 160px 1fr auto; gap: 10px; align-items: center; }
    .bar-track { height: 10px; border-radius: 999px; background: #eee8dc; overflow: hidden; }
    .bar-track div { height: 100%; background: var(--steel); }
    .notice {
      background: #fff8e7;
      border: 1px solid #efd59d;
      color: #6b4a00;
      border-radius: 8px;
      padding: 12px;
      line-height: 1.45;
    }

    @media (max-width: 1080px) {
      .app { grid-template-columns: 1fr; }
      .sidebar {
        position: relative;
        min-height: auto;
        max-height: none;
        padding-bottom: 12px;
      }
      .nav-scroll {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(178px, max-content);
        overflow-x: auto;
        gap: 8px;
      }
      .nav-group { display: none; }
      .nav-btn { width: auto; white-space: nowrap; }
      .topbar { top: 0; }
      .grid.cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .split { grid-template-columns: 1fr; }
      .project-list { max-height: none; grid-template-columns: repeat(2, minmax(0,1fr)); }
    }

    @media (max-width: 720px) {
      .login { grid-template-columns: 1fr; }
      .login-visual { display: none; }
      .login-card { margin: 16px; }
      .topbar { grid-template-columns: 1fr; padding: 12px; }
      .top-actions { justify-content: stretch; }
      .top-actions .btn, .user-pill { flex: 1 1 auto; justify-content: center; }
      .view { padding: 14px; }
      .page-head { flex-direction: column; }
      .actions { justify-content: flex-start; }
      .grid.cols-2, .grid.cols-3, .grid.cols-4 { grid-template-columns: 1fr; }
      .form-grid { grid-template-columns: 1fr; }
      .project-list { grid-template-columns: 1fr; }
      .calendar-grid { display: block; border: 0; background: transparent; }
      .calendar-cell { min-height: auto; border: 1px solid var(--line); margin-bottom: 8px; border-radius: 8px; }
      .calendar-cell.muted { display: none; }
      .bar-row { grid-template-columns: 1fr; gap: 5px; }
    }
  
:root{--ink:#1b292c;--side:#172528;--brand:#f2b623;--brand-dark:#bd8706;--bg:#f3f5f5;--line:#d9e0e1;--blue:#2079a8;--green:#168371;--red:#b14345;--radius:6px}*{letter-spacing:0!important}body{font-size:16px}button,input,select,textarea{font-size:14px}input,select,textarea{min-height:44px}button{display:inline-flex;gap:7px;align-items:center;justify-content:center}button svg{flex:0 0 18px}button:focus-visible,a:focus-visible{outline:3px solid #1476a5;outline-offset:3px}h2{font-size:25px}.main{min-width:0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.page-head h2{margin:0}.page-head .actions{flex-wrap:wrap}.card{border-radius:0;box-shadow:none;border:none;border-top:2px solid var(--line);background:transparent;padding:16px 0}.grid .card{padding:16px;background:#fff;border-top:3px solid #238d90}.table-wrap{max-width:100%;border-radius:4px}th,td{font-size:14px}.field label,.field>span{font-size:14px;text-transform:none}.view{max-width:1800px;margin:auto}.actions.left{justify-content:flex-start;flex-wrap:wrap}.sidebar .nav-btn{min-height:42px;font-size:14px}.sidebar .nav-icon{background:none;width:22px;height:22px}.nav-group{font-size:12px}.row-actions{flex-wrap:nowrap}.row-actions .btn{min-width:34px}.row-actions .btn svg{width:16px}.user-pill{max-width:190px;text-overflow:ellipsis;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.login{display:grid;grid-template-columns:minmax(360px,500px) 1fr;background:white;gap:0;padding:0}.login-panel{padding:48px;display:flex;flex-direction:column;justify-content:center}.login-panel h1{font-size:25px}.login-panel form{margin-top:32px}.login-panel form .btn{width:100%}.login-product{background:#173a3d;color:#fff;padding:60px;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.product-wordmark{font-size:60px;font-weight:800;line-height:1.1;overflow-wrap:anywhere}.product-wordmark b{color:#f2b623}.login-product p{color:#d1e5e5;font-size:20px;margin-top:24px}.product-rule{width:80px;height:5px;background:#f2b623;margin-top:40px}.login-product .edition-label{font-size:14px;color:#fff}.brand-row img{border-radius:6px}.install-link{display:block;color:#d2e9e7;margin:24px 8px;font-size:14px}.muted{color:#586b71;line-height:1.6}.line-row{display:grid;grid-template-columns:minmax(180px,1fr) 86px 70px 110px 42px;gap:8px;align-items:end;margin:10px 0}.line-row label{font-size:13px}.line-row input{margin-top:4px}.line-row button{height:44px}.line-editor{border-top:1px solid var(--line);padding-top:8px}.line-editor .form-grid{margin-top:16px}.pdf-preview{width:100%;height:62vh;border:1px solid var(--line);background:white}.settings-form{max-width:1000px;margin-bottom:40px}.period-bar{display:flex;gap:20px;margin-bottom:20px}.signature-consent{display:flex;align-items:flex-start;gap:12px;margin-top:20px}.signature-consent input{width:22px;min-height:22px}.signature-pad{touch-action:none;background:#fff}.recovery-code{white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;background:#f2f5f5}.menu-toggle{display:none}.modal{max-width:min(1000px,96vw)}.modal-body{overflow-x:hidden}.modal-foot{flex-wrap:wrap}.modal-head h3{font-size:20px}#bootStatus{position:fixed;inset:0;display:grid;place-items:center;background:#172528;color:#f2b623;font-size:24px;z-index:200}.hidden{display:none!important}.notice{overflow-wrap:anywhere}.metric{min-width:0}.metric-value{font-size:28px;overflow-wrap:anywhere}.topbar{gap:12px}.field{min-width:0}h3{margin-top:28px}
@media(max-width:1000px){.app{grid-template-columns:240px 1fr}.sidebar{padding:14px 10px}.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.login-product{padding:40px}.product-wordmark{font-size:44px}.user-pill{display:none}}
@media(max-width:760px){.app{display:block}.sidebar{display:none;position:fixed;inset:66px auto 0 0;width:265px;min-height:0;z-index:40;box-shadow:6px 0 16px #0002}.sidebar.mobile-open{display:block}.menu-toggle{display:inline-flex}.topbar{padding:12px;position:sticky;top:0;z-index:30;flex-wrap:nowrap}.top-actions{gap:5px;flex-wrap:nowrap}.top-actions button{min-width:34px;padding:6px}.search-wrap{min-width:60px;flex:1}.search-wrap input{min-width:0;width:100%;padding:8px}.view{padding:20px 12px}.page-head{align-items:flex-start}.page-head h2{font-size:22px}.grid.cols-2{grid-template-columns:1fr}.login{display:block;min-height:100vh}.login-panel{padding:36px 24px;min-height:100vh}.login-product{display:none}.form-grid{grid-template-columns:1fr}.line-row{grid-template-columns:1fr 1fr 1fr 42px;border-bottom:1px solid var(--line);padding-bottom:14px}.line-row label:first-child{grid-column:1/-1}.line-row label:nth-child(3){display:none}.modal{width:96vw}.modal-body{padding:16px}.period-bar{display:grid;grid-template-columns:1fr 1fr;gap:10px}.recovery-code{font-size:14px}.row-actions{gap:5px}.topbar #quickNew{display:none}}
:root{--panel-2:#f2f6f6;--line:#d9e0e1}.sidebar .nav-btn{justify-content:flex-start}.project-card{align-items:flex-start;justify-content:flex-start}.dashboard-lists{display:grid;grid-template-columns:1fr 1fr;gap:22px}.backup-reminder{border-left:3px solid #f2b623;padding:12px 16px;font-size:14px}.grid .card .card{background:transparent;border-top:1px solid var(--line);padding:12px 0}.split>div>.card{background:transparent;border:0;padding:0}.calendar-cell{min-width:0}.event{overflow-wrap:anywhere}.project-list{min-width:0}
@media(max-width:1000px){.dashboard-lists{grid-template-columns:1fr}.split{grid-template-columns:1fr}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:230px;overflow:auto}}
@media(max-width:760px){.calendar-cell{min-height:80px;padding:3px}.calendar .event{font-size:12px}.project-list{grid-template-columns:1fr}}
.modal-foot{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);z-index:2}.modal-head{position:sticky;top:0;background:#fff;z-index:2}[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.sidebar,.topbar,.page-head .actions{display:none!important}.app{display:block}.view{padding:0}.table-wrap{overflow:visible}.card{break-inside:avoid}}

.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid #ddd;padding:16px}.permission-grid label{display:flex;gap:9px;font-size:14px}.permission-grid input{width:auto}.portal-projects,.portal-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.portal-card{background:white;border:1px solid #e1e5e6;border-radius:12px;padding:24px;overflow:hidden}.portal-card h3{margin:0 0 12px;font-size:20px}.portal-card-head,.progress-label{display:flex;justify-content:space-between;gap:14px;align-items:center}.portal-card p{line-height:1.6;white-space:pre-wrap}.portal-card progress{width:100%;height:12px;accent-color:#d99a22}.progress-label{margin:20px 0 8px}.project-photo{width:100%;max-height:360px;object-fit:contain;display:block;margin:16px 0}.portal-amount{font-size:26px}.portal-balance{background:#1b292c;color:#fff;border-radius:12px;padding:20px;display:flex;justify-content:space-between;font-size:20px}.portal-intro{font-size:16px}.view [hidden]{display:none!important}@media(max-width:800px){.portal-projects,.portal-records,.permission-grid{grid-template-columns:1fr}.portal-card{padding:18px}.top-actions{flex-wrap:wrap}.brand-text strong{font-size:16px}}.view{width:100%;min-width:0}.dashboard-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.dashboard-lists>section{min-width:0}.document-sheet{background:white;color:#172528;padding:24px;max-width:850px;margin:auto}.document-logo{width:210px;height:auto}.document-heading{display:flex;justify-content:space-between;align-items:center}.document-heading h2{font-size:24px}.document-totals{text-align:right}.document-terms{white-space:pre-wrap;line-height:1.6}.document-signature{max-width:200px}.document-sheet hr{border:0;border-top:3px solid #d99a22;margin:24px 0}@media(max-width:800px){.dashboard-lists{grid-template-columns:1fr}.document-sheet{padding:8px}.document-logo{width:160px}}@media print{body>*{display:none!important}body>#modalRoot{display:block!important}.modal-backdrop{position:static!important;background:white!important;padding:0!important;display:block!important}.modal{box-shadow:none!important;max-height:none!important;max-width:none!important;width:100%!important;border:0!important}.modal-head,.modal-foot{display:none!important}.modal-body{overflow:visible!important;max-height:none!important}.document-sheet{padding:0!important}.document-sheet table{min-width:0!important}}
.nav-scroll{display:block}.sidebar .nav-btn{width:100%}@media(min-width:761px){.app{grid-template-columns:260px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;min-height:0;overflow:auto}}@media(max-width:760px){.topbar{display:flex;align-items:center;gap:8px;height:66px}.topbar .search-wrap:has(input[hidden]){display:none}.topbar .top-actions{margin-left:auto;flex-wrap:nowrap}.topbar .menu-toggle{width:40px;flex:0 0 40px}.sidebar{overflow-y:auto}.sidebar .nav-scroll{display:block}.sidebar .nav-group{display:block}.sidebar .nav-btn{width:100%}.sidebar .brand-row{margin-bottom:8px}.sidebar .fergo-logo{width:130px}}

.company-logo{object-fit:contain;background:#fff;padding:4px;flex-shrink:0}.sidebar>.brand-row{align-items:center;gap:10px}.sidebar .brand-text strong{font-size:15px}.sidebar .brand-text span{font-size:12px;line-height:1.4}.login-panel .brand-row{align-items:center;flex-wrap:wrap}.login-panel .brand-row h1{font-size:24px}.login-panel #loginAreaTitle{font-size:14px;font-weight:600;margin:12px 0 0}#entrySwitch{display:block;margin-top:14px;font-size:14px}.staff-portal-link{margin-top:8px}.client-portal .staff-portal-link{display:none}
.view{margin:0 auto}.sidebar .company-logo{width:64px;height:auto}

/* In-app bilingual module guide. */
.usage-guide{max-width:1200px;width:100%}.guide-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:start}.guide-index{display:grid;gap:7px;position:sticky;top:12px;max-height:75vh;overflow:auto}.guide-index .btn{text-align:left;white-space:normal}.guide-topic{background:var(--panel,#fff);border:1px solid #d7dfdf;border-radius:8px;padding:16px;margin:0 0 12px;scroll-margin-top:20px}.guide-topic>summary{cursor:pointer;font-weight:700;font-size:16px}.guide-topic li{margin:12px 0;line-height:1.65}.guide-topic ol{padding-left:24px}.guide-fields{margin:14px 0}.guide-fields summary{cursor:pointer;color:#276b6c}.guide-fields dt{font-weight:700;margin-top:12px}.guide-fields dd{margin:4px 0 10px;color:#526265;line-height:1.5}.guide-search{max-width:600px;margin-top:20px}.guide-module[hidden]{display:none!important}#usageGuideButton{white-space:nowrap}@media(max-width:760px){.guide-layout{grid-template-columns:1fr}.guide-index{position:static;max-height:180px}.guide-topic{padding:12px}}
.proposal-document{background:#fff;color:#203338;padding:20px;line-height:1.65}.proposal-document h1{font-size:22px}.proposal-logo{width:160px;height:auto}.proposal-details{display:grid;grid-template-columns:35% 65%}.proposal-details dt,.proposal-details dd{padding:8px;margin:0;border-bottom:1px solid #d8e2e3;overflow-wrap:anywhere;white-space:pre-wrap}.proposal-details dt{font-weight:bold;background:#f3f5f5}.proposal-table{overflow:auto}.proposal-document .preserve-lines{white-space:pre-wrap}.proposal-document .signed-mark{max-width:240px;height:auto}.proposal-document .lien-notice{font-weight:bold}.proposal-document .initial-slot{border-left:4px solid #dca32e;background:#fff5da;padding:12px}.proposal-warning{background:#fff1d1;padding:12px;font-weight:bold}.proposal-document p{overflow-wrap:anywhere}.proposal-document .cancellation-copy{border-top:1px solid;margin-top:24px}@media(max-width:600px){.proposal-details{grid-template-columns:1fr}.proposal-document{padding:10px}}
