@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root {
  --ink: #1e302c;
  --muted: #66736e;
  --brand: #173d33;
  --accent: #d3ed9f;
  --paper: #f6f8f5;
  --line: #e5eae3;
  --white: #fff;
  --danger: #ac342e;
  --radius: 14px;
  --shadow: 0 12px 35px #203e2910;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.6 'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:4px}button{cursor:pointer}button:disabled{opacity:.65;cursor:wait}h1,h2,h3,h4{font-family:Manrope,system-ui,sans-serif;line-height:1.25;letter-spacing:-.035em;margin:0 0 12px}h1{font-size:32px;font-weight:750}h2{font-size:22px}h3{font-size:17px}p{margin:0 0 16px}small{font-size:12px}.subtle{color:var(--muted)}.icon{width:21px;height:21px;flex-shrink:0;vertical-align:middle}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-size:28px;font-weight:750;letter-spacing:-1.2px;line-height:1}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--accent);color:var(--brand);font-weight:800;font-style:italic;font-size:29px}.brand-suffix{font-size:11px;letter-spacing:.8px;text-transform:uppercase;font-weight:500;margin-left:0;align-self:flex-end;margin-bottom:3px;color:var(--muted)}.eyebrow{display:block;font-size:10px;letter-spacing:1.8px;font-weight:700;margin-bottom:15px;color:#537365}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--brand);color:white;border:1px solid var(--brand);padding:11px 18px;border-radius:8px;text-decoration:none;font-weight:600;line-height:1.45;transition:background .15s,transform .15s}.button:hover{background:#285548;transform:translateY(-1px)}.button.secondary{background:white;color:var(--ink);border-color:var(--line)}.button.accent{background:var(--accent);color:var(--brand);border-color:var(--accent)}.button.small{font-size:12px;padding:8px 12px}.text-link{text-decoration:none;font-weight:600;color:var(--brand);display:inline-flex;gap:8px;align-items:center}.text-link:hover{text-decoration:underline}.icon-button{display:grid;place-items:center;width:38px;height:38px;background:transparent;border:1px solid var(--line);border-radius:8px}.notice{padding:13px 16px;border-radius:9px;background:#eaf4e3;border:1px solid #d2e4c5;margin:0 0 22px;line-height:1.6}.notice.error{background:#fff1ef;color:#932d25;border-color:#f1d2cf}.notice.info{background:#eff3f7;border-color:#dce5ed;color:#3f566b}.org-tree-panel{margin-top:20px}.org-department{padding:18px 18px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:16px}.org-department h3{margin:0 0 12px}.org-tree{display:flex;flex-wrap:wrap;gap:16px}.org-node{display:flex;flex-direction:column;gap:12px;min-width:240px;padding:14px;border:1px solid #dfe9df;border-radius:12px;background:linear-gradient(180deg,#f9faf7,#f1f5ef)}.org-person{display:flex;flex-direction:column;gap:2px}.org-person strong{font-size:15px}.org-person span,.org-person small,.org-person p{color:var(--muted)}.org-children{list-style:none;padding-left:0;margin:0;display:flex;flex-direction:column;gap:10px}.org-children li{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.org-empty{margin:0;color:var(--muted);font-size:12px}.org-standalone{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.org-standalone h4{margin:0 0 10px;font-size:14px}:focus-visible{outline:3px solid #538f74;outline-offset:3px}.skip-link{position:fixed;top:-70px;left:20px;z-index:100;background:white;padding:12px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}/* Public website */
.landing{background:#fbfcf9}.public-container{width:min(1160px,calc(100% - 64px));margin:auto}.public-header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}.public-nav,.public-actions{display:flex;align-items:center;gap:32px}.public-nav a,.public-actions>a:not(.button){text-decoration:none;font-size:13px;font-weight:550}.public-nav a:hover{color:#538f74}.hero{padding:72px 0 68px;display:grid;grid-template-columns:1fr 1.03fr;align-items:center;gap:60px}.hero h1{font-size:clamp(42px,4.2vw,62px);line-height:1.1;letter-spacing:-3px;max-width:600px;margin-bottom:25px}.hero h1 em{font-style:normal;color:#638a53}.hero .hero-description{font-size:16px;color:var(--muted);max-width:445px;line-height:1.8;margin-bottom:30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-note{font-size:12px;color:var(--muted);margin-top:18px}.hero-label{display:inline-flex;gap:8px;align-items:center;border:1px solid #dce6d4;background:#f1f6e9;padding:5px 10px;border-radius:30px;font-size:11px;margin-bottom:24px}.status-dot{width:6px;height:6px;border-radius:100%;background:#618650;display:inline-block;flex-shrink:0}.product-preview{background:#e8eee1;padding:25px 0 25px 25px;border-radius:24px;position:relative}.preview-window{border:1px solid #d9e2d5;border-radius:12px 0 0 12px;background:#fff;box-shadow:-12px 20px 40px #1d3c2814;overflow:hidden}.preview-top{display:flex;align-items:center;gap:5px;border-bottom:1px solid var(--line);padding:12px;font-size:9px;color:var(--muted)}.preview-top i{width:5px;height:5px;background:#d9e3d4;border-radius:50%}.preview-top span{margin-left:auto}.preview-layout{display:grid;grid-template-columns:104px 1fr;min-height:320px}.preview-sidebar{background:#f6f8f4;padding:18px 12px;border-right:1px solid var(--line)}.preview-sidebar b{font-size:17px;letter-spacing:-1px;display:block;margin-bottom:28px}.preview-sidebar>span{display:flex;align-items:center;gap:6px;font-size:8px;margin:5px 0;padding:8px 5px;border-radius:4px;color:#788475}.preview-sidebar>span:first-of-type{color:#214635;background:#e6eddd}.preview-sidebar .icon{width:11px;height:11px}.preview-content{padding:22px 20px}.preview-content h3{font-size:17px;margin:4px 0 6px}.preview-content>p{font-size:9px;color:var(--muted)}.preview-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0}.preview-metrics>div{border:1px solid var(--line);border-radius:6px;padding:10px 7px}.preview-metrics span{font-size:8px;color:var(--muted);display:block}.preview-metrics strong{font-size:21px;font-weight:600}.preview-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #f0f3ed;padding:13px 0;font-size:9px}.preview-row .icon{width:14px;height:14px;color:#648259}.preview-row>span:last-child{margin-left:auto;background:#edf4e6;color:#637854;font-size:7px;padding:3px 7px;border-radius:4px}.preview-caption{font-size:9px;color:#66745e;margin:14px 20px 0 0;text-align:right}.section-label{text-align:center;font-size:10px;letter-spacing:2px;font-weight:600;color:#72806e;padding:24px 0 25px;border-bottom:1px solid var(--line)}.tool-strip{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:28px 0;color:#5c6d5c;font-size:13px;font-weight:600}.tool-strip span{display:flex;align-items:center;gap:10px}.section-heading{max-width:570px;margin:0 auto 40px;text-align:center}.section-heading h2{font-size:36px;letter-spacing:-1.5px}.section-heading p{color:var(--muted);font-size:15px}.public-section{padding:80px 0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:26px}.feature-icon{width:43px;height:43px;display:grid;place-items:center;background:#edf3e6;border-radius:11px;color:#547148;margin-bottom:24px}.feature-card p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:0}.workflow-section{background:#edf2e7;border-block:1px solid #e2e9da}.workflow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.step-number{display:block;color:#93a583;font-size:13px;margin-bottom:20px}.workflow-grid p{color:#697763;font-size:13px;max-width:300px}.cta-section{padding:60px;border-radius:22px;background:var(--brand);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px;margin:75px auto}.cta-section h2{font-size:34px;max-width:520px}.cta-section p{color:#c2d2c7;margin-bottom:0}.public-footer{padding:36px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px;color:var(--muted);font-size:12px}.footer-links{display:flex;gap:24px}
/* Account screens */
.auth-layout{min-height:100vh;display:grid;grid-template-columns:45% 55%;background:#fff}.auth-story{background:var(--brand);color:white;padding:46px 55px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.auth-story>.brand .brand-suffix{color:#bfd0c4}.auth-story h2{font-size:43px;letter-spacing:-1.7px;line-height:1.2;margin:0 0 25px}.auth-story .eyebrow{color:var(--accent)}.auth-story p{color:#bcd0c4;max-width:360px;font-size:15px}.auth-story small{color:#b5c9bb}.story-orbit{display:flex;gap:16px;margin-top:45px}.story-orbit .icon{width:52px;height:52px;background:#ffffff0b;padding:13px;border:1px solid #ffffff25;border-radius:12px;color:var(--accent)}.auth-main{padding:38px 8%;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.auth-card{width:100%;max-width:440px;margin:45px auto}.auth-card h1{font-size:32px;margin-bottom:12px}.auth-card>.subtle{margin-bottom:28px}.back-link{color:var(--muted);font-size:12px;text-decoration:none}.auth-footer{font-size:11px;color:var(--muted);text-align:center;margin:0}.form-stack{display:grid;gap:18px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.field>span{font-weight:600;font-size:12px}.field small{color:var(--muted);font-weight:400}.field input,.field select,.field textarea,.filter-input{width:100%;border:1px solid #dbe3d8;border-radius:8px;padding:11px 12px;background:white;color:var(--ink);min-height:44px}.field textarea{resize:vertical;min-height:100px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#618972;outline:2px solid #dceadf;outline-offset:1px}.field-error{color:var(--danger);font-size:12px}.password-wrap{display:flex;position:relative}.password-wrap input{padding-right:62px}.password-wrap button{position:absolute;right:7px;top:7px;bottom:7px;border:0;background:transparent;color:#587361;font-size:11px;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:12px}.form-after{border-top:1px solid var(--line);padding-top:22px;margin-top:28px;text-align:center;font-size:13px;color:var(--muted)}.role-links{display:flex;justify-content:center;gap:20px;margin-top:18px;font-size:12px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-page .auth-card{background:white;padding:40px;border:1px solid var(--line);border-radius:18px}.auth-page .brand{margin-bottom:32px}
/* Workspace shell */
.suite-sidebar{width:238px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:32px 18px 15px;display:flex;flex-direction:column;z-index:30}.suite-sidebar>.brand{padding:0 10px}.workspace-label{margin:32px 0 27px;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;gap:10px;padding:11px}.workspace-label>div{min-width:0}.workspace-label strong{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:11px}.workspace-label small{display:block;color:var(--muted);font-size:10px}.workspace-avatar{width:31px;height:31px;display:grid;place-items:center;background:#edf2e8;border-radius:7px;flex-shrink:0;font-size:12px;font-weight:700}.nav-caption{font-size:9px;font-weight:600;letter-spacing:1.5px;color:#95a08f;padding:0 13px 12px}.suite-sidebar nav{display:flex;flex-direction:column;gap:5px}.suite-sidebar nav a{display:flex;align-items:center;gap:11px;padding:11px 13px;text-decoration:none;font-size:12px;color:#738070;border-radius:8px;transition:background .15s}.suite-sidebar nav .icon{width:18px;height:18px}.suite-sidebar nav a:hover{background:#f2f5ed;color:var(--brand)}.suite-sidebar nav a.active{background:#eaf2dd;color:#284a31;font-weight:650}.sidebar-bottom{margin-top:auto;padding-top:20px}.sidebar-note{padding:15px 12px;background:#f7f9f2;border:1px solid #edf1e5;border-radius:10px}.sidebar-note .icon{display:block;color:#7b9563;margin-bottom:10px}.sidebar-note strong{font-size:11px}.sidebar-note p{color:#87917d;font-size:10px;margin:5px 0 0}.logout-button{border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:18px 12px 5px;color:#7f897a;font-size:12px}.logout-button .icon{width:16px;height:16px}.suite-body{margin-left:238px}.suite-topbar{height:79px;background:#ffffffb8;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:18px}.breadcrumb{font-size:11px;color:#8c9686;display:flex;gap:11px}.breadcrumb strong{font-weight:500;color:#455840}.breadcrumb>span{color:#c2cbbb}.topbar-end{display:flex;align-items:center;gap:20px}.workspace-pill{font-size:10px;color:#718269;display:flex;align-items:center;gap:7px}.avatar{width:32px;height:32px;border-radius:50%;background:#e8efdd;display:grid;place-items:center;font-size:12px;font-weight:600;color:#577143}.suite-main{padding:37px 38px 20px;max-width:1600px;margin:auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:30px}.page-heading h1{font-size:29px}.page-heading p{font-size:12px;color:var(--muted);margin:0}.page-heading .eyebrow{font-size:9px;margin-bottom:9px}.heading-actions{display:flex;gap:10px;margin-top:10px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:26px}.stat-card{border:1px solid var(--line);border-radius:12px;background:white;padding:19px 21px}.stat-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#7a8673}.stat-label .icon{width:17px;height:17px;color:#91a282}.stat-value{font:650 34px/1.3 Manrope,sans-serif;letter-spacing:-1px;margin:13px 0 10px}.stat-foot{font-size:10px;color:#8c9585}.stat-foot .text-link{font-size:10px}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:24px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;min-width:0;overflow:hidden;margin-bottom:24px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;border-bottom:1px solid #eef1e9}.panel-head h2{font-size:14px;letter-spacing:-.2px;margin:0}.panel-head .text-link{font-size:10px;color:#7a8b6e}.panel-body{padding:22px}.empty-state{padding:40px 25px;text-align:center}.empty-state>.icon{width:37px;height:37px;color:#8aa278;margin-bottom:14px;background:#f0f5e9;padding:8px;border-radius:9px;box-sizing:content-box}.empty-state h3{font-size:15px;margin-bottom:8px}.empty-state p{font-size:12px;color:var(--muted);max-width:310px;margin:0 auto 20px}.record-list{list-style:none;padding:0;margin:0}.record-list li{display:flex;gap:12px;align-items:center;border-bottom:1px solid #f0f2ed;padding:15px 22px}.record-list li:last-child{border:0}.record-list strong{font-size:12px;font-weight:550;display:block}.record-list small{font-size:10px;color:#89917f}.record-icon{width:33px;height:33px;display:grid;place-items:center;background:#edf2e6;border-radius:8px;color:#8a9d78;flex-shrink:0}.record-icon .icon{width:17px;height:17px}.record-list .badge{margin-left:auto}.badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:5px;background:#f0f3eb;padding:3px 8px;font-size:9px;color:#788667;text-transform:capitalize}.badge.completed,.badge.won,.badge.active,.badge.verified{background:#eaf3e1;color:#567841}.badge.pending,.badge.high{background:#fff4df;color:#9d7a3c}.badge.lost,.badge.suspended{background:#fae9e4;color:#ac6555}.welcome-panel{background:#eaf0de;border:1px solid #dde7cd;border-radius:12px;padding:24px;margin-bottom:24px;position:relative;overflow:hidden}.welcome-panel h2{font-size:20px;max-width:240px}.welcome-panel p{font-size:11px;color:#7c8b69;max-width:280px}.welcome-panel>.icon{color:#83a05c;margin-bottom:15px}.checklist{list-style:none;margin:0;padding:0}.checklist li{display:flex;gap:10px;font-size:11px;align-items:center;padding:10px 0;border-bottom:1px solid #f0f3ec}.checklist li:last-child{border:0}.checklist li>span:first-child{width:19px;height:19px;border:1px solid #dbe5d3;border-radius:50%;display:grid;place-items:center;color:#6c8c54;font-size:9px;flex-shrink:0}.checklist li.done>span:first-child{background:#eaf3de}.checklist .icon{width:11px;height:11px}.checklist a{margin-left:auto;text-decoration:none;color:#7a8e67}.tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.tool-card{background:white;border:1px solid var(--line);border-radius:11px;padding:20px;text-decoration:none;display:block;transition:transform .15s,border-color .15s}.tool-card:hover{transform:translateY(-3px);border-color:#b5c9a5}.tool-card .feature-icon{width:33px;height:33px;border-radius:8px;margin-bottom:14px}.tool-card .feature-icon .icon{width:18px;height:18px}.tool-card h3{font-size:12px;letter-spacing:-.1px;margin-bottom:7px}.tool-card p{font-size:10px;color:#8a9580;margin:0}.section-title{display:flex;align-items:center;justify-content:space-between;margin:8px 0 16px}.section-title h2{font-size:15px;letter-spacing:-.2px;margin:0}.section-title .text-link{font-size:11px;color:#87967a}.suite-footer{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#9aa391;font-size:10px}.mobile-menu{display:none}.table-wrap{overflow:auto;position:relative}.data-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}.data-table th{text-align:left;background:#fafbf8;font-size:10px;font-weight:600;letter-spacing:.3px;color:#8a947e;padding:13px 20px;border-bottom:1px solid var(--line)}.data-table td{padding:15px 20px;border-bottom:1px solid #edf1e7;max-width:300px;overflow:hidden;text-overflow:ellipsis}.data-table tr:last-child td{border:0}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 20px;border-bottom:1px solid var(--line)}.filter-input{max-width:300px;font-size:12px;min-height:37px;padding:8px 12px}.module-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.module-tabs a{padding:7px 13px;border:1px solid var(--line);background:white;border-radius:7px;font-size:11px;text-decoration:none}.module-tabs a.active{background:var(--brand);border-color:var(--brand);color:white}.record-form{max-width:740px;padding:26px}.record-form .form-stack{gap:18px}.form-actions{display:flex;gap:10px;align-items:center;margin-top:10px}.integration-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.integration-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:25px}.integration-card h2{font-size:17px}.integration-card p{font-size:12px;color:var(--muted)}.integration-card .badge{margin-bottom:15px}.integration-card small{display:block;color:var(--muted);font-size:11px}.empty-row td{text-align:center;padding:40px;color:var(--muted)}.count-label{font-size:11px;color:var(--muted)}
@media(min-width:1500px){.hero{gap:90px}.suite-main{padding:46px 55px}.suite-topbar{padding-inline:55px}}
@media(max-width:1150px){.suite-sidebar{width:210px}.suite-body{margin-left:210px}.suite-main{padding:28px 24px}.suite-topbar{padding:0 24px}.dashboard-columns{grid-template-columns:1.35fr 1fr;gap:18px}.stat-card{padding:15px}.tools-grid{gap:10px}.hero{gap:30px}.public-nav{gap:20px}.hero h1{font-size:47px}.auth-story{padding:40px 35px}.auth-story h2{font-size:36px}.auth-main{padding:35px 7%}}
@media(max-width:900px){.hero{grid-template-columns:1fr;max-width:660px;margin:auto;gap:45px;padding-top:45px}.hero h1{font-size:57px;max-width:600px}.product-preview{padding:22px}.preview-window{border-radius:12px}.preview-layout{grid-template-columns:130px 1fr}.preview-content{padding:25px}.preview-metrics span,.preview-row,.preview-sidebar>span{font-size:10px}.preview-metrics strong{font-size:27px}.preview-caption{text-align:center;margin-right:0}.public-nav{display:none}.public-header{height:85px}.feature-grid{grid-template-columns:repeat(2,1fr)}.tool-strip{justify-content:center}.workflow-grid{gap:25px}.dashboard-columns{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.auth-layout{grid-template-columns:36% 64%}.auth-story{padding:35px 25px}.auth-story h2{font-size:29px}.story-orbit{gap:8px;flex-wrap:wrap}.story-orbit .icon{width:42px;height:42px;padding:10px}.auth-story .brand-suffix{display:none}.workspace-pill{display:none}.integration-grid{grid-template-columns:1fr}.cta-section{padding:40px}.cta-section h2{font-size:27px}.sidebar-note{display:none}}
@media(max-width:680px){.public-container{width:calc(100% - 36px)}.public-actions{gap:18px}.public-actions .button{font-size:11px;padding:10px 13px}.public-header .brand{font-size:24px}.public-header .brand-suffix{display:none}.hero{padding:38px 0 45px}.hero h1{font-size:44px;letter-spacing:-2px}.hero .hero-description{font-size:14px}.hero-actions .button{font-size:12px}.hero-label{font-size:10px}.product-preview{padding:14px;border-radius:15px}.preview-layout{grid-template-columns:82px 1fr;min-height:275px}.preview-sidebar{padding:15px 8px}.preview-sidebar>span{font-size:7px;padding:6px 3px;gap:4px}.preview-sidebar b{font-size:15px;margin-bottom:20px}.preview-content{padding:16px 12px}.preview-content h3{font-size:14px}.preview-metrics{gap:5px}.preview-metrics>div{padding:7px 5px}.preview-metrics span{font-size:7px}.preview-metrics strong{font-size:21px}.preview-row{font-size:8px;gap:6px;padding:10px 0}.preview-row>span:last-child{font-size:6px;padding:3px 5px}.preview-top{font-size:7px}.tool-strip{font-size:11px;gap:20px}.tool-strip .icon{width:16px}.section-label{font-size:8px;letter-spacing:1px}.section-heading h2{font-size:29px}.section-heading p{font-size:13px}.public-section{padding:55px 0}.feature-grid{grid-template-columns:1fr}.feature-card{padding:24px}.workflow-grid{grid-template-columns:1fr;gap:28px}.workflow-grid p{max-width:none}.step-number{margin-bottom:12px}.cta-section{padding:30px;flex-direction:column;align-items:flex-start;margin:45px auto}.cta-section h2{font-size:29px}.cta-section p{font-size:13px}.public-footer{align-items:flex-start;flex-direction:column;gap:22px;padding-bottom:35px}.auth-layout{display:block}.auth-story{display:none}.auth-main{padding:28px 24px;min-height:100dvh}.auth-card{margin:45px auto}.auth-card h1{font-size:29px}.form-row{grid-template-columns:1fr}.suite-sidebar{transform:translateX(-100%);width:240px;transition:transform .2s;box-shadow:var(--shadow);overflow-y:auto}.suite-sidebar.open{transform:translateX(0)}.suite-body{margin-left:0}.suite-topbar{height:65px;padding:0 18px;position:sticky;top:0;z-index:20;background:#fbfcf9}.mobile-menu{display:grid}.breadcrumb{margin-right:auto;font-size:10px;gap:7px}.topbar-end{gap:0}.suite-main{padding:27px 18px 20px}.page-heading{flex-direction:column;gap:10px;margin-bottom:24px}.page-heading h1{font-size:27px}.page-heading p{line-height:1.8}.heading-actions{margin-top:4px}.stats-grid{gap:12px;margin-bottom:20px}.stat-card{padding:16px}.stat-label{font-size:10px}.stat-value{font-size:29px}.stat-foot{font-size:9px}.tools-grid{grid-template-columns:repeat(2,1fr);gap:12px}.tool-card{padding:18px}.tool-card h3{font-size:12px}.tool-card p{font-size:10px}.suite-footer{margin-top:28px}.panel-head{padding:18px}.panel-body{padding:18px}.record-list li{padding:15px 18px}.record-list strong{font-size:11px}.record-form{padding:20px}.table-toolbar{align-items:flex-start;flex-direction:column}.filter-input{max-width:none}.suite-sidebar>.brand{margin-top:10px}.workspace-label{margin:25px 0 20px}.suite-sidebar nav a{padding:10px 13px}.integration-card{padding:22px}.form-meta{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.sidebar-close{display:none}.menu-backdrop{position:fixed;inset:0;z-index:25;background:#172f2b55;border:0}.menu-backdrop[hidden]{display:none}
.suite-sidebar nav a{font-size:13px;color:#66735f}.page-heading p{font-size:13px}.stat-label{font-size:12px;color:#687461}.stat-foot,.stat-foot .text-link{font-size:11px;color:#687461}.panel-head h2{font-size:15px}.panel-head .text-link{font-size:11px;color:#66735f}.tool-card h3{font-size:14px}.tool-card p{font-size:12px;color:#687461}.record-list strong{font-size:13px}.record-list small{font-size:11px;color:#687461}.checklist li{font-size:12px}.welcome-panel p{font-size:12px;color:#596b49}.badge{font-size:10px;color:#596b49}.data-table th{font-size:11px;color:#687461}.workspace-label small,.nav-caption,.suite-footer{color:#687461}.sidebar-note p{color:#687461}.workspace-pill{color:#687461}.sidebar-note strong{font-size:12px}.sidebar-note p{font-size:11px}.auth-footer,.back-link,.stat-label .icon{color:#687461}
@media(max-width:680px){.sidebar-close{display:grid;position:absolute;right:14px;top:30px;background:white;font-size:25px}.suite-sidebar>.brand .brand-suffix{display:none}.suite-sidebar>.brand{max-width:155px}.suite-sidebar .workspace-label{margin-top:28px}.stat-label{font-size:11px}.stat-foot,.stat-foot .text-link{font-size:10px}.record-list strong{font-size:12px}.tool-card h3{font-size:13px}}

.talent-card{padding:24px;overflow-wrap:anywhere}.talent-card details{margin:20px 0}.talent-card summary{cursor:pointer;font-weight:600}.talent-copy{white-space:pre-wrap}.form-stack .form-grid{gap:20px}.form-stack textarea{min-height:120px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.talent-search{display:flex;align-items:center;gap:12px;margin-bottom:20px}.talent-search input{flex:1;min-width:0;background:white;border:1px solid var(--line);border-radius:8px;padding:12px}.tools-grid:has(.talent-card){grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:680px){.form-grid,.tools-grid:has(.talent-card){grid-template-columns:1fr}.talent-search{flex-wrap:wrap}.talent-search>.icon{display:none}.talent-search input{width:100%;flex-basis:100%}}
.talent-auth .auth-story{background:linear-gradient(145deg,#172f2b 0%,#214638 100%)}
.talent-auth .auth-story h2{max-width:440px}
.talent-auth .auth-card{max-width:480px}
.talent-auth .auth-card .button{width:100%;justify-content:center;min-height:48px}
.talent-auth .check-label{align-items:flex-start;line-height:1.55}
.talent-auth .check-label input{margin-top:3px;flex-shrink:0}
.talent-auth .form-stack{gap:16px}
.talent-profile-overview{display:flex;align-items:flex-start;gap:16px;margin:0 0 20px;padding:20px 22px;border:1px solid #dfe8d9;border-radius:12px;background:linear-gradient(110deg,#f3f7ed,#fbfcf9)}
.talent-profile-overview-icon,.privacy-card-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:11px;background:#e4eedb;color:#41644e}
.talent-profile-overview h2{margin:0 0 5px;font-size:14px}
.talent-profile-overview p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}
.talent-profile-panel{overflow:hidden}
.talent-profile-panel .panel-heading{align-items:center}
.talent-profile-panel .panel-heading h2{margin-top:4px}
.talent-profile-form{padding:22px}
.talent-form-section{display:grid;gap:16px}
.talent-form-section+.talent-form-section{margin-top:4px;padding-top:20px;border-top:1px solid var(--line)}
.talent-form-section>h3{margin:0;font-size:14px}
.talent-form-section>p{margin:-12px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.talent-profile-form .form-actions{margin-top:2px}
.talent-privacy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px}
.privacy-card{display:flex;min-width:0;flex-direction:column;overflow:hidden}
.privacy-card .panel-head{padding:20px 22px}
.privacy-card .panel-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:16px}
.privacy-card .panel-body>p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}
.privacy-card .panel-body>.button{margin-top:auto}
.privacy-card-title{display:flex;align-items:center;gap:13px}
.privacy-card-title h2{margin:3px 0 0;font-size:15px}
.privacy-card-icon{flex-basis:38px;width:38px;height:38px}
.privacy-card-danger{border-color:#ead8d4}
.privacy-card-danger .privacy-card-icon{background:#f8e9e5;color:#8a5048}
.privacy-card-danger .panel-body>.form-stack{width:100%;margin-top:auto}
.privacy-card-danger .button.secondary{border-color:#d6aaa2;color:#854c43}
.privacy-card .check-label{align-items:flex-start;line-height:1.55}
.privacy-card .check-label input{margin-top:3px;flex-shrink:0}
.apply-preview{overflow:hidden}
.apply-preview .record-details{margin-bottom:0}
.apply-form{overflow:hidden}
.apply-form-heading{padding:20px 22px;border-bottom:1px solid var(--line)}
.apply-form-heading h2{margin:4px 0 5px;font-size:15px}
.apply-form-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.apply-form>form{padding:22px}
.apply-form .check-label{align-items:flex-start;line-height:1.55}
.apply-form .check-label input{margin-top:3px;flex-shrink:0}
@media(max-width:760px){.talent-privacy-grid{grid-template-columns:1fr}.privacy-card .panel-head{padding:18px}.talent-profile-form{padding:18px}.apply-form-heading,.apply-form>form{padding:18px}}
@media(max-width:520px){.talent-profile-overview{gap:12px;padding:16px}.talent-profile-overview-icon{flex-basis:36px;width:36px;height:36px}.privacy-card-title{align-items:flex-start}.privacy-card-danger form .button{width:100%;justify-content:center}.apply-form .form-actions{align-items:flex-start;flex-direction:column}}

.invoice-workspace{display:grid;gap:18px}
.invoice-workspace>.page-heading{margin-bottom:0}
.invoice-page-heading{align-items:center}
.invoice-page-heading .eyebrow,.invoice-workspace .panel-heading .eyebrow,.invoice-detail-heading .eyebrow{margin-bottom:5px}
.invoice-tax-notice{margin:0;padding:13px 16px}
.invoice-settings{overflow:hidden}
.invoice-settings>summary{list-style:none;cursor:pointer}
.invoice-settings>summary::-webkit-details-marker{display:none}
.invoice-settings>summary:after{content:"+";display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid var(--line);border-radius:8px;color:var(--brand);font-size:20px;line-height:1}
.invoice-settings[open]>summary:after{content:"−"}
.invoice-settings-toggle{margin-left:auto;color:var(--brand);font-size:12px;font-weight:600;white-space:nowrap}
.invoice-settings-form{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:20px 22px 22px}
.invoice-settings-fields{align-items:start;gap:16px 18px}
.invoice-settings-fields>label,.invoice-editor-form .form-grid>label,.invoice-form-section label:not(.sr-only),.invoice-issue-action,.invoice-detail .panel-subsection label{display:grid;align-content:start;gap:7px;min-width:0;font-size:12px;font-weight:600;line-height:1.4}
.suite-main .invoice-workspace input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=range]):not([type=color]){min-height:48px}
.invoice-settings-fields textarea.control{height:48px;min-height:48px;resize:vertical}
.invoice-settings-form small,.invoice-editor-form small{color:var(--muted);font-size:11px;font-weight:400;line-height:1.55}
.invoice-settings-actions{display:flex;justify-content:flex-end;padding-top:14px;border-top:1px solid var(--line)}
.invoice-editor-form .form-grid>label>span:first-child,.invoice-notes-field>span{display:block;min-height:17px}
.invoice-editor{scroll-margin-top:90px;overflow:hidden}
.invoice-editor-form{gap:0;padding:0 22px 22px}
.invoice-form-section{padding:20px 0;border-bottom:1px solid var(--line)}
.invoice-section-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.invoice-step{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:#edf3e6;color:#42634c;font-size:12px;font-weight:700}
.invoice-section-heading h3{margin:0 0 3px;font-size:14px;letter-spacing:-.01em}
.invoice-section-heading p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}
.invoice-editor-form .form-grid{gap:14px 18px}
.invoice-editor-form .form-grid>label .subtle,.invoice-form-section label .subtle{font-weight:400}
.invoice-lines-table{border:1px solid var(--line);border-radius:10px}
.invoice-lines-table table{min-width:650px}
.invoice-lines-table th{background:#f7f9f6;color:#5f6d63;font-size:10px;letter-spacing:.04em}
.invoice-lines-table td{padding:8px}
.invoice-lines-table .control{min-width:80px;padding:9px 10px}
.invoice-lines-table td:first-child .control{min-width:180px}
.invoice-form-section>small{display:block;margin-top:8px}
.invoice-notes-field .control{min-height:90px}
.invoice-form-actions{display:flex;align-items:center;gap:12px;padding-top:18px}
.invoice-form-actions>span{margin-left:auto;color:var(--muted);font-size:11px}
.invoice-detail{overflow:hidden}
.invoice-detail-heading{align-items:center}
.invoice-detail-heading h2{margin-bottom:4px}
.invoice-detail-heading p{margin:0}
.invoice-status{display:inline-flex;align-items:center;max-width:100%;padding:5px 9px;border:1px solid #dfe7dc;border-radius:30px;background:#f4f7f2;color:#566b51;font-size:10px;font-weight:650;line-height:1.4;white-space:nowrap}
.invoice-status--paid{border-color:#d6e8d5;background:#edf7ec;color:#386742}
.invoice-status--part-paid{border-color:#e8dfc7;background:#fbf6e8;color:#786128}
.invoice-status--unpaid,.invoice-status--issued{border-color:#e9dfc9;background:#fbf6e9;color:#795d21}
.invoice-status--draft{border-color:#dbe4ec;background:#f1f5f8;color:#52687b}
.invoice-status--legacy{border-color:#e6e5e0;background:#f5f5f2;color:#686a61}
.invoice-detail>.table-wrap{margin:0 22px}
.invoice-detail .detail-list{margin-top:16px}
.invoice-detail .invoice-total{border-color:#d6e5d7;background:#f3f8f1}
.invoice-detail .invoice-total dd{color:var(--brand);font-size:16px}
.invoice-issue-action{display:flex;grid-template-columns:1fr auto;align-items:center;gap:20px;margin:0 22px 22px;padding:16px;border:1px solid #dfe8d9;border-radius:10px;background:#f8faf6}
.invoice-issue-action strong{font-size:13px}
.invoice-issue-action p{margin:3px 0 0;color:var(--muted);font-size:11px;font-weight:400;line-height:1.55}
.invoice-detail>.notice,.invoice-detail>.action-row,.invoice-detail>.panel-subsection,.invoice-detail>h3,.invoice-detail>.table-wrap:last-child{margin-left:22px;margin-right:22px}
.invoice-detail>.notice{margin-top:18px}
.invoice-detail>h3{margin-top:20px;font-size:14px}
.invoice-detail .action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.invoice-detail .action-row form{margin:0}
.invoice-detail .panel-subsection{margin-top:18px}
.invoice-register{overflow:hidden}
.invoice-register-heading{align-items:flex-end}
.invoice-register-heading h2{margin-bottom:4px}
.invoice-register-heading p{margin:0}
.invoice-filters{display:flex;gap:5px;padding:4px;border:1px solid var(--line);border-radius:10px;background:#f7f9f6}
.invoice-filters a{padding:7px 10px;border-radius:7px;color:var(--muted);font-size:11px;font-weight:600;text-decoration:none;white-space:nowrap}
.invoice-filters a[aria-current=page]{background:#fff;box-shadow:0 1px 3px #1e302c14;color:var(--brand)}
.invoice-register-table{margin:0 12px 12px}
.invoice-register-table table{min-width:760px}
.invoice-register-table th{background:#f8faf7;color:#627067;font-size:10px;letter-spacing:.03em}
.invoice-register-table td{font-size:11px;vertical-align:middle}
.invoice-register-table td strong{font-size:11px}
.invoice-register-table .invoice-amount{font-weight:650;white-space:nowrap}
.invoice-open-link{display:inline-flex;gap:5px;align-items:center;color:var(--brand);font-weight:650;text-decoration:none;white-space:nowrap}
.invoice-open-link:hover{text-decoration:underline}
.invoice-empty-state{display:grid;justify-items:center;gap:8px;padding:42px 22px;text-align:center}
.invoice-empty-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:6px;border-radius:13px;background:#edf3e6;color:#537365}
.invoice-empty-state h3{margin:0;font-size:15px}
.invoice-empty-state p{max-width:420px;margin:0 0 8px;color:var(--muted);font-size:12px;line-height:1.65}
@media(max-width:760px){.invoice-page-heading{align-items:flex-start}.invoice-register-heading{align-items:flex-start;flex-direction:column}.invoice-filters{align-self:flex-start}.invoice-settings-form,.invoice-editor-form{padding-inline:18px}.invoice-settings-fields{grid-template-columns:minmax(0,1fr)}.invoice-detail>.table-wrap{margin-inline:18px}.invoice-detail>.notice,.invoice-detail>.action-row,.invoice-detail>.panel-subsection,.invoice-detail>h3,.invoice-detail>.table-wrap:last-child{margin-left:18px;margin-right:18px}.invoice-issue-action{margin-inline:18px}}
@media(max-width:520px){.invoice-settings-toggle{font-size:0}.invoice-settings-toggle:after{content:"Edit";font-size:11px}.invoice-form-actions{align-items:stretch;flex-direction:column}.invoice-form-actions>.button{width:100%}.invoice-form-actions>span{margin:2px 0 0;text-align:center}.invoice-issue-action{align-items:stretch;flex-direction:column}.invoice-issue-action .button{width:100%}.invoice-detail-heading{align-items:flex-start;flex-direction:column}.invoice-filters{width:100%}.invoice-filters a{flex:1;text-align:center}}

.api-code{padding:16px;background:#f2f5ee;border-radius:8px;overflow:auto;max-width:100%;font-size:12px}.api-module{border-top:1px solid var(--line);padding:16px 0}.api-module summary{cursor:pointer;font-weight:600;margin-bottom:12px}.api-module summary code{font-size:11px;margin-left:8px}.api-module .table-scroll{overflow:auto}.api-module code{overflow-wrap:anywhere}
.audience-bar{background:#eef2e8;border-bottom:1px solid #dce3d3}.audience-nav{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px}.audience-nav>span{color:#5e6c56}.audience-nav>div{display:flex;align-items:center;gap:6px}.audience-nav a{padding:5px 15px;border-radius:6px;text-decoration:none;color:#4d5f49}.audience-nav a[aria-current=page]{background:white;color:#172f2b;font-weight:700;box-shadow:0 1px 4px #172f2b10}
.landing-talent{--brand:#48365e;--accent:#e6d6fa;--paper:#fcf9ff}.landing-work{--brand:#243f57;--accent:#c9e8f5;--paper:#f7fafc}.landing-talent .hero h1 em{color:#725590}.landing-work .hero h1 em{color:#457b9b}.landing-talent .hero-label,.landing-talent .eyebrow{color:#725590}.landing-work .hero-label,.landing-work .eyebrow{color:#45718b}.landing-talent .audience-bar{background:#f0eaf6;border-color:#e6dced}.landing-work .audience-bar{background:#eaf1f6;border-color:#dae5ed}.landing-talent .cta-section{background:#48365e}.landing-work .cta-section{background:#243f57}.landing-talent .cta-section .eyebrow,.landing-work .cta-section .eyebrow{color:var(--accent)}.landing-talent .feature-icon{background:#f0e8f8;color:#725590}.landing-work .feature-icon{background:#e9f2f8;color:#386d8b}
.talent-preview,.work-preview{padding:24px;border-radius:24px;background:#f0e6f8;min-width:0}.work-preview{background:#e3eef5}.profile-preview-card,.work-preview-card{background:#fff;border:1px solid #e3d9ea;border-radius:16px;box-shadow:0 15px 35px #49385b10;padding:26px;min-width:0}.work-preview-card{border-color:#d8e3eb}.preview-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:30px}.preview-tag{display:inline-flex;align-items:center;gap:7px;font-size:10px;color:#6d617c}.preview-tag .icon{width:16px;height:16px}.preview-dots{color:#9f91ac;letter-spacing:3px}.profile-preview-identity{display:flex;align-items:center;gap:18px;margin-bottom:23px}.profile-preview-avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#d9c6eb;font-size:30px;color:#48365e;flex-shrink:0}.profile-preview-identity .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:8px}.profile-preview-identity h2{font-size:21px;line-height:1.4;margin-bottom:4px}.profile-preview-identity p{font-size:11px;margin:0;color:#766a82}.preview-skills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.preview-skills span{font-size:10px;border:1px solid #e7deed;border-radius:6px;padding:5px 10px;color:#665777}.portfolio-preview{position:relative;border-radius:10px;padding:28px;min-height:175px;overflow:hidden;background:#f4eff8}.portfolio-preview>div{position:relative;z-index:1}.portfolio-preview h3{font-size:23px;color:#48365e;margin-bottom:20px}.portfolio-preview .eyebrow{font-size:8px;letter-spacing:1px}.portfolio-preview>div>span:last-child{font-size:10px;color:#725590}.portfolio-shape{position:absolute;right:-30px;top:35px;width:160px;height:160px;border-radius:50%;border:28px solid #dfcfec;transform:rotate(-20deg)}.profile-preview-bottom{display:flex;gap:12px;align-items:center;margin-top:24px;color:#6d617c}.profile-preview-bottom strong{display:block;font-size:11px}.profile-preview-bottom span{font-size:10px;color:#877a93}.small-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e3eef5;color:#396882;font-size:11px}.work-preview-card>.eyebrow{font-size:8px;letter-spacing:1px}.work-preview-card>h2{font-size:25px}.work-preview-card>.subtle{font-size:12px}.work-project{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #e5ecf1}.work-project-icon{padding:8px;background:#eff5f8;border-radius:8px;color:#3e708c}.work-project>div:nth-child(2){flex:1}.work-project small{display:block;font-size:8px;letter-spacing:1px;color:#7291a6}.work-project strong{display:block;font-size:12px}.work-project .preview-tag{font-size:8px;color:#3f6a80}.work-task{display:flex;align-items:center;gap:10px;padding:18px 0;border-bottom:1px solid #edf1f4}.task-marker{width:27px;height:27px;border:1px solid #dce5ec;border-radius:7px;display:grid;place-items:center;flex-shrink:0;color:#4f768d}.task-marker .icon{width:15px;height:15px}.task-marker.done{background:#e7f1e4;color:#48723d;border-color:#d6e6d1}.work-task>div{flex:1}.work-task strong{font-size:11px;display:block}.work-task small{font-size:9px;color:#6e8798}.work-task>span:last-child{font-size:8px;color:#6a8394}.work-preview-note{display:flex;align-items:center;gap:10px;margin-top:22px;font-size:11px;color:#59788e}.work-preview-note .icon{width:17px;height:17px}.work-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.work-role-card{background:white;border:1px solid #dbe5ed;border-radius:14px;padding:32px}.work-role-card h3{font-size:22px}.work-role-card p{color:#5f7687}.work-role-card .button{margin-top:8px}.role-help{margin-top:24px;display:flex;gap:25px;justify-content:space-between;color:#607588;font-size:12px}.promo-faq details{padding:23px 0;border-bottom:1px solid #e5ddec;max-width:800px}.promo-faq summary{cursor:pointer;font-weight:600;font-size:16px}.promo-faq details p{margin:16px 0 0;color:#74647e;max-width:720px}
@media(max-width:680px){.audience-nav{justify-content:center;min-height:44px}.audience-nav>span{display:none}.audience-nav a{padding:5px 20px}.landing-talent .public-actions>a:first-child,.landing-work .public-actions>a:first-child{display:none}.landing-talent .public-actions .button,.landing-work .public-actions .button{font-size:10px;padding:10px}.talent-preview,.work-preview{padding:13px;border-radius:16px}.profile-preview-card,.work-preview-card{padding:20px}.profile-preview-avatar{width:48px;height:48px;font-size:23px}.profile-preview-identity{gap:12px}.profile-preview-identity h2{font-size:17px}.profile-preview-identity .eyebrow{font-size:6px}.portfolio-preview{padding:22px}.portfolio-preview h3{font-size:21px}.work-role-grid{grid-template-columns:1fr}.work-role-card{padding:25px}.role-help{flex-direction:column;gap:14px}.work-preview-card>h2{font-size:23px}.work-project .preview-tag{display:none}.work-task strong{font-size:10px}.work-task small{font-size:8px}.work-task>span:last-child{font-size:7px}.work-task{gap:8px}.landing-work .public-actions .button .icon{width:16px}.promo-faq summary{font-size:14px}.promo-faq details p{font-size:13px}}

.access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px}.access-grid .field{min-width:0}

.event-list{display:grid;gap:20px}.event-card{padding:20px;border:1px solid #e0e7e2;border-radius:14px}.event-card p{overflow-wrap:anywhere}.preserve-lines{white-space:pre-wrap}.report-count{font-size:2rem!important;font-weight:700}.report-count small{font-size:.85rem;font-weight:400}

.suite-sidebar{overflow:hidden}.suite-sidebar>.brand,.suite-sidebar>.workspace-label,.suite-sidebar>.nav-caption,.sidebar-bottom{flex-shrink:0}.suite-sidebar nav{min-height:0;overflow-y:auto;flex:1;padding-bottom:8px}.sidebar-note{display:none}.sidebar-bottom{padding-top:8px}.tool-card h2{font-size:16px}.tool-card .form-actions{flex-wrap:wrap}.record-list li>div{min-width:0;overflow-wrap:anywhere}

.record-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:24px;margin:0}.record-details dt{font-size:.82rem;font-weight:600;color:var(--muted);margin-bottom:8px}.record-details dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.attachment-list{list-style:none;padding:0;margin:20px 0}.attachment-list li{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.attachment-list li>div{min-width:0;overflow-wrap:anywhere}.attachment-list small{display:block;color:var(--muted);margin-top:4px}.attachment-list form{flex-shrink:0}

/* Recruiting pages reuse the shared panels and form controls. */
.jobs-main{width:min(1120px,100%);margin:0 auto;padding:40px 24px 64px}.jobs-main h1{overflow-wrap:anywhere}.marketing-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;max-width:1200px;margin:auto}.marketing-header nav{display:flex;align-items:center;gap:16px}.check-label{display:flex;align-items:flex-start;gap:10px;line-height:1.6}.check-label input{flex:0 0 auto;width:18px;height:18px;margin-top:4px}.record-details dd{overflow-wrap:anywhere}@media(max-width:600px){.jobs-main{padding:28px 16px 40px}.marketing-header{padding:20px 16px;align-items:flex-start;flex-wrap:wrap}.marketing-header nav{flex-wrap:wrap;gap:12px}}

.tour-trigger{white-space:nowrap}.tour-dialog{width:min(520px,calc(100% - 32px));max-height:min(680px,calc(100% - 32px));overflow:auto;border:1px solid var(--line);border-radius:16px;padding:25px;background:var(--white);color:var(--ink);box-shadow:0 24px 80px #14291f40}.tour-dialog[open]{display:block}.tour-dialog::backdrop{background:#15251f99;backdrop-filter:blur(2px)}.tour-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.tour-dialog-head .eyebrow{margin:10px 0}.tour-dialog h2{margin:0 0 8px}.tour-progress{font-size:12px;color:var(--muted);margin:0 0 18px}.tour-step h3{margin-bottom:8px}.tour-step>p{color:var(--muted);line-height:1.75}.tour-links{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.tour-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.tour-actions button:disabled{visibility:hidden}
@media(max-width:680px){.tour-dialog{padding:20px}.tour-trigger{padding:7px 9px;font-size:11px}}

.provider-logo-mark{width:112px;height:43px;display:grid;place-items:center;margin-bottom:24px;border-radius:8px;background:#f5f7f4;color:#33453e;font-size:14px;font-weight:700;letter-spacing:-.04em}
.provider-logo-mark.paystack{color:#00a86b}
.provider-logo-mark.flutterwave{color:#f36f21}
.legacy-integrations{margin-top:38px}
.legacy-integrations>.section-heading{margin-bottom:18px}
.legacy-integrations>.section-heading p{max-width:760px;color:var(--muted);font-size:13px;line-height:1.7}
.legacy-integration-groups{display:grid;gap:12px}
.legacy-integration-group{border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 18px}
.legacy-integration-group>summary{display:flex;align-items:center;gap:12px;min-height:58px;cursor:pointer;font-size:14px;font-weight:650;list-style-position:inside}
.legacy-integration-group>summary .badge{margin-left:auto}
.legacy-integration-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 0 18px;margin:0;list-style:none}
.legacy-integration-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:6px 9px;min-width:0;border:1px solid #edf0ea;border-radius:9px;padding:9px}
.legacy-integration-logo{grid-column:1;grid-row:1 / span 2;flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:#f0f3eb;color:#526b4b;font-size:15px;font-weight:700}
.legacy-integration-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}
.legacy-integration-logo.plaid-mark{background:#163c3a;padding:4px}
.legacy-integration-name{grid-column:2 / span 2;grid-row:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600}
.legacy-integration-item .badge{grid-column:2;grid-row:2;justify-self:start}
.legacy-integration-item>.button{grid-column:3;grid-row:2;padding:6px 9px;font-size:11px;white-space:nowrap}
.legacy-integration-item>.button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:1000px){.legacy-integration-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.legacy-integration-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.legacy-integration-list{grid-template-columns:1fr}}

.privacy-main{max-width:900px;padding:56px 0 80px}.privacy-heading{margin-bottom:30px}.privacy-heading .eyebrow{margin-bottom:10px}.privacy-heading h1{font-size:clamp(36px,5vw,48px);margin-bottom:12px}.privacy-heading p{max-width:640px;color:var(--muted);font-size:15px}.privacy-card{padding:clamp(24px,5vw,52px);border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:var(--shadow)}.privacy-card h2{margin-top:36px;padding-top:25px;border-top:1px solid var(--line);font-size:22px}.privacy-card h2:first-of-type{margin-top:0;padding-top:0;border-top:0}.privacy-card h3{margin-top:24px;font-size:17px}.privacy-card p,.privacy-card li{color:#485650;line-height:1.8}.privacy-card ul{padding-left:22px}.privacy-card li+li{margin-top:8px}.privacy-card [role=status]{margin-bottom:24px}.privacy-last-updated{font-size:12px;color:var(--muted);font-style:italic}
@media(max-width:680px){.privacy-main{padding:36px 0 52px}.privacy-card{padding:22px}.privacy-card h2{margin-top:28px;padding-top:20px}}

.accounting-line{display:flex;justify-content:space-between;gap:18px;padding:10px 0;margin:0;border-bottom:1px solid var(--line)}.accounting-line span{color:var(--muted)}.accounting-line strong{text-align:right}.accounting-total{font-weight:650;border-top:1px solid var(--line);border-bottom:0}.accounting-grand-total{font-weight:750;border-top:2px solid var(--brand)}.accounting-line+.accounting-grand-total{margin-top:10px}@media(max-width:680px){.accounting-line{gap:10px;font-size:12px}.accounting-line strong{max-width:52%;overflow-wrap:anywhere}}

/* Workspace experience: grouped navigation, topbar menus, command palette, filters and boards */
.suite-sidebar nav.sidebar-nav { gap: 2px; padding-right: 2px; scrollbar-width: thin; }
.suite-sidebar nav.sidebar-nav a { padding: 9px 12px; }
.nav-group-label { display: block; margin: 16px 12px 6px; font-size: 10px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: #8d9988; }
.suite-sidebar nav.sidebar-nav a.active { box-shadow: inset 3px 0 0 #6b9a52; }
.suite-topbar { position: sticky; top: 0; z-index: 20; backdrop-filter: saturate(1.4) blur(10px); background: #ffffffd9; height: 70px; }
.breadcrumb { flex-shrink: 0; }
.suite-sidebar .nav-group-label, .suite-sidebar .logout-button { color: var(--muted); }
.suite-topbar .breadcrumb { color: var(--muted); }
.command-trigger { display: flex; align-items: center; gap: 10px; flex: 0 1 380px; margin-right: auto; margin-left: 12px; min-height: 40px; padding: 0 10px 0 13px; border: 1px solid var(--line); border-radius: 10px; background: #f7f9f4; color: #7b8676; font-size: 13px; text-align: left; transition: border-color .15s, background .15s, box-shadow .15s; }
.command-trigger { color: var(--muted); }
.command-trigger:hover { border-color: #cfdcc6; background: #fff; box-shadow: 0 4px 14px #1d3c2810; }
.command-trigger .icon { width: 17px; height: 17px; }
.command-trigger span { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
kbd { display: inline-flex; align-items: center; gap: 3px; min-width: 22px; justify-content: center; padding: 2px 6px; border: 1px solid #dfe6da; border-bottom-width: 2px; border-radius: 6px; background: #fff; color: var(--ink); font: 600 10.5px/1.5 'DM Sans', system-ui, sans-serif; white-space: nowrap; }
.topbar-end { gap: 10px; }
.topbar-menu { position: relative; }
.topbar-menu > summary { list-style: none; cursor: pointer; }
.topbar-menu > summary::-webkit-details-marker { display: none; }
.quick-create > summary .icon { width: 16px; height: 16px; }
.user-menu > summary { display: flex; align-items: center; gap: 9px; padding: 4px 8px 4px 4px; border: 1px solid transparent; border-radius: 30px; transition: background .15s, border-color .15s; }
.user-menu > summary:hover, .user-menu[open] > summary { background: #f4f7f0; border-color: var(--line); }
.user-menu > summary.company-logo-button { display: flex; align-items: center; justify-content: center; gap: 4px; min-width: 56px; height: 40px; padding: 2px 3px 2px 2px; overflow: visible; border-color: transparent; border-radius: 24px; background: transparent; }
.user-menu > summary.company-logo-button:hover, .user-menu[open] > summary.company-logo-button { border-color: var(--line); background: #f4f7f0; }
.company-logo-button .avatar, .company-logo-image { width: 36px; height: 36px; flex: 0 0 36px; border-radius: 50%; }
.company-logo-image { object-fit: contain; border: 1px solid var(--line); background: #fff; }
.company-logo-chevron { width: 14px; height: 14px; color: #8a9684; transition: transform .15s; }
.user-menu[open] .company-logo-chevron { transform: rotate(180deg); }
.settings-company-logo { display: block; width: 88px; height: 88px; margin: 0 0 10px; padding: 5px; border: 1px solid var(--line); border-radius: 12px; object-fit: contain; background: #fff; }
.checkbox-label { display: flex; align-items: center; gap: 8px; margin: 8px 0; color: var(--muted); font-size: 13px; }
.checkbox-label input { width: auto; }
.user-menu > summary .icon { width: 15px; height: 15px; color: #8a9684; }
.user-menu-name { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 600; color: #3c4e44; }
.user-menu .avatar, .menu-identity .avatar { background: linear-gradient(135deg, #d3ed9f, #a9d39a); color: var(--brand); font-weight: 700; }
.menu-popover { position: absolute; right: 0; top: calc(100% + 8px); z-index: 40; width: 250px; padding: 8px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 18px 50px #1a35281f, 0 2px 6px #1a352810; animation: pop-in .14s ease-out; }
.menu-popover a, .menu-popover button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 10px; border: 0; border-radius: 8px; background: none; color: var(--ink); font-size: 13px; text-decoration: none; text-align: left; }
.menu-popover a:hover, .menu-popover button:hover, .menu-popover a:focus-visible { background: #f2f6ee; }
.menu-popover .icon { width: 17px; height: 17px; color: #758270; }
.menu-caption { display: block; padding: 6px 10px 4px; font-size: 10px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; color: #8d9988; }
.quick-create .menu-popover { width: 220px; }
.menu-identity { display: flex; align-items: center; gap: 10px; padding: 8px 10px 10px; }
.menu-identity > div { min-width: 0; }
.menu-identity strong, .menu-identity small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.menu-identity small { color: var(--muted); font-size: 12px; }
.menu-workspace { display: flex; align-items: center; gap: 7px; margin: 0 4px 6px; padding: 7px 8px; border-radius: 8px; background: #f5f8f1; color: #5e6f58; font-size: 12px; }
.menu-signout { border-top: 1px solid var(--line) !important; border-radius: 0 0 8px 8px !important; margin-top: 6px; padding-top: 11px !important; color: #9b3a32 !important; }
.menu-signout .icon { color: #9b3a32 !important; }
@keyframes pop-in { from { opacity: 0; transform: translateY(-4px) scale(.98); } to { opacity: 1; transform: none; } }

.command-dialog { width: min(640px, calc(100% - 24px)); max-height: min(560px, calc(100% - 80px)); margin: 10vh auto auto; padding: 0; border: 1px solid #dfe6da; border-radius: 16px; background: #fff; color: var(--ink); box-shadow: 0 30px 90px #12241b4d; overflow: hidden; }
.command-dialog[open] { display: flex; flex-direction: column; animation: pop-in .14s ease-out; }
.command-dialog::backdrop { background: #13241c80; backdrop-filter: blur(3px); }
.command-search { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.command-search .icon { color: #7d8a78; }
.command-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; color: var(--ink); font-size: 16px; }
.command-results { flex: 1; overflow-y: auto; padding: 8px; overscroll-behavior: contain; }
.command-group { display: block; padding: 10px 10px 5px; font-size: 10px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; color: #8d9988; }
.command-option { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 10px; color: var(--ink); text-decoration: none; }
.command-option .icon { width: 30px; height: 30px; padding: 6px; border-radius: 8px; background: #f1f5ec; color: #5b7a4c; box-sizing: border-box; }
.command-option span { min-width: 0; }
.command-option strong, .command-option small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.command-option strong { font-weight: 600; font-size: 14px; }
.command-option small { color: var(--muted); font-size: 12px; }
.command-option[aria-selected="true"] { background: var(--brand); color: #fff; }
.command-option[aria-selected="true"] small { color: #c9dccd; }
.command-option[aria-selected="true"] .icon { background: #ffffff1f; color: var(--accent); }
.command-empty { padding: 34px 16px; margin: 0; text-align: center; color: var(--muted); }
.command-foot { display: flex; gap: 18px; padding: 10px 18px; border-top: 1px solid var(--line); background: #fafbf8; color: #7a8673; font-size: 12px; }
.command-foot span { display: flex; align-items: center; gap: 5px; }

/* Stage colours shared by badges, filters and board columns */
.badge { font-weight: 600; border-radius: 20px; padding: 3px 9px; }
.badge.completed, .badge.won, .badge.active, .badge.verified, .badge.paid, .badge.resolved, .badge.reviewed, .badge.launched, .badge.qualified, .badge.published, .badge.hired { background: #e4f1da; color: #3d6a2a; }
.badge.ongoing, .badge.inprogress, .badge.investigating, .badge.reviewing, .badge.contacted, .badge.proposal, .badge.negotiation, .badge.development, .badge.testing, .badge.design, .badge.interview, .badge.offer, .badge.inreview { background: #e3edf8; color: #2c5985; }
.badge.pending, .badge.high, .badge.medium, .badge.planned, .badge.new, .badge.discovery, .badge.notstarted, .badge.unpaid, .badge.open { background: #fdf1db; color: #8d6421; }
.badge.lost, .badge.suspended, .badge.critical, .badge.actionrequired, .badge.overdue { background: #fbe6e2; color: #a33f31; }
.badge.onhold, .badge.inactive, .badge.closed, .badge.draft, .badge.low, .badge.cancelled, .badge.notreviewed { background: #eef0ec; color: #66705f; }
.stage-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #b5bfae; flex-shrink: 0; }
.stage-dot.completed, .stage-dot.won, .stage-dot.active, .stage-dot.paid, .stage-dot.resolved, .stage-dot.reviewed, .stage-dot.launched, .stage-dot.qualified, .stage-dot.published, .stage-dot.hired { background: #5c9a3f; }
.stage-dot.ongoing, .stage-dot.inprogress, .stage-dot.investigating, .stage-dot.reviewing, .stage-dot.contacted, .stage-dot.proposal, .stage-dot.negotiation, .stage-dot.development, .stage-dot.testing, .stage-dot.design, .stage-dot.inreview { background: #4a82bf; }
.stage-dot.pending, .stage-dot.planned, .stage-dot.new, .stage-dot.discovery, .stage-dot.notstarted, .stage-dot.unpaid, .stage-dot.open { background: #e0a63a; }
.stage-dot.lost, .stage-dot.critical, .stage-dot.actionrequired { background: #cf5a48; }

.table-toolbar { flex-wrap: wrap; }
.toolbar-search { display: flex; gap: 8px; width: 100%; max-width: 440px; }
.search-field { position: relative; flex: 1; display: flex; }
.search-field .icon { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: #8b9786; pointer-events: none; }
.search-field .filter-input { max-width: none; padding-left: 34px; }
.toolbar-end { display: flex; align-items: center; gap: 14px; }
.view-switch { display: inline-flex; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: #f6f8f3; }
.view-switch a { display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border-radius: 7px; color: #6d7a67; font-size: 12px; font-weight: 600; text-decoration: none; }
.view-switch a .icon { width: 15px; height: 15px; }
.view-switch a[aria-current] { background: #fff; color: var(--brand); box-shadow: 0 1px 3px #1d3c281a; }
.stage-filter { display: flex; gap: 6px; padding: 12px 20px; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: thin; }
.stage-filter a { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 20px; background: #fff; color: #56634f; font-size: 12px; text-decoration: none; white-space: nowrap; transition: border-color .15s, background .15s; }
.stage-filter a:hover { border-color: #c9d6c0; }
.stage-filter a span { padding: 0 6px; border-radius: 10px; background: #eef2ea; color: #69765f; font-size: 11px; font-weight: 600; }
.stage-filter a[aria-current] { border-color: var(--brand); background: var(--brand); color: #fff; }
.stage-filter a[aria-current] span { background: #ffffff26; color: #fff; }
.row-title { font-weight: 600; color: var(--ink); text-decoration: none; }
.row-title:hover { color: #3f7a4e; text-decoration: underline; }
.row-actions { white-space: nowrap; }
.row-actions > * + * { margin-left: 12px; }
.data-table tbody tr { transition: background .12s; }
.data-table tbody tr:hover { background: #fafcf7; }
.money { font-variant-numeric: tabular-nums; white-space: nowrap; }
.money small { color: var(--muted); font-size: 11px; }
time.overdue { color: #a33f31; font-weight: 600; }
.progress { display: inline-flex; align-items: center; gap: 8px; min-width: 120px; }
.progress-track { flex: 1; height: 6px; border-radius: 6px; background: #edf1e8; overflow: hidden; }
.progress-track > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #7fb35d, #4e8a3a); }
.progress small { min-width: 32px; color: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums; }

.board-help { margin: 0; padding: 12px 20px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 1fr); gap: 14px; padding: 16px; overflow-x: auto; background: #f8faf6; scrollbar-width: thin; }
.board-column { display: flex; flex-direction: column; min-height: 260px; border: 1px solid #e6ece2; border-radius: 12px; background: #f1f4ee; transition: background .15s, border-color .15s; }
.board-column.is-over { border-color: #8fbf73; background: #eaf3e1; }
.board-column header { display: flex; align-items: center; gap: 8px; padding: 12px 14px 8px; }
.board-column h3 { margin: 0; font-size: 13px; letter-spacing: -.1px; }
.board-count { margin-left: auto; padding: 0 8px; border-radius: 10px; background: #fff; color: #6a7764; font-size: 11px; font-weight: 700; }
.board-list { display: flex; flex-direction: column; gap: 8px; padding: 4px 10px 10px; }
.board-card { display: grid; gap: 8px; padding: 12px 13px; border: 1px solid #e3e9df; border-radius: 10px; background: #fff; box-shadow: 0 1px 2px #1d3c280d; transition: box-shadow .15s, transform .15s, opacity .15s; }
.board-card[draggable="true"] { cursor: grab; }
.board-card:hover { box-shadow: 0 6px 18px #1d3c2817; transform: translateY(-1px); }
.board-card:focus-visible { outline: 3px solid #538f74; outline-offset: 2px; }
.board-card.is-dragging { opacity: .45; transform: rotate(1.5deg); }
.board-card.is-saving { opacity: .7; pointer-events: none; }
.board-card-title { font-weight: 600; font-size: 13.5px; line-height: 1.4; color: var(--ink); text-decoration: none; overflow-wrap: anywhere; }
.board-card-title:hover { text-decoration: underline; }
.board-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; color: var(--muted); font-size: 12px; }
.board-card-meta:empty { display: none; }
.board-empty { margin: 0 10px 12px; padding: 18px 10px; border: 1.5px dashed #d5ddd0; border-radius: 10px; text-align: center; color: #94a08e; font-size: 12px; }

@media (max-width: 1150px) {
  .command-trigger kbd, .user-menu-name { display: none; }
}
@media (max-width: 680px) {
  .suite-topbar { height: 62px; gap: 8px; }
  .breadcrumb { display: none; }
  .command-trigger { flex: 1; margin: 0; min-width: 0; }
  .command-trigger span { font-size: 12px; }
  .quick-create > summary span, .user-menu > summary > .icon { display: none; }
  .quick-create > summary { padding: 8px 10px; }
  .topbar-end { gap: 4px; }
  .menu-popover { position: fixed; left: 12px; right: 12px; top: 66px; width: auto; }
  .command-dialog { margin-top: 12px; max-height: calc(100% - 24px); }
  .command-foot { display: none; }
  .toolbar-search { max-width: none; }
  .toolbar-end { width: 100%; justify-content: space-between; }
  .board { grid-auto-columns: minmax(78vw, 1fr); scroll-snap-type: x mandatory; padding: 12px; }
  .board-column { scroll-snap-align: start; }
  .row-actions > * + * { margin-left: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .menu-popover, .command-dialog[open] { animation: none; }
  .board-card, .board-card:hover { transition: none; transform: none; }
}

/* Overview dashboard and activity feed */
.workspace-label { margin: 22px 0 12px; }
.greeting { display: block; margin-bottom: 6px; color: #6f8a5f; font-size: 13px; font-weight: 600; }
.heading-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.heading-actions .button .icon { width: 16px; height: 16px; }
.attention-strip { display: flex; align-items: center; gap: 10px; margin: -8px 0 22px; padding: 11px 16px; border: 1px solid #f3d6cf; border-radius: 10px; background: #fff5f2; color: #8f3a2e; font-size: 13px; }
.attention-strip .icon { width: 18px; height: 18px; flex-shrink: 0; }
.attention-strip a { font-weight: 700; color: inherit; }
.kpi-grid .kpi { display: block; position: relative; color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s, transform .15s; }
.kpi-grid .kpi:hover { border-color: #cfdcc6; box-shadow: 0 10px 28px #1d3c2812; transform: translateY(-2px); }
.kpi-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: #eef5e6; }
.kpi-icon .icon { width: 17px !important; height: 17px !important; color: #4f7d3c !important; }
.kpi .stat-value { margin: 10px 0 6px; font-size: 30px; font-variant-numeric: tabular-nums; }
.stat-value.negative { color: #a33f31; }
.kpi-flag { display: inline-flex; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 600; }
.kpi-flag.bad { background: #fbe6e2; color: #a33f31; }
.kpi-flag.good { background: #e4f1da; color: #3d6a2a; }
.focus-list, .project-list, .agenda, .activity-feed, .legend { list-style: none; margin: 0; padding: 0; }
.focus-list li, .project-list li { display: flex; align-items: center; gap: 12px; padding: 13px 22px; border-bottom: 1px solid #f0f2ed; }
.focus-list li:last-child, .project-list li:last-child, .agenda li:last-child, .activity-feed li:last-child { border-bottom: 0; }
.focus-list li > div, .project-list li > div, .agenda li > div, .activity-feed li > div { flex: 1; min-width: 0; }
.focus-list a, .project-list a, .agenda a { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink); font-weight: 600; font-size: 13.5px; text-decoration: none; }
.focus-list a:hover, .project-list a:hover, .agenda a:hover, .activity-feed a:hover { text-decoration: underline; }
.focus-list small, .project-list small, .agenda small { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.focus-check { width: 18px; height: 18px; border: 2px solid #c8d3c1; border-radius: 6px; flex-shrink: 0; }
.focus-check.ongoing { border-color: #4a82bf; background: linear-gradient(135deg, transparent 50%, #4a82bf33 50%); }
.due.overdue { color: #a33f31; font-weight: 600; }
.due.soon { color: #9a6b17; font-weight: 600; }
.project-list .progress { width: 150px; flex-shrink: 0; }
.pipeline { display: grid; gap: 4px; }
.pipeline-row { display: grid; grid-template-columns: 150px 1fr 110px; align-items: center; gap: 14px; padding: 8px 6px; border-radius: 8px; color: inherit; text-decoration: none; }
.pipeline-row:hover { background: #f6f9f2; }
.pipeline-label { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; }
.pipeline-label small { color: var(--muted); font-weight: 500; }
.pipeline-bar { height: 10px; border-radius: 10px; background: #f0f3ec; overflow: hidden; }
.pipeline-bar span { display: block; height: 100%; border-radius: inherit; background: #4a82bf; }
.pipeline-bar .won { background: #5c9a3f; }
.pipeline-bar .lost { background: #d7a49b; }
.pipeline-bar .proposal { background: #8db3dd; }
.pipeline-row strong { text-align: right; font-size: 13px; font-variant-numeric: tabular-nums; }
.setup-panel { border-color: #dbe8cd; background: linear-gradient(180deg, #f6fbef, #fff 120px); }
.setup-meter { height: 6px; margin-bottom: 14px; border-radius: 6px; background: #e6eedd; overflow: hidden; }
.setup-meter span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #a6d36c, #5c9a3f); }
.donut-wrap { display: flex; align-items: center; gap: 22px; }
.donut { width: 132px; height: 132px; flex-shrink: 0; transform: rotate(0deg); }
.donut circle { transition: stroke-dasharray .6s ease; }
.donut-value { font: 750 8px Manrope, sans-serif; fill: var(--ink); letter-spacing: -.3px; }
.donut-caption { font-size: 3.2px; fill: #7b8676; text-transform: uppercase; letter-spacing: .3px; }
.legend { flex: 1; display: grid; gap: 10px; }
.legend li { display: flex; align-items: center; gap: 9px; font-size: 13px; }
.legend a { color: inherit; text-decoration: none; }
.legend a:hover { text-decoration: underline; }
.legend strong { margin-left: auto; font-variant-numeric: tabular-nums; }
.agenda li { display: flex; align-items: center; gap: 14px; padding: 12px 22px; border-bottom: 1px solid #f0f2ed; }
.agenda-date { display: grid; place-items: center; width: 44px; height: 46px; flex-shrink: 0; border: 1px solid #e3eadc; border-radius: 10px; background: #fff; line-height: 1.05; }
.agenda-date small { color: #6f8a5f; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .8px; }
.agenda-date strong { font: 750 18px Manrope, sans-serif; }
.live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #d64535; box-shadow: 0 0 0 0 #d6453566; animation: live 1.6s infinite; vertical-align: 1px; }
@keyframes live { 70% { box-shadow: 0 0 0 7px #d6453500; } 100% { box-shadow: 0 0 0 0 #d6453500; } }
.mini-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
.mini-metrics > div { display: grid; gap: 2px; min-width: 0; }
.mini-metrics span { color: var(--muted); font-size: 12px; }
.mini-metrics strong { font: 700 17px Manrope, sans-serif; letter-spacing: -.3px; font-variant-numeric: tabular-nums; }
.mini-metrics small { color: var(--muted); font-size: 11.5px; }
.mini-note { grid-column: 1 / -1; margin: 0; font-size: 12px; }
.empty-state.compact { padding: 26px 20px; }
.empty-state.compact h3 { font-size: 15px; }
.activity-feed li { display: flex; gap: 12px; padding: 13px 22px; border-bottom: 1px solid #f0f2ed; }
.activity-feed p { margin: 0; font-size: 13.5px; line-height: 1.5; overflow-wrap: anywhere; }
.activity-feed a { color: var(--ink); text-decoration: none; }
.activity-feed time { color: var(--muted); font-size: 12px; }
.activity-icon { display: grid; place-items: center; width: 30px; height: 30px; flex-shrink: 0; border-radius: 50%; background: #eef5e6; }
.activity-icon .icon { width: 15px; height: 15px; color: #4f7d3c; }
.activity-feed.compact li { padding: 11px 18px; }
.activity-feed.compact p { font-size: 13px; }
.pager { border: 1px solid var(--line); border-radius: 12px; background: #fff; }
@media (max-width: 1150px) {
  .pipeline-row { grid-template-columns: 120px 1fr 90px; }
  .project-list .progress { width: 110px; }
}
@media (max-width: 680px) {
  .kpi .stat-value { font-size: 24px; }
  .project-list li { flex-wrap: wrap; }
  .project-list .progress { order: 3; width: 100%; padding-left: 47px; }
  .pipeline-row { grid-template-columns: 1fr 80px; }
  .pipeline-bar { grid-column: 1 / -1; grid-row: 2; }
  .donut-wrap { flex-direction: column; align-items: stretch; }
  .donut { margin: 0 auto; }
  .focus-list li, .agenda li, .activity-feed li { padding-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .live-dot { animation: none; }
  .kpi-grid .kpi:hover { transform: none; }
}
.journal-balance { margin: 0 auto 0 0; padding: 7px 12px; border-radius: 8px; background: #fdf1db; color: #8d6421; font-size: 12.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
.journal-balance.balanced { background: #e4f1da; color: #3d6a2a; }
.setup-panel .badge { text-transform: none; }
.error-card .brand { margin-bottom: 26px; font-size: 24px; }
.error-card h1 { font-size: 26px; }
.error-card p { color: var(--muted); }
.landing .section-label { letter-spacing: .2px; font-size: 13px; text-transform: none; }
.sidebar-bottom { border-top: 1px solid var(--line); }
.inline-select { min-height: 34px; padding: 5px 30px 5px 10px; border: 1px solid #dbe3d8; border-radius: 8px; background: #fff; color: var(--ink); font-size: 12.5px; }
.legacy-integrations .section-heading { text-align: left; }
.legacy-integrations .section-heading h2 { font-size: 22px; letter-spacing: -.4px; }
.legacy-integrations .section-heading p { margin-left: 0; }

/* Form controls: one modern style for inputs, selects and dates across the workspace */
.suite-main input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=range]):not([type=color]),
.suite-main select, .suite-main textarea, .control {
  width: 100%; min-height: 42px; padding: 9px 12px; border: 1px solid #d7e0d3; border-radius: 9px; background-color: #fff;
  color: var(--ink); font: 14px/1.4 'DM Sans', system-ui, sans-serif; box-shadow: 0 1px 2px #1d3c280a;
  transition: border-color .15s, box-shadow .15s, background-color .15s;
}
.suite-main select, select.control {
  appearance: none; -webkit-appearance: none; padding-right: 36px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7a66' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
}
.suite-main select[multiple] { background-image: none; padding-right: 12px; min-height: 120px; }
.suite-main input:hover, .suite-main select:hover, .suite-main textarea:hover, .control:hover { border-color: #c3d1bd; }
.suite-main input:focus, .suite-main select:focus, .suite-main textarea:focus, .control:focus { outline: none; border-color: #5f8f6c; box-shadow: 0 0 0 4px #dcebdf; }
.suite-main input[aria-invalid="true"], .suite-main select[aria-invalid="true"], .suite-main textarea[aria-invalid="true"] { border-color: #c9584a; box-shadow: 0 0 0 4px #f8e1dd; }
.suite-main input::placeholder, .suite-main textarea::placeholder { color: #9aa597; }
.suite-main input[type=date], .suite-main input[type=datetime-local], .suite-main input[type=month] { font-variant-numeric: tabular-nums; }
.suite-main input[type=date]::-webkit-calendar-picker-indicator, .suite-main input[type=datetime-local]::-webkit-calendar-picker-indicator, .suite-main input[type=month]::-webkit-calendar-picker-indicator { opacity: .55; cursor: pointer; }
.auth-layout .field input:focus, .auth-layout .field select:focus, .auth-layout .field textarea:focus { outline: 3px solid #538f74; outline-offset: 2px; }
.suite-main .search-field .filter-input { padding-left: 34px; }
.suite-main .filter-input { max-width: none; }
.suite-main input[type=file] { width: 100%; padding: 10px; border: 1.5px dashed #cbd8c5; border-radius: 10px; background: #fafcf8; color: var(--muted); font-size: 13px; cursor: pointer; }
.suite-main input[type=file]::file-selector-button { margin-right: 12px; padding: 7px 14px; border: 1px solid var(--line); border-radius: 7px; background: #fff; color: var(--ink); font: 600 12.5px 'DM Sans', sans-serif; cursor: pointer; }
.suite-main input[type=checkbox], .suite-main input[type=radio] { width: 17px; height: 17px; accent-color: var(--brand); }
.field > label { font-weight: 600; font-size: 13px; color: #33443c; }
.text-button { display: inline-flex; align-items: center; gap: 7px; padding: 6px 4px; border: 0; background: none; color: #3d6a2a; font: 600 13px 'DM Sans', sans-serif; }
.text-button .icon { width: 16px; height: 16px; }
.text-button:hover { color: var(--brand); text-decoration: underline; }

/* Rich text editor */
.rte { border: 1px solid #d7e0d3; border-radius: 10px; background: #fff; box-shadow: 0 1px 2px #1d3c280a; transition: border-color .15s, box-shadow .15s; }
.rte.focused { border-color: #5f8f6c; box-shadow: 0 0 0 4px #dcebdf; }
.rte.invalid, .rte.over { border-color: #c9584a; box-shadow: 0 0 0 4px #f8e1dd; }
.rte-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; padding: 6px; border-bottom: 1px solid #edf1ea; background: #fafbf8; border-radius: 10px 10px 0 0; position: sticky; top: 70px; z-index: 2; }
.rte-button { display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 7px; background: none; color: #56634f; }
.rte-button svg { width: 17px; height: 17px; }
.rte-button:hover { background: #eef3ea; color: var(--brand); }
.rte-button[aria-pressed="true"] { background: #e2eedb; color: #2f5a24; }
.rte-sep { width: 1px; height: 20px; margin: 0 5px; background: #e1e7dd; }
.rte-content { min-height: 150px; max-height: 480px; overflow-y: auto; padding: 14px 16px; outline: none; font-size: 14.5px; line-height: 1.65; overflow-wrap: anywhere; }
.rte-content:empty::before { content: attr(data-placeholder); color: #9aa597; pointer-events: none; }
.rte-meter { padding: 0 14px 8px; color: var(--muted); font-size: 11.5px; text-align: right; }
.rte-meter:empty { display: none; }
.rte.over .rte-meter { color: #a33f31; font-weight: 600; }
.rich-text, .rte-content { color: var(--ink); }
.rich-text > :first-child, .rte-content > :first-child { margin-top: 0; }
.rich-text > :last-child, .rte-content > :last-child { margin-bottom: 0; }
.rich-text p, .rte-content p { margin: 0 0 10px; }
.rich-text h3, .rte-content h3 { margin: 16px 0 8px; font-size: 16px; letter-spacing: -.2px; }
.rich-text ul, .rich-text ol, .rte-content ul, .rte-content ol { margin: 0 0 10px; padding-left: 22px; }
.rich-text li, .rte-content li { margin: 3px 0; }
.rich-text blockquote, .rte-content blockquote { margin: 10px 0; padding: 6px 14px; border-left: 3px solid #a9cf8f; background: #f6faf2; color: #4b5b46; border-radius: 0 8px 8px 0; }
.rich-text a, .rte-content a { color: #2f6c3c; text-decoration: underline; text-underline-offset: 3px; }
.rich-text code, .rte-content code, .rich-text pre, .rte-content pre { font-family: ui-monospace, Consolas, monospace; font-size: 13px; background: #f2f5ef; border-radius: 5px; }
.rich-text code, .rte-content code { padding: 1px 5px; }
.rich-text pre, .rte-content pre { padding: 10px 12px; overflow-x: auto; white-space: pre-wrap; }
.record-details > div.wide { grid-column: 1 / -1; }
.record-details dd.rich-text { white-space: normal; }

/* Accounting journal */
.journal-wrap { border: 1px solid var(--line); border-radius: 12px; margin: 6px 0 0; }
.journal-table { width: 100%; border-collapse: collapse; }
.journal-table th { padding: 11px 14px; background: #fafbf8; border-bottom: 1px solid var(--line); color: #6a7764; font-size: 11px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; text-align: left; }
.journal-table td { padding: 8px 10px; border-bottom: 1px solid #f0f3ed; vertical-align: middle; }
.journal-table th:first-child, .journal-table td:first-child { width: 46%; padding-left: 14px; }
.journal-table th:last-child, .journal-table td:last-child { width: 52px; text-align: center; }
.journal-table .num { text-align: right; }
.amount-input { position: relative; display: block; }
.amount-input > span { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #8a9686; font-size: 12px; font-weight: 600; pointer-events: none; }
.amount-input .control { padding-left: 46px; text-align: right; font-variant-numeric: tabular-nums; }
.line-remove { width: 36px; height: 36px; color: #8a9686; border-color: transparent; }
.line-remove:hover { color: #a33f31; background: #fbecea; }
.line-remove .icon { width: 17px; height: 17px; }
.journal-table tfoot td { border-bottom: 0; background: #fafbf8; padding-top: 12px; padding-bottom: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.journal-table tfoot td.num { padding-right: 14px; }
.journal-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 4px; flex-wrap: wrap; }
.journal-balance { margin: 0; padding: 8px 14px; border-radius: 20px; background: #f1f4ee; color: #66705f; font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.journal-balance.balanced { background: #e4f1da; color: #3d6a2a; }
.journal-balance.unbalanced { background: #fdf1db; color: #8d6421; }
@media (max-width: 680px) {
  .journal-table thead { display: none; }
  .journal-table, .journal-table tbody, .journal-table tr, .journal-table td { display: block; width: 100% !important; }
  .journal-table tr[data-journal-line] { display: grid; grid-template-columns: 1fr 1fr 44px; gap: 8px; padding: 12px; border-bottom: 1px solid var(--line); }
  .journal-table tr[data-journal-line] td { padding: 0; border: 0; }
  .journal-table tr[data-journal-line] td:first-child { grid-column: 1 / -1; }
  .journal-table tfoot tr { display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; }
  .rte-toolbar { top: 62px; }
}
.suite-main .command-search input { min-height: 0; padding: 0; border: 0 !important; border-radius: 0; box-shadow: none !important; background: none; font-size: 16px; }
.suite-main .inline-select { width: auto; min-height: 34px; padding: 5px 30px 5px 10px; font-size: 12.5px; }
.form-stack > .button, .form-stack > div > .button:only-child { justify-self: start; width: auto; }
.accounting-line strong { white-space: nowrap; font-variant-numeric: tabular-nums; }

/* Brand lockup: the browser-tab mark with "suite" set beneath "simplr" */
.brand { gap: 11px; color: var(--brand); }
.brand .brand-logo { width: 40px; height: 40px; flex-shrink: 0; border-radius: 12px; box-shadow: 0 6px 16px #172f2b26; transition: transform .2s; }
.brand:hover .brand-logo { transform: rotate(-6deg) scale(1.04); }
.brand .brand-words { display: flex; flex-direction: column; justify-content: center; line-height: 1; }
.brand .brand-name { font: 800 25px/1 Manrope, system-ui, sans-serif; letter-spacing: -1.1px; color: #172f2b; }
.brand .brand-words .brand-suffix { display: block; align-self: flex-start; margin: 4px 0 0 1px; font: 700 9.5px/1 'DM Sans', system-ui, sans-serif; letter-spacing: 3.6px; text-transform: uppercase; color: #6f8a5f; }
.suite-sidebar > .brand { padding: 0 8px; }
.auth-story .brand .brand-name, .cta-section .brand .brand-name { color: #fff; }
.auth-story .brand .brand-suffix { color: #cce987; }
.auth-story .brand .brand-logo rect { fill: #cce987; }
.auth-story .brand .brand-logo path { stroke: #172f2b; }
.auth-story .brand .brand-logo { box-shadow: none; }
.public-header .brand .brand-name { font-size: 24px; }
@media (max-width: 680px) {
  .brand .brand-logo { width: 36px; height: 36px; border-radius: 11px; }
  .brand .brand-name { font-size: 22px; }
  .brand .brand-words .brand-suffix { display: block; font-size: 8.5px; letter-spacing: 3.2px; }
}
@media (prefers-reduced-motion: reduce) { .brand:hover .brand-logo { transform: none; } }

/* Files library */
.files-summary { display: grid; grid-template-columns: minmax(240px, 300px) 1fr; gap: 18px; align-items: stretch; margin-bottom: 24px; }
.files-summary .panel { margin: 0; }
.storage-card .stat-value small { color: var(--muted); font: 500 13px 'DM Sans', sans-serif; letter-spacing: 0; }
.storage-meter { height: 8px; margin: 8px 0 10px; border-radius: 8px; background: #edf1e8; overflow: hidden; }
.storage-meter span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #8fc36b, #4e8a3a); }
.storage-meter.high span { background: linear-gradient(90deg, #e0a63a, #c9584a); }
.upload-form { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(240px, 1.1fr); gap: 18px; padding: 18px; }
.dropzone { position: relative; display: grid; place-items: center; align-content: center; gap: 6px; min-height: 168px; padding: 18px; border: 2px dashed #cbd9c2; border-radius: 14px; background: #f8fbf5; text-align: center; cursor: pointer; transition: border-color .15s, background .15s; }
.dropzone:hover, .dropzone.is-over { border-color: #6fa356; background: #eff7e8; }
.dropzone.has-file { border-style: solid; border-color: #8fc36b; }
.suite-main .dropzone input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.dropzone-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #e3f0d8; color: #3d6a2a; }
.dropzone-icon .icon { width: 22px; height: 22px; }
.dropzone strong { font-size: 14px; overflow-wrap: anywhere; }
.dropzone small { color: var(--muted); font-size: 12px; }
.upload-fields { display: grid; gap: 12px; align-content: start; }
.upload-fields .button { justify-self: start; }
.files-filters { gap: 10px; flex-wrap: wrap; }
.files-filters .search-field { flex: 1 1 260px; }
.files-filters select { width: auto; min-width: 150px; }
.files-filters .count-label { margin-left: auto; }
.file-list { list-style: none; margin: 0; padding: 0; }
.file-list li { display: grid; grid-template-columns: 44px minmax(0, 1.4fr) minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 13px 20px; border-bottom: 1px solid #f0f2ed; transition: background .12s; }
.file-list li:hover { background: #fafcf7; }
.file-list li:last-child { border-bottom: 0; }
.file-type { display: grid; place-items: center; width: 40px; height: 46px; border-radius: 8px; background: #eef1ec; color: #5e6b58; font: 800 9.5px/1 'DM Sans', sans-serif; letter-spacing: .6px; clip-path: polygon(0 0, 72% 0, 100% 22%, 100% 100%, 0 100%); }
.file-type.pdf { background: #fbe4e0; color: #b23a2c; }
.file-type.image { background: #e5effa; color: #2c5985; }
.file-type.word { background: #e1ebfb; color: #2a5bb7; }
.file-type.excel { background: #def2e4; color: #1f7a45; }
.file-type.powerpoint { background: #fdebdc; color: #b5541c; }
.file-type.csv { background: #eaf3e1; color: #3d6a2a; }
.file-main { min-width: 0; }
.file-name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink); font-weight: 600; text-decoration: none; }
.file-name:hover { text-decoration: underline; }
.file-main small { color: var(--muted); font-size: 12px; }
.file-record { display: flex; align-items: center; gap: 10px; min-width: 0; color: var(--ink); text-decoration: none; font-size: 13px; }
.file-record .icon { width: 30px; height: 30px; padding: 7px; border-radius: 8px; background: #f1f5ec; color: #5b7a4c; box-sizing: border-box; flex-shrink: 0; }
.file-record span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.file-record small { display: block; color: var(--muted); font-size: 11.5px; }
.file-record:hover span { text-decoration: underline; }
.file-actions { display: flex; gap: 6px; }
.file-actions form { margin: 0; }
.file-actions .icon-button .icon { width: 17px; height: 17px; }
.icon-button.danger:hover { color: #a33f31; background: #fbecea; border-color: #f3d0ca; }
@media (max-width: 900px) {
  .files-summary, .upload-form { grid-template-columns: 1fr; }
  .file-list li { grid-template-columns: 40px minmax(0, 1fr) auto; }
  .file-record { grid-column: 2; grid-row: 2; }
  .file-actions { grid-column: 3; grid-row: 1 / span 2; }
}

/* Brand lockup v2: mark tilted 30°, "SUITE" spans exactly under "simp" (sized in em so it scales) */
.brand { gap: 15px; }
.brand .brand-logo { transform: rotate(30deg); }
.brand:hover .brand-logo { transform: rotate(18deg) scale(1.04); }
.brand .brand-words { font-size: 25px; }
.brand .brand-name { font: 800 1em/1 Manrope, system-ui, sans-serif; letter-spacing: -.044em; }
.brand .brand-words .brand-suffix { font: 700 .32em/1 'DM Sans', system-ui, sans-serif; letter-spacing: 1.074em; margin: .55em -1.074em 0 .03em; }
.public-header .brand .brand-words { font-size: 24px; }
.public-header .brand .brand-name { font-size: 1em; }
@media (max-width: 680px) {
  .brand .brand-words { font-size: 22px; }
  .brand .brand-name { font-size: 1em; }
  .brand .brand-words .brand-suffix { font-size: .32em; letter-spacing: 1.074em; }
}
@media (prefers-reduced-motion: reduce) { .brand:hover .brand-logo { transform: rotate(30deg); } }
/* Brand lockup v3: gentle counter-clockwise tilt; "SUITE" ends at the visible edge of the "p" */
.brand .brand-logo { transform: rotate(-12deg); }
.brand:hover .brand-logo { transform: rotate(-4deg) scale(1.04); }
.brand { gap: 13px; }
.brand .brand-words .brand-suffix { letter-spacing: .98em; margin: .55em -.98em 0 .06em; }
@media (max-width: 680px) { .brand .brand-words .brand-suffix { letter-spacing: .98em; } }
@media (prefers-reduced-motion: reduce) { .brand:hover .brand-logo { transform: rotate(-12deg); } }
/* Brand lockup v4: 8px "SUITE", no tracking, right edge under the visible end of the "p" */
.brand .brand-words { --wordmark: 25px; font-size: var(--wordmark); }
.brand .brand-words .brand-suffix { font-size: 8px; letter-spacing: 0; margin: 4px 0 0 calc(var(--wordmark) * 2.217 - 21.75px); }
.public-header .brand .brand-words { --wordmark: 24px; }
@media (max-width: 680px) { .brand .brand-words { --wordmark: 22px; } .brand .brand-words .brand-suffix { font-size: 8px; letter-spacing: 0; } }
/* Brand lockup v5: "SUITE" starts under the "s" */
.brand .brand-words .brand-suffix { margin: 4px 0 0 calc(var(--wordmark) * .03 - .25px); }
/* Brand lockup v6: 9px "SUITE", tighter to the wordmark */
.brand .brand-words .brand-suffix, .brand .brand-words .brand-suffix { font-size: 9px; margin-top: 0; line-height: 1; }
@media (max-width: 680px) { .brand .brand-words .brand-suffix { font-size: 9px; } }

/* GitHub integration */
.integration-logo { display: inline-grid; place-items: center; width: 48px; height: 48px; flex-shrink: 0; border-radius: 13px; background: #18201c; color: #fff; }
.integration-logo .icon { width: 26px; height: 26px; }
.integration-logo.small { width: 26px; height: 26px; border-radius: 7px; vertical-align: -7px; margin-right: 6px; }
.integration-logo.small .icon { width: 15px; height: 15px; }
.integration-feature { display: flex; align-items: center; gap: 18px; margin-bottom: 22px; padding: 20px 22px; border: 1px solid #dfe7d9; border-radius: 14px; background: linear-gradient(120deg, #fff 55%, #f2f8ec); }
.integration-feature > div { flex: 1; min-width: 0; }
.integration-feature-title { display: flex; align-items: center; gap: 10px; }
.integration-feature h2 { margin: 0; font-size: 18px; }
.integration-feature p { margin: 4px 0 0; color: var(--muted); font-size: 13.5px; }
.connected-integration-section { margin: 30px 0; }
.connected-integration-section > .section-heading { margin-bottom: 16px; }
.connected-integration-section > .section-heading h2 { margin: 0 0 5px; }
.connected-integration-section > .section-heading p { max-width: 760px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.integration-grid.connected-integration-grid { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 20px; }
.connected-integration-grid > .integration-card { display: flex; min-width: 0; height: 100%; flex-direction: column; align-items: flex-start; gap: 12px; padding: 24px; }
.connected-integration-grid .provider-logo-mark { width: auto; min-width: 88px; height: 36px; margin: 0; padding: 0 12px; }
.connected-integration-grid .integration-card h2,
.connected-integration-grid .integration-card p,
.connected-integration-grid .integration-card small { margin: 0; }
.connected-integration-grid .integration-card h2 { line-height: 1.35; }
.connected-integration-grid .integration-card p { line-height: 1.65; }
.connected-integration-grid .integration-card .badge { margin: 0; }
.connected-integration-grid .integration-card small { line-height: 1.55; }
.provider-logo-mark.workday { color: #0875c9; }
.provider-logo-mark.zoho-books { color: #b51f24; }
@media (max-width: 980px) { .integration-grid.connected-integration-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) { .integration-grid.connected-integration-grid { grid-template-columns: 1fr; gap: 14px; } .connected-integration-grid > .integration-card { padding: 20px; } }
.catalog-search { display: flex; align-items: center; gap: 14px; margin: 6px 0 16px; }
.catalog-search .search-field { flex: 1; max-width: 520px; }
.catalog-empty { margin: 0 0 16px; }
.back-crumb { display: inline-flex; margin-bottom: 14px; font-size: 13px; }
.integration-heading { align-items: center; }
.integration-title { display: flex; align-items: center; gap: 16px; }
.integration-title h1 { margin: 0; }
.integration-title p { margin: 4px 0 0; max-width: 640px; }
.connect-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.connect-card .panel-body { display: grid; gap: 12px; align-content: start; padding: 22px; }
.connect-card h2 { margin: 0; font-size: 17px; }
.connect-card p { margin: 0; }
.connect-card .button { justify-self: start; }
.github-button { background: #18201c; border-color: #18201c; }
.github-button:hover { background: #2b3530; }
.setup-steps { padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: #fafbf8; font-size: 13px; }
.setup-steps summary { cursor: pointer; font-weight: 600; }
.setup-steps ol { margin: 10px 0 0; padding-left: 20px; display: grid; gap: 8px; }
.setup-steps code, .gh-list code { padding: 1px 6px; border-radius: 5px; background: #eef2ea; font: 12px ui-monospace, Consolas, monospace; overflow-wrap: anywhere; }
.account-row { display: flex; align-items: center; gap: 16px; padding: 20px 22px; }
.account-row > div:not(.account-actions) { flex: 1; min-width: 0; }
.account-row strong, .account-row small { display: block; }
.account-row small { color: var(--muted); font-size: 12.5px; }
.account-avatar { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #18201c; color: #fff; }
.account-avatar .icon { width: 24px; height: 24px; }
.account-actions { display: flex; gap: 8px; align-items: center; }
.account-actions form { margin: 0; }
.danger-text { color: #a33f31 !important; }
.notice.compact { margin: 10px 0 0; padding: 8px 12px; font-size: 13px; }
.link-form { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(220px, 1.4fr) auto; gap: 14px; align-items: start; }
.link-form .button { margin-top: 27px; }
.link-form small { display: block; margin-top: 6px; font-size: 12px; }
.repo-list { list-style: none; margin: 0; padding: 0; }
.repo-list li { display: flex; align-items: center; gap: 14px; padding: 14px 22px; border-bottom: 1px solid #f0f2ed; }
.repo-list li:last-child { border-bottom: 0; }
.repo-icon { display: grid; place-items: center; width: 36px; height: 36px; flex-shrink: 0; border-radius: 9px; background: #f1f5ec; color: #4f7d3c; }
.repo-icon .icon { width: 18px; height: 18px; }
.repo-main { flex: 1; min-width: 0; }
.repo-name { display: inline-flex; align-items: center; gap: 7px; color: var(--ink); font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.repo-name .icon { width: 16px; height: 16px; color: #5b7a4c; }
.repo-name:hover { text-decoration: underline; }
.repo-main small, .repo-block-head small { display: block; margin-top: 3px; color: var(--muted); font-size: 12.5px; }
.repo-actions { display: flex; gap: 8px; }
.repo-actions form { margin: 0; }
.github-panel .panel-head h2 { display: flex; align-items: center; }
.repo-block { padding: 18px 22px; border-bottom: 1px solid #f0f2ed; }
.repo-block:last-child { border-bottom: 0; }
.repo-block-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.repo-block-head form { margin: 0; }
.repo-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.repo-columns > div { padding: 14px; border: 1px solid #edf1ea; border-radius: 11px; background: #fbfcfa; min-width: 0; }
.repo-columns h3 { display: flex; align-items: center; justify-content: space-between; margin: 0 0 10px; font-size: 13.5px; }
.repo-columns .subtle { margin: 0; font-size: 13px; }
.gh-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.gh-list a { display: block; color: var(--ink); font-size: 13px; font-weight: 600; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gh-list a:hover { text-decoration: underline; }
.gh-list small { display: block; color: var(--muted); font-size: 11.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gh-label { display: inline-block; padding: 0 6px; border-radius: 10px; background: #e7eefa; color: #2c5985; font-size: 10.5px; font-weight: 600; }
.github-issue-link { display: flex; align-items: center; gap: 12px; padding: 16px 22px; }
.github-issue-link > div { flex: 1; min-width: 0; }
.github-issue-link strong, .github-issue-link small { display: block; }
.github-issue-link small { color: var(--muted); font-size: 12.5px; }
@media (max-width: 900px) {
  .connect-grid, .repo-columns, .link-form { grid-template-columns: 1fr; }
  .link-form .button { margin-top: 0; justify-self: start; }
  .integration-feature, .account-row, .repo-list li, .repo-block-head { flex-wrap: wrap; }
}
/* Brand lockup v7: "SUITE" tucked just under the baseline of "simplr" */
.brand .brand-words .brand-suffix, .brand .brand-words .brand-suffix { font-size: 10px; margin-top: -3px; }
@media (max-width: 680px) { .brand .brand-words .brand-suffix { font-size: 10px; margin-top: -3px; } }
.brand .brand-words .brand-suffix, .brand .brand-words .brand-suffix { margin-top: -1px; }
@media (max-width: 680px) { .brand .brand-words .brand-suffix { margin-top: -1px; } }
/* Keep component-specific padding above the global control style */
.suite-main .search-field .filter-input { padding-left: 36px !important; }
.suite-main .amount-input .control { padding-left: 46px !important; }
.suite-main .command-search input { min-height: 0 !important; padding: 0 !important; background: none !important; }
.legacy-integration-item[hidden], .legacy-integration-group[hidden], [data-catalog-empty][hidden] { display: none !important; }
.notification-menu > summary { position: relative; }
.notification-count { position: absolute; top: -5px; right: -5px; min-width: 17px; height: 17px; padding: 0 4px; display: grid; place-items: center; border: 2px solid #fff; border-radius: 12px; background: #ac342e; color: #fff; font-size: 9px; font-weight: 700; }
.notification-menu .menu-popover { width: min(340px, calc(100vw - 24px)); max-height: min(65vh, 440px); overflow: auto; }
.notification-menu .menu-popover > a { display: flex; align-items: flex-start; gap: 10px; white-space: normal; }
.notification-menu .menu-popover > a > span { min-width: 0; }
.notification-menu .menu-popover > a small { display: block; color: var(--muted); margin-top: 2px; }
.notification-menu .menu-popover > form { margin: 0; }
.notification-menu .menu-popover > form > button { display: flex; width: 100%; align-items: flex-start; gap: 10px; padding: 9px 10px; border: 0; border-radius: 8px; background: transparent; color: inherit; text-align: left; }
.notification-menu .menu-popover > form > button:hover { background: #f3f6f0; }
.notification-menu .menu-popover > form > button > span { min-width: 0; }
.notification-menu .menu-popover > form > button small { display: block; color: var(--muted); margin-top: 2px; }
.notification-menu .notification-unread { background: #f0f5eb; }
.notification-menu .notification-all { border-top: 1px solid var(--line); margin-top: 6px; padding-top: 11px; color: var(--brand); font-weight: 700; }
.notification-empty { padding: 12px; color: var(--muted); }
.alerts-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, .8fr); gap: 20px; align-items: start; }
.alerts-layout .choice { display: grid; grid-template-columns: 17px minmax(0, 1fr); align-items: start; gap: 8px; line-height: 1.5; }
.alerts-layout .choice > input { margin: 3px 0 0; }
.alerts-layout .choice > span, .alerts-layout .choice strong, .alerts-layout .choice small { display: block; min-width: 0; }
.alerts-layout .choice small { margin-top: 2px; color: var(--muted); }
.alert-list, .query-list { list-style: none; margin: 0; padding: 0; }
.alert-list li, .query-list li { display: flex; align-items: flex-start; gap: 12px; padding: 15px 18px; border-top: 1px solid var(--line); }
.alert-list li.unread { background: #f5f8f1; }
.alert-list li.formal { border-left: 3px solid #b77939; }
.alert-list li > div, .query-main { min-width: 0; flex: 1; }
.alert-list li > div > a, .query-main > a { font-weight: 650; text-decoration: none; }
.alert-open-form { margin: 0; }
.alert-open { padding: 0; border: 0; background: none; color: var(--brand); font-weight: 650; text-align: left; }
.alert-list li p { margin: 4px 0; color: var(--muted); font-size: 12px; }
.alert-list li small, .query-main small { display: block; color: var(--muted); font-size: 11px; }
.activity-icon { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; border-radius: 9px; background: #edf3e6; color: var(--brand); }
.unread-dot { width: 8px; height: 8px; flex: 0 0 8px; margin: 8px 2px 0 auto; border-radius: 50%; background: #4b7f54; }
.query-list li { align-items: center; padding-inline: 18px; }
.query-ref { flex: 0 0 85px; color: var(--muted); font-size: 11px; font-weight: 700; }
.query-facts { margin: 22px 0; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: #f8faf6; }
.query-facts .rich-text > :last-child { margin-bottom: 0; }
.letter-head { padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.letter-head > div:first-child strong, .letter-head > div:first-child span { display: block; }
.letter-head > div:first-child span { color: var(--muted); font-size: 12px; }
.letter-head dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 18px 0 0; }
.letter-head dl div { min-width: 0; }
.letter-head dt { color: var(--muted); font-size: 11px; }
.letter-head dd { margin: 0; font-weight: 600; }
.query-letter .panel-body > section { margin-top: 24px; }
.query-letter .response-text { padding: 14px; border-radius: 8px; background: #f6f8f5; }
.due { font-size: 12px; }
.due.overdue { color: #ac342e; font-weight: 700; }
.recipient-picker { min-width: 0; margin: 0 0 18px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; }
.recipient-picker legend { padding: 0 6px; font-weight: 700; }
.recipient-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 8px; }
.recipient-picker .choice { margin: 0; }
.recipient-picker > small { display: block; margin-top: 9px; color: var(--muted); }
.penalty-handoff { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
.penalty-handoff h3, .handoff-actions h4 { margin: 0 0 8px; }
.handoff-history { display: grid; gap: 8px; margin: 14px 0 20px; padding-left: 22px; }
.handoff-history li { padding-left: 4px; }
.handoff-history li strong, .handoff-history li span, .handoff-history li small { display: block; }
.handoff-history li span, .handoff-history li small { margin-top: 3px; color: var(--muted); font-size: 12px; }
.handoff-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; margin-top: 16px; }
@media (max-width: 760px) {
  .alerts-layout { grid-template-columns: 1fr; }
  .letter-head dl { grid-template-columns: 1fr; }
  .query-ref { flex-basis: 68px; }
}
.org-chart-panel { overflow: hidden; }
.org-chart-scroll { overflow-x: auto; padding: 8px 18px 24px; }
.org-chart { position: relative; display: flex; align-items: flex-start; gap: 24px; min-width: max-content; padding-top: 28px; }
.org-chart::before { position: absolute; top: 0; left: 140px; right: 140px; border-top: 2px solid #cbd8c8; content: ""; }
.org-tree-department { position: relative; min-width: 280px; padding: 0 16px 24px; border: 1px solid var(--line); border-radius: 12px; background: #f8faf6; }
.org-tree-department::before { position: absolute; top: -28px; left: 50%; height: 28px; border-left: 2px solid #cbd8c8; content: ""; }
.org-tree-root { position: relative; display: flex; justify-content: center; padding-bottom: 28px; }
.org-tree-root::after { position: absolute; bottom: 0; left: 50%; height: 28px; border-left: 2px solid #cbd8c8; content: ""; }
.org-tree-company { display: flex; flex-direction: column; align-items: center; min-width: max-content; }
.org-tree-owner { position: relative; display: flex; justify-content: center; padding-bottom: 28px; }
.org-tree-owner::after { position: absolute; bottom: 0; left: 50%; height: 28px; border-left: 2px solid #cbd8c8; content: ""; }
.org-tree-department-head { position: relative; display: flex; flex-direction: column; align-items: center; padding-bottom: 28px; }
.org-tree-department-head::before, .org-tree-department-head::after { position: absolute; left: 50%; height: 28px; border-left: 2px solid #cbd8c8; content: ""; }
.org-tree-department-head::before { top: -28px; }
.org-tree-department-head::after { bottom: 0; }
.org-card { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 3px; width: 240px; min-height: 92px; padding: 13px 15px; border: 1px solid #dfe8dc; border-radius: 10px; background: #fff; box-shadow: 0 5px 16px #203e2909; }
.org-card strong { color: var(--ink); font-size: 14px; line-height: 1.35; }
.org-card > span:not(.org-card-kind), .org-card > small { overflow-wrap: anywhere; color: var(--muted); font-size: 11px; }
.org-card-kind { color: #63805f; font-size: 9px; font-weight: 750; letter-spacing: 1px; text-transform: uppercase; }
.department-card { border-color: #b7d09f; background: #eff6e8; text-align: center; }
.department-card .org-card-kind { color: #577746; }
.company-card { border-color: #9fb88c; background: #edf5e6; text-align: center; }
.owner-card { border-color: #c6d6ba; background: #f7faf4; text-align: center; }
.head-card { border-color: #adc796; background: #f0f6ea; text-align: center; }
.head-card .org-card-kind { color: #48683c; }
.team-card { width: 210px; min-height: 72px; border-color: #cdd9e7; background: #f4f8fc; }
.team-card .org-card-kind { color: #527091; }
.org-tree-teams { padding-top: 20px; }
.org-tree-teams::before { left: 105px; right: 105px; border-color: #d3deeb; }
.org-tree-teams > li::before { top: -20px; height: 20px; border-color: #d3deeb; }
.org-tree-managers { padding-top: 28px; }
.org-tree-department-content { padding-top: 28px; }
.org-tree-department-content > li { padding-top: 0; }
.org-tree-department-content > li::before { top: -28px; height: 28px; }
.role-change { display: inline-block; vertical-align: middle; }
.role-change > form { min-width: 260px; max-width: 360px; margin-top: 8px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 8px 24px #172f2b12; }
.org-tree-level { position: relative; display: flex; width: max-content; justify-content: center; gap: 24px; margin: 0 auto; padding: 28px 0 0; list-style: none; }
.org-tree-level::before { position: absolute; top: 0; left: 120px; right: 120px; border-top: 2px solid #cbd8c8; content: ""; }
.org-tree-level > li { position: relative; display: flex; flex-direction: column; align-items: center; }
.org-tree-level > li::before { position: absolute; top: -28px; left: 50%; height: 28px; border-left: 2px solid #cbd8c8; content: ""; }
.org-tree-reports { gap: 14px; padding-top: 26px; }
.org-tree-reports::before { left: 120px; right: 120px; }
.org-tree-reports > li::before { top: -26px; height: 26px; }
.employee-card { width: 210px; min-height: 82px; }
.unassigned-card { border-style: dashed; background: #fcfcfa; }
.org-no-reports { margin: 8px 0 0; color: var(--muted); font-size: 11px; text-align: center; }
.org-tree-empty { display: flex; justify-content: center; border-top: 2px solid #cbd8c8; padding-top: 16px; color: var(--muted); font-size: 12px; text-align: center; }
.calendar-panel { padding: 18px; }
.calendar-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; padding-bottom: 18px; }
.calendar-toolbar > .form-actions { margin: 0; }
.calendar-month-navigation { display: flex; align-items: center; gap: 12px; }
.calendar-month-navigation h2 { min-width: 180px; margin: 0; text-align: center; }
.calendar-month-navigation .button { min-width: 38px; padding-inline: 10px; font-size: 19px; line-height: 1.2; }
.calendar-weekdays, .calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.calendar-weekdays { margin-bottom: 8px; color: var(--muted); font-size: 12px; font-weight: 650; text-align: center; }
.calendar-weekday-short { display: none; }
.calendar-day { display: flex; min-width: 0; min-height: 92px; flex-direction: column; align-items: flex-start; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); text-align: left; }
.calendar-day:hover { border-color: #9fbd8b; background: #f7faf4; }
.calendar-day.has-events { border-color: #b7d09f; background: #edf5e6; }
.calendar-day.has-events:hover { background: #e3efd9; }
.calendar-day-number { font-weight: 700; }
.calendar-day-event-count { padding: 3px 7px; border-radius: 999px; background: #dcebcf; color: #355a35; font-size: 11px; font-weight: 650; }
.calendar-day-empty { min-height: 92px; }
.calendar-limit-notice { margin-top: 16px; margin-bottom: 0; }
.calendar-item-card { border-left-width: 4px; }
.calendar-task-card { border-left-color: #6d8fb5; }
.calendar-project-card { border-left-color: #b48b47; }
.calendar-day-dialog { width: min(760px, calc(100% - 28px)); max-height: min(780px, calc(100% - 28px)); overflow: auto; margin: auto; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; color: var(--ink); box-shadow: 0 24px 80px #14291f40; }
.calendar-day-dialog::backdrop { background: #15251f99; backdrop-filter: blur(2px); }
.calendar-day-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.calendar-day-dialog-head h2 { margin: 0; }
.calendar-modal-events { max-height: 65vh; overflow: auto; }
@media (max-width: 680px) {
  .org-tree-department { padding-inline: 12px; }
  .org-chart-scroll { padding-inline: 12px; }
  .org-chart { gap: 14px; }
  .calendar-panel { padding: 12px; }
  .calendar-toolbar { justify-content: center; }
  .calendar-month-navigation h2 { min-width: 150px; font-size: 18px; }
  .calendar-weekdays, .calendar-days { gap: 4px; }
  .calendar-weekdays { font-size: 10px; }
  .calendar-weekday-long { display: none; }
  .calendar-weekday-short { display: inline; }
  .calendar-day, .calendar-day-empty { min-height: 68px; }
  .calendar-day { padding: 6px; border-radius: 7px; }
  .calendar-day-event-count { padding: 2px 4px; font-size: 9px; }
  .calendar-day-dialog { padding: 16px; }
}

/* GitHub plug-and-play connect */
.connect-hero .panel-body { display: grid; gap: 16px; padding: 26px; }
.connect-hero-main { display: flex; gap: 18px; align-items: flex-start; }
.connect-hero h2 { margin: 2px 0 6px; font-size: 20px; }
.connect-hero p { margin: 0; color: var(--muted); }
.connect-points { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 6px; font-size: 13.5px; }
.connect-points li { display: flex; align-items: center; gap: 8px; }
.connect-points .icon { width: 16px; height: 16px; color: #3d6a2a; }
.connect-cta { justify-self: start; padding: 12px 22px; font-size: 15px; }
.dev-note { margin: 0; padding: 10px 14px; border: 1px dashed #d5ddd0; border-radius: 10px; background: #fafbf8; color: #56634f; font-size: 12.5px; overflow-wrap: anywhere; }
.dev-note code { padding: 1px 6px; border-radius: 5px; background: #eef2ea; font: 12px ui-monospace, Consolas, monospace; }
.other-ways { border-top: 1px solid var(--line); padding-top: 12px; }
.other-ways summary { cursor: pointer; color: var(--muted); font-size: 13px; font-weight: 600; }
.other-ways form { margin-top: 12px; max-width: 560px; }
@media (max-width: 680px) { .connect-hero-main { flex-direction: column; } }

/* GitHub: several connected accounts */
.account-list { list-style: none; margin: 0; padding: 0; }
.account-list .account-row { border-bottom: 1px solid #f0f2ed; }
.add-account { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 16px 22px; background: #fafbf8; border-top: 1px solid var(--line); }
.add-account strong, .add-account small { display: block; }
.add-account small { max-width: 560px; color: var(--muted); font-size: 12.5px; }
.add-account-actions { display: flex; align-items: flex-start; gap: 10px; flex-wrap: wrap; }
.other-ways.inline { border: 0; padding: 0; }
.other-ways.inline summary { padding: 7px 4px; }
.other-ways.inline form { min-width: 280px; }
.link-form.has-account { grid-template-columns: minmax(160px, 1fr) minmax(200px, 1.4fr) minmax(150px, .8fr) auto; }
@media (max-width: 900px) { .link-form.has-account { grid-template-columns: 1fr; } }

/* GitHub people matching */
.people-map { display: grid; gap: 8px; }
.people-row { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(220px, 1.4fr); gap: 12px; align-items: center; }
.people-login { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 13.5px; }
.people-login .icon { width: 16px; height: 16px; color: #5b6b56; }
@media (max-width: 680px) { .people-row { grid-template-columns: 1fr; } }

/* Retail point of sale */
.pos-heading { align-items: flex-start; }
.pos-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 0 0 8px; }
.pos-stat { display: grid; gap: 5px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.pos-stat span { color: var(--muted); font-size: 12px; }
.pos-stat strong { font: 700 20px/1.3 Manrope,system-ui,sans-serif; overflow-wrap: anywhere; }
.pos-tender-summary { grid-column: 1/-1; margin: 0 0 10px; padding: 8px 2px; color: var(--muted); font-size: 12px; }
.pos-alert[hidden],.pos-register-panel[hidden],.pos-detail-panel[hidden] { display: none !important; }
.pos-shift-panel { margin: 8px 0 18px; }
.pos-shift-panel .panel-head p,.pos-catalog-panel .panel-head p,.pos-lower-grid .panel-head p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.pos-shift-controls { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.pos-inline-form { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.pos-inline-form .field { min-width: 190px; margin: 0; }
.pos-shift-open { display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border-radius: 7px; background: #edf5e6; color: #355a2d; font-size: 12px; font-weight: 700; }
.pos-shift-open::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #63954e; }
.pos-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(310px,.85fr); gap: 18px; align-items: start; }
.pos-catalog-panel,.pos-cart-panel { min-width: 0; }
.pos-catalog-panel .panel-head,.pos-cart-panel .panel-head { align-items: center; }
.pos-filter-row { display: grid; grid-template-columns: minmax(180px,1fr) minmax(140px,.55fr); gap: 10px; padding: 0 22px 14px; }
.pos-filter-row input,.pos-filter-row select,.pos-inline-form input,.pos-inline-form select,.pos-action-form input,.pos-action-form select { min-width: 0; width: 100%; padding: 9px 11px; border: 1px solid var(--line); border-radius: 7px; background: #fff; color: var(--ink); }
.pos-products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 0 22px 22px; }
.pos-product { display: flex; min-width: 0; min-height: 142px; flex-direction: column; justify-content: space-between; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.pos-product-body { display: grid; gap: 4px; min-width: 0; }
.pos-product-body strong { overflow-wrap: anywhere; }
.pos-product-category,.pos-stock { color: var(--muted); font-size: 11px; }
.pos-stock { margin-top: 5px; color: #46703c; }
.pos-stock.is-empty { color: var(--danger); }
.pos-product-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; }
.pos-product-footer strong { font-size: 12px; }
.pos-product-footer .button { padding: 6px 9px; }
.pos-cart-panel .panel-body { display: grid; gap: 15px; padding: 18px 22px 22px; }
.pos-cart-panel .field { margin: 0; }
.pos-cart-items { display: grid; max-height: 330px; overflow-y: auto; }
.pos-cart-row { display: grid; grid-template-columns: minmax(0,1fr) auto auto auto; align-items: center; gap: 8px; padding: 11px 0; border-bottom: 1px solid #eef0ec; }
.pos-cart-info { display: grid; min-width: 0; }
.pos-cart-info strong { overflow-wrap: anywhere; font-size: 12px; }
.pos-cart-info small { color: var(--muted); }
.pos-quantity-control { display: flex; align-items: center; gap: 7px; }
.pos-quantity-control button { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--ink); }
.pos-cart-line-total { font-size: 11px; white-space: nowrap; }
.pos-remove { width: 27px; height: 27px; color: var(--muted); }
.pos-empty-cart { margin: 0; padding: 20px 4px; color: var(--muted); text-align: center; font-size: 12px; }
.pos-totals { display: grid; gap: 8px; border-top: 1px solid var(--line); padding-top: 12px; }
.pos-total-row { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 12px; }
.pos-total-row strong { color: var(--ink); }
.pos-total-row.pos-total { margin-top: 3px; padding-top: 10px; border-top: 1px solid var(--line); color: var(--ink); font-size: 15px; font-weight: 700; }
.pos-total-row.pos-total strong { font-size: 18px; }
.pos-checkout { width: 100%; }
.pos-checkout:disabled { cursor: not-allowed; }
.pos-cart-panel small { color: var(--muted); font-size: 11px; }
.pos-lower-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.65fr); gap: 18px; align-items: start; margin-top: 18px; }
.pos-sales-table { min-width: 700px; }
.pos-sales-table td,.pos-item-table td { vertical-align: middle; }
.pos-sales-table td:nth-child(3) { text-transform: capitalize; }
.pos-empty-table { padding: 22px !important; color: var(--muted); text-align: center; }
.pos-register-panel .panel-body { padding: 22px; }
.pos-register-panel .pos-inline-form { align-items: flex-end; }
.pos-register-panel .pos-inline-form .field { flex: 1; }
.pos-detail-panel { margin-top: 18px; }
.pos-detail-panel .panel-body { display: grid; gap: 18px; padding: 22px; }
.pos-detail-panel .panel-head .heading-actions { display: flex; gap: 8px; align-items: center; }
.pos-item-table { min-width: 460px; }
.pos-sale-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 0; }
.pos-sale-facts>div { min-width: 0; padding: 11px 13px; border: 1px solid var(--line); border-radius: 8px; }
.pos-sale-facts dt { color: var(--muted); font-size: 11px; }
.pos-sale-facts dd { margin: 3px 0 0; font-weight: 650; overflow-wrap: anywhere; }
.pos-detail-panel h3 { margin: 0; font-size: 16px; }
.pos-refund-entry { margin: -10px 0 0; color: var(--muted); font-size: 12px; }
.pos-detail-actions { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; padding-top: 16px; border-top: 1px solid var(--line); }
.pos-action-form { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; width: 100%; }
.pos-action-form .field { min-width: 150px; flex: 1; margin: 0; }
.pos-action-form .checkbox-option { align-self: center; }
.pos-expiry { width: 100%; color: var(--muted); }
.pos-footer-note { margin: 18px 0 0; color: var(--muted); font-size: 12px; }
.pos-footer-note .text-link { display: inline; }
#pos-app.is-busy { cursor: progress; }
#pos-app.is-busy button { pointer-events: none; }
@media (max-width: 1100px) {
  .pos-products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pos-layout { grid-template-columns: minmax(0,1.2fr) minmax(290px,.8fr); }
}
@media (max-width: 820px) {
  .pos-layout,.pos-lower-grid { grid-template-columns: 1fr; }
  .pos-cart-panel { grid-row: 1; }
  .pos-products { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .pos-sale-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .pos-summary { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .pos-stat { padding: 12px; }
  .pos-stat strong { font-size: 17px; }
  .pos-filter-row { grid-template-columns: 1fr; padding-inline: 14px; }
  .pos-products { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 0 14px 16px; }
  .pos-shift-controls,.pos-inline-form { align-items: stretch; width: 100%; }
  .pos-inline-form .field { min-width: 100%; }
  .pos-action-form .field { min-width: 100%; }
  .pos-sale-facts { grid-template-columns: 1fr 1fr; }
  .pos-heading .heading-actions { width: 100%; }
  .pos-heading { display: block; }
  .pos-heading .heading-actions { margin-top: 14px; }
}
@media print {
  body * { visibility: hidden !important; }
  .pos-detail-panel,.pos-detail-panel * { visibility: visible !important; }
  .pos-detail-panel { position: absolute !important; inset: 0 !important; display: block !important; width: 100% !important; border: 0 !important; box-shadow: none !important; }
  .pos-detail-panel [data-pos-detail-actions],.pos-detail-panel [data-pos-print],.pos-detail-panel [data-pos-close-detail] { display: none !important; }
}

/* Dashboard panels may shrink below their longest one-line title; titles already end in an ellipsis. */
.dashboard-columns > * { min-width: 0; }

@media (max-width: 364px) {
  .suite-topbar { padding-inline: 12px; }
  .topbar-end { gap: 2px; }
}

.neuron-list { display: grid; gap: 14px; }
.neuron-card { padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.neuron-card h3 { margin: 0 0 5px; font-size: 16px; }
.neuron-card p { margin: 5px 0; }
.neuron-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.neuron-card-head > div { min-width: 0; }
.neuron-actions { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }
.neuron-card details { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 12px; }
.neuron-card summary { cursor: pointer; font-weight: 600; }
@media (max-width: 560px) {
  .neuron-card { padding: 14px; }
  .neuron-card-head { gap: 8px; }
}

.step-number, .workflow-grid p, .section-label { color: #5f6e58; }
.preview-sidebar > span { color: #586653; }
.profile-preview-bottom span { color: #776b88; }
.work-project small, .work-task small, .work-task > span:last-child { color: #4f7188; }
.greeting, .agenda-date small, .brand .brand-words .brand-suffix { color: #5c754d; }
.auth-story > .brand .brand-suffix { color: #bfd0c4; }
.preview-row > span:last-child { color: #536846; }
.preview-caption { color: #536448; }
.text-button-link { appearance: none; padding: 0; border: 0; background: transparent; font: inherit; }

@media (max-width: 820px) {
  .messages-layout { grid-template-columns: minmax(0,1fr) !important; }
  .messages-layout > section { min-height: 0 !important; }
  #message-thread { height: min(440px,55vh) !important; min-height: 250px; }
}

.talent-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,360px),1fr)); align-items: stretch; }
.talent-grid > .talent-card { display: flex; min-width: 0; flex-direction: column; gap: 12px; margin: 0; }
.talent-grid .talent-card > h2,
.talent-grid .talent-card > h3,
.talent-grid .talent-card > p { margin: 0; }
.talent-grid .talent-card details { margin: 0; padding: 12px 0; border-block: 1px solid var(--line); }
.talent-grid .talent-card details p { margin: 8px 0 0; }
.talent-grid .talent-card > .form-actions { margin: 0; padding-top: 12px; border-top: 1px solid var(--line); }
.talent-grid .talent-card > .form-stack { gap: 12px; margin: 0; padding-top: 12px; border-top: 1px solid var(--line); }
.talent-grid .talent-card > .form-stack small { line-height: 1.55; }

.banking-panel .panel-head > div { min-width: 0; }
.banking-panel .panel-head p { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.banking-panel-body > .integration-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); }
.banking-panel-body > .empty-state { margin: 0; padding: 24px 12px; }
.banking-feed-controls { display: grid; grid-template-columns: minmax(220px,2fr) repeat(2,minmax(150px,1fr)) auto; align-items: end; gap: 12px; margin-bottom: 16px; }
.banking-feed-controls > label { display: grid; gap: 6px; color: #33443c; font-size: 12px; font-weight: 600; }
.banking-feed-controls .banking-feed-search { min-width: 0; }
.banking-feed-controls .count-label { grid-column: 1 / -1; }
.banking-feed-empty { margin: 0; padding: 16px; }

@media (max-width: 760px) {
  .banking-feed-controls { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .banking-feed-controls .banking-feed-search { grid-column: 1 / -1; }
  .banking-feed-controls > .button { width: 100%; }
}

.integration-services { margin: 30px 0; }
.integration-services > .section-heading { margin-bottom: 16px; }
.integration-services > .section-heading h2 { margin: 0 0 5px; }
.integration-services > .section-heading p { max-width: 760px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.integration-services .integration-grid { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 20px; }
.integration-services .integration-card { display: flex; min-width: 0; height: 100%; flex-direction: column; align-items: flex-start; gap: 12px; padding: 24px; }
.integration-services .integration-card > h2,
.integration-services .integration-card > p,
.integration-services .integration-card > small { margin: 0; }
.integration-services .integration-card > p { line-height: 1.65; }
.integration-services .integration-card > small { margin-top: auto; line-height: 1.55; }

.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 20px 22px; border-bottom: 1px solid #eef1e9; }
.panel-heading > div { min-width: 0; }
.panel-heading h2 { margin: 0; font-size: 14px; letter-spacing: -.2px; line-height: 1.35; }
.panel-heading p { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.panel-heading > .status-badge { flex-shrink: 0; }
.panel > .panel-heading ~ form { margin: 0 22px 22px; }
.panel > .panel-heading + form { margin: 0; padding: 22px; }
.panel > .panel-heading ~ .detail-list { margin: 20px 22px 22px; }
.detail-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: 10px; margin: 20px 22px 22px; padding: 0; }
.detail-list > div { min-width: 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 9px; background: #fafbf8; }
.detail-list dt { color: var(--muted); font-size: 11px; line-height: 1.45; }
.detail-list dd { margin: 4px 0 0; font-size: 13px; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; }
.detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: 22px; }
.detail-grid > div { min-width: 0; }
.detail-grid h2 { margin: 0 0 8px; font-size: 13px; }
.detail-grid p { margin: 0 0 8px; color: var(--muted); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.panel-subsection { margin: 22px; padding: 18px; border: 1px solid var(--line); border-radius: 10px; background: #fafbf8; }
.panel-subsection h3 { margin: 0 0 14px; font-size: 13px; }
.panel-subsection .form-grid { gap: 14px; }
.salary-vault-ledger-heading { margin: 28px 0 12px; font-size: 15px; }

@media (max-width: 680px) {
  .panel-heading { padding: 18px; }
  .panel > .panel-heading ~ form { margin: 0 18px 18px; }
  .panel > .panel-heading + form { margin: 0; padding: 18px; }
  .panel > .panel-heading ~ .detail-list,
  .detail-list { margin: 18px; }
  .detail-grid { grid-template-columns: 1fr; gap: 16px; padding: 18px; }
  .panel-subsection { margin: 18px; padding: 16px; }
  .salary-vault-ledger-heading { margin-top: 24px; }
}
.integration-services .integration-card > .text-link + small { margin-top: 0; }
.integration-services .integration-card .badge,
.integration-services .integration-card .feature-icon,
.integration-services .integration-card .provider-logo-mark { margin: 0; }
.integration-services .integration-card .text-link { margin-top: auto; }
@media (max-width: 980px) {
  .integration-services .integration-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .integration-services .integration-grid { grid-template-columns: 1fr; gap: 14px; }
  .integration-services .integration-card { padding: 20px; }
}
.form-actions { flex-wrap: wrap; }
button[data-loading="true"] { pointer-events: none; }
button[data-loading="true"]::after {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  border: 2px solid currentColor;
  border-inline-end-color: transparent;
  border-radius: 50%;
  content: "";
  animation: button-loading-spin .7s linear infinite;
}
@keyframes button-loading-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  button[data-loading="true"]::after { animation-duration: 1.6s; }
}
.report-export-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.report-export-card { display: flex; min-width: 0; flex-direction: column; gap: 8px; }
.report-export-card .feature-icon,
.report-export-card h2,
.report-export-card .report-count { margin: 0; }
.report-export-card h2 { font-size: 14px; }
.report-export-card .report-count { font-size: 20px !important; line-height: 1.3; }
.report-export-card .form-actions { justify-content: space-between; margin-top: auto; }
@media (max-width: 900px) {
  .report-export-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .report-export-grid { grid-template-columns: 1fr; }
}

.suite-sidebar { padding-top: 0; }
.sidebar-header { display: flex; align-items: center; justify-content: space-between; flex: 0 0 70px; gap: 8px; margin-bottom: 16px; padding: 0 4px; border-bottom: 1px solid var(--line); }
.sidebar-header > .brand { min-width: 0; padding: 0 4px; }
.sidebar-collapse { flex: 0 0 34px; width: 34px; height: 34px; color: #66735f; }
.sidebar-collapse:hover { background: #f2f5ed; color: var(--brand); }
.sidebar-collapse .icon { width: 18px; height: 18px; }
.suite-sidebar.collapsed { width: 76px; padding-inline: 12px; }
.suite-sidebar.collapsed .sidebar-header { flex: 0 0 108px; flex-direction: column; justify-content: center; gap: 14px; padding-inline: 0; }
.suite-sidebar.collapsed .sidebar-header > .brand { padding: 0; }
.suite-sidebar.collapsed .brand-words, .suite-sidebar.collapsed .nav-group-label, .suite-sidebar.collapsed .sidebar-link-label { display: none; }
.suite-sidebar.collapsed nav.sidebar-nav a { justify-content: center; padding-inline: 8px; }
.suite-sidebar.collapsed .sidebar-bottom form { display: flex; justify-content: center; }
.suite-sidebar.collapsed .logout-button { justify-content: center; padding-inline: 8px; }
.suite-body.sidebar-collapsed { margin-left: 76px; }
@media (max-width: 680px) {
  .suite-sidebar, .suite-sidebar.collapsed { width: 240px; padding: 0 18px 15px; }
  .suite-sidebar.collapsed .sidebar-header { flex: 0 0 70px; flex-direction: row; justify-content: space-between; gap: 8px; padding: 0 4px; }
  .suite-sidebar.collapsed .sidebar-header > .brand { padding: 0 4px; }
  .suite-sidebar.collapsed .brand-words, .suite-sidebar.collapsed .sidebar-link-label { display: initial; }
  .suite-sidebar.collapsed .sidebar-header .brand-words { display: flex; }
  .suite-sidebar.collapsed .nav-group-label { display: block; }
  .suite-sidebar.collapsed nav.sidebar-nav a { justify-content: flex-start; padding-inline: 12px; }
  .suite-sidebar.collapsed .sidebar-bottom form { display: block; }
  .suite-sidebar.collapsed .logout-button { justify-content: flex-start; padding-inline: 12px; }
  .suite-body.sidebar-collapsed { margin-left: 0; }
  .sidebar-collapse { display: none; }
}

/* ---- Business pages: one layout language for Invoices, Banking, Accounting,
   Collections, Payroll and Point of sale (Nov 2026). ---- */
.biz-page { display: grid; gap: 18px; min-width: 0; }
.biz-page > * { min-width: 0; }
.biz-page > .page-heading { margin-bottom: 0; align-items: center; }
.biz-page .page-heading p { max-width: 640px; }
.page-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.page-actions .button, .button-row .button { display: inline-flex; align-items: center; gap: 7px; }
.page-actions .button .icon, .button-row .button .icon, .line-items-foot .button .icon, .empty-state .button .icon { width: 15px; height: 15px; }
.biz-page .notice { margin: 0; }
.biz-page .notice.compact, .biz-setup { padding: 11px 15px; font-size: 13px; }
.biz-page .panel { margin: 0; min-width: 0; }
.biz-page .panel-body > :first-child { margin-top: 0; }
.biz-page .panel-body > .notice + *, .biz-page .panel-body > * + .notice { margin-top: 14px; }
.biz-page .stats-grid.biz-kpis { margin: 0; }
.biz-page .stat-card .stat-value { font-variant-numeric: tabular-nums; }
.biz-page h3.biz-subheading { margin: 22px 0 10px; font-size: 13px; letter-spacing: -.01em; }
.biz-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); gap: 18px; align-items: start; }
.biz-columns > * { min-width: 0; }
.field-hint { margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
th.num, td.num { text-align: right; }
td.num input.control { text-align: right; }

/* Segmented filter (All / Overdue) */
.segmented { display: inline-flex; flex-shrink: 0; gap: 2px; padding: 3px; border: 1px solid var(--line); border-radius: 10px; background: #f6f8f3; }
.segmented a, .segmented button { padding: 6px 12px; border: 0; border-radius: 7px; background: none; color: var(--muted); font-size: 12px; font-weight: 600; text-decoration: none; cursor: pointer; }
.segmented a[aria-current="page"], .segmented button[aria-pressed="true"] { background: #fff; color: var(--ink); box-shadow: 0 1px 2px #1a35281a; }

/* "How this works" and other collapsible panels */
.biz-note { border: 1px solid var(--line); border-radius: 10px; background: #fafbf8; font-size: 13px; }
.biz-note > summary, .biz-disclosure > summary { display: flex; align-items: center; gap: 8px; padding: 10px 14px; color: var(--brand); font-weight: 600; cursor: pointer; list-style: none; }
.biz-note > summary::-webkit-details-marker, .biz-disclosure > summary::-webkit-details-marker, .invoice-settings > summary::-webkit-details-marker { display: none; }
.biz-note > summary::after, .biz-disclosure > summary::after { content: ""; width: 7px; height: 7px; margin-left: auto; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .15s; }
.biz-note[open] > summary::after, .biz-disclosure[open] > summary::after { transform: rotate(-135deg); }
.biz-note > :not(summary) { margin: 0; padding: 0 14px 12px; color: var(--muted); line-height: 1.6; }
.biz-note ul { padding-left: 32px; }
.biz-disclosure { margin-top: 18px; border: 1px solid var(--line); border-radius: 12px; }
.biz-disclosure > form { padding: 4px 16px 16px; }
.invoice-settings > summary { list-style: none; cursor: pointer; }
.invoice-settings > summary::after { content: none; display: none; }
.disclosure-label { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); }
.disclosure-label .icon { width: 16px; height: 16px; transition: transform .15s; }
.invoice-settings[open] .disclosure-label .icon { transform: rotate(180deg); }
.invoice-settings:not([open]) > summary.panel-head { border-bottom: 0; }

/* Invoice editor */
.invoice-editor { scroll-margin-top: 90px; }
.invoice-editor-form { padding: 0 22px 22px; }
.invoice-form-section { min-width: 0; margin: 0; padding: 20px 0; border: 0; border-bottom: 1px solid var(--line); }
.invoice-form-section > legend { float: left; width: 100%; margin: 0 0 14px; padding: 0; color: var(--ink); font-size: 13px; font-weight: 700; }
.invoice-form-section > legend + * { clear: both; }
.invoice-form-section > textarea.control { width: 100%; }
.invoice-editor-form .form-actions { margin-top: 18px; }
.line-items { border: 1px solid var(--line); border-radius: 10px; }
.line-items table { width: 100%; min-width: 620px; border-collapse: collapse; }
.line-items th { padding: 9px 8px; background: #f7f9f6; color: #5f6d63; font-size: 11px; font-weight: 600; text-align: left; }
.line-items th.num { text-align: right; }
.line-items th:first-child, .line-items td:first-child { width: 44%; padding-left: 12px; }
.line-items td { padding: 6px 8px; border-top: 1px solid #eef1e9; vertical-align: middle; }
.line-items td .control { width: 100%; min-height: 38px !important; padding: 8px 10px !important; }
.line-items td.line-amount { min-width: 96px; color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.line-items td:last-child { width: 44px; padding-right: 8px; }
.line-remove { width: 32px; height: 32px; color: #8a958b; }
.line-remove:hover { color: #b0413a; background: #fbefee; }
.line-remove .icon { width: 16px; height: 16px; }
.line-items-foot { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-top: 14px; }
.invoice-totals { display: grid; gap: 7px; min-width: 260px; margin: 0; }
.invoice-totals > div { display: flex; justify-content: space-between; gap: 28px; color: var(--muted); font-size: 13px; }
.invoice-totals dt { margin: 0; }
.invoice-totals dd { margin: 0; color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.invoice-totals .grand { padding-top: 8px; border-top: 1px solid var(--line); color: var(--ink); font-size: 15px; font-weight: 700; }
.invoice-totals .grand dd { font-weight: 700; }
.invoice-totals--detail { max-width: 320px; margin: 18px 0 0 auto; }
.invoice-issue-action { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 18px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #f8faf6; }
.invoice-issue-action p { margin: 2px 0 0; color: var(--muted); font-size: 12px; }
.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.invoice-detail .button-row { margin-top: 18px; }
.share-link { display: flex; align-items: center; gap: 12px; margin-top: 18px; padding: 11px 14px; border: 1px dashed #cfdcc6; border-radius: 10px; background: #fbfcf9; font-size: 13px; }
.share-link > span { flex-shrink: 0; color: var(--muted); font-weight: 600; }
.share-link a { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--brand); }

@media (max-width: 1100px) {
  .biz-columns { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 980px) {
  .biz-page .stats-grid.biz-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .biz-page > .page-heading { align-items: flex-start; }
  .page-actions { justify-content: flex-start; }
  .biz-page .stats-grid.biz-kpis { grid-template-columns: minmax(0, 1fr); }
  .invoice-editor-form { padding: 0 16px 16px; }
  .line-items-foot { flex-direction: column-reverse; align-items: stretch; }
  .invoice-totals { min-width: 0; }
  .invoice-totals--detail { max-width: none; }
}

/* Sidebar header: a smaller mark with a lighter shadow keeps clear space above and
   below inside the 70px band that lines up with the top bar. */
.sidebar-header { padding: 0 6px 0 8px; margin-bottom: 14px; }
.sidebar-header .brand-logo { width: 34px; height: 34px; border-radius: 10px; box-shadow: 0 3px 8px #172f2b1f; }
.sidebar-header .brand { gap: 9px; }
.suite-sidebar nav.sidebar-nav { padding-top: 2px; }
.sidebar-collapse { border-color: transparent; }
.sidebar-collapse .icon { width: 17px; height: 17px; }

/* Business pages: shared panel headings and form fields */
.biz-page .panel-head h2 { margin: 0; font-size: 15px; letter-spacing: -.01em; }
.biz-page .panel-head p { margin: 3px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.biz-page .form-grid { gap: 14px 18px; align-items: start; }
.biz-page .form-grid > label, .biz-page .field-stack > label { display: grid; gap: 7px; min-width: 0; color: var(--ink); font-size: 12px; font-weight: 600; }
.biz-page .form-grid > label .subtle, .biz-page .field-stack > label .subtle { font-weight: 400; }
.biz-page .form-grid > label .control, .biz-page .form-grid > label input, .biz-page .form-grid > label select, .biz-page .form-grid > label textarea { width: 100%; font-weight: 400; }
.biz-page .form-grid > .form-actions { grid-column: 1 / -1; margin-top: 4px; }
.invoice-settings-form .form-actions { margin-top: 16px; }
@media (max-width: 620px) { .biz-page .form-grid { grid-template-columns: minmax(0, 1fr); } }

/* Business pages: page-specific pieces built on the shared layout */
.field-stack { display: grid; gap: 14px; align-content: start; min-width: 0; }
.field-stack > label:not(.checkbox-label) { display: grid; gap: 7px; color: var(--ink); font-size: 12px; font-weight: 600; }
.field-stack > label .control, .field-stack > label input:not([type=checkbox]), .field-stack > label select, .field-stack > label textarea { width: 100%; font-weight: 400; }
.field-stack .form-actions { margin-top: 2px; }
.biz-page .form-grid.form-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.checkbox-row { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 14px; }
.checkbox-row .checkbox-label { margin: 0; color: var(--ink); }
.biz-page .panel-body .detail-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 20px; padding: 0; margin: 0 0 18px; }
.biz-page .detail-grid dt { color: var(--muted); font-size: 12px; }
.biz-page .detail-grid dd { margin: 4px 0 0; color: var(--ink); font-weight: 600; overflow-wrap: anywhere; }
.cell-sub { display: block; margin-top: 2px; }
.metric-value { font-size: 18px; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* Accounting */
.section-tabs { display: flex; gap: 4px; overflow-x: auto; padding: 4px; border: 1px solid var(--line); border-radius: 12px; background: #fff; scrollbar-width: none; }
.section-tabs a { flex-shrink: 0; padding: 7px 14px; border-radius: 8px; color: var(--muted); font-size: 13px; font-weight: 600; text-decoration: none; }
.section-tabs a:hover { background: #f2f6ee; color: var(--ink); }
.accounting-page .panel[id] { scroll-margin-top: 90px; }
.period-form { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.period-form .control { width: 150px; min-height: 36px !important; padding: 6px 10px !important; }
.statement-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.statement { min-width: 0; padding: 20px 22px 22px; }
.statement + .statement { border-left: 1px solid var(--line); }
.statement h3 { margin: 0 0 4px; font-size: 14px; }
.statement h4 { margin: 18px 0 6px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.statement .accounting-line { margin: 0; }
.statement .notice { margin-top: 14px; }
.journal-fields { grid-template-columns: 180px minmax(0, 1fr) minmax(0, .7fr); margin-bottom: 16px; }
.accounting-add-account { margin-top: 0; }
.account-form { grid-template-columns: 140px minmax(0, 1fr) minmax(0, 1fr) 160px; }

/* Banking and collections */
.bank-account-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.bank-account-card { display: grid; gap: 10px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fbfcf9; }
.bank-account-head { display: flex; align-items: center; gap: 12px; }
.bank-account-head h3 { margin: 0; font-size: 14px; }
.bank-account-head p { margin: 2px 0 0; color: var(--muted); font-size: 12px; }
.bank-account-balance { font-size: 22px; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.bank-account-card .subtle { margin: 0; font-size: 12px; }
.banking-connect-status:empty { display: none; }
.banking-feed-controls { display: grid; grid-template-columns: minmax(200px, 1fr) 170px 200px auto auto; align-items: center; gap: 10px; }
.banking-feed-controls label { margin: 0; }
.banking-feed-controls .control { width: 100%; min-height: 38px !important; }
.transfer-form .form-actions .subtle { font-size: 12px; }
.account-number { display: grid; gap: 4px; margin-bottom: 18px; padding: 16px 18px; border: 1px dashed #cfdcc6; border-radius: 12px; background: #fbfcf9; }
.account-number span { color: var(--muted); font-size: 12px; font-weight: 600; }
.account-number strong { font-size: 28px; letter-spacing: .06em; font-variant-numeric: tabular-nums; }
.collections-summary .biz-columns, .collections-summary { align-items: stretch; }
.biz-page .stats-grid.collections-kpis { grid-template-columns: minmax(0, 1fr); margin: 0; align-content: start; }

/* Payroll */
.payroll-page .panel[id] { scroll-margin-top: 90px; }
.payroll-estimates { display: grid; gap: 12px; border-bottom: 1px solid var(--line); }
.estimate-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.estimate-row p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.payroll-items td { vertical-align: top; }
.payroll-item-form { display: grid; gap: 12px; min-width: 900px; }
.payroll-item-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; }
.payroll-item-grid label { display: grid; gap: 5px; color: var(--muted); font-size: 11px; font-weight: 600; }
.payroll-item-grid .control { width: 100%; min-height: 34px !important; padding: 6px 8px !important; text-align: right; }
.payroll-item-foot { display: flex; align-items: center; gap: 8px 18px; flex-wrap: wrap; }
.payroll-item-foot .checkbox-label { margin: 0; color: var(--ink); }
.payroll-net { margin-left: auto; color: var(--muted); font-size: 13px; }
.payroll-net strong { margin-left: 6px; color: var(--ink); }
.payroll-payment { min-width: 220px; }
.payroll-payment form { margin-top: 8px; }
.payroll-payment .inline-form { display: flex; gap: 6px; }
.payroll-payment .inline-form .control { min-height: 32px !important; padding: 5px 8px !important; }
.payroll-run-actions { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 1px solid var(--line); }
.payroll-run-actions .field-hint { margin: 0 0 10px; }
.payroll-profile-form > .form-grid:first-of-type { margin-bottom: 4px; }
.payroll-profile-form .form-actions { margin-top: 18px; }
.vault-columns { grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); gap: 28px; }
.vault-columns .biz-subheading:first-child, .vault-columns > div > .biz-subheading:first-child { margin-top: 0; }
.vault-note { margin-top: 18px; }

/* Point of sale */
.pos-page { gap: 16px; }
.pos-page .pos-summary { margin: 0; }
.pos-page .pos-layout, .pos-page .pos-lower-grid { margin: 0; }
.pos-page .pos-lower-grid.pos-lower-stack { grid-template-columns: minmax(0, 1fr); }
.pos-page .pos-register-panel .pos-inline-form { max-width: 520px; }
.pos-filter-row .control { min-height: 40px !important; }

@media (max-width: 1100px) {
  .banking-feed-controls { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .banking-feed-controls .banking-feed-search { grid-column: 1 / -1; }
  .account-form, .journal-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vault-columns { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 860px) {
  .statement-grid { grid-template-columns: minmax(0, 1fr); }
  .statement + .statement { border-left: 0; border-top: 1px solid var(--line); }
  .biz-page .form-grid.form-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .biz-page .panel-body .detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .biz-page .form-grid.form-grid-3, .account-form, .journal-fields, .banking-feed-controls { grid-template-columns: minmax(0, 1fr); }
  .biz-page .panel-body .detail-grid { grid-template-columns: minmax(0, 1fr); }
  .period-form { width: 100%; }
  .period-form .control { flex: 1; width: auto; min-width: 0; }
  .account-number strong { font-size: 22px; }
  .statement { padding: 16px; }
}

/* Business pages: final polish */
.biz-page .panel-body > .empty-state.compact { padding: 14px 10px 6px; }
.biz-page .invoice-form-section .checkbox-row label.checkbox-label, .biz-page .checkbox-row label.checkbox-label { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; }
.biz-page .checkbox-label input[type=checkbox] { width: 16px; height: 16px; margin: 0; flex-shrink: 0; }
.biz-page .panel-head > .badge { flex-shrink: 0; }
@media (max-width: 620px) {
  .biz-page .stats-grid.biz-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .biz-page .stats-grid.biz-kpis .stat-card { padding: 14px; }
  .biz-page .stats-grid.biz-kpis .stat-value { font-size: 20px; overflow-wrap: anywhere; }
  .biz-page .stats-grid.biz-kpis .kpi-icon { display: none; }
}
@media (max-width: 360px) {
  .biz-page .stats-grid.biz-kpis { grid-template-columns: minmax(0, 1fr); }
}

/* ---- Walkthrough modal (Nov 2026): welcome tour that opens once on the home page
   and from the account menu. Fixed height so the panel does not jump between steps. ---- */
.walkthrough { width: min(820px, calc(100% - 32px)); height: min(540px, calc(100dvh - 32px)); max-height: none; padding: 0; border: 0; border-radius: 20px; background: #fff; color: var(--ink); box-shadow: 0 30px 90px #0f221a59; overflow: hidden; }
.walkthrough[open] { display: block; animation: walkthrough-in .28s cubic-bezier(.2, .8, .2, 1); }
.walkthrough::backdrop { background: #10201a8c; backdrop-filter: blur(3px); }
.walkthrough [hidden] { display: none !important; }
.walkthrough-shell { display: grid; grid-template-columns: 300px minmax(0, 1fr); height: 100%; }
.walkthrough-art { position: relative; display: grid; place-items: center; min-height: 0; padding: 32px 24px; overflow: hidden; color: #d3ed9f; background: radial-gradient(circle at 18% 12%, #2f5c4a 0, transparent 52%), radial-gradient(circle at 88% 92%, #3d6b34 0, transparent 48%), #173d33; }
.walkthrough-art::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(#ffffff17 1px, transparent 1px); background-size: 18px 18px; -webkit-mask-image: linear-gradient(180deg, #000, transparent 90%); mask-image: linear-gradient(180deg, #000, transparent 90%); }
.walkthrough-scene { position: relative; display: grid; justify-items: center; gap: 24px; }
.walkthrough-glyph { display: grid; place-items: center; width: 96px; height: 96px; border: 1px solid #ffffff30; border-radius: 28px; background: linear-gradient(145deg, #ffffff26, #ffffff0a); box-shadow: 0 18px 40px #0a1a1466, inset 0 1px 0 #ffffff38; }
.walkthrough-glyph svg { width: 44px; height: 44px; }
.walkthrough-scene--intro .walkthrough-glyph { background: #10291f; border-color: #d3ed9f40; box-shadow: 0 0 0 10px #d3ed9f12, 0 18px 40px #0a1a1466; }
.walkthrough-scene--intro .walkthrough-glyph svg { width: 54px; height: 54px; }
.walkthrough-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; max-width: 240px; }
.walkthrough-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border: 1px solid #ffffff26; border-radius: 999px; background: #ffffff14; color: #eef6e4; font-size: 12px; font-weight: 600; white-space: nowrap; }
.walkthrough-chip .icon { width: 14px; height: 14px; color: #d3ed9f; }
.walkthrough-content { display: flex; flex-direction: column; min-width: 0; min-height: 0; padding: 20px 26px 20px 32px; overflow-y: auto; }
.walkthrough-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.walkthrough-progress { margin: 0; color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: .02em; }
.walkthrough-close { flex-shrink: 0; width: 34px; height: 34px; margin-right: -6px; }
.walkthrough-close-icon { transform: rotate(45deg); }
.walkthrough-step { flex: 1 0 auto; animation: walkthrough-step .3s ease both; }
.walkthrough[data-direction="back"] .walkthrough-step { animation-name: walkthrough-step-back; }
.walkthrough-eyebrow { margin: 0 0 6px; color: #3d6a2a; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.walkthrough-step h2 { margin: 0 0 10px; font-size: 26px; line-height: 1.15; letter-spacing: -.03em; }
.walkthrough-lead { max-width: 46ch; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.walkthrough-meta { display: inline-flex; align-items: center; gap: 7px; margin: 20px 0 0; padding: 6px 12px; border-radius: 999px; background: #f2f6ee; color: #42634c; font-size: 12px; font-weight: 600; }
.walkthrough-meta .icon { width: 14px; height: 14px; }
.walkthrough-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 20px; }
.walkthrough-link { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 9px 12px 9px 9px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); font-size: 13px; font-weight: 600; text-decoration: none; transition: border-color .15s, background .15s; }
.walkthrough-link > .icon:first-child, .walkthrough-tips .icon { flex-shrink: 0; width: 30px; height: 30px; padding: 7px; border-radius: 9px; background: #edf3e6; color: #42634c; }
.walkthrough-link span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.walkthrough-link-arrow { flex-shrink: 0; width: 15px; height: 15px; color: #9aa79e; transition: transform .15s, color .15s; }
.walkthrough-link:hover, .walkthrough-link:focus-visible { border-color: #cfdcc6; background: #f8fbf5; }
.walkthrough-link:hover .walkthrough-link-arrow, .walkthrough-link:focus-visible .walkthrough-link-arrow { transform: translateX(3px); color: var(--brand); }
.walkthrough-tips { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.walkthrough-tips li { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; line-height: 1.5; }
.walkthrough-tips span { padding-top: 5px; }
.walkthrough-step .walkthrough-tips + .walkthrough-links { grid-template-columns: minmax(0, 220px); }
.walkthrough-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.walkthrough-dots { display: flex; align-items: center; gap: 6px; }
.walkthrough-dot { position: relative; width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: #d8e0d4; cursor: pointer; transition: width .2s, background .2s; }
.walkthrough-dot::after { content: ""; position: absolute; inset: -8px -3px; }
.walkthrough-dot.done { background: #9cc27e; }
.walkthrough-dot[aria-current="step"] { width: 22px; background: var(--brand); }
.walkthrough-dot:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
.walkthrough-actions { display: flex; align-items: center; gap: 8px; }
.walkthrough-skip { margin-right: 4px; color: var(--muted); }
.walkthrough-actions .button.small { min-width: 84px; justify-content: center; }
.walkthrough-scene:not([hidden]) .walkthrough-glyph { animation: walkthrough-pop .38s cubic-bezier(.2, .9, .3, 1.2) both; }
.walkthrough-scene:not([hidden]) .walkthrough-chip { animation: walkthrough-pop .35s ease both; }
.walkthrough-scene:not([hidden]) .walkthrough-chip:nth-child(2) { animation-delay: .06s; }
.walkthrough-scene:not([hidden]) .walkthrough-chip:nth-child(3) { animation-delay: .12s; }
.walkthrough-scene:not([hidden]) .walkthrough-chip:nth-child(4) { animation-delay: .18s; }
@keyframes walkthrough-in { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes walkthrough-step { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: none; } }
@keyframes walkthrough-step-back { from { opacity: 0; transform: translateX(-14px); } to { opacity: 1; transform: none; } }
@keyframes walkthrough-pop { from { opacity: 0; transform: translateY(8px) scale(.92); } to { opacity: 1; transform: none; } }
@media (max-width: 680px) {
  .walkthrough { width: calc(100% - 20px); height: min(660px, calc(100dvh - 20px)); border-radius: 18px; }
  .walkthrough-shell { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
  .walkthrough-art { padding: 18px; }
  .walkthrough-scene { gap: 0; }
  .walkthrough-glyph { width: 60px; height: 60px; border-radius: 18px; }
  .walkthrough-glyph svg { width: 28px; height: 28px; }
  .walkthrough-scene--intro .walkthrough-glyph svg { width: 34px; height: 34px; }
  .walkthrough-chips { display: none; }
  .walkthrough-content { padding: 14px 16px 14px 18px; }
  .walkthrough-step h2 { font-size: 21px; }
  .walkthrough-lead { font-size: 14px; }
  .walkthrough-links { grid-template-columns: minmax(0, 1fr); margin-top: 16px; }
  .walkthrough-foot { flex-direction: column; align-items: stretch; gap: 12px; margin-top: 16px; padding-top: 12px; }
  .walkthrough-dots { justify-content: center; }
  .walkthrough-skip { margin-right: auto; }
}

/* Banking transaction feed: scrolls inside the panel with a sticky header. */
.bank-feed-table { border-top: 1px solid var(--line); }
.biz-page .data-table td { vertical-align: middle; }
.biz-page .data-table .cell-main { display: block; color: var(--ink); font-weight: 500; overflow: hidden; text-overflow: ellipsis; }
.biz-page .data-table .cell-sub { font-size: 11px; }
.biz-page .data-table th.num, .biz-page .data-table td.num { text-align: right; }
.bank-description { width: 46%; max-width: 0 !important; }
.bank-description { display: table-cell; }
.bank-description > .bank-direction, .bank-description > .bank-description-text { vertical-align: middle; }
.bank-direction { display: inline-grid; place-items: center; width: 30px; height: 30px; margin-right: 12px; border-radius: 9px; }
.bank-direction .icon { width: 15px; height: 15px; }
.bank-direction--in { background: #e8f3e0; color: #3d6a2a; }
.bank-direction--out { background: #f4efe9; color: #8a5a2b; }
.bank-description-text { display: inline-block; max-width: calc(100% - 46px); }
.bank-amount { font-weight: 600; font-variant-numeric: tabular-nums; }
.bank-amount--in { color: #2f6a2a; }
.bank-amount--out { color: var(--ink); }
.biz-page .data-table td.subtle { color: var(--muted); font-variant-numeric: tabular-nums; }
@media (max-width: 620px) {
  .bank-feed-table .data-table th:nth-child(3), .bank-feed-table .data-table td:nth-child(3),
  .bank-feed-table .data-table th:nth-child(5), .bank-feed-table .data-table td:nth-child(5) { display: none; }
  .bank-feed-table .data-table td, .bank-feed-table .data-table th { padding: 12px 14px; }
  .bank-description { width: auto; }
}

/* Shared pagination (app/pagination.php): summary on the left, page links on the right. */
.paginator { display: flex; align-items: center; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap; padding: 14px 20px; border-top: 1px solid var(--line); background: #fff; }
.paginator-summary { margin: 0; color: var(--muted); font-size: 12px; }
.paginator-summary strong { color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.paginator-links { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.paginator-step, .paginator-page { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-width: 34px; height: 34px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font-size: 13px; font-weight: 600; text-decoration: none; font-variant-numeric: tabular-nums; transition: border-color .15s, background .15s; }
a.paginator-step:hover, a.paginator-page:hover { border-color: #cfdcc6; background: #f6f9f3; }
.paginator-page[aria-current="page"] { border-color: var(--brand); background: var(--brand); color: #fff; }
.paginator-step[aria-disabled="true"] { color: var(--muted); background: #fafbf9; cursor: default; }
.paginator-gap { min-width: 20px; color: var(--muted); text-align: center; }
.paginator:focus-within { scroll-margin-top: 90px; }
.panel > .paginator:last-child { border-radius: 0 0 12px 12px; }
.main-paginator, .tools-grid + .paginator, .talent-grid + .paginator { margin-top: 16px; border: 1px solid var(--line); border-radius: 12px; }
@media (max-width: 620px) {
  .paginator { padding: 12px 14px; }
  .paginator-links { width: 100%; justify-content: space-between; }
  .paginator-page:not([aria-current="page"]), .paginator-gap { display: none; }
}

/* Banking feed filters and totals */
.bank-filters { display: grid; grid-template-columns: minmax(220px, 1fr) 170px auto auto auto; align-items: end; gap: 10px; padding-bottom: 14px; }
.bank-filters:has(select[name="account"]) { grid-template-columns: minmax(200px, 1fr) 160px 190px auto auto auto; }
.bank-filters label { display: grid; gap: 5px; margin: 0; min-width: 0; color: var(--muted); font-size: 11px; font-weight: 600; }
.bank-filters .control { width: 100%; min-height: 38px !important; }
.bank-filter-search { position: relative; }
.bank-filter-search .icon { position: absolute; left: 12px; bottom: 11px; width: 16px; height: 16px; color: #8a958b; pointer-events: none; }
.bank-filter-search .control { padding-left: 36px !important; }
.bank-filter-date .control { width: 150px; }
.bank-filter-actions { display: flex; gap: 6px; }
.bank-filter-actions .button { min-height: 38px; }
.bank-feed-totals { display: flex; flex-wrap: wrap; gap: 6px 22px; padding: 10px 22px; border-top: 1px solid var(--line); background: #fafbf8; color: var(--muted); font-size: 12px; }
.bank-feed-totals strong { margin-left: 4px; color: var(--ink); font-variant-numeric: tabular-nums; }
.bank-feed-totals .bank-amount--in { color: #2f6a2a; }
.banking-panel .panel-head .button-row .button .icon { width: 15px; height: 15px; }
@media (max-width: 1100px) {
  .bank-filters, .bank-filters:has(select[name="account"]) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bank-filter-search { grid-column: 1 / -1; }
  .bank-filter-date .control { width: 100%; }
}
@media (max-width: 620px) {
  .bank-filters, .bank-filters:has(select[name="account"]) { grid-template-columns: minmax(0, 1fr); }
  .bank-feed-totals { padding: 10px 14px; }
}

/* Printable bank statement (banking.php?statement=1). Print or save as PDF from the browser. */
.statement-page { margin: 0; background: #eef1ec; color: var(--ink); }
.statement-sheet { width: min(960px, calc(100% - 32px)); margin: 24px auto; padding: 40px 44px; border-radius: 14px; background: #fff; box-shadow: 0 10px 40px #14291f1a; }
.statement-tools { display: flex; justify-content: space-between; gap: 10px; margin: -12px 0 28px; }
.statement-tools .button { display: inline-flex; align-items: center; gap: 7px; }
.statement-tools .button .icon { width: 15px; height: 15px; }
.statement-head { display: flex; justify-content: space-between; gap: 24px; padding-bottom: 22px; border-bottom: 2px solid var(--brand); }
.statement-company { margin: 10px 0 0; font-size: 15px; font-weight: 700; }
.statement-title { text-align: right; }
.statement-title h1 { margin: 0 0 6px; font-size: 24px; letter-spacing: -.02em; }
.statement-title p { margin: 2px 0 0; color: var(--muted); font-size: 13px; }
.statement-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 22px 0; }
.statement-summary div { padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; }
.statement-summary dt { color: var(--muted); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.statement-summary dd { margin: 6px 0 0; font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums; }
.statement-note { margin: 0 0 12px; color: var(--muted); font-size: 12px; }
.statement-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.statement-table th { padding: 9px 8px; border-bottom: 1px solid var(--ink); color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
.statement-table td { padding: 8px; border-bottom: 1px solid #edf1e7; vertical-align: top; }
.statement-table .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.statement-table tbody tr:nth-child(even) td { background: #fafbf8; }
.statement-foot { margin-top: 24px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.statement-foot p { margin: 2px 0; }
@media (max-width: 700px) {
  .statement-sheet { padding: 22px 16px; }
  .statement-head { flex-direction: column; }
  .statement-title { text-align: left; }
  .statement-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .statement-table th:nth-child(3), .statement-table td:nth-child(3) { display: none; }
}
@media print {
  @page { size: A4; margin: 14mm; }
  .statement-page { background: #fff; }
  .statement-sheet { width: auto; margin: 0; padding: 0; box-shadow: none; }
  .statement-tools { display: none; }
  .statement-table thead { display: table-header-group; }
  .statement-table tr { break-inside: avoid; }
  .statement-table tbody tr:nth-child(even) td { background: none; }
}

@media (max-width: 620px) {
  .bank-filters, .bank-filters:has(select[name="account"]) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bank-filters > label:not(.bank-filter-date), .bank-filter-actions { grid-column: 1 / -1; }
  .bank-feed-table .data-table { table-layout: fixed; }
  .bank-feed-table .data-table th:nth-child(1), .bank-feed-table .data-table td:nth-child(1) { width: 84px; padding-right: 4px; }
  .bank-feed-table .data-table td:nth-child(1) .cell-main { font-size: 12px; text-overflow: clip; }
  .bank-feed-table .data-table th:nth-child(4), .bank-feed-table .data-table td:nth-child(4) { width: 112px; padding-left: 4px; }
  .bank-feed-table .bank-direction { display: none; }
  .bank-feed-table .bank-description { max-width: none !important; white-space: normal; }
  .bank-feed-table .bank-description-text { display: block; max-width: none; }
  .bank-feed-table .bank-description .cell-main { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; white-space: normal; overflow-wrap: anywhere; font-size: 12px; line-height: 1.35; }
}
.suite-main > .paginator { margin-top: 4px; border: 1px solid var(--line); border-radius: 12px; }

/* Invoices: "Get paid online" payout account panel and the public pay options. */
.payout-panel { scroll-margin-top: 90px; }
.payout-form .form-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.payout-account { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #fbfcf9; }
.payout-account-icon { display: grid; place-items: center; flex-shrink: 0; width: 42px; height: 42px; border-radius: 11px; background: #edf3e6; color: #42634c; }
.payout-account-icon .icon { width: 20px; height: 20px; }
.payout-account-name { margin: 0; font-size: 16px; font-weight: 700; letter-spacing: -.01em; }
.payout-account .subtle { margin: 2px 0 0; font-size: 13px; }
.payout-confirm { margin-top: 14px; padding: 14px 16px; border: 1px solid #e9d9a8; border-radius: 12px; background: #fdf8ea; }
.payout-confirm p { margin: 0 0 12px; line-height: 1.55; }
.payout-methods { display: grid; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.payout-methods li { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; color: var(--muted); }
.payout-methods li strong { color: var(--ink); margin-right: 4px; }
.payout-methods .icon { flex-shrink: 0; width: 18px; height: 18px; margin-top: 1px; }
.payout-methods li.on .icon { color: #3d6a2a; }
.payout-methods li.off .icon { color: #b07a1c; }
.payout-panel .field-hint + .button { margin-top: 12px; }
.invoice-pay-options { display: grid; gap: 12px; margin: 22px 0; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #fbfcf9; }
.invoice-pay-options h2 { margin: 0; font-size: 17px; }
.invoice-pay-options > .subtle { margin: -6px 0 4px; }
.invoice-pay-options form { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.invoice-pay-options form .button { min-width: 220px; justify-content: center; }
.invoice-pay-options form .subtle { margin: 0; font-size: 13px; }
@media (max-width: 620px) {
  .payout-form .form-grid { grid-template-columns: minmax(0, 1fr); }
  .invoice-pay-options form .button { width: 100%; }
}

/* ---- Messages (users/admin/messages.php + public/scripts/messages.js) ---- */
.chat-app { display: grid; grid-template-columns: minmax(260px, 320px) minmax(0, 1fr); height: calc(100dvh - 150px); min-height: 520px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.chat-avatar { display: inline-grid; place-items: center; flex-shrink: 0; width: 38px; height: 38px; border-radius: 50%; background: #e3efda; color: #2f5233; font-size: 13px; font-weight: 700; letter-spacing: .02em; }
.chat-avatar.is-group { border-radius: 12px; background: #173d33; color: #d3ed9f; }
.chat-avatar .icon { width: 18px; height: 18px; }

.chat-sidebar { display: flex; flex-direction: column; min-height: 0; border-right: 1px solid var(--line); background: #fafbf8; }
.chat-sidebar-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 18px 16px 12px; }
.chat-sidebar-head h1 { margin: 0; font-size: 20px; letter-spacing: -.02em; }
.chat-sidebar-head .button { display: inline-flex; align-items: center; gap: 6px; }
.chat-sidebar-head .button .icon { width: 14px; height: 14px; }
.chat-search { position: relative; display: block; margin: 0 16px 10px; }
.chat-search .icon { position: absolute; left: 11px; top: 50%; width: 16px; height: 16px; color: #8a958b; transform: translateY(-50%); pointer-events: none; }
.chat-search input { width: 100%; height: 38px; padding: 0 12px 0 34px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); font: inherit; font-size: 13px; }
.chat-search input:focus { outline: 2px solid #cfe3bf; border-color: #a9c79a; }
.chat-list { flex: 1; min-height: 0; overflow-y: auto; padding: 4px 8px 12px; }
.chat-list-item { display: flex; align-items: center; gap: 11px; width: 100%; padding: 10px; border: 0; border-radius: 12px; background: none; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.chat-list-item:hover { background: #f0f4ec; }
.chat-list-item.is-active { background: #e6efdf; }
.chat-list-text { display: grid; gap: 2px; min-width: 0; flex: 1; }
.chat-list-top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.chat-list-title { overflow: hidden; font-size: 14px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.chat-list-time { flex-shrink: 0; color: var(--muted); font-size: 11px; }
.chat-list-preview { overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.chat-list-empty { padding: 28px 12px; color: var(--muted); font-size: 13px; text-align: center; }
.chat-list-empty p { margin: 0 0 6px; }

.chat-thread { display: flex; flex-direction: column; min-width: 0; min-height: 0; background: #fff; }
.chat-thread-head { display: flex; align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid var(--line); }
.chat-thread-title { flex: 1; min-width: 0; }
.chat-thread-title h2 { margin: 0; overflow: hidden; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.chat-thread-title p { margin: 1px 0 0; color: var(--muted); font-size: 12px; }
.chat-back { display: none; }
.chat-back .icon { transform: rotate(90deg); }
.chat-live { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; color: var(--muted); font-size: 12px; }
.chat-live-dot { width: 8px; height: 8px; border-radius: 50%; background: #c9cfc7; }
.chat-live.is-live .chat-live-dot { background: #4f9a3a; box-shadow: 0 0 0 3px #4f9a3a26; }

.chat-messages { flex: 1; min-height: 0; overflow-y: auto; padding: 16px 20px 8px; background: #f6f8f4; }
.chat-day { display: flex; justify-content: center; margin: 14px 0 10px; }
.chat-day span { padding: 4px 10px; border-radius: 999px; background: #fff; color: var(--muted); font-size: 11px; font-weight: 600; box-shadow: 0 1px 2px #1a352814; }
.chat-earlier { display: flex; justify-content: center; margin-bottom: 8px; }
.chat-message { position: relative; display: flex; align-items: flex-end; gap: 8px; margin-top: 10px; }
.chat-message.is-continued { margin-top: 3px; }
.chat-message.is-mine { flex-direction: row-reverse; }
.chat-message-avatar { width: 30px; height: 30px; font-size: 11px; }
.chat-message-avatar.is-spacer { visibility: hidden; }
.chat-bubble-wrap { display: flex; flex-direction: column; max-width: min(72%, 560px); min-width: 0; }
.chat-message.is-mine .chat-bubble-wrap { align-items: flex-end; }
.chat-sender { margin: 0 0 3px 12px; color: var(--muted); font-size: 11px; font-weight: 600; }
.chat-bubble { padding: 9px 13px; border: 1px solid #e3e9df; border-radius: 18px; background: #fff; color: var(--ink); font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; box-shadow: 0 1px 1px #1a35280d; }
.chat-message:not(.is-mine) .chat-bubble { border-bottom-left-radius: 6px; }
.chat-message:not(.is-mine).is-continued .chat-bubble { border-top-left-radius: 6px; }
.chat-message.is-mine .chat-bubble { border-color: #173d33; border-bottom-right-radius: 6px; background: #173d33; color: #f3f7ef; }
.chat-message.is-mine.is-continued .chat-bubble { border-top-right-radius: 6px; }
.chat-message.is-selected .chat-bubble { outline: 2px solid #7fb35f; outline-offset: 2px; }
.chat-time { margin: 3px 6px 0; color: var(--muted); font-size: 10.5px; }
.chat-mention { display: inline-block; padding: 0 6px; border-radius: 6px; background: #e6efdf; color: #2f5233; font-weight: 600; text-decoration: none; }
a.chat-mention:hover { background: #d8e8cc; }
.chat-message.is-mine .chat-mention { background: #ffffff21; color: #d3ed9f; }
.chat-quote { margin: 2px 0 6px; padding: 7px 10px; border-left: 3px solid #a9cf86; border-radius: 6px; background: #00000008; font-size: 13px; }
.chat-message.is-mine .chat-quote { border-left-color: #d3ed9f; background: #ffffff14; }
.chat-quote > span { display: block; margin-bottom: 2px; font-size: 11px; font-weight: 600; opacity: .75; }
.chat-quote a { display: inline-block; margin-top: 4px; color: inherit; font-size: 12px; }
.chat-forward { display: grid; place-items: center; flex-shrink: 0; align-self: center; width: 30px; height: 30px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--muted); cursor: pointer; opacity: 0; transition: opacity .12s; }
.chat-forward .icon { width: 15px; height: 15px; }
.chat-message:hover .chat-forward, .chat-forward:focus-visible, .chat-forward[aria-pressed="true"] { opacity: 1; }
.chat-forward[aria-pressed="true"] { border-color: #7fb35f; background: #7fb35f; color: #fff; }
@media (hover: none) { .chat-forward { opacity: .6; } }
.chat-empty { display: grid; place-items: center; align-content: center; gap: 6px; height: 100%; padding: 30px; color: var(--muted); text-align: center; }
.chat-empty-icon { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 4px; border-radius: 16px; background: #e6efdf; color: #2f5233; }
.chat-empty-icon .icon { width: 24px; height: 24px; }
.chat-empty h3 { margin: 0; color: var(--ink); font-size: 16px; }
.chat-empty p { margin: 0 0 8px; font-size: 13px; }
.chat-empty .button { display: inline-flex; align-items: center; gap: 6px; }

.chat-select-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 20px; border-top: 1px solid var(--line); background: #f3f8ee; font-size: 13px; }
.chat-select-bar label { margin: 0; }
.chat-select-bar .control { min-height: 34px !important; padding: 4px 30px 4px 10px !important; }
.chat-select-status { color: var(--muted); font-size: 12px; }
.chat-suggestions { max-height: 220px; margin: 0 20px; overflow-y: auto; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 10px 30px #14291f1f; }
.chat-suggestions button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px 12px; border: 0; background: none; font: inherit; text-align: left; cursor: pointer; }
.chat-suggestions button:hover, .chat-suggestions button:focus-visible { background: #f0f4ec; }
.chat-suggestions .chat-avatar { width: 28px; height: 28px; font-size: 11px; }
.chat-suggestions strong { display: block; font-size: 13px; }
.chat-suggestions small { color: var(--muted); font-size: 11px; }
.chat-suggestions-empty { margin: 0; padding: 10px 12px; color: var(--muted); font-size: 13px; }
.chat-composer { display: flex; align-items: flex-end; gap: 8px; margin: 10px 20px 0; padding: 6px 6px 6px 14px; border: 1px solid #d9e2d4; border-radius: 22px; background: #fff; }
.chat-composer:focus-within { border-color: #a9c79a; box-shadow: 0 0 0 3px #cfe3bf66; }
.chat-composer textarea { flex: 1; min-height: 34px; max-height: 160px; padding: 7px 0; border: 0; outline: 0; background: none; color: var(--ink); font: inherit; font-size: 14px; line-height: 1.45; resize: none; }
.chat-send { display: grid; place-items: center; flex-shrink: 0; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: #173d33; color: #fff; cursor: pointer; }
.chat-send .icon { width: 17px; height: 17px; }
.chat-send:disabled { background: #c5cec2; cursor: default; }
.chat-hint { margin: 6px 20px 12px 34px; color: var(--muted); font-size: 11px; }

.chat-dialog { width: min(460px, calc(100% - 24px)); max-height: min(620px, calc(100dvh - 32px)); padding: 0; border: 0; border-radius: 18px; background: #fff; color: var(--ink); box-shadow: 0 30px 90px #0f221a59; }
.chat-dialog[open] { display: flex; flex-direction: column; }
.chat-dialog::backdrop { background: #10201a8c; backdrop-filter: blur(2px); }
.chat-dialog-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px 10px; }
.chat-dialog-head h2 { margin: 0; font-size: 17px; }
.chat-close-icon { transform: rotate(45deg); }
.chat-dialog-tabs { align-self: flex-start; margin: 0 18px 12px; }
.chat-dialog-search { margin: 0 18px 8px; }
.chat-dialog-panel { flex: 1; min-height: 0; overflow-y: auto; padding: 0 10px 12px; }
.chat-people { display: grid; gap: 2px; }
.chat-person { display: flex; align-items: center; gap: 11px; width: 100%; padding: 8px 10px; border: 0; border-radius: 12px; background: none; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.chat-person:hover { background: #f0f4ec; }
.chat-person strong { display: block; font-size: 14px; }
.chat-person small { color: var(--muted); font-size: 12px; }
.chat-person input { width: 16px; height: 16px; margin: 0 2px 0 0; }
.chat-group-name { display: grid; gap: 6px; margin: 0 8px 10px; font-size: 12px; font-weight: 600; }
.chat-dialog-actions { position: sticky; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 8px 0; background: #fff; }

@media (max-width: 820px) {
  .chat-app { grid-template-columns: minmax(0, 1fr); height: calc(100dvh - 120px); }
  .chat-app[data-view="list"] .chat-thread, .chat-app[data-view="thread"] .chat-sidebar { display: none; }
  .chat-back { display: grid; }
  .chat-thread-head { padding: 10px 12px; }
  .chat-messages { padding: 12px 12px 6px; }
  .chat-bubble-wrap { max-width: 82%; }
  .chat-composer { margin: 8px 12px 0; }
  .chat-hint { display: none; }
  .chat-composer { margin-bottom: 12px; }
  .chat-select-bar { padding: 10px 12px; }
  .chat-live span:last-child { display: none; }
}
.chat-app [hidden], .chat-dialog [hidden] { display: none !important; }
.chat-search input[type="search"] { padding: 0 12px 0 34px !important; min-height: 38px !important; }
.chat-composer textarea { min-height: 34px !important; padding: 7px 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }

/* Banking: connected accounts as compact rows (scales to many accounts; pages at 10). */
.bank-accounts { margin: 0; padding: 0; list-style: none; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.bank-account-row { display: grid; grid-template-columns: 40px minmax(0, 1.6fr) minmax(0, 1fr) minmax(130px, auto) auto; align-items: center; gap: 14px; padding: 12px 14px; background: #fff; }
.bank-account-row + .bank-account-row { border-top: 1px solid #edf1e7; }
.bank-account-row:hover { background: #fafcf7; }
.bank-account-mark { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 11px; background: #edf3e6; color: #2f5233; font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.bank-account-main { display: grid; gap: 2px; min-width: 0; }
.bank-account-name { overflow: hidden; color: var(--ink); font-weight: 600; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.bank-account-name:hover { color: var(--brand); text-decoration: underline; }
.bank-account-main span { overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.bank-account-meta { display: flex; align-items: center; gap: 8px; min-width: 0; }
.bank-account-meta small { overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.bank-account-amount { font-size: 15px; font-weight: 700; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.bank-account-actions { display: flex; gap: 2px; }
.bank-account-actions .icon-button { width: 34px; height: 34px; color: var(--muted); }
.bank-account-actions .icon-button .icon { width: 16px; height: 16px; }
.bank-account-disconnect:hover { color: #b0413a; background: #fbefee; }
.biz-kpis .stat-foot[title] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 760px) {
  .bank-account-row { grid-template-columns: 40px minmax(0, 1fr) auto; grid-template-areas: "mark main amount" "mark meta actions"; row-gap: 6px; }
  .bank-account-mark { grid-area: mark; align-self: start; }
  .bank-account-main { grid-area: main; }
  .bank-account-meta { grid-area: meta; }
  .bank-account-amount { grid-area: amount; font-size: 14px; }
  .bank-account-actions { grid-area: actions; justify-content: flex-end; }
}
@media (max-width: 760px) {
  .bank-account-row { grid-template-areas: "mark main main" "mark amount actions"; }
  .bank-account-meta { display: none; }
  .bank-account-amount { text-align: left; align-self: center; }
}

/* Payroll: new pay run as one row inside Pay runs; Salary Vault stacked top to bottom. */
.new-run-form { display: grid; grid-template-columns: minmax(150px, 1.2fr) repeat(3, minmax(0, 1fr)) auto; align-items: end; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.new-run-form label { display: grid; gap: 6px; margin: 0; min-width: 0; font-size: 12px; font-weight: 600; }
.new-run-form .control { width: 100%; min-height: 40px !important; }
.new-run-title { display: grid; gap: 2px; align-self: center; font-weight: 700; }
.new-run-title small { font-size: 11px; font-weight: 400; }
.new-run-form .button { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; }
.new-run-form .button .icon { width: 15px; height: 15px; }
.vault-add { padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fbfcf9; }
.vault-add-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.vault-add-head h3 { margin: 0; font-size: 14px; }
.vault-add [hidden] { display: none !important; }
.vault-form { display: grid; grid-template-columns: minmax(0, 320px) auto; align-items: end; gap: 12px; }
.vault-form--deposit { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.4fr) auto; }
.vault-form label { display: grid; gap: 6px; margin: 0; min-width: 0; font-size: 12px; font-weight: 600; }
.vault-form .control { width: 100%; min-height: 40px !important; }
.vault-form .button { min-height: 40px; }
.vault-form .field-hint { grid-column: 1 / -1; margin: 0; }
.vault-ref { max-width: 260px; overflow: hidden; text-overflow: ellipsis; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; color: var(--muted); }
@media (max-width: 1000px) {
  .new-run-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .new-run-title { grid-column: 1 / -1; }
  .vault-form--deposit { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vault-form--deposit .vault-form-wide { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .new-run-form, .vault-form, .vault-form--deposit { grid-template-columns: minmax(0, 1fr); }
  .new-run-form .button, .vault-form .button { width: 100%; justify-content: center; }
}

/* Talent directory: toolbar like other list pages, photo cards with one clear order, shared dialog. */
.talent-toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.talent-toolbar .talent-search-field { flex: 1; min-width: 220px; }
.talent-toolbar .button { min-height: 38px; }
.talent-count { margin: -6px 0 0; color: var(--muted); font-size: 12px; }
.talent-count strong { color: var(--ink); }
.talent-page .talent-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; }
.talent-page .talent-card { display: flex; flex-direction: column; gap: 12px; padding: 18px; }
.talent-card-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 12px; }
.talent-photo { display: inline-grid; place-items: center; overflow: hidden; flex-shrink: 0; width: 56px; height: 56px; border-radius: 50%; background: #e3efda; color: #2f5233; font-size: 18px; font-weight: 700; }
.talent-photo img { width: 100%; height: 100%; object-fit: cover; }
.talent-photo--large { width: 88px; height: 88px; font-size: 28px; }
.talent-card-title { min-width: 0; }
.talent-card-title h2 { margin: 0; font-size: 16px; letter-spacing: -.01em; }
.talent-headline { margin: 2px 0 0; color: var(--ink); font-size: 13px; font-weight: 500; }
.talent-meta { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.talent-shortlist .button { display: inline-flex; align-items: center; gap: 5px; }
.talent-shortlist .button .icon { width: 14px; height: 14px; }
.talent-experience { margin: 0; color: var(--ink); font-size: 13px; line-height: 1.55; }
.talent-skills { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.talent-skills li { padding: 3px 10px; border-radius: 999px; background: #f0f4ec; color: #3d5a42; font-size: 12px; font-weight: 500; }
.talent-more { display: grid; gap: 6px; padding-top: 10px; border-top: 1px solid #edf1e7; font-size: 13px; }
.talent-more summary { cursor: pointer; font-weight: 600; }
.talent-pending { margin: 0; font-size: 12px; }
.talent-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: auto; padding-top: 12px; border-top: 1px solid #edf1e7; }
.talent-card-actions .button { justify-content: center; }
.talent-dialog { width: min(480px, calc(100% - 24px)); }
.talent-dialog-form { display: grid; gap: 12px; padding: 0 18px 18px; }
.talent-dialog-form label { display: grid; gap: 6px; font-size: 12px; font-weight: 600; }
.talent-dialog-form .control { width: 100%; font-weight: 400; }
.talent-dialog [hidden] { display: none !important; }
.talent-hire + .talent-hire { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.talent-photo-body { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.talent-photo-actions { display: grid; gap: 8px; }
.talent-photo-form { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
@media (max-width: 620px) {
  .talent-page .talent-grid { grid-template-columns: minmax(0, 1fr); }
  .talent-card-head { grid-template-columns: auto minmax(0, 1fr); }
  .talent-shortlist { grid-column: 1 / -1; }
  .talent-toolbar .segmented { width: 100%; }
}
.direct-account .account-number { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.direct-account .account-number span { grid-column: 1 / -1; }
.direct-account .account-number .button { display: inline-flex; align-items: center; gap: 6px; }
.direct-account .account-number .button .icon { width: 14px; height: 14px; }

/* POS: first-register form, register list and the "open a shift" hint. */
.pos-manage-registers { align-self: center; font-size: 13px; }
.pos-register-list { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 8px; }
.pos-register-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fbfcf9; }
.pos-reserve-hint { display: block; margin-top: 8px; }
.pos-reserve-hint.pos-hint-warning { color: #8d6421; font-weight: 600; }

/* POS: online shop card. */
.pos-shop-card { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 16px 18px; margin-bottom: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.pos-shop-card.is-live { border-color: #cfe3c0; background: #f5faf1; }
.pos-shop-icon { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--brand); color: var(--accent); flex: none; }
.pos-shop-icon .icon { width: 22px; height: 22px; }
.pos-shop-text { flex: 1 1 280px; display: flex; flex-direction: column; min-width: 0; }
.pos-shop-text strong { font-size: 15px; }
.pos-shop-text span { color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.pos-shop-actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* Online shop admin page. */
.shop-link-card.is-live { border-color: #cfe3c0; }
.shop-link-row { grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; column-gap: 10px; }
.shop-link-row span { grid-column: 1 / -1; }
.shop-link-row strong { font-size: 18px; letter-spacing: 0; overflow-wrap: anywhere; }
.shop-checklist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; }
.shop-checklist li { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); font-size: 13px; }
.shop-checklist li .icon { width: 18px; height: 18px; flex: none; color: #8d6421; margin-top: 1px; }
.shop-checklist li.is-done { color: var(--ink); background: #f5faf1; border-color: #d8e9cc; }
.shop-checklist li.is-done .icon { color: #3d6a2a; }
.shop-link-card .notice { margin: 14px 0 0; }
.shop-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.inline-filter { display: flex; gap: 8px; align-items: center; }
.inline-filter .control { min-width: 190px; }
.shop-order-list { border-top: 1px solid var(--line); }
.shop-order-row { border-bottom: 1px solid var(--line); }
.shop-order-row summary { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 14px; padding: 14px 22px; cursor: pointer; list-style: none; }
.shop-order-row summary::-webkit-details-marker { display: none; }
.shop-order-row summary:hover { background: #fbfcf9; }
.shop-order-main { display: flex; flex-direction: column; min-width: 0; }
.shop-order-main small { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.shop-order-total { font-weight: 700; font-variant-numeric: tabular-nums; }
.shop-order-detail { padding: 4px 22px 18px; }
.shop-order-detail .detail-grid { margin-bottom: 12px; }
.shop-order-detail .span-2 { grid-column: 1 / -1; }
.shop-order-items { list-style: none; margin: 0 0 12px; padding: 0; border: 1px solid var(--line); border-radius: 10px; }
.shop-order-items li { display: flex; justify-content: space-between; gap: 12px; padding: 9px 12px; border-bottom: 1px solid var(--line); }
.shop-order-items li:last-child { border-bottom: 0; }
.shop-admin-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.plain-fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 16px; min-width: 0; }
.shop-switch { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }
.shop-switch input { width: 18px; height: 18px; margin-top: 3px; accent-color: var(--brand); }
.shop-switch span { display: flex; flex-direction: column; }
.shop-switch small { color: var(--muted); }
.shop-slug-field { display: flex; align-items: stretch; border: 1px solid #dbe3d8; border-radius: 8px; overflow: hidden; background: #fff; }
.shop-slug-field span { display: flex; align-items: center; padding: 0 10px; background: var(--paper); color: var(--muted); font-size: 12px; border-right: 1px solid #dbe3d8; max-width: 55%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.field .shop-slug-field input { border: 0; border-radius: 0; min-width: 0; }
.shop-product-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.shop-product-list li { display: flex; align-items: center; gap: 12px; padding: 12px 22px; border-bottom: 1px solid var(--line); }
.shop-product-list li.is-hidden .shop-product-name { opacity: .6; }
.shop-product-name { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.shop-product-name small { color: var(--muted); }
.shop-product-list form { margin: 0; }
@media (max-width: 980px) { .shop-admin-grid { grid-template-columns: 1fr; } }
@media (max-width: 680px) {
  .shop-stats { grid-template-columns: 1fr; }
  .shop-link-row { grid-template-columns: 1fr; }
  .shop-order-row summary { grid-template-columns: minmax(0, 1fr) auto; padding: 12px 18px; }
  .shop-order-row summary .badge { grid-column: 1 / -1; justify-self: start; }
  .shop-order-detail { padding: 4px 18px 16px; }
  .shop-product-list li { padding: 12px 18px; flex-wrap: wrap; }
  .inline-filter .control { min-width: 0; }
}
.shop-link-row .button { display: inline-flex; align-items: center; gap: 6px; }
.shop-link-row .button .icon { width: 14px; height: 14px; }

/* Barcode labels page and its print sheet. */
.barcode-missing .panel-body { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; background: #fdf7ea; border-radius: var(--radius); }
.barcode-missing p { margin: 4px 0 0; color: var(--muted); font-size: 13px; max-width: 640px; }
.barcode-search { align-items: center; gap: 16px; flex-wrap: wrap; }
.barcode-search .search-field { flex: 0 1 340px; }
.barcode-table td { vertical-align: middle; }
.barcode-table td strong { display: block; }
.barcode-table td small { display: block; }
.barcode-table tr.is-missing td { color: var(--muted); }
.barcode-pick { width: 44px; }
.barcode-pick input { width: 18px; height: 18px; accent-color: var(--brand); }
.barcode-preview { display: inline-flex; flex-direction: column; align-items: center; gap: 5px; }
.barcode-preview .barcode-svg { width: 150px; height: 30px; }
.barcode-preview span { font: 500 11px/1 ui-monospace, Menlo, Consolas, monospace; letter-spacing: .08em; }
.barcode-copies { width: 84px; }
.barcode-print-bar { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 14px 22px; border-top: 1px solid var(--line); }
.barcode-print-bar .control { width: auto; }
.barcode-print-bar .button { margin-left: auto; }
.label-print-page { background: #fff; margin: 0; padding: 18px; }
.label-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; padding: 12px 16px; margin-bottom: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.label-toolbar span { display: block; color: var(--muted); font-size: 13px; }
.label-sheet { display: grid; gap: 4mm; }
.label-sheet.label-small { grid-template-columns: repeat(4, 1fr); }
.label-sheet.label-large { grid-template-columns: repeat(2, 1fr); }
.barcode-label { border: 1px dashed #c8d0c4; border-radius: 2mm; padding: 2.5mm 3mm; display: flex; flex-direction: column; align-items: center; text-align: center; break-inside: avoid; page-break-inside: avoid; color: #000; }
.label-shop { font-size: 7pt; color: #555; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.label-name { font-size: 9pt; line-height: 1.2; margin: 1mm 0; max-width: 100%; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.label-price { font-size: 10pt; font-weight: 700; }
.barcode-label .barcode-svg { width: 100%; height: 12mm; margin-top: 1mm; }
.label-large .barcode-label .barcode-svg { height: 18mm; }
.label-large .label-name { font-size: 11pt; }
.label-code { font: 8pt/1.2 ui-monospace, Menlo, Consolas, monospace; letter-spacing: .1em; margin-top: 1.2mm; }
@media print {
  @page { margin: 8mm; }
  .label-print-page { padding: 0; }
  .no-print { display: none !important; }
  .barcode-label { border-color: #ddd; }
}
@media (max-width: 680px) { .label-sheet.label-small { grid-template-columns: repeat(2, 1fr); } .label-sheet.label-large { grid-template-columns: 1fr; } }

/* POS: scan button beside the search box and the camera scanner. */
.pos-scan-button[hidden] { display: none !important; }
.pos-filter-row:has(.pos-scan-button:not([hidden])) { grid-template-columns: minmax(180px,1fr) auto minmax(140px,.55fr); }
.pos-scan-button { align-self: stretch; display: inline-flex; align-items: center; gap: 6px; }
.pos-scan-button .icon { width: 15px; height: 15px; }
.pos-scan-dialog { border: 0; border-radius: 16px; padding: 16px; width: min(420px, calc(100% - 32px)); text-align: center; }
.pos-scan-dialog::backdrop { background: #0f201a99; }
.pos-scan-dialog video { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; background: #000; }
.pos-scan-dialog p { color: var(--muted); margin: 10px 0; }
@media (max-width: 680px) { .pos-filter-row:has(.pos-scan-button:not([hidden])) { grid-template-columns: 1fr auto; } .pos-filter-row:has(.pos-scan-button:not([hidden])) select { grid-column: 1 / -1; } }

/* Online shop: QR code for the shop link, and its printable poster. */
.shop-qr-row { display: flex; gap: 18px; align-items: center; margin: 0 0 18px; padding: 14px 18px; border: 1px solid var(--line); border-radius: 12px; }
.shop-qr-code { width: 120px; flex: none; }
.shop-qr-code svg, .qr-poster-code svg { display: block; width: 100%; height: auto; }
.shop-qr-row p { margin: 4px 0 10px; color: var(--muted); font-size: 13px; max-width: 560px; }
.shop-qr-row .button { display: inline-flex; align-items: center; gap: 6px; }
.shop-qr-row .button .icon { width: 14px; height: 14px; }
.qr-poster { max-width: 150mm; margin: 0 auto; text-align: center; color: #000; padding: 10mm 0; }
.qr-poster-eyebrow { font-size: 12pt; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #3d6a2a; margin: 0 0 3mm; }
.qr-poster h1 { font: 800 30pt/1.1 Manrope, sans-serif; margin: 0 0 3mm; }
.qr-poster-tagline { font-size: 13pt; margin: 0 0 8mm; color: #333; }
.qr-poster-code { width: 95mm; max-width: 80vw; margin: 0 auto 8mm; }
.qr-poster-call { font-size: 15pt; font-weight: 700; margin: 0 0 3mm; }
.qr-poster-link { font: 12pt/1.3 ui-monospace, Menlo, Consolas, monospace; margin: 0 0 2mm; overflow-wrap: anywhere; }
.qr-poster-phone { font-size: 12pt; color: #333; margin: 0; }
@media (max-width: 680px) { .shop-qr-row { flex-direction: column; align-items: flex-start; } }

/* Book a demo (public). */
.demo-page { display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: start; padding: 56px 0 72px; }
.demo-intro h1 { font: 750 46px/1.08 Manrope, sans-serif; letter-spacing: -1.6px; margin: 18px 0 16px; }
.demo-points { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 12px; }
.demo-points li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; }
.demo-points .icon { width: 20px; height: 20px; color: #3d6a2a; flex: none; margin-top: 2px; }
.demo-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 30px; box-shadow: var(--shadow); }
.demo-card h2 { font: 700 22px/1.3 Manrope, sans-serif; margin: 0 0 4px; }
.demo-card .form-stack { margin-top: 18px; }
.demo-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.demo-privacy { font-size: 12px; color: var(--muted); margin: 0; }
.demo-done { text-align: center; padding: 18px 0; }
.demo-done-icon { width: 54px; height: 54px; border-radius: 16px; display: inline-grid; place-items: center; background: #e4f1da; color: #3d6a2a; margin-bottom: 14px; }
.demo-done-icon .icon { width: 26px; height: 26px; }
.demo-done p { color: var(--muted); margin: 6px 0 18px; }
.cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.cta-section .cta-secondary { background: transparent; border: 1px solid #ffffff55; color: #fff; }
@media (max-width: 900px) { .demo-page { grid-template-columns: 1fr; gap: 28px; padding: 32px 0 48px; } .demo-intro h1 { font-size: 34px; } .demo-card { padding: 22px; } }

/* Neurons: custom automation requests. */
.custom-automation { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.custom-requests h3 { font-size: 14px; margin: 0 0 10px; }
.custom-requests ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.custom-requests li { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; }
.custom-requests li small { display: block; color: var(--muted); }
.custom-reply { margin: 8px 0 0; font-size: 13px; background: var(--paper); border-radius: 8px; padding: 8px 10px; }
.custom-reply span { font-weight: 650; }
@media (max-width: 900px) { .custom-automation { grid-template-columns: 1fr; } }

/* Simplr team console. */
.team-head { align-items: center; }
.team-tabs { display: flex; gap: 6px; }
.team-tabs a { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--line); color: var(--ink); text-decoration: none; font-weight: 600; font-size: 13px; }
.team-tabs a[aria-current="page"] { background: var(--brand); border-color: var(--brand); color: #fff; }
.team-requests { border-top: 1px solid var(--line); }
.team-request { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(240px, 1fr); gap: 24px; padding: 20px 22px; border-bottom: 1px solid var(--line); }
.team-request-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.team-request-head h3 { margin: 0; font-size: 16px; }
.team-message { background: var(--paper); border-radius: 10px; padding: 12px 14px; margin: 12px 0 6px; font-size: 14px; overflow-wrap: anywhere; }
.team-request-form { display: grid; gap: 10px; align-content: start; }
.team-request-form .button { justify-self: start; }
@media (max-width: 900px) { .team-request { grid-template-columns: 1fr; } .team-head { flex-wrap: wrap; gap: 12px; } }

/* Charts (app/charts.php). Light surface only, like the rest of the workspace. Reference palette:
   categorical slots 1-3 and a one-hue ordinal ramp, validated against #fff. */
:root { --series-1: #2a78d6; --series-2: #eb6834; --series-3: #1baf7a; --ord-1: #86b6ef; --ord-2: #3987e5; --ord-3: #1c5cab; --ord-4: #0d366b; --chart-grid: #e8ece6; }
.chart { margin: 0; min-width: 0; }
.chart-head { display: flex; flex-direction: column; gap: 2px; margin-bottom: 8px; }
.chart-head strong { font-size: 14px; }
.chart-head span { color: var(--muted); font-size: 12px; }
.chart-legend { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0 0 6px; padding: 0; font-size: 12px; color: var(--ink); }
.chart-legend li { display: inline-flex; align-items: center; gap: 6px; }
.chart-swatch { width: 10px; height: 10px; border-radius: 3px; display: inline-block; flex: none; }
.chart-swatch.series-1, .chart-key.series-1 { background: var(--series-1); } .chart-swatch.series-2, .chart-key.series-2 { background: var(--series-2); } .chart-swatch.series-3, .chart-key.series-3 { background: var(--series-3); }
.chart-swatch.ord-1, .chart-key.ord-1, .segment-bar .ord-1 { background: var(--ord-1); } .chart-swatch.ord-2, .chart-key.ord-2, .segment-bar .ord-2 { background: var(--ord-2); } .chart-swatch.ord-3, .chart-key.ord-3, .segment-bar .ord-3 { background: var(--ord-3); } .chart-swatch.ord-4, .chart-key.ord-4, .segment-bar .ord-4 { background: var(--ord-4); }
.chart-plot { position: relative; }
.chart-svg { display: block; width: 100%; height: auto; overflow: visible; }
.chart-grid { stroke: var(--chart-grid); stroke-width: 1; }
.chart-baseline { stroke: #cfd6cb; stroke-width: 1; }
.chart-axis { fill: var(--muted); font-size: 11px; }
.chart-value { fill: var(--ink); font-size: 11px; font-weight: 650; }
.chart-bar.series-1 { fill: var(--series-1); } .chart-bar.series-2 { fill: var(--series-2); } .chart-bar.series-3 { fill: var(--series-3); }
.chart-bar.ord-1 { fill: var(--ord-1); } .chart-bar.ord-2 { fill: var(--ord-2); } .chart-bar.ord-3 { fill: var(--ord-3); } .chart-bar.ord-4 { fill: var(--ord-4); }
.chart-hit { fill: transparent; cursor: default; outline: none; }
.chart-hit.is-active, .chart-hit:focus-visible { fill: #173d330d; }
.chart-tooltip { position: absolute; z-index: 5; pointer-events: none; min-width: 150px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow); padding: 8px 10px; font-size: 12px; }
.chart-tooltip-head { color: var(--muted); margin-bottom: 4px; }
.chart-tooltip-row { display: flex; align-items: center; gap: 8px; }
.chart-tooltip-row strong { font-variant-numeric: tabular-nums; }
.chart-tooltip-row span:last-child { color: var(--muted); }
.chart-key { width: 12px; height: 2px; border-radius: 1px; flex: none; }
.chart-key.chart-key-total { background: transparent; }
.chart-empty { color: var(--muted); font-size: 13px; background: var(--paper); border-radius: 10px; padding: 26px 14px; text-align: center; margin: 4px 0 0; }
.chart-table { margin-top: 6px; font-size: 12px; }
.chart-table summary { cursor: pointer; color: var(--muted); }
.chart-table table { margin-top: 8px; }
.trend-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 26px 30px; }
.segment-bar { display: flex; gap: 2px; height: 14px; border-radius: 7px; overflow: hidden; margin: 6px 0 12px; }
.segment-bar span { min-width: 3px; }
.segment-legend { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 13px; }
.segment-legend li { display: grid; grid-template-columns: 12px 1fr auto 40px; align-items: center; gap: 8px; }
.segment-legend small { color: var(--muted); text-align: right; }
@media (max-width: 680px) { .trend-grid { grid-template-columns: 1fr; } }

/* Risk & compliance dashboard. Status colours are reserved and always paired with a label. */
.chart-swatch.status-good, .segment-bar .status-good { background: #0ca30c; }
.chart-swatch.status-warning, .segment-bar .status-warning { background: #fab219; }
.chart-swatch.status-critical, .segment-bar .status-critical { background: #d03b3b; }
.chart-swatch.status-neutral, .segment-bar .status-neutral { background: #c9cec6; }
.risk-stats { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.risk-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 20px; margin-bottom: 20px; }
.risk-grid > .panel { margin: 0; }
.risk-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.risk-list li { display: grid; grid-template-columns: 12px minmax(0, 1fr); column-gap: 10px; align-items: center; padding: 12px 22px; border-bottom: 1px solid var(--line); }
.risk-list a { color: var(--ink); font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
.risk-list a:hover { text-decoration: underline; }
.risk-meta { grid-column: 2; color: var(--muted); font-size: 12px; }
@media (max-width: 680px) { .risk-grid { grid-template-columns: 1fr; } }

/* Overview: customize cards. */
.cards-dialog { border: 0; border-radius: 16px; padding: 22px; width: min(440px, calc(100% - 32px)); }
.cards-dialog::backdrop { background: #0f201a66; }
.cards-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cards-dialog-head h2 { font-size: 18px; margin: 0; }
.cards-options { display: grid; gap: 8px; margin: 14px 0 18px; }
.cards-options .checkbox-option { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.cards-options input { width: 18px; height: 18px; accent-color: var(--brand); }
.cards-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; }
.dashboard-columns.is-left-only, .dashboard-columns.is-right-only { grid-template-columns: 1fr; }

/* Candidate messages (business) and Messages (talent). */
.count-pill { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--brand); color: #fff; font-size: 11px; font-weight: 700; }
.talk-layout { display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: 20px; align-items: start; }
.talk-list { margin: 0; overflow: hidden; }
.talk-list ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); max-height: 70vh; overflow-y: auto; }
.talk-list li a { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 12px 16px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.talk-list li a:hover { background: #fbfcf9; }
.talk-list li a.is-current { background: #eef5e9; }
.talk-avatar { width: 38px; height: 38px; border-radius: 12px; background: var(--brand); color: var(--accent); display: grid; place-items: center; font: 700 13px/1 Manrope, sans-serif; }
.talk-summary { display: flex; flex-direction: column; min-width: 0; }
.talk-summary strong, .talk-summary span, .talk-summary small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.talk-summary span { font-size: 13px; }
.talk-summary small { color: var(--muted); }
.talk-side { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; color: var(--muted); }
.talk-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--brand); }
.talk-thread { margin: 0; display: flex; flex-direction: column; min-height: 420px; }
.talk-back { display: none; }
.talk-messages { flex: 1; display: flex; flex-direction: column; gap: 12px; padding: 18px 22px; max-height: 60vh; overflow-y: auto; border-top: 1px solid var(--line); background: #fbfcf9; }
.talk-message { display: flex; flex-direction: column; gap: 4px; max-width: min(560px, 85%); }
.talk-message.is-mine { align-self: flex-end; align-items: flex-end; }
.talk-bubble { padding: 10px 14px; border-radius: 14px; background: #fff; border: 1px solid var(--line); overflow-wrap: anywhere; line-height: 1.5; }
.talk-message.is-mine .talk-bubble { background: var(--brand); border-color: var(--brand); color: #fff; }
.talk-message small { color: var(--muted); font-size: 11px; }
.talk-reply { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; padding: 14px 22px 18px; border-top: 1px solid var(--line); }
.talk-reply textarea { width: 100%; border: 1px solid #dbe3d8; border-radius: 10px; padding: 10px 12px; resize: vertical; min-height: 48px; font: inherit; }
.talk-closed { margin: 14px 22px 18px; }
.talk-placeholder { display: grid; place-items: center; gap: 8px; color: var(--muted); padding: 80px 20px; text-align: center; }
.talk-placeholder .icon { width: 30px; height: 30px; }
.talent-message-link { display: inline-flex; align-items: center; gap: 6px; }
@media (max-width: 860px) {
  .talk-layout { grid-template-columns: 1fr; }
  .talk-layout.has-thread .talk-list { display: none; }
  .talk-layout:not(.has-thread) .talk-thread { display: none; }
  .talk-back { display: inline-flex; }
  .talk-reply { grid-template-columns: 1fr; }
}

/* Suggest tasks (project). */
.suggest-start .panel-body { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.suggest-start p { margin: 4px 0 0; color: var(--muted); font-size: 13px; max-width: 620px; }
.suggest-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); counter-reset: suggest; }
.suggest-item { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; padding: 16px 22px; border-bottom: 1px solid var(--line); }
.suggest-pick input { width: 18px; height: 18px; margin-top: 30px; accent-color: var(--brand); }
.suggest-fields { display: grid; gap: 10px; min-width: 0; }
.suggest-fields .field { margin: 0; }
.suggest-fields textarea { min-height: 56px; }
.suggest-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.suggest-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 22px 18px; }
@media (max-width: 680px) { .suggest-row { grid-template-columns: 1fr 1fr; } .suggest-item { padding: 14px 18px; } }

/* Simplr administration console (/console/): its own shell, visibly not a workspace. */
.console-body { margin: 0; background: #f3f5f2; }
.console-shell { display: grid; grid-template-columns: 240px minmax(0, 1fr); min-height: 100vh; }
.console-sidebar { background: #10201b; color: #d8e4dc; display: flex; flex-direction: column; padding: 22px 14px; position: sticky; top: 0; height: 100vh; }
.console-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; margin: 0 8px 26px; }
.console-brand .brand-logo { width: 36px; height: 36px; }
.console-word { font: 800 22px/1 Manrope, sans-serif; letter-spacing: -.6px; color: #fff; }
.console-pill { background: var(--accent); color: #10201b; font: 700 11px/1 Manrope, sans-serif; letter-spacing: .08em; text-transform: uppercase; padding: 5px 8px; border-radius: 6px; }
.console-sidebar nav { display: grid; gap: 2px; flex: 1; align-content: start; }
.console-sidebar nav a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; color: #c9d7ce; text-decoration: none; font-size: 14px; }
.console-sidebar nav a:hover { background: #ffffff10; color: #fff; }
.console-sidebar nav a[aria-current="page"] { background: #ffffff1a; color: #fff; font-weight: 600; }
.console-sidebar nav .icon { width: 18px; height: 18px; }
.console-signout { border-top: 1px solid #ffffff1a; padding-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.console-signout span { display: flex; flex-direction: column; font-size: 13px; color: #fff; min-width: 0; }
.console-signout small { color: #9fb6a8; }
.console-main { padding: 32px 36px 48px; min-width: 0; }
.console-main > .notice { margin-bottom: 16px; }
.console-env { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.console-env span { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 999px; font-size: 13px; font-weight: 600; border: 1px solid var(--line); background: #fff; }
.console-env .icon { width: 16px; height: 16px; }
.console-env .is-good .icon { color: #3d6a2a; }
.console-env .is-warn { background: #fdf5e4; border-color: #f1dcae; }
.console-env .is-warn .icon { color: #8d6421; }
.console-stats { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.console-jobs { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.console-jobs li { display: grid; grid-template-columns: 96px minmax(160px, 260px) minmax(0, 1fr); gap: 12px; align-items: center; padding: 12px 22px; border-bottom: 1px solid var(--line); font-size: 13px; }
.console-filter { gap: 12px; align-items: center; flex-wrap: wrap; }
.console-filter .search-field { flex: 1 1 320px; }
.console-filter .control { width: auto; min-width: 180px; }
.console-id { display: block; }
.console-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 20px; margin-bottom: 20px; }
.console-grid > .panel { margin: 0; }
.console-numbers { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; margin: 0; }
.console-numbers div { background: var(--paper); border-radius: 10px; padding: 12px 14px; }
.console-numbers dt { color: var(--muted); font-size: 12px; }
.console-numbers dd { margin: 4px 0 0; font: 700 22px/1.2 Manrope, sans-serif; }
.console-log { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.console-log li { display: flex; flex-direction: column; padding: 10px 22px; border-bottom: 1px solid var(--line); font-size: 13px; }
.console-log li span { color: var(--muted); }
.console-suspend textarea { min-height: 80px; }
.button.danger { background: #a33f31; border-color: #a33f31; color: #fff; }
.button.danger:hover { background: #8a3328; }
.console-team { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.console-team li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; align-items: center; padding: 14px 22px; border-bottom: 1px solid var(--line); }
.console-team li small { display: block; color: var(--muted); }
.console-team-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.console-team-actions form { display: flex; gap: 6px; align-items: center; margin: 0; }
.console-team-actions .control { width: auto; }
.console-link-once { display: grid; gap: 6px; }
.console-link-once code { overflow-wrap: anywhere; font-size: 12px; }
.console-auth { background: #10201b; }
.console-card { max-width: 460px; }
.console-card .console-word { color: var(--ink); }
.console-card .console-brand { margin: 0 0 20px; }
.console-pair { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 14px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 12px; }
.console-qr svg { display: block; width: 100%; height: auto; }
.console-secret { display: inline-block; margin-top: 6px; font-size: 13px; letter-spacing: .06em; overflow-wrap: anywhere; }
.console-footnote { color: var(--muted); font-size: 12px; margin: 22px 0 0; text-align: center; }
@media (max-width: 900px) {
  .console-shell { grid-template-columns: 1fr; }
  .console-sidebar { position: static; height: auto; padding: 14px; }
  .console-sidebar nav { grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; }
  .console-brand { margin-bottom: 12px; }
  .console-main { padding: 22px 16px 36px; }
  .console-jobs li { grid-template-columns: 1fr; gap: 4px; padding: 12px 16px; }
  .console-pair { grid-template-columns: 1fr; }
  .console-pair .console-qr { max-width: 180px; }
}
.console-stats a.stat-card, .console-stats a.stat-card * { text-decoration: none; color: inherit; }
.console-stats a.stat-card:hover { border-color: #cfe3c0; }
.console-main .detail-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px 22px; margin: 0; }
.console-main .detail-grid dt { color: var(--muted); font-size: 12px; }
.console-main .detail-grid dd { margin: 3px 0 0; font-weight: 600; overflow-wrap: anywhere; }

/* Stock movements. */
.stock-top { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 20px; margin-bottom: 20px; align-items: start; }
.stock-top > .panel { margin: 0; }
.stock-form-row { display: grid; grid-template-columns: minmax(0, 1fr) 160px; gap: 12px; }
.stock-low { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.stock-low li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 10px 22px; border-bottom: 1px solid var(--line); }
.stock-low small { display: block; color: var(--muted); }
.stock-filter { gap: 10px; align-items: center; flex-wrap: wrap; }
.stock-filter .control { width: auto; min-width: 170px; }
.stock-table td small { display: block; }
.stock-change { display: inline-block; min-width: 44px; text-align: center; padding: 2px 8px; border-radius: 999px; font-weight: 700; font-variant-numeric: tabular-nums; font-size: 13px; }
.stock-change.is-in { background: #e4f1da; color: #3d6a2a; }
.stock-change.is-out { background: #fbe9e5; color: #a33f31; }
.stock-mini { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.stock-mini li { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 22px; border-bottom: 1px solid var(--line); font-size: 13px; }
@media (max-width: 900px) { .stock-top { grid-template-columns: 1fr; } .stock-mini li { grid-template-columns: 56px 1fr; } .stock-mini li small { grid-column: 2; } }
