/* Bizora workspace layout. Uses the shared light palette in style.css. */
.app-shell{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;flex:0 0 225px;height:100vh;padding:22px 16px;background:#fff;border-right:1px solid var(--line);z-index:30}.sidebar-brand{padding:0 12px 25px;margin-bottom:25px;border-bottom:1px solid var(--line)}.sidebar-nav,.sidebar-utility{display:flex;flex-direction:column;gap:6px}.sidebar-utility{margin-top:auto;padding-top:30px}.nav-label{margin:0 12px 12px;color:var(--muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.14em}.nav-link{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;color:#574f61;font-weight:500}.nav-link:hover,.nav-link.active{background:var(--soft);color:#59319c;text-decoration:none}.nav-link span{color:inherit}.nav-icon{display:inline-flex}.app-main{flex:1;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px;padding:16px 32px;background:#fff;border-bottom:1px solid var(--line)}.topbar-left{display:none}.topbar-title{color:var(--muted);font-size:13px}.topbar-title span{margin:0 10px}.topbar-title strong{color:var(--ink)}.user-menu{position:relative}.user-menu-toggle{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--ink);padding:4px}.avatar,.client-card-initial{display:inline-grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:10px;background:var(--soft);color:#59319c;font-weight:700}.user-menu-chevron svg{width:14px}.user-dropdown{position:absolute;right:0;top:calc(100% + 12px);width:270px;max-width:calc(100vw - 32px);padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);box-shadow:0 10px 30px #30223c16;z-index:40}.user-dropdown-summary{padding:8px 10px 14px;margin-bottom:8px;border-bottom:1px solid var(--line)}.user-dropdown-summary strong,.user-dropdown-summary small{display:block;overflow-wrap:anywhere}.user-dropdown a,.user-dropdown button{display:block;width:100%;border:0;border-radius:6px;background:transparent;color:#59319c;text-align:left;padding:10px;font:inherit}.user-dropdown a:hover,.user-dropdown button:hover{background:var(--soft);color:#47267f;text-decoration:none}.menu-toggle{border:0;padding:8px;background:transparent}.menu-toggle span{display:block;width:22px;height:2px;background:#59319c;margin:5px 0}.content{max-width:1400px;margin:0 auto;padding:36px 32px 60px}.module-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.module-heading>div{min-width:0}.module-heading>div>p:last-child,.settings-heading>p:last-child{color:var(--muted);margin-bottom:0}.module-heading>.module-action{flex-shrink:0}.settings-heading{margin-bottom:30px}.module-card,.settings-card{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:26px;margin-bottom:24px}.people-columns,.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.people-columns>*{min-width:0}.settings-grid{align-items:start}.settings-grid>.settings-card{margin:0}.people-total{display:flex;flex-direction:column;gap:8px;color:var(--ink)}.people-total:hover{border-color:#b597d7;text-decoration:none}.people-total strong{font-size:42px;line-height:1.15;color:var(--purple)}.people-total span{font-weight:600}.people-row{display:grid;grid-template-columns:1.2fr 1fr 1.4fr auto;gap:22px;align-items:center;padding:20px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.people-row small{display:block;margin-top:5px}.people-row.compact{grid-template-columns:1fr}.people-filters{display:flex;align-items:end;gap:18px;margin:24px 0}.people-filters label{flex:1}.people-filters input,.people-filters select{margin-bottom:0}.people-filters>a{padding-bottom:12px}#contact-form{scroll-margin-top:25px}#contact-form form{max-width:780px}#contact-form .danger-action{margin-top:20px}
/* Company cards and dialogs */
.client-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:20px}.client-summary-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:20px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:10px;text-align:left}.client-summary-card:hover{background:#f5effb;color:var(--ink);border-color:#b597d7}.client-summary-card b,.client-summary-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-summary-card small{margin-top:4px;color:var(--muted)}.client-summary-card em{color:var(--muted);font-size:12px;font-style:normal}.app-modal{width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 20px 70px #30223c30;overflow:auto}.app-modal::backdrop{background:#30223c66}.app-modal>form,.client-profile-content{padding:28px}.modal-heading{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:24px}.modal-heading>div:first-child{flex:1;min-width:0}.modal-heading h2{margin:0;overflow-wrap:anywhere}.modal-close{font-size:22px;line-height:1;padding:8px 11px}.client-profile-details{display:grid;grid-template-columns:1fr 1fr;gap:12px}.client-profile-details>div{padding:14px;background:#f7f5fa;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.client-profile-details span,.client-profile-details b{display:block}.client-profile-details span{color:var(--muted);font-size:11px;margin-bottom:5px;text-transform:uppercase}.client-address{grid-column:1/-1}.client-notes,.contact-section{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.client-notes h3,.contact-heading h3{margin:0}.client-notes p{margin:12px 0 0;color:var(--muted);overflow-wrap:anywhere}.contact-heading{display:flex;justify-content:space-between;align-items:center}.contact-heading span,.settings-status,.team-count,.team-role{padding:4px 10px;border-radius:20px;background:var(--soft);color:#59319c;font-size:12px;font-weight:600}.contact-list>div{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.contact-list b,.contact-list small{display:block}.add-contact{margin-top:20px}.add-contact summary{cursor:pointer;color:var(--purple);font-weight:600}.add-contact form{margin-top:18px}.contact-primary,.billing-confirmation{display:flex;align-items:flex-start;gap:10px;margin:12px 0 20px;font-weight:400}.client-profile-content>.settings-link{display:inline-block;margin-top:22px}
/* Profile, team and subscription settings */
.settings-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.settings-card-heading h2{margin:0}.settings-detail{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--muted)}.settings-detail b{color:var(--ink)}.settings-note{margin-top:18px;font-size:13px}.subscription-plan{padding:20px;background:#f5effb;border-radius:8px;margin-bottom:12px;color:#59319c}.subscription-plan strong,.subscription-plan span{display:block}.subscription-plan strong{font-size:20px}.team-member{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.team-member>div{min-width:0;flex:1}.team-member small{display:block;overflow-wrap:anywhere}.invite-card{grid-column:1/-1}.invite-price-change{display:flex;align-items:center;gap:24px;padding:22px;background:#f7f5fa;border-radius:8px;margin:20px 0}.invite-price-change>div{flex:1}.invite-price-change strong,.invite-price-change small,.invite-price-change div>span{display:block}.invite-price-change strong{font-size:25px;color:#59319c}.invite-price-change div>span{font-size:13px;color:var(--muted)}.generated-invite>div{display:flex;align-items:center;gap:12px;margin:12px 0}.generated-invite input{margin:0!important}.pending-invitations{margin-top:24px}.pending-invitations>div{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.pending-invitations small{display:block}
@media(max-width:1050px){.sidebar{flex-basis:200px}.content{padding:28px 24px}.modal-heading{flex-wrap:wrap}.modal-heading>div:first-child{flex-basis:60%}}@media(max-width:800px){.sidebar{position:fixed;left:0;top:0;width:225px;transform:translateX(-100%);transition:transform .2s}.sidebar.is-open{transform:translateX(0);box-shadow:8px 0 30px #30223c22}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-brand .brand-logo{width:110px}.topbar-title{display:none}.topbar{padding:15px 20px}.people-columns,.settings-grid{grid-template-columns:1fr}.people-row{grid-template-columns:1fr 1fr;gap:12px}.people-filters{flex-wrap:wrap}.people-filters label{flex-basis:100%}.module-heading{align-items:flex-start;flex-direction:column}.module-heading>.module-action{align-self:flex-start}.user-name-text{display:none}.client-profile-details,.contact-list>div{grid-template-columns:1fr}.client-address{grid-column:auto}}@media(max-width:480px){.content{padding:24px 16px}.people-row{grid-template-columns:1fr}.people-columns{gap:0}.module-card,.settings-card{padding:20px}.app-modal>form,.client-profile-content{padding:20px}.invite-price-change{gap:12px;padding:15px}.invite-price-change strong{font-size:21px}.generated-invite>div{flex-wrap:wrap}.client-summary-card{grid-template-columns:auto minmax(0,1fr)}.client-summary-card em{grid-column:2}.team-member{flex-wrap:wrap}.user-menu-chevron{display:none}}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
/* Full company profiles use normal document navigation and inline editing. */
.company-back{display:inline-block;margin-bottom:22px}.company-profile .module-heading{margin-bottom:24px}.company-edit{scroll-margin-top:24px}.company-edit>form{max-width:880px}.client-summary-card:hover{text-decoration:none}.company-profile>.client-profile-details{grid-template-columns:repeat(2,minmax(0,1fr))}.company-profile .contact-list>div{grid-template-columns:1fr 1fr}.company-profile>.settings-link{display:inline-block;margin-top:20px}@media(max-width:650px){.company-profile>.client-profile-details,.company-profile .contact-list>div{grid-template-columns:1fr}}
.membership-options { margin-bottom: 24px; }
.membership-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 20px; }
.membership-option { padding: 22px; border: 1px solid #e3dfea; border-radius: 16px; }
.membership-option.is-current { border-color: #7950c8; background: #faf7ff; }
.membership-option h3 { margin: 0 0 12px; }
.membership-option ul { padding-left: 20px; line-height: 1.9; }
.membership-option .billing-confirmation { align-items: start; }
.app-modal > .modal-close { float: right; }
@media (max-width: 900px) { .membership-grid { grid-template-columns: 1fr; } }
#contact-form { padding: 28px; }
#contact-form > form { padding: 0; }
#edit-company > .modal-close { margin: 18px 18px 0 0; }
#edit-company > .error { margin: 24px; }

/* Team Members have a view-only workspace. Server authorization enforces this too. */
.read-only-workspace form[method="post"]:not([action="logout.php"]),
.read-only-workspace [data-open-modal],
.read-only-workspace a[href*="?edit="],
.read-only-workspace .add-contact {display:none!important}
.company-documents{margin-top:24px}
.company-document-row{display:flex;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid #e7e3ec}
.company-document-row>div{flex:1;min-width:0;overflow-wrap:anywhere}
.company-document-row small{display:block;color:#706b79;margin-top:5px}
.company-document-row form{margin:0}
.company-documents label{display:block;margin:14px 0}
.company-documents input{display:block;margin-top:7px;max-width:100%}
.team-member{flex-wrap:wrap}
.team-role-form{flex-basis:100%;display:flex;align-items:end;gap:12px;padding:12px 0}
.team-role-form label{display:grid;gap:6px;flex:1}
.team-role-form select{padding:9px;border:1px solid #dcd6e5;border-radius:7px;background:white}
@media(max-width:550px){.company-document-row{flex-wrap:wrap}.company-document-row>div{flex-basis:100%}.team-role-form{flex-wrap:wrap}}
.billing-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.billing-actions form{margin:0}.membership-option input[type=number]{width:100%;padding:10px;border:1px solid #dcd6e5;border-radius:7px}.membership-option form>label{display:block;margin-top:14px}
