:root{--ink:#111113;--paper:#f5f3ef;--white:#fff;--muted:#77757f;--line:#e7e4de;--pink:#e7a4d2;--yellow:#f4ca35;--lime:#a8bd40;--blue:#a8c9ef;--radius:26px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,system-ui,sans-serif;font-size:14px}.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{background:#0c0c0f;color:#fff;padding:30px 22px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-size:24px;font-weight:800;letter-spacing:-1px;margin:0 8px 46px}.brand-mark{display:grid;place-items:center;width:31px;height:31px;background:var(--pink);color:#161116;border-radius:50%;font-size:17px}.brand-dot{color:var(--pink)}.nav-caption{color:#686871;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;margin:0 12px 10px}.nav-caption-tools{margin-top:36px}.side-nav{display:flex;flex-direction:column;gap:5px}.side-link{display:flex;align-items:center;gap:13px;color:#b9b8bf;text-decoration:none;padding:11px 12px;border-radius:12px;font-weight:500;transition:.2s}.side-link:hover{background:#1b1b20;color:#fff}.side-link.active{background:#251a23;color:#f3b4df}.nav-icon{font-size:20px;line-height:1;width:23px;text-align:center}.sidebar-user{margin-top:auto;border-top:1px solid #29292d;padding:20px 8px 2px;display:flex;align-items:center;gap:10px;min-width:0}.user-avatar,.top-avatar{display:grid;place-items:center;border-radius:50%;background:var(--pink);color:#111;font-weight:800}.user-avatar{width:36px;height:36px}.user-copy{display:flex;flex-direction:column;min-width:0}.user-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.user-copy small{font-size:10px;color:#777780;margin-top:3px}.main-panel{min-width:0}.topbar{height:82px;padding:18px 42px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:rgba(245,243,239,.92);position:sticky;top:0;z-index:5;backdrop-filter:blur(14px)}.search-box{height:44px;max-width:560px;flex:1;border:1px solid #dfdce2;border-radius:22px;background:#faf9f7;display:flex;align-items:center;gap:12px;padding:0 16px;color:#8b8990}.search-box>span:first-child{font-size:23px;color:#111}.search-box kbd{margin-left:auto;border:0;background:#ebe8e3;color:#77747b;font:500 10px Manrope;padding:5px 8px;border-radius:7px}.top-actions{display:flex;gap:10px;align-items:center;margin-left:24px}.round-button,.top-avatar{width:40px;height:40px}.round-button{display:grid;place-items:center;background:#111;color:#fff;text-decoration:none;border-radius:50%;font-size:15px}.content-wrap{padding:42px;max-width:1600px;margin:auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}.eyebrow{display:block;color:#a3377f;text-transform:uppercase;letter-spacing:1.4px;font-size:10px;font-weight:800;margin-bottom:9px}.page-heading h1{font-size:36px;letter-spacing:-1.7px;font-weight:700;margin:0 0 8px}.page-heading p,.section-heading p,.data-card-head p{color:var(--muted);margin:0}.period-pill,.count-pill{padding:9px 14px;border-radius:30px;background:#fff;border:1px solid var(--line);font-size:11px;white-space:nowrap}.period-pill{color:#6c7d19}.hero-grid{display:grid;grid-template-columns:1.55fr 1fr 1fr;gap:16px}.profit-card,.metric-card{min-height:200px;border-radius:var(--radius);position:relative;overflow:hidden;padding:24px}.profit-card{background:#111;color:#fff}.metric-card{color:#171719}.metric-yellow{background:var(--yellow)}.metric-pink{background:var(--pink)}.metric-lime{background:var(--lime)}.metric-blue{background:var(--blue)}.metric-label{font-size:12px;font-weight:700;position:relative;z-index:2}.hero-profit,.metric-value{font-size:33px;font-weight:800;letter-spacing:-1.4px;margin-top:32px;position:relative;z-index:2}.hero-profit{font-size:40px}.hero-profit small,.metric-value small{font-size:.48em}.profit-footer{position:absolute;bottom:23px;left:24px;right:24px;display:flex;justify-content:space-between;color:#aaa;font-size:10px;z-index:2}.profit-orbit{position:absolute;width:220px;height:220px;border:38px solid var(--pink);border-radius:50%;right:-62px;bottom:-115px;opacity:.95}.metric-topline{display:flex;justify-content:space-between}.metric-arrow{display:grid;place-items:center;width:28px;height:28px;border:1px solid #1114;border-radius:50%}.metric-pattern{position:absolute;width:145px;height:145px;right:-62px;bottom:-68px;border:24px solid #fff5;border-radius:28% 50% 40% 55%;transform:rotate(26deg)}.section-heading{margin:34px 0 18px}.section-heading h2,.data-card-head h2{font-size:18px;font-weight:700;margin:0 0 5px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric-grid-secondary .metric-card{min-height:148px;padding:20px}.metric-grid-secondary .metric-value{font-size:25px;margin-top:24px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}.quick-card{display:flex;align-items:center;gap:14px;padding:17px;background:#fff;border:1px solid var(--line);border-radius:18px;color:#111;text-decoration:none;transition:.2s}.quick-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px #2e26320c}.quick-card>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.quick-card strong{font-size:12px}.quick-card small{font-size:10px;color:var(--muted);margin-top:4px}.quick-card b{margin-left:auto}.quick-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;font-size:20px}.quick-icon.blue{background:var(--blue)}.quick-icon.pink{background:var(--pink)}.quick-icon.lime{background:var(--lime)}.data-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.data-card-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line)}.dark-button,.light-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:11px 17px;border-radius:22px;font-size:11px;font-weight:700}.dark-button{background:#111;color:#fff}.light-button{background:#fff;color:#111;border:1px solid var(--line)}.modern-table{width:100%;border-collapse:collapse;white-space:nowrap}.modern-table th{color:#88868d;text-transform:uppercase;letter-spacing:.6px;font-size:9px;font-weight:700;padding:14px 18px;background:#faf9f7}.modern-table td{padding:17px 18px;border-top:1px solid #efede9;font-size:11px}.modern-table tbody tr:hover{background:#fcfbf9}.entity-cell,.person-cell{display:flex;align-items:center;gap:10px}.entity-dot{display:block;width:13px;height:13px;border-radius:4px}.tone-pink{background:var(--pink)}.tone-yellow{background:var(--yellow)}.tone-lime{background:var(--lime)}.tone-blue{background:var(--blue)}.muted{color:var(--muted)}.margin-pill,.number-badge{display:inline-block;padding:6px 9px;border-radius:10px;background:#e9f1d1;color:#536311;font-weight:700}.margin-pill.negative{background:#f9dce9;color:#9f3568}.table-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--pink);font-weight:800}.table-avatar.alt{background:var(--blue)}.project-tags span{display:inline-block;padding:5px 8px;background:#f1efeb;border-radius:8px;margin:2px}.empty-state{text-align:center!important;color:var(--muted);padding:48px!important}.welcome-card{min-height:540px;border-radius:34px;background:var(--yellow);padding:68px;position:relative;overflow:hidden}.welcome-card h1{font-size:60px;line-height:1.05;letter-spacing:-3.5px;max-width:790px;margin:15px 0 22px;position:relative;z-index:2}.welcome-card p{max-width:550px;font-size:15px;line-height:1.7;position:relative;z-index:2}.welcome-actions{display:flex;gap:10px;margin-top:30px;position:relative;z-index:2}.welcome-shape{position:absolute;border-radius:50%}.shape-one{width:330px;height:330px;background:var(--pink);right:-80px;top:-70px}.shape-two{width:240px;height:240px;background:var(--blue);right:160px;bottom:-120px;border-radius:35% 60% 40% 55%;transform:rotate(25deg)}
@media(max-width:1100px){.hero-grid{grid-template-columns:1fr 1fr}.profit-card{grid-column:1/-1}.metric-grid{grid-template-columns:1fr 1fr}.quick-grid{grid-template-columns:1fr}.welcome-card h1{font-size:48px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto;padding:16px}.brand{margin:0 6px 18px}.nav-caption,.nav-caption-tools,.sidebar-user{display:none}.side-nav{display:flex;flex-direction:row;overflow-x:auto}.side-nav+.side-nav{margin-top:7px}.side-link{flex:0 0 auto;padding:9px 11px}.side-link span:last-child{font-size:11px}.topbar{height:66px;padding:12px 18px}.search-box{max-width:none}.search-placeholder,.search-box kbd{display:none}.content-wrap{padding:24px 16px}.page-heading{align-items:flex-start}.page-heading h1{font-size:28px}.period-pill,.count-pill{display:none}.hero-grid,.metric-grid{grid-template-columns:1fr}.profit-card{grid-column:auto}.metric-card,.profit-card{min-height:160px}.welcome-card{min-height:520px;padding:38px 25px}.welcome-card h1{font-size:39px;letter-spacing:-2.4px}.data-card-head{align-items:flex-start}.data-card-head .dark-button{padding:9px 12px}.top-actions{margin-left:10px}.round-button{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Shared HTML CRUD components */
.crud-entity-link{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.crud-entity-link:hover{text-decoration:underline}.crud-pagination{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.crud-pagination div{display:flex;gap:16px}.crud-pagination a{color:var(--ink);font-weight:700;text-decoration:none}.crud-form-card,.crud-confirm-card{max-width:960px;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.crud-confirm-card{max-width:680px}.crud-confirm-card h1{margin:8px 0 12px}.crud-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:28px}.crud-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.crud-detail-card{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.crud-detail-card h2{margin:0 0 20px;font-size:18px}.crud-detail-card dl{display:grid;grid-template-columns:minmax(130px,.7fr) 1fr;gap:12px 20px;margin:0}.crud-detail-card dt{color:var(--muted);font-weight:500}.crud-detail-card dd{margin:0;font-weight:650}.crud-detail-wide{grid-column:1/-1}.dropdown-menu{border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:7px}.dropdown-item{border-radius:9px}
@media(max-width:760px){.crud-detail-grid{grid-template-columns:1fr}.crud-detail-wide{grid-column:auto}.crud-form-card,.crud-confirm-card{padding:20px;border-radius:18px}.crud-form-actions{justify-content:stretch}.crud-form-actions>*{flex:1;text-align:center}.crud-pagination{padding:15px 16px}}

/* Compact Company read-only details */
.company-detail-layout{display:grid;gap:20px}.company-detail-layout .crud-detail-card{padding:22px}.company-detail-layout .crud-detail-card .company-detail-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px;margin:0}.company-detail-layout .crud-detail-card .company-detail-fields-two{grid-template-columns:repeat(2,minmax(0,1fr))}.company-detail-field{min-width:0}.company-detail-field dt{font-size:10px;font-weight:700;letter-spacing:.55px;text-transform:uppercase}.company-detail-field dd{margin-top:5px;font-size:13px;font-weight:650;line-height:1.45;overflow-wrap:anywhere}.company-detail-span-2{grid-column:span 2}.company-detail-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.company-related-contacts{margin-top:20px}
.client-related-contacts{margin-top:20px}
@media(max-width:1100px){.company-detail-layout .crud-detail-card .company-detail-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.company-detail-secondary{grid-template-columns:1fr}}
@media(max-width:760px){.company-detail-layout .crud-detail-card .company-detail-fields,.company-detail-layout .crud-detail-card .company-detail-fields-two{grid-template-columns:1fr}.company-detail-span-2{grid-column:auto}.company-detail-layout .crud-detail-card{padding:20px}}

/* Reference-aligned application shell */
:root{--ink:#101012;--paper:#f7f6f2;--surface:#fff;--pink:#e5a0d1;--yellow:#f8cf32;--lime:#abc33d;--shadow:0 18px 48px rgba(28,24,30,.06)}
.sidebar{background:#0b0b0e;overflow:hidden;padding-top:32px}.brand{margin-bottom:42px}.sidebar-navigation{min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:3px;scrollbar-width:thin;scrollbar-color:#303036 transparent}.sidebar-navigation::-webkit-scrollbar{width:4px}.sidebar-navigation::-webkit-scrollbar-thumb{background:#303036;border-radius:10px}.side-link{font-weight:600;padding:12px}.side-link.active{background:#281b25;color:#f3b4df;box-shadow:inset 0 0 0 1px rgba(231,164,210,.05)}
.nav-disclosure{margin-top:12px}.nav-disclosure summary{display:flex;align-items:center;justify-content:space-between;margin:0 12px;padding:10px 0;color:#686871;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;cursor:pointer;list-style:none}.nav-disclosure summary::-webkit-details-marker{display:none}.disclosure-arrow{font-size:18px;line-height:1;transition:transform .2s}.nav-disclosure[open] .disclosure-arrow{transform:rotate(90deg)}.side-nav-secondary{padding-top:3px}.side-nav-secondary .side-link{padding-top:9px;padding-bottom:9px;font-size:12px}.side-nav-secondary .nav-icon{font-size:16px}
.sidebar-user{flex:0 0 auto;background:#0b0b0e}.topbar{background:rgba(247,246,242,.94)}.search-box{background:#fbfaf8;box-shadow:0 2px 12px rgba(20,18,22,.025)}.search-icon{font-weight:800}.content-wrap{width:100%;max-width:1500px;padding-top:38px}.page-heading h1{font-weight:800}.profit-card,.metric-card{box-shadow:0 10px 28px rgba(31,25,35,.035)}.profit-card{background:#101011}.period-pill{box-shadow:0 4px 16px rgba(31,25,35,.035)}
@media(min-width:1500px){.app-shell{grid-template-columns:272px minmax(0,1fr)}.content-wrap{padding:48px 56px}.topbar{padding-left:56px;padding-right:56px}.search-box{max-width:620px}}
@media(max-width:760px){.sidebar{overflow:visible}.sidebar-navigation{overflow:visible}.nav-disclosure{display:none}.side-nav-secondary{display:none}.topbar{position:sticky}.content-wrap{padding-top:26px}}

/* Interactive navigation, search and profile */
.sidebar,.sidebar-navigation,.nav-disclosure,.side-nav-secondary{background:#0b0b0e}.sidebar-navigation{flex:1}.nav-disclosure[open]{padding-bottom:4px}.nav-disclosure[open] summary{color:#f0eef2}.nav-disclosure[open] summary:hover{color:var(--pink)}
.search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font:500 13px Inter,system-ui,sans-serif}.search-box input::placeholder{color:#8b8990}.search-box:focus-within{border-color:#d998c7;box-shadow:0 0 0 3px rgba(229,160,209,.16)}.profile-toggle{border:0;padding:0}.profile-toggle::after{display:none}.profile-menu{width:230px;margin-top:10px}.profile-menu-user{display:flex;flex-direction:column;padding:8px 10px}.profile-menu-user strong{font-size:12px}.profile-menu-user small{margin-top:4px;color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis}.profile-menu form{margin:0}.profile-menu .dropdown-item{font-size:12px;font-weight:700;color:#9f3568;background:transparent;border:0;width:100%;text-align:left}.sidebar-logout{margin-left:auto}.sidebar-logout button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:#1d1d21;color:#c7c5cb;font-size:17px}.sidebar-logout button:hover{background:#2a2028;color:var(--pink)}
.search-results-card{max-width:980px}.search-results-list{display:flex;flex-direction:column}.search-result{display:grid;grid-template-columns:110px minmax(0,1fr) 28px;align-items:center;gap:18px;padding:18px 22px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}.search-result:last-child{border-bottom:0}.search-result:hover{background:#faf9f7}.search-result-type{color:#a3377f;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.search-result>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.search-result strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result small{color:var(--muted);font-size:10px;margin-top:4px}.search-result b{text-align:center}
@media(max-width:760px){.sidebar,.sidebar-navigation{background:#0b0b0e}.search-box input{width:100%}.search-box kbd{display:none}.sidebar-logout{display:none}.search-result{grid-template-columns:1fr 24px}.search-result-type{grid-column:1/-1}.profile-menu{position:fixed!important;right:12px!important;left:auto!important;top:58px!important;transform:none!important}}

/* Owner dashboard proportions from the approved visual reference */
@media(min-width:761px){.app-shell{grid-template-columns:228px minmax(0,1fr)}.topbar{height:76px;padding:15px 38px}.search-box{height:42px;max-width:510px}.content-wrap{padding:30px 38px 42px}.profit-card,.metric-card{min-height:184px}.metric-grid-secondary .metric-card{min-height:134px}.owner-dashboard-page .nav-disclosure{display:none}.owner-dashboard-page .audit-nav-link{display:none}.owner-dashboard-page .nav-caption-tools{margin-top:38px}.owner-dashboard-page .brand{margin-bottom:46px}.owner-dashboard-page .sidebar-navigation{overflow:hidden}}
@media(min-width:1500px){.app-shell{grid-template-columns:228px minmax(0,1fr)}.content-wrap{padding:34px 44px 48px}.topbar{padding-left:44px;padding-right:44px}.search-box{max-width:540px}}

/* Consistent business forms */
.crud-form-card .form-label{margin-bottom:7px;color:#55525a;font-size:11px;font-weight:700}.required-mark{margin-left:3px;color:#a3377f}.crud-form-card .form-control,.crud-form-card .form-select{min-height:44px;border-color:#dfdce2;border-radius:12px;background-color:#fbfaf8;color:var(--ink);font-size:13px;box-shadow:none}.crud-form-card textarea.form-control{min-height:108px;resize:vertical}.crud-form-card input[type=file].form-control{padding:9px 12px}.crud-form-card .form-control:hover,.crud-form-card .form-select:hover{border-color:#cbc7cf}.crud-form-card .form-control:focus,.crud-form-card .form-select:focus{border-color:#d998c7;box-shadow:0 0 0 3px rgba(229,160,209,.16);background:#fff}.crud-form-card .form-text{font-size:10px;color:var(--muted)}.crud-form-card .invalid-feedback{font-size:10px}.crud-form-card .alert-danger{border:0;border-radius:14px;background:#fae4ed;color:#8f2d5d}.crud-form-card ul.errorlist{margin:0;padding-left:18px}.crud-form-actions .dark-button,.crud-form-actions .light-button{min-width:112px;cursor:pointer}.modern-table td>a:not(.btn){color:var(--ink);font-weight:650;text-decoration:none}.modern-table td>a:not(.btn):hover{text-decoration:underline}

/* Global search: one visual control, with focus handled by the outer pill. */
.topbar .search-box{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  max-width:560px;
  height:54px;
  margin:0;
  padding:0 8px 0 18px;
  border:1px solid rgba(32,29,35,.12);
  border-radius:9999px;
  background:#fff;
  box-shadow:0 3px 16px rgba(20,18,22,.035);
  color:var(--muted);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.topbar .search-box:focus-within{
  border-color:#d998c7;
  box-shadow:0 0 0 3px rgba(229,160,209,.14);
}
.search-box .search-icon{
  flex:none;
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  color:#77757f;
}
.search-box .search-icon svg{
  display:block;
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
}
.search-box > .search-input,
.search-box > .search-input:focus{
  -webkit-appearance:none;
  appearance:none;
  flex:1 1 auto;
  width:100%;
  min-width:0;
  height:100%;
  margin:0;
  padding:0;
  border:0!important;
  border-radius:0;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--ink);
  font:500 18px/1.35 Inter,system-ui,sans-serif;
}
.search-box > .search-input::placeholder{
  color:#929098;
  opacity:1;
}
.search-box .search-shortcut{
  flex:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:38px;
  margin:0;
  padding:0 14px;
  border:0;
  border-radius:14px;
  background:#f1f1f3;
  color:#77757f;
  box-shadow:none;
  font:600 12px/1 Inter,system-ui,sans-serif;
  white-space:nowrap;
}
@media(max-width:760px){
  .topbar .search-box{height:44px;padding:0 15px;}
  .search-box > .search-input,.search-box > .search-input:focus{font-size:14px;}
  .search-box .search-shortcut{display:none;}
}

/* Portal authentication */
.portal-login-page{min-height:100vh;background:#0b0b0e}.portal-login-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:100vh}.portal-login-visual{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:42px 54px;background:var(--yellow);color:var(--ink)}.portal-login-brand{position:relative;z-index:2;display:flex;align-items:center;gap:11px;width:max-content;color:var(--ink);text-decoration:none;font-size:25px;font-weight:800;letter-spacing:-1px}.portal-login-brand .brand-mark{background:#111;color:var(--pink)}.portal-login-copy{position:relative;z-index:2;margin:auto 0;max-width:720px}.portal-login-copy h1{margin:16px 0 25px;font-size:clamp(44px,5vw,76px);font-weight:800;line-height:1.02;letter-spacing:-4px}.portal-login-copy p{max-width:580px;margin:0;font-size:15px;line-height:1.75}.portal-login-orbit{position:absolute;border-radius:50%}.portal-login-orbit-one{width:440px;height:440px;right:-120px;top:-130px;background:var(--pink)}.portal-login-orbit-two{width:310px;height:310px;right:100px;bottom:-180px;background:var(--blue);border-radius:38% 62% 44% 56%;transform:rotate(28deg)}.portal-login-panel{display:grid;place-items:center;padding:48px;background:#0b0b0e;color:#fff}.portal-login-form-wrap{width:min(100%,430px)}.portal-login-form-wrap h2{margin:8px 0 10px;font-size:34px;font-weight:800;letter-spacing:-1.3px}.portal-login-hint{margin:0 0 34px;color:#918f98;font-size:13px;line-height:1.6}.portal-login-form{display:flex;flex-direction:column;gap:20px}.portal-login-form label{display:block;margin:0 0 8px;color:#c9c7ce;font-size:11px;font-weight:700}.portal-login-form input{width:100%;height:50px;padding:0 16px;border:1px solid #34343b;border-radius:14px;outline:0;background:#17171b;color:#fff;font:500 14px Manrope}.portal-login-form input:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(229,160,209,.14)}.portal-login-form button{display:flex;align-items:center;justify-content:space-between;height:52px;margin-top:5px;padding:0 18px;border:0;border-radius:14px;background:var(--pink);color:#171217;font:800 12px Manrope;cursor:pointer}.portal-login-form button:hover{background:#efb2dc}.portal-login-form .alert-danger{border:0;border-radius:13px;background:#40212e;color:#ffd5e7;font-size:12px}.portal-login-form .errorlist{margin:0;padding-left:18px}.portal-field-error{margin-top:7px;color:#f2a8c8;font-size:11px}.portal-login-support{margin:28px 0 0;color:#6f6e76;font-size:10px}.portal-login-panel .alert{font-size:12px}
@media(max-width:900px){.portal-login-shell{grid-template-columns:1fr}.portal-login-visual{min-height:340px;padding:30px}.portal-login-copy{margin:70px 0 28px}.portal-login-copy h1{font-size:42px;letter-spacing:-2.4px}.portal-login-panel{padding:46px 24px}.portal-login-orbit-one{width:270px;height:270px}.portal-login-orbit-two{width:180px;height:180px;right:20px;bottom:-105px}}
@media(max-width:520px){.portal-login-visual{min-height:270px;padding:24px}.portal-login-copy{margin:48px 0 10px}.portal-login-copy h1{font-size:33px}.portal-login-copy p{font-size:12px}.portal-login-panel{place-items:start center;padding-top:38px}.portal-login-form-wrap h2{font-size:29px}}

/* Project partner shares inline editor */
.project-form-card{max-width:1180px}.project-shares-editor{padding-top:26px;border-top:1px solid var(--line)}.project-shares-editor-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.project-shares-editor-head h2{margin:0 0 6px;font-size:20px;font-weight:800}.project-shares-editor-head p{margin:0;color:var(--muted);font-size:11px}.share-summary{display:flex;gap:10px;margin-top:18px}.share-summary span{padding:8px 12px;border-radius:999px;background:#f4f2ef;color:var(--muted);font-size:11px}.share-summary strong{color:var(--ink)}.project-shares-form-table{white-space:normal}.project-shares-form-table th:nth-child(1){min-width:230px}.project-shares-form-table th:nth-child(2){width:140px}.project-shares-form-table th:nth-child(3){min-width:260px}.project-shares-form-table th:nth-child(4){width:130px}.project-shares-form-table .form-control,.project-shares-form-table .form-select{min-height:42px;border:1px solid #dfdce2;border-radius:11px;background:#fbfaf8;font-size:12px}.project-shares-form-table textarea.form-control{min-height:42px;height:42px;resize:vertical}.share-delete-control{display:inline-flex;align-items:center;gap:7px;color:#9f3568;font-size:11px;font-weight:700;cursor:pointer}.share-delete-control input{width:16px;height:16px}.project-shares-form-table .invalid-feedback{font-size:10px}
@media(max-width:760px){.project-shares-editor-head{align-items:flex-start;flex-direction:column}.share-summary{flex-wrap:wrap}.project-shares-editor-head .light-button{width:100%}}

/* Semantic CRUD actions and scoped form/filter controls. */
:root{
  --action-add:#35c878;
  --action-add-hover:#28ad65;
  --action-edit:#f3b83f;
  --action-edit-hover:#dda129;
  --action-delete:#e14c5a;
  --action-delete-hover:#c83746;
}
.dark-button,.light-button{
  border:1px solid transparent;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.dark-button:hover,.light-button:hover{transform:translateY(-1px)}
.dark-button:focus-visible,.light-button:focus-visible,.btn-action:focus-visible{
  outline:0;
  box-shadow:0 0 0 3px rgba(17,17,19,.14);
}
.action-add,
.dark-button[href*="/add/"]{
  border-color:var(--action-add);
  background:var(--action-add);
  color:#172000;
}
.action-add:hover,
.dark-button[href*="/add/"]:hover{
  border-color:var(--action-add-hover);
  background:var(--action-add-hover);
  color:#111;
}
.action-edit,
.light-button[href*="/edit/"]{
  border-color:var(--action-edit);
  background:var(--action-edit);
  color:#2d2500;
}
.action-edit:hover,
.light-button[href*="/edit/"]:hover{
  border-color:var(--action-edit-hover);
  background:var(--action-edit-hover);
  color:#201a00;
}
.action-delete,
.dark-button[href*="/delete/"],
.dark-button[href*="/archive/"],
.crud-confirm-card .btn-danger{
  border-color:var(--action-delete)!important;
  background:var(--action-delete)!important;
  color:#fff!important;
}
.action-delete:hover,
.dark-button[href*="/delete/"]:hover,
.dark-button[href*="/archive/"]:hover,
.crud-confirm-card .btn-danger:hover{
  border-color:var(--action-delete-hover)!important;
  background:var(--action-delete-hover)!important;
  color:#fff!important;
}
.action-menu-edit{background:#fff8d8;color:#645000}
.action-menu-edit:hover,.action-menu-edit:focus{background:var(--action-edit);color:#2d2500}
.action-menu-delete{background:#fff0f2;color:#a92f3d!important}
.action-menu-delete:hover,.action-menu-delete:focus{background:var(--action-delete);color:#fff!important}

.crud-form-card .form-control::placeholder,.filter-form .form-control::placeholder{color:#aaa7af;opacity:1}
.crud-form-card .form-control:disabled,.crud-form-card .form-select:disabled{
  border-color:#e7e4e9;
  background:#f0efec;
  color:#85828a;
  cursor:not-allowed;
}
.crud-form-card .form-check-input{
  width:18px;
  height:18px;
  margin-top:.15em;
  border-color:#c9c5ce;
  box-shadow:none;
}
.crud-form-card .form-check-input:checked{border-color:#8ca326;background-color:var(--action-add)}
.crud-form-card .form-check-input:focus{border-color:#d998c7;box-shadow:0 0 0 3px rgba(229,160,209,.16)}
.crud-form-card .is-invalid,.crud-form-card .form-control[aria-invalid="true"],.crud-form-card .form-select[aria-invalid="true"]{
  border-color:var(--action-delete);
}
.filter-form{padding:18px 24px 24px!important;background:#fcfbf9}
.filter-form label{display:block;margin-bottom:7px;color:#55525a;font-size:11px;font-weight:700}
.filter-form input,.filter-form select{
  width:100%;
  min-height:44px;
  padding:9px 12px;
  border:1px solid #dfdce2;
  border-radius:12px;
  outline:0;
  background:#fff;
  color:var(--ink);
  font:500 13px Inter,system-ui,sans-serif;
  box-shadow:none;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.filter-form input:hover,.filter-form select:hover{border-color:#c9c5ce}
.filter-form input:focus,.filter-form select:focus{
  border-color:#d998c7;
  box-shadow:0 0 0 3px rgba(229,160,209,.16);
}
.filter-form-actions{display:flex;align-items:center;gap:10px;padding-top:4px}
@media(max-width:760px){
  .filter-form{padding:16px!important}
  .filter-form-actions{align-items:stretch;flex-direction:column}
  .filter-form-actions>*{width:100%}
}

/* Zoho-inspired visual theme. Layout and component geometry stay unchanged. */
:root{
  --ink:#1f2937;
  --paper:#edf2f8;
  --white:#fff;
  --surface:#fff;
  --muted:#667085;
  --line:#d8e0ec;
  --pink:#5267e8;
  --yellow:#f3b83f;
  --lime:#35c878;
  --blue:#58a7e8;
  --shadow:0 16px 42px rgba(29,54,87,.08);
  --zoho-primary:#4263d8;
  --zoho-primary-hover:#3452c2;
  --zoho-sidebar:#203b61;
  --zoho-sidebar-active:#34547e;
  --zoho-sidebar-hover:#29496f;
}
body,button,input,select,textarea,kbd,
.search-box input,.search-box kbd,
.filter-form input,.filter-form select,
.portal-login-form input,.portal-login-form button{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.sidebar,
.sidebar-navigation,
.nav-disclosure,
.side-nav-secondary,
.sidebar-user{background:var(--zoho-sidebar)}
.sidebar{color:#fff}
.brand-mark{background:var(--zoho-primary);color:#fff}
.brand-dot{color:#7f91ff}
.nav-caption,.nav-disclosure summary{color:#91a4bf}
.side-link{color:#d0d9e6}
.side-link:hover{background:var(--zoho-sidebar-hover);color:#fff}
.side-link.active{
  background:var(--zoho-sidebar-active);
  color:#fff;
  box-shadow:inset 3px 0 0 #7d8fff;
}
.side-link:nth-child(4n+1) .nav-icon{color:#7185ff}
.side-link:nth-child(4n+2) .nav-icon{color:#f05a67}
.side-link:nth-child(4n+3) .nav-icon{color:#bd62c7}
.side-link:nth-child(4n+4) .nav-icon{color:#34c878}
.sidebar-user{border-top-color:#355273}
.user-avatar,.top-avatar{background:#536eea;color:#fff}
.user-copy small{color:#9fb0c7}
.sidebar-logout button{background:#29486b;color:#d7e1ee}
.sidebar-logout button:hover{background:#365a82;color:#fff}
.topbar{background:rgba(237,242,248,.94)}
.topbar .search-box{border-color:#d2dbe8;background:#fff;box-shadow:0 3px 14px rgba(29,54,87,.05)}
.topbar .search-box:focus-within,
.search-box:focus-within{
  border-color:#6f83e8;
  box-shadow:0 0 0 3px rgba(66,99,216,.14);
}
.search-box .search-icon{color:#718096}
.search-box .search-shortcut{background:#edf1f7;color:#667085}
.eyebrow,.search-result-type,.required-mark{color:var(--zoho-primary)}
.round-button,.dark-button{background:var(--zoho-primary);color:#fff}
.round-button:hover,.dark-button:hover{background:var(--zoho-primary-hover);color:#fff}
.light-button{border-color:#cfd8e5;background:#fff;color:#344054}
.light-button:hover{border-color:#aebbd0;background:#f7f9fc;color:#24364d}
.data-card,.crud-form-card,.crud-confirm-card,.crud-detail-card,.quick-card{border-color:var(--line);background:#fff}
.modern-table th{background:#f5f7fb;color:#697586}
.modern-table td{border-top-color:#e5eaf1}
.modern-table tbody tr:hover,.search-result:hover{background:#f7f9fc}
.period-pill{color:#2f6b4c}
.profit-card{background:#203b61}
.number-badge,.margin-pill{background:#e7f7ee;color:#25714b}
.margin-pill.negative{background:#fdecef;color:#b23343}
.crud-form-card .form-control,
.crud-form-card .form-select,
.project-shares-form-table .form-control,
.project-shares-form-table .form-select{
  border-color:#d4dce8;
  background-color:#fff;
}
.crud-form-card .form-control:hover,
.crud-form-card .form-select:hover{border-color:#aebbd0}
.crud-form-card .form-control:focus,
.crud-form-card .form-select:focus,
.crud-form-card .form-check-input:focus,
.filter-form input:focus,
.filter-form select:focus,
.portal-login-form input:focus{
  border-color:#6f83e8;
  box-shadow:0 0 0 3px rgba(66,99,216,.14);
}
.filter-form{background:#f7f9fc}
.filter-form input,.filter-form select{border-color:#d4dce8;background:#fff}
.profile-menu .dropdown-item{color:#b23343}
.portal-login-page,.portal-login-panel{background:#183354}
.portal-login-visual{
  background:linear-gradient(145deg,#5067a5 0%,#304f8d 54%,#6c5b91 100%);
  color:#fff;
}
.portal-login-brand{color:#fff}
.portal-login-brand .brand-mark{background:#fff;color:var(--zoho-primary)}
.portal-login-visual .eyebrow{color:#cdd7ff}
.portal-login-orbit-one{background:rgba(117,137,255,.42)}
.portal-login-orbit-two{background:rgba(78,199,164,.35)}
.portal-login-form input{border-color:#3b5675;background:#213e60}
.portal-login-form button{background:var(--zoho-primary);color:#fff}
.portal-login-form button:hover{background:var(--zoho-primary-hover)}
.dark-button.action-add{border-color:var(--action-add);background:var(--action-add);color:#172000}
.dark-button.action-add:hover{border-color:var(--action-add-hover);background:var(--action-add-hover);color:#111}
.dark-button.action-edit{border-color:var(--action-edit);background:var(--action-edit);color:#2d2500}
.dark-button.action-edit:hover{border-color:var(--action-edit-hover);background:var(--action-edit-hover);color:#201a00}
.dark-button.action-delete{border-color:var(--action-delete);background:var(--action-delete);color:#fff}
.dark-button.action-delete:hover{border-color:var(--action-delete-hover);background:var(--action-delete-hover);color:#fff}

/* Zoho-style owner dashboard visualization. */
.owner-dashboard-page .content-wrap{max-width:1480px;padding-top:30px}
.zoho-dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}
.zoho-dashboard-header h1{margin:0 0 7px;color:#172b4d;font-size:30px;font-weight:700;letter-spacing:-1px}
.zoho-dashboard-header p{margin:0;color:var(--muted);font-size:13px}
.zoho-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.zoho-kpi-card{position:relative;overflow:hidden;min-height:164px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 6px 20px rgba(29,54,87,.04)}
.zoho-kpi-card::after{position:absolute;right:0;bottom:0;left:0;height:4px;content:"";background:var(--kpi-color)}
.zoho-kpi-card.zoho-kpi-revenue{--kpi-color:#2e82dd;--kpi-soft:#eaf4ff}
.zoho-kpi-card.zoho-kpi-expenses{--kpi-color:#e24b5b;--kpi-soft:#fff0f2}
.zoho-kpi-card.zoho-kpi-profit{--kpi-color:#2dbd74;--kpi-soft:#e9f8f0}
.zoho-kpi-head{display:flex;align-items:center;gap:10px}
.zoho-kpi-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--kpi-soft);color:var(--kpi-color);font-size:18px;font-weight:700}
.zoho-kpi-trend{color:#5c6b7f;font-size:12px;font-weight:600}
.zoho-kpi-card>strong{display:block;margin-top:17px;color:#172b4d;font-size:27px;font-weight:700;letter-spacing:-.7px}
.zoho-kpi-card>strong small{font-size:.55em;font-weight:600}
.zoho-kpi-card>p{margin:7px 0 0;color:#7b8798;font-size:11px}
.zoho-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.85fr);gap:16px;margin-top:16px}
.zoho-panel{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 6px 20px rgba(29,54,87,.04)}
.zoho-panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid #e7ebf1}
.zoho-panel-head h2,.zoho-section-head h2{margin:0 0 4px;color:#24364d;font-size:16px;font-weight:700}
.zoho-panel-head p,.zoho-section-head p{margin:0;color:#8490a1;font-size:10px}
.zoho-panel-badge{padding:6px 10px;border-radius:8px;background:#edf1ff;color:#4263d8;font-size:10px;font-weight:700}
.zoho-finance-list{padding:6px 22px}
.zoho-finance-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:13px;padding:17px 0;border-bottom:1px solid #edf0f4}
.zoho-finance-row:last-child{border-bottom:0}
.zoho-finance-marker{width:7px;height:38px;border-radius:5px;background:#2e82dd}
.zoho-finance-row.expenses .zoho-finance-marker{background:#e24b5b}
.zoho-finance-row.profit .zoho-finance-marker{background:#2dbd74}
.zoho-finance-row>span:nth-child(2),.zoho-operation-row>span:nth-child(2),.zoho-quick-card>span:nth-child(2){display:flex;flex-direction:column;min-width:0}
.zoho-finance-row b,.zoho-operation-row b{color:#344054;font-size:12px;font-weight:600}
.zoho-finance-row small,.zoho-operation-row small{margin-top:4px;color:#8a95a5;font-size:10px}
.zoho-finance-row>strong{color:#24364d;font-size:13px;font-weight:700;white-space:nowrap}
.zoho-panel-link{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-top:1px solid #e7ebf1;color:#4263d8;text-decoration:none;font-size:11px;font-weight:700}
.zoho-panel-link:hover{background:#f8faff;color:#3452c2}
.zoho-operation-list{padding:6px 20px}
.zoho-operation-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid #edf0f4}
.zoho-operation-row:last-child{border-bottom:0}
.zoho-operation-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#edf1ff;color:#5267e8;font-size:16px}
.zoho-operation-icon.invoices{background:#eaf4ff;color:#2e82dd}
.zoho-operation-icon.commissions{background:#fff3df;color:#d78a14}
.zoho-operation-icon.taxes{background:#fff0f2;color:#d84353}
.zoho-operation-row>strong{color:#24364d;font-size:12px;font-weight:700;white-space:nowrap}
.zoho-quick-section{margin-top:22px}
.zoho-section-head{margin-bottom:12px}
.zoho-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.zoho-quick-card{display:flex;align-items:center;gap:13px;padding:17px 18px;border:1px solid var(--line);border-radius:15px;background:#fff;color:#24364d;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.zoho-quick-card:hover{transform:translateY(-2px);border-color:#b9c6da;box-shadow:0 9px 24px rgba(29,54,87,.08)}
.zoho-quick-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:11px;background:#eaf4ff;color:#2e82dd;font-size:19px}
.zoho-quick-icon.agents{background:#fff0f2;color:#d84353}
.zoho-quick-icon.clients{background:#e9f8f0;color:#229a5d}
.zoho-quick-card strong{font-size:12px;font-weight:700}
.zoho-quick-card small{margin-top:4px;color:#8490a1;font-size:10px}
.zoho-quick-card>b{margin-left:auto;color:#8490a1;font-size:15px}
@media(max-width:1050px){.zoho-dashboard-grid{grid-template-columns:1fr}.zoho-kpi-card>strong{font-size:23px}}
@media(max-width:760px){.owner-dashboard-page .content-wrap{padding-top:22px}.zoho-dashboard-header{align-items:flex-start}.zoho-dashboard-header h1{font-size:26px}.zoho-kpi-grid,.zoho-quick-grid{grid-template-columns:1fr}.zoho-dashboard-grid{display:block}.zoho-operations-panel{margin-top:16px}.zoho-finance-row{grid-template-columns:7px minmax(0,1fr)}.zoho-finance-row>strong{grid-column:2;margin-top:2px}.zoho-operation-row{grid-template-columns:36px minmax(0,1fr)}.zoho-operation-row>strong{grid-column:2;margin-top:2px}.zoho-dashboard-header .period-pill{display:none}}

/* SOAX-inspired portal theme. */
:root{
  --paper:#eef3fb;
  --ink:#20265a;
  --muted:#7d8aa2;
  --line:#dfe5ef;
  --surface:#fff;
  --soax-primary:#585ddd;
  --soax-primary-hover:#474cc8;
  --soax-active:#f0f1fb;
}
body{background:var(--paper);color:var(--ink)}
.app-shell{
  grid-template-columns:218px minmax(0,1fr);
  min-height:calc(100vh - 48px);
  max-width:1720px;
  margin:24px auto;
  overflow:hidden;
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 55px rgba(67,76,126,.08);
}
.sidebar{
  position:relative;
  top:auto;
  height:auto;
  min-height:calc(100vh - 48px);
  padding:24px 14px 18px;
  border-right:1px solid var(--line);
  background:#fff;
  color:var(--ink);
}
.brand{margin:0 7px 34px;color:var(--ink);font-size:22px}
.brand:hover{color:var(--ink)}
.brand-mark{width:30px;height:30px;border-radius:6px;background:#f0f1fb;color:var(--soax-primary);font-size:15px}
.brand-dot{color:var(--soax-primary)}
.sidebar-navigation,.nav-disclosure,.side-nav-secondary,.sidebar-user{background:#fff}
.nav-caption,.nav-disclosure summary{color:#8795ad}
.nav-caption{margin-inline:8px}
.nav-disclosure summary{padding-inline:10px;border-radius:4px}
.nav-disclosure summary:hover{background:#f7f8fc;color:#5f6e89}
.side-nav{gap:3px}
.side-link{min-height:39px;padding:8px 10px;border-radius:4px;color:#65738e;font-size:12px}
.side-link:hover{background:#f7f8fc;color:#3e4774}
.side-link.active{background:var(--soax-active);color:var(--soax-primary);box-shadow:none}
.side-link:nth-child(n) .nav-icon{color:#8795ad}
.side-link.active .nav-icon{color:var(--soax-primary)}
.sidebar-user{margin-top:auto;padding:16px 8px 2px;border-top-color:var(--line)}
.user-avatar,.top-avatar{background:#f0f1fb;color:#454aaf}
.user-copy strong{color:#2f3767}
.user-copy small{color:#8795ad}
.sidebar-logout button{background:#f6f7fb;color:#7a88a2}
.sidebar-logout button:hover{background:#eceefa;color:var(--soax-primary)}
.main-panel{background:#fff}
.topbar{height:66px;padding:14px 32px;border-bottom:0;background:#fff;backdrop-filter:none}
.topbar .search-box{height:40px;max-width:480px;border-color:var(--line);border-radius:4px;background:#fafbfe;box-shadow:none}
.topbar .search-box:focus-within,.search-box:focus-within{border-color:#8387ed;box-shadow:0 0 0 3px rgba(88,93,221,.1)}
.search-box .search-icon{color:#8795ad}
.search-box .search-shortcut{border:1px solid #e1e6ef;border-radius:4px;background:#fff;color:#8795ad}
.round-button{border:1px solid var(--line);border-radius:4px;background:#fff;color:#74829d}
.round-button:hover{border-color:#c7cfdd;background:#f7f8fc;color:var(--soax-primary)}
.content-wrap{max-width:1500px;padding:24px 32px 40px;margin:0}
.page-heading{margin-bottom:26px}
.page-heading h1{color:#1c2255;font-size:31px;font-weight:700}
.eyebrow{color:var(--soax-primary)}
.period-pill,.count-pill{border-color:var(--line);border-radius:4px;color:#71809b}
.data-card,.crud-form-card,.crud-confirm-card,.crud-detail-card,.quick-card{
  border-color:var(--line);
  border-radius:6px;
  box-shadow:none;
}
.data-card-head{padding:19px 21px}
.modern-table th{background:#fafbfe;color:#8693aa}
.modern-table td{border-top-color:#e6ebf2}
.modern-table tbody tr:hover,.search-result:hover{background:#fafbfe}
.dark-button,.round-button{background:var(--soax-primary)}
.dark-button:hover,.round-button:hover{background:var(--soax-primary-hover)}
.dark-button,.light-button{border-radius:4px}
.light-button{border-color:var(--line);background:#fff;color:#71809b}
.light-button:hover{border-color:#c8d0de;background:#fafbfe;color:#4f5c79}
.crud-form-card .form-control,.crud-form-card .form-select,
.project-shares-form-table .form-control,.project-shares-form-table .form-select,
.filter-form input,.filter-form select{border-color:var(--line);border-radius:4px;background:#fff}
.crud-form-card .form-control:focus,.crud-form-card .form-select:focus,
.crud-form-card .form-check-input:focus,.filter-form input:focus,.filter-form select:focus{
  border-color:#8387ed;
  box-shadow:0 0 0 3px rgba(88,93,221,.1);
}
.filter-form{background:#fafbfe}
.dropdown-menu{border-color:var(--line);border-radius:6px;box-shadow:0 12px 32px rgba(67,76,126,.12)}
.action-menu-edit{background:#fff;color:#675b26}
.action-menu-delete{background:#fff;color:#b43b48!important}
.portal-login-page{background:var(--paper)}
.portal-login-shell{margin:24px;overflow:hidden;border-radius:18px;box-shadow:0 18px 55px rgba(67,76,126,.1)}
.portal-login-visual{background:#f0f1fb;color:#20265a}
.portal-login-brand{color:#20265a}
.portal-login-brand .brand-mark{background:#fff;color:var(--soax-primary)}
.portal-login-panel{background:#fff;color:#20265a}
.portal-login-hint,.portal-login-form label{color:#7d8aa2}
.portal-login-form input{border-color:var(--line);border-radius:4px;background:#fafbfe;color:#20265a}
.portal-login-form button{border-radius:4px;background:var(--soax-primary)}
.portal-login-form button:hover{background:var(--soax-primary-hover)}
.portal-login-orbit-one{background:rgba(91,96,223,.12)}
.portal-login-orbit-two{background:rgba(91,96,223,.08)}

/* SOAX-style owner dashboard. */
.owner-dashboard-page .content-wrap{max-width:1500px;padding-top:18px}
.soax-dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:25px}
.soax-dashboard-heading h1{margin:0 0 7px;color:#1c2255;font-size:31px;font-weight:700;letter-spacing:-1px}
.soax-dashboard-heading p{margin:0;color:var(--muted);font-size:12px}
.soax-dashboard-tabs{display:flex;gap:30px;margin-bottom:23px;border-bottom:1px solid var(--line)}
.soax-dashboard-tab{padding:0 0 10px;color:#9ba7ba;text-decoration:none;font-size:13px;font-weight:600}
.soax-dashboard-tab:hover{color:var(--soax-primary)}
.soax-dashboard-tab.active{border-bottom:2px solid var(--soax-primary);color:#20265a}
.soax-dashboard-summary{display:grid;grid-template-columns:220px minmax(0,1fr) 220px;align-items:center;gap:28px;padding:0 0 26px;border-bottom:1px solid #e4e9f1}
.soax-dashboard-profit strong{display:block;margin-bottom:10px;color:#20265a;font-size:27px;font-weight:700;letter-spacing:-.7px}
.soax-dashboard-profit span{display:block;margin-bottom:10px;color:#4f5b78;font-size:12px;font-weight:700}
.soax-dashboard-profit small{display:block;margin-top:5px;color:#7d8aa2;font-size:10px}
.soax-dashboard-bars{display:grid;gap:19px}
.soax-dashboard-bar-row{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;color:#687791;font-size:11px}
.soax-dashboard-bar-track{height:19px;overflow:hidden;background:#e8eef6}
.soax-dashboard-bar-fill{display:flex;align-items:center;justify-content:flex-end;max-width:100%;height:100%;padding:0 7px;background:linear-gradient(90deg,#777be8,#5056d7);color:#fff;font-size:9px;white-space:nowrap}
.soax-dashboard-bar-fill.secondary{background:linear-gradient(90deg,#a6aaf0,#777ce3)}
.soax-dashboard-bar-fill.tertiary{background:linear-gradient(90deg,#858ae8,#6065df)}
.soax-dashboard-action-panel{padding:17px;border:1px solid var(--line)}
.soax-dashboard-action-icon{color:var(--soax-primary);font-size:19px}
.soax-dashboard-action-panel strong{display:block;margin:9px 0 6px;color:#252c5e;font-size:12px}
.soax-dashboard-action-panel p{margin:0 0 14px;color:#7d8aa2;font-size:10px;line-height:1.55}
.soax-dashboard-indicators,.soax-dashboard-statistics{margin-top:26px}
.soax-dashboard-section-head{display:flex;align-items:center;gap:9px;margin-bottom:14px}
.soax-dashboard-section-head>div{display:flex;align-items:baseline;gap:12px}
.soax-dashboard-section-head h2{margin:0;color:#20265a;font-size:17px;font-weight:700}
.soax-dashboard-section-head p{margin:0;color:#8a97ac;font-size:10px}
.soax-dashboard-info{display:grid;place-items:center;width:17px;height:17px;border:1px solid #aab5c9;border-radius:50%;color:#8391aa;font-size:9px}
.soax-dashboard-indicator-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.soax-dashboard-indicator{min-width:0;padding:17px 15px;border:1px solid var(--line);background:#fff}
.soax-dashboard-indicator-title{display:flex;align-items:center;gap:8px;color:#252c5e;font-size:11px}
.soax-dashboard-radio{width:13px;height:13px;border:1px solid #d6ddea;border-radius:50%}
.soax-dashboard-radio.selected{border:3px solid var(--soax-primary)}
.soax-dashboard-indicator-meta{display:block;margin:4px 0 19px 21px;color:#96a2b5;font-size:9px}
.soax-dashboard-indicator-value{overflow:hidden;color:#29305f;font-size:16px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.soax-dashboard-indicator-meter{height:3px;margin:9px 0 15px;background:#e8ecf2}
.soax-dashboard-indicator-meter span{display:block;height:100%;background:var(--soax-primary)}
.soax-dashboard-indicator a,.soax-dashboard-table a{color:var(--soax-primary);font-size:10px;font-weight:600;text-decoration:none}
.soax-dashboard-indicator a:hover,.soax-dashboard-table a:hover{text-decoration:underline}
.soax-dashboard-statistics{padding-bottom:8px}
.soax-dashboard-table{border:1px solid var(--line)}
.soax-dashboard-table th,.soax-dashboard-table td{padding:14px 16px}
@media(max-width:1100px){
  .soax-dashboard-summary{grid-template-columns:190px minmax(0,1fr)}
  .soax-dashboard-action-panel{grid-column:1/-1}
  .soax-dashboard-indicator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .app-shell{display:block;min-height:100vh;margin:0;border-radius:0}
  .sidebar{min-height:auto;border-right:0;border-bottom:1px solid var(--line)}
  .brand{margin-bottom:18px}
  .side-link{border-radius:4px}
  .content-wrap{padding:22px 16px 30px}
  .portal-login-shell{margin:0;border-radius:0}
  .soax-dashboard-heading{align-items:flex-start}
  .soax-dashboard-summary{grid-template-columns:1fr}
  .soax-dashboard-bar-row{grid-template-columns:1fr;gap:6px}
  .soax-dashboard-indicator-grid{grid-template-columns:1fr}
  .soax-dashboard-section-head>div{display:block}
  .soax-dashboard-section-head p{margin-top:4px}
}
