@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--ink:#252b3a;--muted:#7c8495;--line:#e9ebf0;--bg:#f5f6f8;--purple:#6857d9;--purple-dark:#5544c9;--card:#fff;--green:#26825a;--amber:#a46912;--red:#bc4e4e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:flex}.sidebar{width:250px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:23px 16px 14px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:0 7px 27px}.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#7969e8,#5848c5);color:white;display:grid;place-items:center;font-weight:800;font-family:Manrope,sans-serif;box-shadow:0 4px 10px #6959d633}.brand b{display:block;font:800 16px Manrope,sans-serif;letter-spacing:-.5px}.brand small{display:block;color:#9aa0ae;font-size:9px;letter-spacing:1.2px;margin-top:3px}.workspace-label{font-size:9px;font-weight:700;letter-spacing:1px;color:#a1a6b2;padding:0 7px 10px}.firm-chip{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px 9px;margin:0 0 25px}.firm-chip b,.firm-chip small{display:block}.firm-chip b{font-size:12px}.firm-chip small{font-size:10px;color:var(--muted);margin-top:3px}.firm-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#f0efff;color:var(--purple)}.nav{display:grid;gap:4px}.nav-item{background:transparent;border:0;text-align:left;padding:11px 12px;border-radius:8px;color:#666e80;font-size:13px}.nav-item span{display:inline-block;width:23px;font-size:16px}.nav-item:hover,.nav-item.active{background:#f1efff;color:var(--purple);font-weight:700}.sidebar-bottom{margin-top:auto}.help-card{padding:14px 12px;background:#f8f7ff;border:1px solid #eeecff;border-radius:10px;margin-bottom:12px}.help-icon{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e9e6ff;color:var(--purple);font-weight:700;margin-bottom:8px}.help-card b{font-size:11px}.help-card p{font-size:10px;color:#83899a;line-height:1.5;margin:5px 0 8px}.help-card a{font-size:10px;color:var(--purple);text-decoration:none;font-weight:700}.user-chip{display:flex;gap:9px;align-items:center;border-top:1px solid var(--line);padding:12px 4px 0}.avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#eeeaff;color:#6553cf;font-size:10px;font-weight:700}.user-chip b,.user-chip small{display:block}.user-chip b{font-size:10px;max-width:140px;overflow:hidden;text-overflow:ellipsis}.user-chip small{font-size:9px;color:var(--muted);margin-top:2px}.user-chip .icon-button{margin-left:auto}.main{margin-left:250px;width:calc(100% - 250px);min-height:100vh}.topbar{height:61px;padding:0 35px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.breadcrumbs{font-size:11px;color:#9aa0ad}.breadcrumbs i{font-style:normal;margin:0 9px;color:#ccd0d8}.breadcrumbs b{color:#454b59}.top-actions{display:flex;align-items:center;gap:15px}.status-pill{font-size:10px;color:#72798a;background:#f6f7f9;border-radius:30px;padding:7px 10px}.status-pill i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#35af73;margin-right:5px}.content{padding:29px 35px 40px;max-width:1440px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{font-size:9px;letter-spacing:1.2px;color:#969cab;font-weight:700;margin-bottom:8px}.page-heading h1{font:800 23px Manrope,sans-serif;letter-spacing:-.8px;margin:0}.page-heading p{color:#858c9a;font-size:12px;margin:6px 0 0}.button{border:1px solid transparent;border-radius:8px;padding:10px 13px;font-weight:700;font-size:11px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.primary{background:var(--purple);color:#fff;box-shadow:0 2px 4px #6a59d922}.primary:hover{background:var(--purple-dark)}.secondary{background:#fff;border-color:#e4e6ec;color:#596173}.full{width:100%}.toolbar{display:flex;align-items:end;gap:12px;margin-bottom:17px;flex-wrap:wrap}.select-wrap{display:grid;gap:5px}.select-wrap>span{font-size:9px;color:#8f96a4;font-weight:700}.select-wrap select,.select-wrap input{background:#fff;border:1px solid #e5e7ed;border-radius:7px;padding:9px 11px;min-width:155px;color:#485062;font-size:11px}.toolbar-note{font-size:10px;color:#969cab;margin:0 0 9px auto}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:17px}.stat-card,.panel{background:var(--card);border:1px solid var(--line);border-radius:11px}.stat-card{padding:16px 17px}.stat-label{display:flex;justify-content:space-between;align-items:center;color:#858c9b;font-size:9px;font-weight:700;letter-spacing:.55px}.stat-icon{width:28px;height:28px;border-radius:8px;display:inline-grid;place-items:center;font-size:14px}.lilac{color:#6655cf;background:#f0edff}.blue{color:#4180c8;background:#edf5ff}.green{color:#2a9466;background:#eaf7f0}.amber{color:#ba821e;background:#fff5df}.stat-value{font:800 24px Manrope,sans-serif;margin:9px 0 5px;letter-spacing:-.8px}.stat-foot{font-size:10px;color:#949baa}.positive{color:#2b9b68;font-weight:700}.attention{color:#b07516}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr);gap:14px;margin-bottom:15px}.panel{padding:18px 18px 0;margin-bottom:15px;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-header h2{font:700 14px Manrope,sans-serif;margin:0;letter-spacing:-.2px}.panel-header p{font-size:10px;color:#9096a4;margin:5px 0 0}.text-button{border:0;background:none;color:var(--purple);font-weight:700;font-size:10px;padding:5px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th{text-align:left;font-size:8px;letter-spacing:.55px;color:#9ba1ae;font-weight:700;padding:10px 9px;border-bottom:1px solid #eff0f3}td{padding:11px 9px;border-bottom:1px solid #f0f1f4;color:#646c7c;font-size:10px}td b{color:#353b49;font-weight:600}.company-cell{display:flex;align-items:center;gap:9px}.company-cell b,.company-cell small{display:block}.company-cell small{font-size:9px;color:#9ba1ae;margin-top:3px}.company-logo{height:28px;width:28px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:9px}.coral{background:#fff0ed;color:#d5765c}.company-logo.blue{background:#edf4ff;color:#5486c3}.gold{background:#fff4dc;color:#bd8c2c}.company-logo.green{background:#e9f6ef;color:#41946d}.method-pill{font-size:9px;border:1px solid #e8e8ee;background:#fafafd;border-radius:20px;padding:4px 8px;color:#737b8b}.badge{font-size:9px;border-radius:20px;padding:5px 8px}.good{background:#ebf7f0;color:#33845d}.warn{background:#fff5e2;color:#a87922}.neutral{background:#f0f1f4;color:#82899a}.panel-footer{display:flex;justify-content:space-between;padding:10px 9px;color:#9ba1ae;font-size:9px}.deadlines{padding-bottom:13px}.deadline-list{display:grid}.deadline{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #f0f1f4}.date-block{width:32px;text-align:center;background:#f8f8fa;border-radius:6px;padding:4px}.date-block b,.date-block small{display:block}.date-block b{font:700 14px Manrope}.date-block small{font-size:7px;color:#9298a5;font-weight:700}.deadline-info{flex:1}.deadline-info b,.deadline-info small{display:block}.deadline-info b{font-size:10px}.deadline-info small{font-size:9px;color:#9198a5;margin-top:4px}.deadline-dot{width:7px;height:7px;border-radius:50%}.red{background:#d96767}.amber-dot{background:#e6ad3f}.blue-dot{background:#578dc8}.calendar-link{border:0;background:none;color:var(--purple);font-weight:700;font-size:9px;padding:12px 0 0}.activity{padding-bottom:8px}.activity-row{display:flex;gap:10px;align-items:center;padding:11px 2px;border-top:1px solid #f1f2f5}.activity-symbol{width:27px;height:27px;border-radius:8px;display:grid;place-items:center}.entry{background:#eaf7f0;color:#348f65}.close{background:#f0edff;color:#705fd0}.change{background:#fff4df;color:#bf8828}.activity-row div{flex:1}.activity-row b,.activity-row small{display:block}.activity-row b{font-size:10px}.activity-row small{font-size:9px;color:#969cab;margin-top:3px}.activity-row time{font-size:9px;color:#9ca2af}.activity-amount{font-size:10px;color:#36875d;font-weight:700;min-width:85px;text-align:right}.activity-amount.muted{color:#707889}.activity-amount.negative{color:#bc6666}.report-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:6px 0 15px}.report-cards article{border:1px solid var(--line);border-radius:10px;padding:15px;display:grid;justify-items:start;gap:7px}.report-cards b{font-size:12px}.report-cards p{font-size:10px;color:var(--muted);margin:0}.notice{background:#f8f7ff;border:1px solid #efedff;border-radius:8px;display:flex;gap:10px;padding:10px;margin:0 0 16px;color:#79739c}.notice>span{height:17px;width:17px;border-radius:50%;background:#e9e6ff;display:grid;place-items:center;font-size:10px}.notice p{font-size:10px;margin:2px}.hidden{display:none!important}.company-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding-bottom:16px}.company-card{border:1px solid var(--line);border-radius:9px;padding:13px;display:flex;align-items:center;gap:10px}.company-card div:nth-child(2){flex:1}.company-card b,.company-card small{display:block}.company-card small{color:var(--muted);font-size:9px;margin-top:4px}.company-card button{font-size:10px}.message{font-size:11px;margin-top:10px;color:#6656d2}.message.error{color:#bd4b4b}.auth-screen{min-height:calc(100vh - 61px);display:grid;place-items:center;padding:35px}.auth-card{width:min(100%,390px);padding:28px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 40px #343b4b0b}.centered{justify-content:center;padding:0;margin-bottom:20px}.auth-card h1{font:800 21px Manrope;margin:0 0 6px;text-align:center}.auth-card>p{text-align:center;color:var(--muted);font-size:11px;margin:0 0 22px}.auth-card form label,.field{display:grid;gap:6px;margin:12px 0;color:#6d7484;font-size:10px;font-weight:700}.auth-card input,.field input,.field select{width:100%;padding:10px;border:1px solid #e3e5ec;border-radius:7px;outline:none;background:white;color:var(--ink)}.auth-card input:focus,.field input:focus,.field select:focus{border-color:#9589e6}.auth-toggle{display:block;margin:12px auto 0}.modal-card{width:min(560px,calc(100vw - 32px));border:0;padding:0;border-radius:13px;box-shadow:0 20px 80px #1b203444}.modal-card::backdrop{background:#252b3a77}.modal-card[open]{display:block}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 19px;border-bottom:1px solid var(--line)}.modal-head h2{font:700 15px Manrope;margin:0}.modal-body{padding:7px 19px 10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 19px;border-top:1px solid var(--line)}.icon-button{position:relative;border:0;background:none;color:#7f8795;font-size:16px}.report-summary{display:flex;gap:20px;color:#5f6878;font-size:11px;padding-bottom:14px}.report-summary b{color:var(--ink)}.empty{color:#9ba1ae;text-align:center;padding:25px;font-size:11px}.auth-card .eyebrow{display:block;text-align:center}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);background:#262b39;color:#fff;padding:11px 17px;border-radius:8px;opacity:0;transition:.2s;pointer-events:none;font-size:11px}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:1100px){.sidebar{width:215px}.main{margin-left:215px;width:calc(100% - 215px)}.content{padding-left:22px;padding-right:22px}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{width:64px;padding:17px 8px}.brand{padding:0 4px 25px}.brand>div,.workspace-label,.firm-chip>span:not(.firm-icon),.nav-item:not(.active){display:none}.firm-chip{justify-content:center;padding:8px 0;margin-bottom:14px}.nav-item{font-size:0;padding:11px;text-align:center}.nav-item:after{content:attr(data-short)}.sidebar-bottom .help-card,.user-chip span,.user-chip button{display:none}.user-chip{justify-content:center}.main{margin-left:64px;width:calc(100% - 64px)}.topbar{padding:0 15px}.content{padding:20px 13px}.page-heading{align-items:flex-start;gap:10px}.page-heading h1{font-size:19px}.page-heading p{max-width:220px}.page-heading>.button{font-size:0;padding:10px}.page-heading>.button:after{content:'+';font-size:17px}.stats-grid{gap:8px}.stat-card{padding:12px}.stat-value{font-size:19px}.stat-label{font-size:8px}.dashboard-grid{grid-template-columns:1fr}.company-list{grid-template-columns:1fr}.report-cards{grid-template-columns:1fr}.activity-row time{display:none}.activity-amount{min-width:68px}.auth-screen{padding:18px}.toolbar{align-items:stretch}.toolbar .button{align-self:end}.toolbar select,.toolbar input{min-width:0;width:100%}.top-actions{gap:6px}.status-pill{font-size:9px}}
/* Phone navigation: keep every section reachable in a compact bottom bar. */
@media(max-width:640px){
  .sidebar{inset:auto 0 0;width:100%;height:auto;padding:7px 5px calc(7px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);display:block;background:#fff}
  .sidebar>.brand,.sidebar>.workspace-label,.sidebar>.firm-chip,.sidebar-bottom{display:none}
  .sidebar .nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px}
  .sidebar .nav-item,.sidebar .nav-item:not(.active){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 1px;border-radius:7px;font-size:9px;line-height:1.1;white-space:nowrap;color:#747b8a}
  .sidebar .nav-item span{display:block;width:auto;font-size:15px;line-height:1}
  .sidebar .nav-item.active{color:var(--purple);background:#f1efff}
  .main{margin:0;width:100%;padding-bottom:68px}
  .topbar{height:52px;padding:0 12px;position:sticky;top:0;z-index:3}
  .content{padding:18px 11px 26px}
  .page-heading{margin-bottom:17px}
  .page-heading h1{font-size:17px;line-height:1.25}
  .page-heading p{font-size:11px;max-width:240px;line-height:1.4}
  .page-heading>.button{padding:8px 9px;min-width:36px}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .stat-card{padding:11px 10px;min-width:0}
  .stat-value{font-size:18px;overflow-wrap:anywhere}
  .stat-label{font-size:7px;letter-spacing:.3px}
  .stat-foot{font-size:9px}
  .panel{padding:14px 12px 0;margin-bottom:11px}
  .panel-header{gap:8px;align-items:flex-start}
  .panel-header h2{font-size:13px}
  .panel-header p{font-size:9px;line-height:1.4}
  .dashboard-grid{grid-template-columns:minmax(0,1fr);gap:10px}
  .table-scroll{margin-right:-4px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  table{min-width:620px}
  .activity-row{gap:7px}
  .activity-row small{max-width:170px;line-height:1.3}
  .activity-amount{font-size:9px;min-width:64px}
  .toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .toolbar .select-wrap select,.toolbar .select-wrap input{width:100%;min-width:0}
  .toolbar .button{align-self:end;min-height:35px}
  .report-summary{flex-wrap:wrap;gap:8px 14px}
  .company-list{grid-template-columns:minmax(0,1fr)}
}
