:root{--client-brand:#087b72;--client-ink:#0c1a2d;--client-blue:#174f7d;--client-muted:#718096;--client-bg:#f3f6f9;--client-line:#dde5ec;--client-white:#fff;--client-success:#19764a;--client-danger:#b23a3a;--client-warning:#a66a16;--client-shadow:0 16px 42px rgba(12,26,45,.08);--client-radius:17px}*{box-sizing:border-box}html{font-size:15px}body{margin:0;font-family:Inter,Cairo,system-ui,sans-serif;color:var(--client-ink);background:var(--client-bg);line-height:1.55}html[dir=rtl] body{font-family:Cairo,Inter,sans-serif}a{color:inherit}button,input,select,textarea{font-family:inherit}.form-trap{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}.client-auth-bg{min-height:100vh;display:grid;place-items:center;padding:32px 18px;background:radial-gradient(circle at 10% 10%,color-mix(in srgb,var(--client-brand) 18%,transparent),transparent 30%),radial-gradient(circle at 92% 88%,rgba(23,79,125,.15),transparent 32%),linear-gradient(135deg,#f8fbfc,#edf3f7)}.client-auth-card{width:min(480px,100%);background:rgba(255,255,255,.97);border:1px solid var(--client-line);border-radius:26px;padding:34px;box-shadow:0 28px 80px rgba(12,26,45,.14);position:relative}.client-auth-card.wide{width:min(790px,100%)}.client-auth-lang{position:absolute;top:24px;inset-inline-end:24px;text-decoration:none;font-size:11px;font-weight:800;padding:7px 10px;border:1px solid var(--client-line);border-radius:10px;background:#fff}.client-auth-brand{display:flex;align-items:center;gap:11px;text-decoration:none;width:max-content}.client-auth-brand>span,.client-side-brand>a>span{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,var(--client-brand),var(--client-blue));color:#fff;font-weight:800;font-size:11px}.client-auth-brand>div{display:flex;flex-direction:column}.client-auth-brand b{font-size:14px}.client-auth-brand small{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--client-muted)}.client-auth-heading{margin:28px 0 22px}.client-auth-heading h1,.status-card h1{margin:0 0 7px;font-size:27px;letter-spacing:-.03em}.client-auth-heading p,.status-card>p{margin:0;color:var(--client-muted);font-size:13px}.client-auth-form{display:grid}.client-auth-form label,.client-form label{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;font-size:12px;color:#33445a}.client-auth-form label b,.client-form label b,.client-form-grid label b{font-size:11px}.client-auth-form input,.client-form input,.client-form select,.client-form textarea,.client-form-grid input,.client-form-grid select,.client-form-grid textarea{width:100%;border:1px solid var(--client-line);border-radius:11px;padding:11px 12px;font:inherit;font-size:13px;background:#fbfcfd;color:var(--client-ink);outline:none;transition:.18s}.client-auth-form input:focus,.client-form input:focus,.client-form select:focus,.client-form textarea:focus,.client-form-grid input:focus,.client-form-grid select:focus,.client-form-grid textarea:focus{background:#fff;border-color:color-mix(in srgb,var(--client-brand) 60%,#fff);box-shadow:0 0 0 4px color-mix(in srgb,var(--client-brand) 9%,transparent)}textarea{resize:vertical}.label-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.label-line a{color:var(--client-brand);font-size:10px;text-decoration:none}.client-auth-bottom{display:flex;justify-content:center;gap:7px;margin-top:20px;padding-top:18px;border-top:1px solid #edf1f4;color:var(--client-muted);font-size:11px}.client-auth-bottom a,.client-link-center{color:var(--client-brand);font-weight:800;text-decoration:none}.client-link-center{display:block;text-align:center;margin-top:16px;font-size:11px}.client-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.client-form-grid label{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;font-size:11px;color:#33445a}.client-form-grid .span-2,.span-2{grid-column:1/-1}.client-form-grid small,.client-form small{font-size:9px;color:#8b99aa}.client-check{flex-direction:row!important;align-items:flex-start!important;gap:9px!important}.client-check input{width:16px!important;margin-top:2px}.client-btn{border:0;border-radius:11px;padding:11px 15px;font:inherit;font-size:11px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s}.client-btn:hover{transform:translateY(-1px)}.client-btn.primary{background:linear-gradient(135deg,var(--client-brand),color-mix(in srgb,var(--client-brand) 72%,#003c59));color:#fff;box-shadow:0 9px 22px color-mix(in srgb,var(--client-brand) 19%,transparent)}.client-btn.secondary{background:#fff;border:1px solid var(--client-line);color:#34465c}.client-btn.full{width:100%}.client-alert{padding:12px 14px;border-radius:11px;margin:14px 0;font-size:11px;border:1px solid transparent}.client-alert.error{background:#fff2f2;color:var(--client-danger);border-color:#f0cccc}.client-alert.success{background:#edf9f2;color:var(--client-success);border-color:#cae8d6}.client-alert.warning{background:#fff8e9;color:var(--client-warning);border-color:#eddcb4}.status-card{text-align:center}.status-symbol{width:64px;height:64px;margin:10px auto 20px;border-radius:20px;display:grid;place-items:center;font-size:24px;font-weight:800}.status-symbol.ok{background:#e8f7ef;color:var(--client-success)}.status-symbol.pending{background:#eef5f7;color:var(--client-brand)}.status-symbol.bad{background:#fff0f0;color:var(--client-danger)}.status-steps{display:flex;justify-content:center;gap:34px;margin:28px 0}.status-steps>div{display:flex;flex-direction:column;align-items:center;gap:5px;color:#a0adba;font-size:9px}.status-steps b{width:30px;height:30px;border-radius:50%;border:1px solid var(--client-line);display:grid;place-items:center;background:#fff}.status-steps .done,.status-steps .current{color:var(--client-brand);font-weight:800}.status-steps .done b{background:var(--client-brand);border-color:var(--client-brand);color:#fff}.status-steps .current b{border-color:var(--client-brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--client-brand) 10%,transparent)}
.client-shell{display:grid;grid-template-columns:258px minmax(0,1fr);min-height:100vh}.client-sidebar{background:linear-gradient(180deg,#0c1d32 0%,#102640 100%);color:#d8e2ec;padding:18px 13px 22px;position:sticky;top:0;height:100vh;overflow:auto;z-index:70}.client-side-brand{padding:4px 8px 17px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:10px}.client-side-brand>a{display:flex;align-items:center;gap:10px;text-decoration:none}.client-side-brand>a>span{width:40px;height:40px;border-radius:12px}.client-side-brand img{width:40px;height:40px;border-radius:12px;object-fit:contain;background:#fff;padding:4px}.client-side-brand div{display:flex;flex-direction:column}.client-side-brand b{color:#fff;font-size:13px}.client-side-brand small{color:#7790a8;font-size:8px;text-transform:uppercase;letter-spacing:.12em}.client-nav-group{margin:19px 10px 7px;color:#67839d;font-size:8px;font-weight:800;letter-spacing:.14em}.client-side-link{display:flex;align-items:center;gap:10px;padding:9px 10px;margin:3px 0;border-radius:10px;text-decoration:none;color:#c2d0dc;position:relative;transition:.17s}.client-side-link>span{width:29px;height:29px;border-radius:9px;background:rgba(255,255,255,.055);display:grid;place-items:center;color:#8fa7ba;font-size:11px}.client-side-link>b{font-size:11px}.client-side-link:hover,.client-side-link.active{background:rgba(255,255,255,.08);color:#fff}.client-side-link.active:before{content:"";position:absolute;inset-inline-start:-2px;top:9px;bottom:9px;width:3px;background:#63d5be;border-radius:4px}.client-side-link.active>span{background:rgba(99,213,190,.14);color:#7be1cc}.client-side-foot{margin-top:22px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07);display:grid;gap:5px}.client-side-foot a{text-decoration:none;color:#8198ae;font-size:9px;padding:7px 9px}.client-main{min-width:0}.client-topbar{height:72px;background:rgba(255,255,255,.91);backdrop-filter:blur(16px);border-bottom:1px solid var(--client-line);display:flex;align-items:center;gap:12px;padding:0 26px;position:sticky;top:0;z-index:45}.client-topbar-title{display:flex;flex-direction:column;line-height:1.2}.client-topbar-title h1{margin:0;font-size:16px;letter-spacing:-.015em}.client-topbar-title span{font-size:8px;color:var(--client-muted);margin-top:4px}.client-topbar-actions{margin-inline-start:auto;display:flex;align-items:center;gap:8px}.client-top-pill,.client-notify{min-height:35px;border:1px solid var(--client-line);background:#fff;border-radius:10px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}.client-top-pill{padding:6px 10px}.client-notify{width:36px;position:relative}.client-notify b{position:absolute;top:-5px;inset-inline-end:-5px;min-width:17px;height:17px;border-radius:9px;background:#c94d4d;color:#fff;display:grid;place-items:center;font-size:8px}.client-user-chip{display:flex;align-items:center;gap:8px;padding:5px 9px 5px 5px;border:1px solid var(--client-line);border-radius:12px;background:#fff}.client-user-chip>span{width:28px;height:28px;border-radius:9px;background:color-mix(in srgb,var(--client-brand) 10%,#fff);color:var(--client-brand);display:grid;place-items:center;font-size:10px;font-weight:800}.client-user-chip>div{display:flex;flex-direction:column;line-height:1.2}.client-user-chip b{font-size:9px}.client-user-chip small{font-size:7px;color:var(--client-muted);max-width:150px;overflow:hidden;text-overflow:ellipsis}.client-menu-btn{display:none;border:1px solid var(--client-line);background:#fff;border-radius:9px;width:36px;height:36px}.client-content{padding:27px;max-width:1540px;width:100%;margin-inline:auto}.client-welcome{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:20px}.client-welcome>div>span{font-size:10px;color:var(--client-brand);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.client-welcome h2{font-size:28px;margin:3px 0 7px;letter-spacing:-.035em}.client-welcome p{margin:0;max-width:720px;color:var(--client-muted);font-size:11px}.client-page-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:19px}.client-page-head h2{margin:0;font-size:23px;letter-spacing:-.025em}.client-page-head p{margin:4px 0 0;color:var(--client-muted);font-size:10px}.client-account-badge{padding:6px 10px;border-radius:999px;background:#eaf7f2;color:var(--client-success);font-size:9px;font-weight:800}.client-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.client-stat{background:#fff;border:1px solid var(--client-line);border-radius:15px;padding:16px;display:flex;align-items:center;gap:13px;min-height:104px;box-shadow:0 3px 14px rgba(12,26,45,.025)}.client-stat .icon{width:39px;height:39px;border-radius:12px;background:color-mix(in srgb,var(--client-brand) 10%,#fff);color:var(--client-brand);display:grid;place-items:center;font-size:13px}.client-stat>div{display:flex;flex-direction:column}.client-stat small{color:var(--client-muted);font-size:9px}.client-stat b{font-size:25px;line-height:1.1;margin-top:6px}.client-stat em{font-style:normal;color:#91a0af;font-size:8px;margin-top:3px}.client-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.client-mini-stats>div{background:#fff;border:1px solid var(--client-line);border-radius:14px;padding:17px}.client-mini-stats span{font-size:9px;color:var(--client-muted)}.client-mini-stats b{display:block;margin-top:7px;font-size:19px}.client-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.client-panel{background:#fff;border:1px solid var(--client-line);border-radius:var(--client-radius);padding:18px;box-shadow:0 3px 15px rgba(12,26,45,.025);min-width:0}.client-panel-space{margin-top:14px}.client-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.client-panel-head>div>span{display:block;font-size:8px;font-weight:800;color:var(--client-brand);letter-spacing:.12em}.client-panel-head h3{margin:3px 0 0;font-size:14px}.client-panel-head>a{font-size:9px;color:var(--client-brand);font-weight:800;text-decoration:none}.client-panel-head>small{font-size:9px;color:var(--client-muted)}.client-list{display:grid}.client-list>a{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;padding:11px 0;border-bottom:1px solid #eef2f5}.client-list>a:last-child{border-bottom:0}.client-list>a>div{display:flex;flex-direction:column}.client-list b{font-size:10px}.client-list small{font-size:8px;color:var(--client-muted);margin-top:2px}.client-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:8px;font-weight:800;background:#eef3f6;color:#627588;white-space:nowrap}.client-status.active,.client-status.paid,.client-status.completed,.client-status.resolved,.client-status.confirmed{background:#e9f7ef;color:#23714a}.client-status.pending,.client-status.submitted,.client-status.open,.client-status.sent,.client-status.partial,.client-status.in_review{background:#edf5f7;color:#357082}.client-status.in_progress,.client-status.pending_client,.client-status.awaiting_client{background:#fff6e8;color:#9a6317}.client-status.rejected,.client-status.suspended,.client-status.cancelled,.client-status.overdue{background:#fff0f0;color:#a13e3e}.client-status.closed{background:#eff1f3;color:#66727e}.client-empty{text-align:center;padding:36px 18px;color:var(--client-muted)}.client-empty.compact{padding:22px}.client-empty>span{width:43px;height:43px;margin:auto;border-radius:13px;background:#f0f5f7;display:grid;place-items:center;color:var(--client-brand)}.client-empty b{display:block;font-size:11px;margin-top:10px;color:#3b4b60}.client-empty p{font-size:9px;margin:4px 0 0}.client-notification-list>a{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:start;padding:11px 0;border-bottom:1px solid #eef2f5;text-decoration:none}.client-notification-list>a:last-child{border-bottom:0}.notif-dot{width:7px;height:7px;border-radius:50%;background:#ccd6df;margin-top:5px}.notif-dot.new{background:var(--client-brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--client-brand) 10%,transparent)}.client-notification-list b{font-size:10px}.client-notification-list p{font-size:9px;color:var(--client-muted);margin:2px 0 0}.client-notification-list small{font-size:8px;color:#94a2b0}.client-form.collapsed{display:none}.client-form-section{padding-bottom:19px;margin-bottom:19px;border-bottom:1px solid #edf1f4}.client-form-section:last-of-type{border-bottom:0}.client-form-section>div:first-child{display:flex;align-items:center;gap:9px;margin-bottom:13px}.client-form-section>div:first-child span{width:27px;height:27px;border-radius:8px;background:#eaf6f4;color:var(--client-brand);display:grid;place-items:center;font-size:8px;font-weight:800}.client-form-section h3{font-size:13px;margin:0}.client-form-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:9px;padding-top:14px;border-top:1px solid #edf1f4}.client-form-footer>span{font-size:8px;color:var(--client-muted)}.client-table-wrap{overflow:auto;border:1px solid #e9eef2;border-radius:12px}.client-table{width:100%;border-collapse:collapse;min-width:720px}.client-table th,.client-table td{padding:11px 12px;border-bottom:1px solid #edf1f4;text-align:start;font-size:9px;vertical-align:middle}.client-table th{background:#f8fafb;color:#718095;font-size:8px;text-transform:uppercase;letter-spacing:.05em}.client-table tbody tr:last-child td{border-bottom:0}.client-small-link{font-size:8px;color:var(--client-brand);font-weight:800;text-decoration:none}.client-detail-head{display:flex;justify-content:space-between;gap:14px;align-items:start}.client-detail-head>div>span{font-size:8px;color:var(--client-brand);font-weight:800}.client-detail-head h3{font-size:17px;margin:4px 0}.client-detail-head p{font-size:9px;color:var(--client-muted);margin:0}.client-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.client-detail-grid>div{background:#f8fafb;border:1px solid #edf1f4;border-radius:11px;padding:10px;display:flex;flex-direction:column}.client-detail-grid small{font-size:8px;color:var(--client-muted)}.client-detail-grid b{font-size:10px;margin-top:3px}.client-message-box{padding:14px;border:1px solid #e8edf1;border-radius:12px;background:#fbfcfd;margin-top:10px}.client-message-box.accent{background:#eef8f6;border-color:#d1e9e4}.client-message-box b{font-size:10px}.client-message-box p{font-size:10px;color:#536378;margin:7px 0 0}.ticket-thread{display:grid;gap:10px;margin-top:18px}.ticket-message{max-width:80%;padding:12px 14px;border-radius:14px;background:#f3f6f8;border:1px solid #e5ebef}.ticket-message.mine{margin-inline-start:auto;background:#eaf7f4;border-color:#d2e9e4}.ticket-message.staff{margin-inline-end:auto}.ticket-message-meta{display:flex;justify-content:space-between;gap:15px}.ticket-message-meta b{font-size:9px}.ticket-message-meta span{font-size:7px;color:var(--client-muted)}.ticket-message p{font-size:10px;margin:7px 0 0;color:#45566d}.ticket-reply{margin-top:17px;padding-top:15px;border-top:1px solid #edf1f4}.ticket-reply label{display:flex;flex-direction:column;gap:7px;font-size:10px}.ticket-reply textarea{width:100%;border:1px solid var(--client-line);border-radius:11px;padding:11px;font:inherit;font-size:10px;resize:vertical}.ticket-reply .client-btn{margin-top:9px}.document-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.document-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;border:1px solid #e7edf1;border-radius:13px;padding:12px}.document-icon{width:39px;height:39px;border-radius:10px;background:#edf5f7;color:var(--client-brand);display:grid;place-items:center;font-size:8px;font-weight:800}.document-card>div:nth-child(2){display:flex;flex-direction:column}.document-card b{font-size:10px}.document-card small,.document-card em{font-size:8px;color:var(--client-muted);font-style:normal}.document-actions{display:flex;gap:5px}.document-actions a,.document-actions button{border:1px solid var(--client-line);background:#fff;border-radius:8px;padding:5px 7px;font:inherit;font-size:8px;text-decoration:none;cursor:pointer}.document-actions form{margin:0}.document-actions button{color:var(--client-danger)}.notification-center-list{display:grid}.notification-center-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;padding:15px 5px;border-bottom:1px solid #edf1f4;align-items:start}.notification-center-item:last-child{border-bottom:0}.notification-center-item.unread{background:linear-gradient(90deg,color-mix(in srgb,var(--client-brand) 5%,#fff),#fff);margin-inline:-8px;padding-inline:13px;border-radius:10px}.notif-type{width:34px;height:34px;border-radius:10px;background:#edf5f7;color:var(--client-brand);display:grid;place-items:center;font-size:10px}.notification-body>div{display:flex;justify-content:space-between;gap:12px}.notification-body b{font-size:10px}.notification-body small{font-size:8px;color:var(--client-muted)}.notification-body p{font-size:9px;color:#5b6c80;margin:5px 0}.notification-body a{font-size:8px;color:var(--client-brand);font-weight:800;text-decoration:none}.notification-center-item form button{width:28px;height:28px;border:1px solid var(--client-line);background:#fff;border-radius:8px;cursor:pointer;color:var(--client-brand)}.security-facts{display:grid}.security-facts>div{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #edf1f4}.security-facts>div:last-child{border-bottom:0}.security-facts span{font-size:9px;color:var(--client-muted)}.security-facts b{font-size:9px}.activity-list{display:grid}.activity-list>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid #edf1f4}.activity-list>div:last-child{border-bottom:0}.activity-list>div>span{width:32px;height:32px;border-radius:9px;background:#eef5f7;color:var(--client-brand);display:grid;place-items:center;font-size:10px}.activity-list>div>div{display:flex;flex-direction:column}.activity-list b{font-size:9px}.activity-list small{font-size:8px;color:var(--client-muted)}.activity-list time{font-size:8px;color:#95a2af}.client-sidebar-overlay{display:none}
@media(max-width:1100px){.client-stats{grid-template-columns:repeat(2,1fr)}.client-user-chip>div{display:none}.document-grid{grid-template-columns:1fr}}@media(max-width:850px){.client-shell{grid-template-columns:1fr}.client-sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:258px;transform:translateX(-110%);transition:.22s;box-shadow:0 0 50px rgba(0,0,0,.18)}html[dir=rtl] .client-sidebar{transform:translateX(110%)}.client-sidebar.open{transform:none}.client-sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(5,15,28,.42);z-index:60;opacity:0;visibility:hidden;transition:.2s}.client-sidebar-overlay.show{opacity:1;visibility:visible}.client-menu-btn{display:block}.client-grid-2{grid-template-columns:1fr}.client-topbar{padding:0 16px}.client-content{padding:20px 16px}.client-welcome{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.client-auth-card{padding:26px 20px;border-radius:21px}.client-form-grid{grid-template-columns:1fr}.client-form-grid .span-2,.span-2{grid-column:auto}.client-stats,.client-mini-stats{grid-template-columns:1fr}.client-page-head{align-items:flex-start;flex-direction:column}.client-topbar-title span{display:none}.client-top-pill{display:none}.client-user-chip{padding:4px}.client-welcome h2{font-size:24px}.client-detail-grid{grid-template-columns:1fr}.ticket-message{max-width:93%}.document-card{grid-template-columns:auto 1fr}.document-actions{grid-column:1/-1;justify-content:flex-end}.notification-center-item{grid-template-columns:auto 1fr}.notification-center-item>form{grid-column:2;justify-self:end}.activity-list>div{grid-template-columns:auto 1fr}.activity-list time{grid-column:2}.status-steps{gap:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Client payment center */
.client-btn.small{padding:7px 10px;font-size:8px;border-radius:8px}.payment-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payment-method-card{border:1px solid #e5ecef;border-radius:14px;padding:13px;display:grid;grid-template-columns:auto 1fr;gap:11px;background:linear-gradient(180deg,#fff,#fbfcfd)}.payment-method-card>span{width:38px;height:38px;border-radius:11px;background:#eaf6f4;color:var(--client-brand);display:grid;place-items:center;font-size:14px}.payment-method-card b{font-size:10px}.payment-method-card p{white-space:pre-line;margin:4px 0 0;font-size:8px;color:var(--client-muted);line-height:1.6}.payment-submit-card{border-color:color-mix(in srgb,var(--client-brand) 24%,#e5ecef);box-shadow:0 14px 35px color-mix(in srgb,var(--client-brand) 8%,transparent)}.payment-review-note{font-size:8px;color:var(--client-danger);margin-top:4px;max-width:260px}.client-link-inline{border:0;background:transparent;padding:0;margin-inline-start:7px;color:var(--client-brand);font:inherit;font-size:8px;font-weight:800;cursor:pointer;text-decoration:none}.muted{color:var(--client-muted);font-size:8px;margin-top:2px}@media(max-width:720px){.payment-method-grid{grid-template-columns:1fr}}

/* v1.4.5 Quotations and detailed invoices */
.client-quote-summary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin:16px 0}.client-quote-summary>div{padding:12px 14px;border:1px solid var(--client-border,#e4e9ee);border-radius:13px;background:var(--client-soft,#f8fafb);display:flex;justify-content:space-between;gap:10px;align-items:center}.client-quote-summary .grand{background:rgba(8,123,114,.08);border-color:rgba(8,123,114,.25)}.quote-response-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.quote-response-grid .client-form{padding:16px;border:1px solid var(--client-border,#e4e9ee);border-radius:14px}.invoice-ready{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.quotation-card .client-table-wrap,.invoice-detail-card .client-table-wrap{margin-top:14px}@media(max-width:780px){.client-quote-summary{grid-template-columns:1fr 1fr}.quote-response-grid{grid-template-columns:1fr}}@media(max-width:520px){.client-quote-summary{grid-template-columns:1fr}}

/* =========================================================
   AlSalim Business Suite v1.5 — Modern Client Portal
   ========================================================= */
:root{--client-brand:#087b72;--client-brand2:#176f8a;--client-ink:#102033;--client-muted:#718096;--client-bg:#f5f8fb;--client-line:#e1e8ee;--client-white:#fff;--client-danger:#c23d4b;--client-success:#16805b;--client-shadow:0 18px 55px rgba(15,32,51,.08)}
html{scroll-behavior:smooth}body{background:radial-gradient(circle at 10% 3%,rgba(8,123,114,.07),transparent 22%),radial-gradient(circle at 94% 12%,rgba(23,111,138,.06),transparent 23%),var(--client-bg)}
.skip-link{position:fixed;z-index:9999;top:10px;inset-inline-start:10px;transform:translateY(-160%);background:#071827;color:#fff;padding:10px 14px;border-radius:11px;text-decoration:none;font-weight:800;transition:.18s}.skip-link:focus{transform:none}
:focus-visible{outline:3px solid rgba(8,123,114,.27);outline-offset:2px}
.client-shell{grid-template-columns:282px minmax(0,1fr)}.client-sidebar{background:radial-gradient(circle at 12% 0%,rgba(52,210,180,.16),transparent 27%),linear-gradient(180deg,#071827 0%,#0a2134 100%);border-inline-end:1px solid rgba(255,255,255,.04);padding:18px 13px 22px}.client-side-brand{padding:4px 8px 17px;border-bottom:1px solid rgba(255,255,255,.07)}.client-side-brand>a>span,.client-side-brand img{box-shadow:0 10px 26px rgba(0,0,0,.15)}.client-nav-group{color:#6d879d;font-size:8px;letter-spacing:.17em;margin:22px 10px 7px}.client-side-link{min-height:43px;border-radius:13px;padding:7px 10px;margin:3px 0;color:#c0cedb;transition:.17s}.client-side-link>span:first-child{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.035);color:#91a9bb}.client-side-link:hover{background:rgba(255,255,255,.075);color:#fff;transform:translateX(2px)}html[dir=rtl] .client-side-link:hover{transform:translateX(-2px)}.client-side-link.active{background:linear-gradient(90deg,rgba(54,211,179,.16),rgba(255,255,255,.055));color:#fff;box-shadow:inset 0 0 0 1px rgba(103,225,198,.07)}.client-side-link.active>span:first-child{background:rgba(85,220,190,.14);color:#7be5ce}.client-side-link.active:before{content:"";position:absolute;inset-inline-start:-2px;width:3px;top:10px;bottom:10px;background:#63e0c4;border-radius:4px;box-shadow:0 0 12px rgba(99,224,196,.5)}.client-side-link{position:relative}.client-side-foot{border-top:1px solid rgba(255,255,255,.07);padding-top:12px}
.client-topbar{height:78px;padding:0 28px;background:rgba(250,252,253,.84);backdrop-filter:blur(20px) saturate(1.25);border-bottom:1px solid rgba(218,226,234,.86)}.client-topbar-title h1{font-size:18px}.client-topbar-title span{font-size:8px}.client-topbar-actions{gap:7px}.client-top-pill,.client-notify,.client-user-chip{background:#fff;border:1px solid #e0e7ed;box-shadow:0 2px 10px rgba(15,32,51,.025)}.client-top-pill{border-radius:12px;min-height:37px;padding:7px 10px}.client-notify{width:37px;height:37px;border-radius:12px}.client-user-chip{border-radius:14px;padding:5px 10px 5px 5px}.client-user-chip>span{width:31px;height:31px;border-radius:10px;background:linear-gradient(145deg,#e8f7f3,#dff2ef)}.workspace-live{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#eff8f5;color:#477065;font-size:8px;font-weight:800;border:1px solid #dcefe9}.workspace-live i{width:6px;height:6px;border-radius:50%;background:#1aa878;box-shadow:0 0 0 4px rgba(26,168,120,.1)}
.client-content{padding:30px 30px 50px;max-width:1720px;margin-inline:auto}.client-welcome{position:relative;overflow:hidden;padding:27px 29px;border:1px solid #dce7e8;border-radius:24px;background:linear-gradient(125deg,#fff 0%,#f4fbf9 100%);box-shadow:0 12px 40px rgba(15,32,51,.06);margin-bottom:17px}.client-welcome:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;inset-inline-end:-105px;top:-130px;background:radial-gradient(circle,rgba(8,123,114,.13),transparent 67%)}.client-welcome h2{font-size:29px;letter-spacing:-.03em}.client-welcome p{font-size:10px;max-width:680px}.client-welcome .client-btn{position:relative;z-index:2}
.client-stats{gap:14px}.client-stat{min-height:112px;border-radius:18px;border:1px solid #dfe7ed;background:#fff;padding:17px;box-shadow:0 6px 22px rgba(15,32,51,.045);transition:transform .2s,box-shadow .2s}.client-stat:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(15,32,51,.08)}.client-stat .icon{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#e9f7f4,#f5fbfa);box-shadow:inset 0 0 0 1px rgba(8,123,114,.06);font-size:14px}.client-stat small{font-size:8px}.client-stat b{font-size:24px}.client-stat em{font-size:7.5px;line-height:1.4}
.client-grid-2{gap:16px;margin-top:16px}.client-panel{border:1px solid #dfe7ed;border-radius:20px;padding:20px;background:rgba(255,255,255,.95);box-shadow:0 6px 24px rgba(15,32,51,.045)}.client-panel-head{margin-bottom:15px}.client-panel-head>div>span{font-size:8px;letter-spacing:.13em;color:var(--client-brand);font-weight:800}.client-panel-head h3{font-size:15px}.client-panel-head>a{font-size:8px;padding:6px 9px;border-radius:9px;background:#f6faf9}.client-list>a{padding:12px 3px}.client-list>a:hover{background:#f8fcfb;margin-inline:-8px;padding-inline:11px;border-radius:11px}.client-status{border:1px solid #e4eaf0;box-shadow:none}.client-empty{padding:34px 20px;border:1px dashed #dce6eb;border-radius:15px;background:#fbfdfd}
.client-page-head{margin-bottom:18px}.client-page-head h2{font-size:24px}.client-page-head p{font-size:9px}.client-form,.client-detail-card{border-radius:18px;border-color:#dfe7ed;box-shadow:0 6px 24px rgba(15,32,51,.04)}.client-form input,.client-form select,.client-form textarea,.ticket-reply textarea{min-height:42px;border-radius:12px;border-color:#dae4ea;background:#fcfdfe;font-size:9px}.client-btn{min-height:38px;border-radius:11px}.client-btn.primary{background:linear-gradient(135deg,var(--client-brand),#086d76);box-shadow:0 8px 22px rgba(8,123,114,.16)}.client-btn.primary:hover{box-shadow:0 11px 28px rgba(8,123,114,.22);transform:translateY(-1px)}
.client-table-wrap{border-radius:17px;border:1px solid #e0e7ed;overflow:auto;box-shadow:0 4px 18px rgba(15,32,51,.035)}.client-table th{position:sticky;top:0;z-index:2;background:#f8fafc;font-size:7.5px;letter-spacing:.08em}.client-table td{font-size:9px}.client-table tbody tr:hover{background:#f8fcfb}.document-card,.payment-method-card,.staff-fact{border-radius:15px;box-shadow:0 3px 14px rgba(15,32,51,.025)}.ticket-message{border-radius:16px}.ticket-message.mine{background:linear-gradient(145deg,#e9f8f4,#f3fbf9)}
.notification-center-item{border-radius:13px;padding:14px 10px;margin-bottom:3px;border-bottom:0}.notification-center-item:hover{background:#f8fbfb}.notification-center-item.unread{background:linear-gradient(90deg,rgba(8,123,114,.08),#fff);border:1px solid #e0eee9}.notif-type{border-radius:11px}.notif-dot.new{box-shadow:0 0 0 4px rgba(8,123,114,.09)}
.client-auth-bg{background:radial-gradient(circle at 13% 12%,rgba(8,123,114,.18),transparent 28%),radial-gradient(circle at 90% 88%,rgba(23,79,125,.13),transparent 28%),linear-gradient(145deg,#f8fbfc,#eef3f8);position:relative}.client-auth-bg:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(16,32,51,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(16,32,51,.025) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,black,transparent 75%)}.client-auth-card{border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 35px 100px rgba(15,32,51,.15);border:1px solid rgba(255,255,255,.9)}.client-auth-brand>span{background:linear-gradient(145deg,#079581,#176c8f);box-shadow:0 12px 30px rgba(8,123,114,.2)}
@keyframes portalRise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.client-content>*{animation:portalRise .35s ease both}.client-content>*:nth-child(2){animation-delay:.04s}.client-content>*:nth-child(3){animation-delay:.08s}.client-content>*:nth-child(4){animation-delay:.12s}
@media(max-width:1100px){.client-shell{grid-template-columns:260px minmax(0,1fr)}.client-content{padding:24px}.workspace-live{display:none}}
@media(max-width:850px){.client-shell{grid-template-columns:1fr}.client-sidebar{width:278px}.client-topbar{height:70px;padding:0 15px}.client-content{padding:20px 15px 40px}.client-welcome{padding:22px}.client-grid-2{grid-template-columns:1fr}}
@media(max-width:620px){.client-content{padding-inline:12px}.client-stats{grid-template-columns:1fr}.client-stat{min-height:92px}.client-panel{padding:15px;border-radius:16px}.client-welcome h2{font-size:25px}.client-topbar-title span{display:none}.client-auth-card{border-radius:24px}.client-detail-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.client-content>*{animation:none}.client-stat,.client-btn,.client-side-link{transition:none}}
.password-field{position:relative}.password-field input{padding-inline-end:42px}.password-peek{position:absolute;inset-inline-end:8px;bottom:8px;width:28px;height:28px;border:0;border-radius:8px;background:#edf5f6;color:#7b8c9d;cursor:pointer;display:grid;place-items:center}.password-peek.active{color:var(--client-brand);background:#e6f5f2}.is-loading{position:relative;opacity:.75}.is-loading:after{content:"";width:12px;height:12px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}body.nav-open{overflow:hidden}
/* v1.5 readability & accessibility pass */
.client-stat small{font-size:11px}.client-stat em{font-size:10px}.client-panel-head>div>span{font-size:10px}.client-panel-head>a{font-size:10px}.client-page-head p{font-size:12px}.client-form input,.client-form select,.client-form textarea,.ticket-reply textarea{font-size:12px}.client-table th{font-size:10px}.client-table td{font-size:12px}.client-side-link{font-size:12px}.client-nav-group{font-size:10px}.client-topbar-title span{font-size:11px}.client-status{font-size:10px}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid rgba(8,123,114,.22);outline-offset:2px}


/* =========================================================
   AlSalim Business Suite v1.6.3 — Balanced portal, no overlap
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
.client-shell,.client-main,.client-content,.client-panel,.client-stat,.client-table-wrap,.client-form,.client-detail-card,.client-welcome,.client-auth-card{min-width:0;max-width:100%}
.client-content>*{min-width:0;max-width:100%}
.client-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.client-mini-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.client-grid-2,.document-grid,.payment-method-grid,.quote-response-grid,.client-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.client-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.client-quote-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.staff-fact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.client-page-head,.client-panel-head,.client-form-footer,.invoice-ready,.staff-clock,.staff-task-inline,.document-card,.notification-center-item,.activity-list>div{min-width:0;max-width:100%}
.client-page-head,.client-panel-head,.client-form-footer,.invoice-ready,.staff-clock,.staff-task-inline{flex-wrap:wrap}
.client-page-head>* ,.client-panel-head>* ,.client-form-footer>* ,.invoice-ready>* ,.staff-clock>* ,.staff-task-inline>*{min-width:0;max-width:100%}
.client-panel h1,.client-panel h2,.client-panel h3,.client-panel p,.client-panel b,.client-panel span,.client-panel a,.client-stat *,.document-card *,.notification-center-item *{overflow-wrap:anywhere}
.client-table-wrap{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
.client-table{max-width:none}
.client-form input,.client-form select,.client-form textarea,.ticket-reply textarea,.client-btn{max-width:100%}
.document-card{grid-template-columns:auto minmax(0,1fr) auto}
.notification-center-item{grid-template-columns:auto minmax(0,1fr) auto}
.activity-list>div{grid-template-columns:auto minmax(0,1fr) auto}
.ticket-message{max-width:min(88%,760px);overflow-wrap:anywhere}

@media(max-width:1180px){
  .client-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-quote-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .client-grid-2,.document-grid,.payment-method-grid,.quote-response-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
  .client-form-grid,.client-detail-grid,.staff-fact-grid{grid-template-columns:minmax(0,1fr)}
  .client-form-grid .span-2,.span-2{grid-column:auto}
  .client-page-head,.client-panel-head{align-items:flex-start}
  .document-card{grid-template-columns:auto minmax(0,1fr)}
  .document-actions{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}
  .notification-center-item{grid-template-columns:auto minmax(0,1fr)}
  .notification-center-item>form{grid-column:2}
  .activity-list>div{grid-template-columns:auto minmax(0,1fr)}
  .activity-list time{grid-column:2}
  .ticket-message{max-width:96%}
}
@media(max-width:520px){
  .client-stats,.client-mini-stats,.client-quote-summary{grid-template-columns:minmax(0,1fr)}
  .client-content{padding-inline:12px}
  .client-form-footer .client-btn,.invoice-ready .client-btn{width:100%}
}

/* =========================================================
   AlSalim Business Suite v1.6.4 — Full-height portal sidebar
   Client and Staff portals keep sticky navigation while the
   dark sidebar rail visually continues to the page bottom.
   ========================================================= */
.client-shell{
  --portal-sidebar-width:282px;
  position:relative;
  isolation:isolate;
}
.client-shell::before{
  content:"";
  position:absolute;
  z-index:0;
  inset-block:0;
  inset-inline-start:0;
  width:var(--portal-sidebar-width);
  background:
    radial-gradient(circle at 12% 0%,rgba(52,210,180,.16),transparent 27%),
    linear-gradient(180deg,#071827 0%,#0a2134 100%);
  pointer-events:none;
}
.client-shell>.client-sidebar{z-index:70}
.client-shell>.client-main{position:relative;z-index:1;min-width:0}
@media(max-width:1100px) and (min-width:851px){
  .client-shell{--portal-sidebar-width:260px}
}
@media(max-width:850px){
  .client-shell::before{display:none}
}


/* =========================================================
   AlSalim Business Suite v1.6.5 — Document-flow portal sidebar
   Client and Staff desktop/tablet navigation uses the page's
   scrollbar instead of a separate sidebar scrollbar.
   ========================================================= */
@media(min-width:851px){
  .client-shell{align-items:stretch}
  .client-shell>.client-sidebar{
    position:relative;
    top:auto;
    height:auto;
    min-height:100%;
    max-height:none;
    overflow:visible;
    align-self:stretch;
    scrollbar-width:auto;
  }
}

/* =========================================================
   AlSalim Business Suite v1.6.6 — Portal accordion navigation
   Client and Staff portals share the same interaction model.
   ========================================================= */
.client-side-brand{display:flex;align-items:center;gap:7px}.client-side-brand>a{min-width:0;flex:1}.portal-compact-toggle{margin-inline-start:auto;width:28px;height:28px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.055);color:#9fb2c3;display:grid;place-items:center;font:inherit;font-size:11px;cursor:pointer;transition:.17s;flex:0 0 auto}.portal-compact-toggle:hover,.portal-compact-toggle.active{background:rgba(99,224,196,.13);color:#79e2cc;border-color:rgba(99,224,196,.18)}.client-nav-tree{display:grid;gap:5px;padding-top:8px}.client-nav-accordion{position:relative}.client-nav-toggle{width:100%;min-height:47px;display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:13px;background:transparent;color:#c2d0dc;font:inherit;font-size:11px;font-weight:800;text-align:start;cursor:pointer;transition:.17s;position:relative}.client-nav-toggle:hover,.client-nav-accordion.current>.client-nav-toggle{background:rgba(255,255,255,.075);color:#fff}.client-nav-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.035);color:#91a9bb;flex:0 0 auto}.client-nav-accordion.current>.client-nav-toggle .client-nav-icon{background:rgba(85,220,190,.14);color:#7be5ce}.client-nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-nav-chevron{margin-inline-start:auto;color:#718ba1;transition:transform .18s}.client-nav-accordion.open>.client-nav-toggle .client-nav-chevron{transform:rotate(180deg)}.client-nav-submenu{display:none;margin-inline-start:16px;padding:4px 0 4px 13px;border-inline-start:1px solid rgba(255,255,255,.075)}html[dir=rtl] .client-nav-submenu{padding:4px 13px 4px 0}.client-nav-accordion.open>.client-nav-submenu{display:grid}.client-nav-submenu .client-side-link{min-height:39px;padding-block:5px;font-size:11px}.client-nav-submenu .client-side-link>span:first-child{width:27px;height:27px;border-radius:8px;font-size:10px}.client-nav-badge{margin-inline-start:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#e9a93c;color:#172537;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:8px;font-weight:900;line-height:1}.client-side-link.active>.client-nav-badge,.client-nav-accordion.current>.client-nav-toggle>.client-nav-badge{background:#6de0c6;color:#0b2830}
@media(min-width:851px){
  .client-shell.sidebar-compact{grid-template-columns:86px minmax(0,1fr);--portal-sidebar-width:86px}
  .client-shell.sidebar-compact>.client-sidebar{padding-inline:9px}
  .sidebar-compact .client-side-brand{justify-content:center;flex-wrap:wrap;padding-inline:0}
  .sidebar-compact .client-side-brand>a{flex:0 0 auto;justify-content:center}
  .sidebar-compact .client-side-brand>a>div,.sidebar-compact .client-link-label,.sidebar-compact .client-nav-label,.sidebar-compact .client-nav-chevron,.sidebar-compact .client-side-foot a span{display:none}
  .sidebar-compact .portal-compact-toggle{margin-inline-start:0;width:25px;height:25px}
  .sidebar-compact .client-nav-toggle,.sidebar-compact .client-side-link{justify-content:center;padding-inline:5px}
  .sidebar-compact .client-nav-toggle .client-nav-icon,.sidebar-compact .client-side-link>span:first-child{width:33px;height:33px}
  .sidebar-compact .client-nav-accordion.open>.client-nav-submenu{display:none}
  .sidebar-compact .client-nav-accordion:hover>.client-nav-submenu,.sidebar-compact .client-nav-accordion:focus-within>.client-nav-submenu,.sidebar-compact .client-nav-accordion.flyout-open>.client-nav-submenu{display:grid;position:absolute;z-index:140;inset-inline-start:calc(100% + 9px);top:0;width:255px;margin:0;padding:9px;background:#0b2134;border:1px solid rgba(255,255,255,.08);border-radius:13px;box-shadow:0 22px 55px rgba(1,10,20,.34)}
  .sidebar-compact .client-nav-submenu .client-side-link{justify-content:flex-start;padding-inline:9px}
  .sidebar-compact .client-nav-submenu .client-link-label{display:inline;white-space:normal}
  .sidebar-compact .client-nav-submenu .client-nav-badge{position:static;margin-inline-start:auto}
  .sidebar-compact .client-nav-toggle>.client-nav-badge,.sidebar-compact .client-side-link>.client-nav-badge{position:absolute;inset-inline-end:1px;top:1px;min-width:17px;height:17px;padding:0 4px;font-size:7px;box-shadow:0 0 0 2px #0b2134}
  .sidebar-compact .client-nav-submenu .client-side-link>.client-nav-badge{position:static;min-width:20px;height:20px;box-shadow:none}
  .sidebar-compact .client-side-foot{display:grid;justify-items:center}.sidebar-compact .client-side-foot a{padding-inline:7px}
}
@media(max-width:850px){.portal-compact-toggle{display:none}.client-nav-submenu{margin-inline-start:10px}.client-nav-toggle{min-height:44px}}


/* =========================================================
   AlSalim Business Suite v1.7.0 — Portal width containment
   Client + Staff workspaces keep wide tables inside their cards and
   never allow hidden controls or long content to widen the document.
   ========================================================= */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.client-shell,.client-main,.client-content{width:100%;max-width:100%;min-width:0}
.client-main,.client-content{overflow-x:hidden}
.client-content>*{min-width:0;max-width:100%}
:where(.client-panel,.client-stat,.client-form,.client-detail-card,.client-welcome,.client-page-head,.client-panel-head,.client-form-footer,.client-detail-grid,.client-grid-2,.client-stats,.client-mini-stats,.client-quote-summary,.document-grid,.payment-method-grid,.quote-response-grid,.notification-center-item,.activity-list>div,.ticket-message,.staff-clock,.staff-fact,.staff-task-action,.staff-task-inline){min-width:0;max-width:100%}
.client-table-wrap{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;contain:inline-size}
.client-table-wrap>.client-table{max-width:none}
.client-page-head,.client-panel-head,.client-form-footer,.client-topbar,.client-topbar-actions,.client-user-chip,.staff-clock,.staff-task-inline{min-width:0;max-width:100%}
.client-page-head,.client-panel-head,.client-form-footer,.staff-clock,.staff-task-inline{flex-wrap:wrap}
.client-page-head>*,.client-panel-head>*,.client-form-footer>*,.staff-clock>*,.staff-task-inline>*{min-width:0;max-width:100%}
.client-topbar-title,.client-topbar-title h1,.client-user-chip>div{min-width:0}
.client-topbar-title h1,.client-user-chip b,.client-user-chip small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.client-auth-brand{max-width:100%;min-width:0}
.client-auth-brand>div{min-width:0}
img,svg,video,canvas,iframe{max-width:100%}
pre,code{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}

/* =========================================================
   AlSalim Business Suite v1.8.0 — Client/Staff Portal System
   Calm, premium, task-first portal UI with shared dark mode.
   ========================================================= */
:root{
  --client-bg:#f5f7fb;--client-surface:#fff;--client-surface-2:#f9fbfd;--client-surface-3:#eef3f7;
  --client-ink:#111827;--client-ink2:#2b3a4e;--client-muted:#718096;--client-line:#e4e9f0;--client-line-strong:#d4dde7;
  --client-brand:#087b72;--client-brand-strong:#05675f;--client-brand-soft:#e7f6f3;--client-ring:rgba(8,123,114,.13);
  --client-blue:#315dbe;--client-blue-soft:#edf3ff;--client-violet:#7357c8;--client-violet-soft:#f2effc;--client-amber:#c28423;--client-amber-soft:#fff6e5;
  --client-success:#16845a;--client-danger:#bd4242;--client-warning:#b37518;--client-shadow-sm:0 2px 8px rgba(16,24,40,.045);--client-shadow:0 12px 32px rgba(16,24,40,.07);--client-shadow-lg:0 24px 70px rgba(16,24,40,.12)
}
html[data-theme="dark"]{
  --client-bg:#0d131d;--client-surface:#121b27;--client-surface-2:#162130;--client-surface-3:#1c2939;
  --client-ink:#edf4fb;--client-ink2:#d6e1ec;--client-muted:#8fa2b5;--client-line:#263445;--client-line-strong:#314257;
  --client-brand-soft:rgba(30,177,158,.12);--client-ring:rgba(30,177,158,.16);--client-blue-soft:rgba(69,110,205,.15);--client-violet-soft:rgba(125,93,209,.15);--client-amber-soft:rgba(209,147,42,.14);
  --client-shadow-sm:0 2px 8px rgba(0,0,0,.12);--client-shadow:0 14px 34px rgba(0,0,0,.18);--client-shadow-lg:0 28px 75px rgba(0,0,0,.28)
}
.portal-v180{background:var(--client-bg);color:var(--client-ink)}
.portal-v180 .client-shell{grid-template-columns:276px minmax(0,1fr);--portal-sidebar-width:276px;background:var(--client-bg)}
.portal-v180 .client-shell::before{background:linear-gradient(180deg,#0a1523 0%,#0d1c2c 54%,#0b1826 100%)}
.portal-v180 .client-sidebar{background:transparent;padding:18px 13px 27px;color:#c7d3df}.portal-v180 .client-side-brand{padding:6px 8px 18px;margin-bottom:8px;border-color:rgba(255,255,255,.075)}.portal-v180 .client-side-brand>a>span,.portal-v180 .client-side-brand img{width:43px;height:43px;border-radius:14px}.portal-v180 .client-side-brand b{font-size:13px}.portal-v180 .client-side-brand small{color:#71879b;font-size:8px;letter-spacing:.15em}
.portal-v180 .client-nav-tree{gap:6px}.portal-v180 .client-nav-toggle,.portal-v180 .client-side-link{border-radius:12px;min-height:43px;color:#bdcad6}.portal-v180 .client-nav-toggle{padding:7px 10px}.portal-v180 .client-side-link{padding:7px 10px}.portal-v180 .client-nav-toggle:hover,.portal-v180 .client-nav-accordion.current>.client-nav-toggle,.portal-v180 .client-side-link:hover,.portal-v180 .client-side-link.active{background:rgba(255,255,255,.07);color:#fff}.portal-v180 .client-nav-icon,.portal-v180 .client-side-link>span:first-child{width:31px;height:31px;border-radius:10px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.035);color:#849aae}.portal-v180 .client-side-link.active:before{inset-inline-start:-4px;background:#6ee0c8;box-shadow:0 0 12px rgba(110,224,200,.4)}
.portal-v180 .client-side-foot{border-color:rgba(255,255,255,.075)}.portal-v180 .client-side-foot a{border-radius:9px}.portal-v180 .client-side-foot a:hover{background:rgba(255,255,255,.05);color:#dce7ef}
.portal-v180 .client-main{background:var(--client-bg)}
.portal-v180 .client-topbar{height:80px;background:color-mix(in srgb,var(--client-surface) 92%,transparent);border-color:var(--client-line);padding:0 28px;box-shadow:0 1px 0 rgba(16,24,40,.02)}.portal-v180 .client-topbar-leading{display:flex;align-items:center;gap:12px;min-width:0}.portal-v180 .client-topbar-title h1{font-size:17px;font-weight:760;letter-spacing:-.025em}.portal-v180 .topbar-eyebrow{font-size:8px!important;color:var(--client-muted)!important;font-weight:850;letter-spacing:.15em!important;margin:0 0 4px!important}.portal-v180 .client-topbar-actions{gap:7px}.portal-v180 .client-top-pill,.portal-v180 .client-notify,.portal-v180 .client-user-chip{background:var(--client-surface);border-color:var(--client-line);box-shadow:var(--client-shadow-sm)}.portal-v180 .client-top-pill{min-height:38px;border-radius:11px;color:var(--client-ink2)}.portal-v180 .icon-pill{width:38px;padding:0;font-size:14px}.portal-v180 .client-notify{width:38px;height:38px;border-radius:11px}.portal-v180 .client-user-chip{min-height:42px;border-radius:13px;padding:5px 8px 5px 5px;text-decoration:none}.portal-v180 .client-user-chip>span{width:31px;height:31px;border-radius:10px}.portal-v180 .client-user-chip b{font-size:10px;color:var(--client-ink)}.portal-v180 .client-user-chip small{font-size:8px}.portal-v180 .client-user-chip>i{font-style:normal;color:var(--client-muted);font-size:16px;margin-inline-start:4px}.portal-v180 .workspace-live{display:inline-flex;align-items:center;gap:6px;color:var(--client-muted);font-size:9px;font-weight:750}.portal-v180 .workspace-live i{width:7px;height:7px;border-radius:50%;background:#28b37d;box-shadow:0 0 0 4px rgba(40,179,125,.11)}
.portal-v180 .client-content{max-width:1540px;padding:30px 32px 48px}
.portal-v180 .client-page-head{margin-bottom:22px;align-items:center}.portal-v180 .client-page-head h2{font-size:24px;font-weight:780;letter-spacing:-.03em;color:var(--client-ink)}.portal-v180 .client-page-head p{font-size:11px;color:var(--client-muted);line-height:1.75}.portal-v180 .client-panel,.portal-v180 .client-detail-card,.portal-v180 .client-form{background:var(--client-surface);border-color:var(--client-line);box-shadow:var(--client-shadow-sm);border-radius:20px}.portal-v180 .client-panel{padding:20px}.portal-v180 .client-panel-head{margin-bottom:17px}.portal-v180 .client-panel-head span{font-size:8px;font-weight:850;color:var(--client-brand);letter-spacing:.14em}.portal-v180 .client-panel-head h3{font-size:15px;font-weight:760}.portal-v180 .client-panel-head>a{font-size:10px;color:var(--client-brand);font-weight:800;text-decoration:none}
.portal-v180 .client-btn{min-height:39px;border-radius:11px;font-size:10px}.portal-v180 .client-btn.primary{background:linear-gradient(135deg,var(--client-brand),var(--client-brand-strong));box-shadow:0 8px 18px rgba(8,123,114,.16)}.portal-v180 .client-btn.secondary{background:var(--client-surface);border-color:var(--client-line);color:var(--client-ink2)}
.portal-v180 .client-auth-form input,.portal-v180 .client-form input,.portal-v180 .client-form select,.portal-v180 .client-form textarea,.portal-v180 .client-form-grid input,.portal-v180 .client-form-grid select,.portal-v180 .client-form-grid textarea{min-height:41px;border-radius:11px;border-color:var(--client-line);background:var(--client-surface-2);color:var(--client-ink);font-size:11px}.portal-v180 .client-form textarea,.portal-v180 .client-form-grid textarea{min-height:105px}.portal-v180 .client-auth-form input:focus,.portal-v180 .client-form input:focus,.portal-v180 .client-form select:focus,.portal-v180 .client-form textarea:focus,.portal-v180 .client-form-grid input:focus,.portal-v180 .client-form-grid select:focus,.portal-v180 .client-form-grid textarea:focus{background:var(--client-surface);box-shadow:0 0 0 4px var(--client-ring)}
.portal-v180 .client-table-wrap{background:var(--client-surface);border-color:var(--client-line);border-radius:18px;box-shadow:var(--client-shadow-sm)}.portal-v180 .client-table th{background:var(--client-surface-2);color:var(--client-muted);font-size:8px;font-weight:850;letter-spacing:.08em}.portal-v180 .client-table td{font-size:10px;border-color:var(--client-line)}
.portal-v180 .client-alert{border-radius:13px;font-size:10px}.portal-v180 .client-status{font-size:8px;font-weight:850;border-radius:999px;padding:5px 8px}

/* Portal command dashboard */
.client-command-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:18px;padding:26px;border-radius:26px;background:linear-gradient(125deg,#0d2832 0%,#0e4050 50%,#153b5b 100%);color:#fff;overflow:hidden;box-shadow:0 18px 42px rgba(13,40,50,.16);margin-bottom:18px}.client-command-hero:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(109,235,210,.16),transparent 62%);inset-inline-end:-90px;top:-170px}.client-command-copy,.client-next-card{position:relative;z-index:1}.client-command-hero .hero-kicker{display:block;font-size:8px;font-weight:900;letter-spacing:.18em;color:#8ce8d6;margin-bottom:9px}.client-command-hero h2{font-size:28px;line-height:1.25;margin:0 0 8px;letter-spacing:-.035em}.client-command-hero p{margin:0;color:#bdd0dc;font-size:11px;max-width:700px;line-height:1.8}.client-command-hero .hero-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.client-command-hero .client-btn.secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1);color:#fff}.client-next-card{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:18px;text-decoration:none;color:#fff;backdrop-filter:blur(8px)}.client-next-card:hover{background:rgba(255,255,255,.1)}.next-icon{width:38px;height:38px;border-radius:12px;background:rgba(126,235,214,.14);color:#91ead9;display:grid;place-items:center;margin-bottom:11px}.client-next-card small{font-size:8px;color:#a5bfce;letter-spacing:.13em;font-weight:850}.client-next-card b{font-size:14px;margin:5px 0}.client-next-card p{font-size:9px;line-height:1.55}.client-next-card strong{font-size:9px;color:#8fe8d7;margin-top:12px}
.portal-stat-grid{margin-bottom:18px}.portal-v180 .client-stat{position:relative;min-height:132px;border-radius:20px;padding:17px;background:var(--client-surface);border:1px solid var(--client-line);box-shadow:var(--client-shadow-sm);text-decoration:none;display:flex;align-items:flex-start;gap:12px;overflow:hidden;transition:.15s}.portal-v180 .client-stat:before{content:"";position:absolute;inset-inline:0;top:0;height:3px;background:var(--stat-accent,var(--client-brand))}.portal-v180 .client-stat.tone-teal{--stat-accent:var(--client-brand);--stat-soft:var(--client-brand-soft)}.portal-v180 .client-stat.tone-blue{--stat-accent:var(--client-blue);--stat-soft:var(--client-blue-soft)}.portal-v180 .client-stat.tone-violet{--stat-accent:var(--client-violet);--stat-soft:var(--client-violet-soft)}.portal-v180 .client-stat.tone-amber{--stat-accent:var(--client-amber);--stat-soft:var(--client-amber-soft)}.portal-v180 .client-stat .icon{width:38px;height:38px;border-radius:11px;background:var(--stat-soft);color:var(--stat-accent);display:grid;place-items:center;flex:0 0 auto}.portal-v180 .client-stat>div{display:flex;flex-direction:column;min-width:0}.portal-v180 .client-stat small{font-size:9px;color:var(--client-muted);font-weight:750}.portal-v180 .client-stat b{font-size:27px;line-height:1.1;margin:5px 0;color:var(--client-ink)}.portal-v180 .client-stat em{font-size:8px;color:var(--client-muted);font-style:normal;white-space:normal;overflow-wrap:anywhere}.portal-v180 .client-stat:hover{transform:translateY(-2px);box-shadow:var(--client-shadow);border-color:color-mix(in srgb,var(--stat-accent) 18%,var(--client-line))}
.client-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.portal-v180 .client-panel-space{margin-top:18px}.portal-v180 .modern-list{display:grid;gap:7px}.portal-v180 .client-list.modern-list>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--client-line);border-radius:13px;background:var(--client-surface-2)}.portal-v180 .client-list.modern-list>a:hover{background:var(--client-surface);border-color:var(--client-line-strong);box-shadow:var(--client-shadow-sm)}.portal-v180 .client-list .list-avatar{width:31px;height:31px;border-radius:10px;background:var(--client-brand-soft);color:var(--client-brand);display:grid;place-items:center}.portal-v180 .client-list.modern-list>a>div{min-width:0}.portal-v180 .client-list.modern-list>a>div b{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-v180 .client-list.modern-list>a>div small{font-size:8px;color:var(--client-muted)}.portal-v180 .client-list.modern-list>a>i{font-style:normal;color:var(--client-muted);font-size:16px}.portal-v180 .client-notification-list>a{grid-template-columns:auto minmax(0,1fr) auto auto;border-color:var(--client-line);padding:11px 4px}.portal-v180 .client-notification-list>a>i{font-style:normal;color:var(--client-muted);font-size:15px}.portal-v180 .client-empty{background:var(--client-surface-2);border:1px dashed var(--client-line);border-radius:15px;padding:26px}.portal-v180 .client-empty>span{background:var(--client-brand-soft);color:var(--client-brand)}
.staff-today-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px;border-radius:15px;background:var(--client-surface-2);border:1px solid var(--client-line)}.today-status{display:flex;align-items:center;gap:11px}.status-orb{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--client-surface-3);color:var(--client-muted)}.status-orb.active{background:var(--client-brand-soft);color:var(--client-brand)}.today-status>div{display:flex;flex-direction:column}.today-status small,.staff-time-pair small,.staff-profile-summary small{font-size:8px;color:var(--client-muted)}.today-status b{font-size:12px}.staff-time-pair{display:flex;gap:8px}.staff-time-pair>div{min-width:92px;background:var(--client-surface);border:1px solid var(--client-line);border-radius:11px;padding:9px;display:flex;flex-direction:column}.staff-time-pair b{font-size:12px}.staff-profile-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.staff-profile-summary>div{background:var(--client-surface-2);border:1px solid var(--client-line);border-radius:12px;padding:11px;display:flex;flex-direction:column}.staff-profile-summary b{font-size:10px;margin-top:3px;overflow-wrap:anywhere}

html[data-theme="dark"] .portal-v180 .client-topbar{background:rgba(18,27,39,.92)}html[data-theme="dark"] .client-command-hero{background:linear-gradient(125deg,#0a232b,#0d3340 50%,#142d45)}
@media(max-width:1180px){.client-command-hero{grid-template-columns:minmax(0,1fr) 280px}.portal-v180 .client-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.client-command-hero{grid-template-columns:1fr}.client-dashboard-grid{grid-template-columns:1fr}.portal-v180 .workspace-live{display:none}}
@media(max-width:850px){.portal-v180 .client-shell{grid-template-columns:1fr}.portal-v180 .client-topbar{height:72px;padding:0 16px}.portal-v180 .client-user-chip>div,.portal-v180 .client-user-chip>i{display:none}.portal-v180 .client-content{padding:22px 16px 40px}.client-command-hero{padding:21px;border-radius:22px}.client-command-hero h2{font-size:24px}.portal-v180 .client-panel{padding:16px}}
@media(max-width:560px){.portal-v180 .client-stats{grid-template-columns:1fr}.portal-v180 .client-topbar-actions .client-top-pill:not(.icon-pill){display:none}.portal-v180 .client-user-chip{padding:4px}.client-command-hero{padding:18px}.client-command-hero h2{font-size:21px}.client-command-hero .hero-actions .client-btn{width:100%}.staff-today-card{grid-template-columns:1fr}.staff-time-pair{display:grid;grid-template-columns:1fr 1fr}.staff-time-pair>div{min-width:0}.staff-profile-summary{grid-template-columns:1fr}}

/* v1.8.0 — specialized portal surfaces */
.portal-v180 :where(.client-detail-card,.client-message-box,.document-card,.notification-center-item,.security-facts,.activity-list,.payment-method-card,.payment-submit-card,.quotation-card,.invoice-detail-card,.request-detail,.ticket-message,.staff-fact,.staff-task-action,.staff-clock){border-color:var(--client-line);color:var(--client-ink)}
.portal-v180 .client-detail-grid>div,.portal-v180 .staff-fact,.portal-v180 .payment-method-card{background:var(--client-surface-2);border-color:var(--client-line);border-radius:12px}.portal-v180 .client-detail-grid b{color:var(--client-ink)}.portal-v180 .client-message-box{background:var(--client-surface-2);border-color:var(--client-line)}.portal-v180 .client-message-box.accent{background:var(--client-brand-soft);border-color:color-mix(in srgb,var(--client-brand) 18%,var(--client-line))}.portal-v180 .client-message-box p,.portal-v180 .ticket-message p,.portal-v180 .notification-body p{color:var(--client-ink2)}
.portal-v180 .ticket-message{background:var(--client-surface-2);border-color:var(--client-line)}.portal-v180 .ticket-message.mine{background:var(--client-brand-soft);border-color:color-mix(in srgb,var(--client-brand) 18%,var(--client-line))}.portal-v180 .ticket-reply{border-color:var(--client-line)}.portal-v180 .ticket-reply textarea{background:var(--client-surface-2);border-color:var(--client-line);color:var(--client-ink)}
.portal-v180 .document-card{background:var(--client-surface);border-radius:14px}.portal-v180 .document-icon,.portal-v180 .notif-type,.portal-v180 .activity-list>div>span{background:var(--client-brand-soft);color:var(--client-brand)}.portal-v180 .document-actions a,.portal-v180 .document-actions button,.portal-v180 .notification-center-item form button{background:var(--client-surface);border-color:var(--client-line);color:var(--client-ink2)}
.portal-v180 .notification-center-item{border-color:var(--client-line)}.portal-v180 .notification-center-item.unread{background:linear-gradient(90deg,var(--client-brand-soft),var(--client-surface));border-radius:12px}.portal-v180 .security-facts>div,.portal-v180 .activity-list>div{border-color:var(--client-line)}
.portal-v180 .client-form-section{border-color:var(--client-line)}.portal-v180 .client-form-section>div:first-child span{background:var(--client-brand-soft);color:var(--client-brand)}.portal-v180 .client-form-footer{border-color:var(--client-line)}
.portal-v180 .client-status.active,.portal-v180 .client-status.paid,.portal-v180 .client-status.completed,.portal-v180 .client-status.resolved,.portal-v180 .client-status.confirmed{background:rgba(22,132,90,.12);color:#239264}.portal-v180 .client-status.pending,.portal-v180 .client-status.submitted,.portal-v180 .client-status.open,.portal-v180 .client-status.sent,.portal-v180 .client-status.partial,.portal-v180 .client-status.in_review{background:rgba(49,93,190,.11);color:#4269bd}.portal-v180 .client-status.in_progress,.portal-v180 .client-status.pending_client,.portal-v180 .client-status.awaiting_client{background:rgba(194,132,35,.12);color:#b57a20}.portal-v180 .client-status.rejected,.portal-v180 .client-status.suspended,.portal-v180 .client-status.cancelled,.portal-v180 .client-status.overdue{background:rgba(189,66,66,.11);color:#c95555}
.portal-v180 .client-menu-btn{background:var(--client-surface);border-color:var(--client-line);color:var(--client-ink);box-shadow:var(--client-shadow-sm)}
/* v1.8.0 compact-mode + mid-width corrections */
@media(min-width:851px){
  .portal-v180 .client-shell.sidebar-compact{grid-template-columns:86px minmax(0,1fr);--portal-sidebar-width:86px}
}
@media(min-width:851px) and (max-width:1120px){
  .portal-v180 .client-shell:not(.sidebar-compact){grid-template-columns:250px minmax(0,1fr);--portal-sidebar-width:250px}
  .portal-v180 .client-sidebar{padding-inline:11px}
}


/* =========================================================
   AlSalim Business Suite v1.9.0 — Clear Client/Staff Workspaces
   Light-first portal shell, simplified navigation, consistent forms,
   responsive command search, and a shared component language.
   ========================================================= */
.portal-v190{
  --p190-bg:#f6f7fb;
  --p190-surface:#ffffff;
  --p190-surface-soft:#f9fafc;
  --p190-surface-muted:#f1f3f7;
  --p190-ink:#172033;
  --p190-ink-2:#3d4a5f;
  --p190-muted:#7a8699;
  --p190-line:#e5e9f0;
  --p190-line-strong:#d8dee8;
  --p190-brand:var(--client-brand,#087b72);
  --p190-brand-soft:color-mix(in srgb,var(--p190-brand) 9%,#fff);
  --p190-brand-soft-2:color-mix(in srgb,var(--p190-brand) 15%,#fff);
  --p190-blue:#4169d8;--p190-violet:#7959d6;--p190-amber:#c98a2c;
  --p190-red:#c94f55;--p190-green:#268a65;
  --p190-shadow:0 8px 26px rgba(25,36,55,.055);
  --p190-shadow-lg:0 22px 55px rgba(25,36,55,.12);
  --p190-radius:16px;
  background:var(--p190-bg);color:var(--p190-ink)
}
html[data-theme="dark"] .portal-v190{
  --p190-bg:#10141c;--p190-surface:#171d27;--p190-surface-soft:#1b222d;--p190-surface-muted:#212a36;
  --p190-ink:#f1f4f8;--p190-ink-2:#c6d0dc;--p190-muted:#8d9bad;--p190-line:#293342;--p190-line-strong:#354255;
  --p190-brand-soft:color-mix(in srgb,var(--p190-brand) 17%,#171d27);--p190-brand-soft-2:color-mix(in srgb,var(--p190-brand) 24%,#171d27);
  --p190-shadow:0 8px 28px rgba(0,0,0,.16);--p190-shadow-lg:0 22px 60px rgba(0,0,0,.28)
}
.portal-v190 .client-shell{
  grid-template-columns:258px minmax(0,1fr);
  --portal-sidebar-width:258px;
  min-height:100vh;background:var(--p190-bg)
}
.portal-v190 .client-shell::before{
  background:var(--p190-surface);
  border-inline-end:1px solid var(--p190-line);
  box-shadow:none
}
.portal-v190 .client-sidebar{
  background:transparent;color:var(--p190-ink-2);
  padding:16px 12px 25px
}
.portal-v190 .client-side-brand{
  min-height:61px;padding:4px 7px 14px;margin-bottom:8px;border-color:var(--p190-line)
}
.portal-v190 .client-side-brand>a{gap:10px;color:var(--p190-ink)}
.portal-v190 .client-side-brand>a>span,.portal-v190 .client-side-brand>a>img{
  width:40px;height:40px;border-radius:12px
}
.portal-v190 .client-side-brand>a>span{
  background:linear-gradient(145deg,var(--p190-brand),color-mix(in srgb,var(--p190-brand) 65%,#355fd4));
  color:#fff;display:grid;place-items:center;font-size:9px;font-weight:800
}
.portal-v190 .client-side-brand>a>div b{font-size:13px;color:var(--p190-ink)}
.portal-v190 .client-side-brand>a>div small{font-size:7.5px;color:var(--p190-muted);letter-spacing:.09em}
.portal-v190 .portal-compact-toggle{
  width:29px;height:29px;border-radius:9px;background:var(--p190-surface-soft);
  border:1px solid var(--p190-line);color:var(--p190-muted)
}
.portal-v190 .portal-compact-toggle:hover,.portal-v190 .portal-compact-toggle.active{background:var(--p190-brand-soft);border-color:color-mix(in srgb,var(--p190-brand) 24%,var(--p190-line));color:var(--p190-brand)}
.portal-v190 .client-nav-tree{gap:4px}
.portal-v190 .client-nav-toggle,.portal-v190 .client-side-link{
  min-height:42px;border-radius:10px;margin:2px 0;padding:6px 8px;
  color:var(--p190-ink-2);font-size:10.5px;font-weight:650
}
.portal-v190 .client-nav-icon,.portal-v190 .client-side-link>span:first-child{
  width:30px;height:30px;border-radius:9px;background:var(--p190-surface-soft);
  border:1px solid var(--p190-line);color:#7d8a9f
}
.portal-v190 .client-nav-toggle:hover,.portal-v190 .client-side-link:hover{background:var(--p190-surface-soft);color:var(--p190-ink)}
.portal-v190 .client-nav-accordion.current>.client-nav-toggle,.portal-v190 .client-side-link.active{
  background:var(--p190-brand-soft);color:var(--p190-brand)
}
.portal-v190 .client-nav-accordion.current>.client-nav-toggle .client-nav-icon,.portal-v190 .client-side-link.active>span:first-child{
  background:var(--p190-brand-soft-2);border-color:color-mix(in srgb,var(--p190-brand) 15%,var(--p190-line));color:var(--p190-brand)
}
.portal-v190 .client-nav-chevron{color:#9aa5b5}
.portal-v190 .client-nav-submenu{
  margin-inline-start:15px;padding-inline-start:10px;border-color:var(--p190-line)
}
html[dir=rtl] .portal-v190 .client-nav-submenu{padding-inline-start:0;padding-inline-end:10px}
.portal-v190 .client-nav-submenu .client-side-link{min-height:35px;font-size:10px}
.portal-v190 .client-nav-submenu .client-side-link>span:first-child{width:25px;height:25px;background:transparent}
.portal-v190 .client-nav-badge{
  background:#fff2d9;color:#a86d13;border:1px solid #f3dfb7;font-size:7px
}
html[data-theme="dark"] .portal-v190 .client-nav-badge{background:#3b3020;border-color:#5b4727;color:#f0bd68}
.portal-v190 .client-side-foot{
  margin-top:18px;padding-top:12px;border-color:var(--p190-line)
}
.portal-v190 .client-side-foot a{
  color:var(--p190-muted);border-radius:9px;padding:7px 9px;font-size:9px
}
.portal-v190 .client-side-foot a:hover{background:var(--p190-surface-soft);color:var(--p190-ink)}

@media(min-width:851px){
  .portal-v190 .client-shell.sidebar-compact{grid-template-columns:82px minmax(0,1fr);--portal-sidebar-width:82px}
  .portal-v190 .sidebar-compact .client-nav-accordion:hover>.client-nav-submenu,
  .portal-v190 .sidebar-compact .client-nav-accordion:focus-within>.client-nav-submenu,
  .portal-v190 .sidebar-compact .client-nav-accordion.flyout-open>.client-nav-submenu{
    background:var(--p190-surface);border-color:var(--p190-line);box-shadow:var(--p190-shadow-lg)
  }
}

/* portal topbar */
.portal-v190 .client-topbar{
  height:76px;padding:0 24px;gap:18px;
  background:color-mix(in srgb,var(--p190-surface) 94%,transparent);
  border-color:var(--p190-line);backdrop-filter:blur(16px)
}
.portal-v190 .client-topbar-leading{min-width:180px;gap:12px}
.portal-v190 .v190-title{gap:2px}
.portal-v190 .v190-title .topbar-eyebrow{
  display:flex;align-items:center;gap:6px;margin:0;color:var(--p190-muted);
  font-size:8px;letter-spacing:.07em
}
.portal-v190 .v190-title .topbar-eyebrow b{color:var(--p190-brand)}
.portal-v190 .v190-title .topbar-eyebrow i{font-style:normal;color:#b5beca}
.portal-v190 .client-topbar-title h1{font-size:16px;color:var(--p190-ink);font-weight:760}
.portal-v190 .portal-command{
  position:relative;width:min(430px,33vw);min-width:210px;height:40px;
  display:flex;align-items:center;gap:8px;padding:0 10px;
  background:var(--p190-surface-soft);border:1px solid var(--p190-line);border-radius:11px
}
.portal-v190 .portal-command:focus-within{
  background:var(--p190-surface);
  border-color:color-mix(in srgb,var(--p190-brand) 40%,var(--p190-line));
  box-shadow:0 0 0 4px color-mix(in srgb,var(--p190-brand) 8%,transparent)
}
.portal-v190 .portal-command>span{color:#929eaf}
.portal-v190 .portal-command input{
  border:0!important;background:transparent!important;box-shadow:none!important;
  padding:0!important;min-width:0;height:100%;font-size:10.5px;color:var(--p190-ink)
}
.portal-v190 .portal-command kbd{
  margin-inline-start:auto;padding:3px 6px;border-radius:6px;border:1px solid var(--p190-line);
  background:var(--p190-surface);color:var(--p190-muted);font:700 7.5px/1.2 Inter,sans-serif;white-space:nowrap
}
.portal-v190 .portal-command-results{
  position:absolute;inset-inline:0;top:calc(100% + 8px);z-index:180;
  padding:7px;background:var(--p190-surface);border:1px solid var(--p190-line);border-radius:13px;
  box-shadow:var(--p190-shadow-lg);max-height:340px;overflow:auto
}
.portal-v190 .portal-command-results a{
  display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;
  min-height:40px;padding:5px 8px;border-radius:9px;text-decoration:none;color:var(--p190-ink-2)
}
.portal-v190 .portal-command-results a:hover,.portal-v190 .portal-command-results a.is-selected{background:var(--p190-brand-soft);color:var(--p190-brand)}
.portal-v190 .portal-command-results a span{width:28px;height:28px;border-radius:8px;background:var(--p190-surface-soft);display:grid;place-items:center}
.portal-v190 .portal-command-results a b{font-size:10px}
.portal-v190 .portal-command-empty{padding:15px;text-align:center;color:var(--p190-muted);font-size:10px}
.portal-v190 .client-topbar-actions{gap:7px}
.portal-v190 .client-top-pill,.portal-v190 .client-notify,.portal-v190 .client-user-chip,.portal-v190 .client-top-primary{
  height:38px;border-radius:10px;border:1px solid var(--p190-line);background:var(--p190-surface);box-shadow:none
}
.portal-v190 .client-top-pill{padding:7px 10px;color:var(--p190-ink-2)}
.portal-v190 .client-notify{width:38px;color:var(--p190-ink-2)}
.portal-v190 .client-notify b{background:var(--p190-red);color:#fff}
.portal-v190 .client-top-primary{
  display:inline-flex;align-items:center;gap:6px;padding:7px 11px;text-decoration:none;
  background:var(--p190-ink);border-color:var(--p190-ink);color:#fff;font-size:9.5px;font-weight:750
}
html[data-theme="dark"] .portal-v190 .client-top-primary{background:#f4f7fa;color:#121923;border-color:#f4f7fa}
.portal-v190 .client-user-chip{padding:4px 8px 4px 4px;color:var(--p190-ink)}
.portal-v190 .client-user-chip>span{width:29px;height:29px;border-radius:9px;background:var(--p190-brand-soft);color:var(--p190-brand)}
.portal-v190 .client-user-chip>div b{font-size:9px;color:var(--p190-ink)}
.portal-v190 .client-user-chip>div small{font-size:7.5px;color:var(--p190-muted)}
.portal-v190 .client-top-pill:hover,.portal-v190 .client-notify:hover,.portal-v190 .client-user-chip:hover{background:var(--p190-surface-soft);border-color:var(--p190-line-strong)}

/* portal content and generic components */
.portal-v190 .client-main{background:var(--p190-bg)}
.portal-v190 .client-content{max-width:1500px;padding:28px 28px 50px}
.portal-v190 .client-page-head{margin-bottom:18px}
.portal-v190 .client-page-head h2{font-size:21px;color:var(--p190-ink)}
.portal-v190 .client-page-head p{font-size:10px;color:var(--p190-muted)}
.portal-v190 .client-panel,.portal-v190 .client-form,.portal-v190 .client-detail-card,.portal-v190 .document-card,.portal-v190 .payment-method-card,.portal-v190 .quotation-card,.portal-v190 .invoice-detail-card{
  background:var(--p190-surface);border:1px solid var(--p190-line);border-radius:var(--p190-radius);box-shadow:var(--p190-shadow)
}
.portal-v190 .client-panel{padding:18px}
.portal-v190 .client-panel-head{margin-bottom:14px}
.portal-v190 .client-panel-head h3{font-size:13px;color:var(--p190-ink)}
.portal-v190 .client-panel-head>div>span{font-size:7.5px;color:var(--p190-muted);letter-spacing:.1em}
.portal-v190 .client-panel-head>a{font-size:9px;color:var(--p190-brand);font-weight:750}
.portal-v190 .client-btn{
  min-height:38px;border-radius:9px;padding:9px 13px;font-size:10px
}
.portal-v190 .client-btn.primary{background:var(--p190-brand);box-shadow:none}
.portal-v190 .client-btn.secondary{background:var(--p190-surface);border-color:var(--p190-line);color:var(--p190-ink-2)}
.portal-v190 .client-form label{color:var(--p190-ink-2);font-size:10px}
.portal-v190 .client-form input,.portal-v190 .client-form select,.portal-v190 .client-form textarea,.portal-v190 .ticket-reply textarea{
  border-color:var(--p190-line);background:var(--p190-surface-soft);color:var(--p190-ink);
  border-radius:9px;min-height:39px;font-size:10.5px
}
.portal-v190 .client-form input:focus,.portal-v190 .client-form select:focus,.portal-v190 .client-form textarea:focus,.portal-v190 .ticket-reply textarea:focus{
  background:var(--p190-surface);border-color:color-mix(in srgb,var(--p190-brand) 42%,var(--p190-line));
  box-shadow:0 0 0 4px color-mix(in srgb,var(--p190-brand) 8%,transparent)
}
.portal-v190 .client-table-wrap{border:1px solid var(--p190-line);border-radius:13px;background:var(--p190-surface)}
.portal-v190 .client-table th{background:var(--p190-surface-soft);color:#7a8799;border-color:var(--p190-line);font-size:7.7px}
.portal-v190 .client-table td{color:var(--p190-ink-2);border-color:var(--p190-line);font-size:9.8px}
.portal-v190 .client-table tbody tr:hover{background:var(--p190-brand-soft)}
.portal-v190 .document-actions a,.portal-v190 .document-actions button,.portal-v190 .notification-center-item form button{
  background:var(--p190-surface-soft);border-color:var(--p190-line);color:var(--p190-ink-2)
}

/* client/staff dashboards */
.v190-client-intro{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  padding:2px 0 19px;margin-bottom:13px;border-bottom:1px solid var(--p190-line)
}
.v190-client-intro>div:first-child{max-width:760px}
.v190-client-intro h2{color:var(--p190-ink)}
.v190-client-intro p{color:var(--p190-muted)}
.v190-next-step{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;
  min-height:78px;padding:12px 14px;margin-bottom:13px;text-decoration:none;
  background:var(--p190-surface);border:1px solid var(--p190-line);border-radius:14px;box-shadow:var(--p190-shadow)
}
.v190-next-step:hover{border-color:color-mix(in srgb,var(--p190-brand) 28%,var(--p190-line));background:var(--p190-brand-soft)}
.v190-next-icon{width:42px;height:42px;border-radius:12px;background:var(--p190-brand-soft);color:var(--p190-brand);display:grid;place-items:center;font-size:16px}
.v190-next-step>div{min-width:0}
.v190-next-step small{display:block;font-size:7px;letter-spacing:.1em;color:var(--p190-muted)}
.v190-next-step b{display:block;margin:3px 0;font-size:11px;color:var(--p190-ink)}
.v190-next-step p{margin:0;font-size:8.5px;color:var(--p190-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v190-next-step>strong{font-size:9px;color:var(--p190-brand);white-space:nowrap}
.v190-portal-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:13px}
.portal-v190 .v190-portal-stats .client-stat{
  min-height:122px;padding:15px;border-radius:15px;background:var(--p190-surface);border-color:var(--p190-line);box-shadow:var(--p190-shadow)
}
.portal-v190 .v190-portal-stats .client-stat:before{height:2px}
.portal-v190 .v190-portal-stats .client-stat .icon{width:35px;height:35px;border-radius:10px}
.portal-v190 .v190-portal-stats .client-stat b{font-size:25px;color:var(--p190-ink)}
.portal-v190 .v190-portal-stats .client-stat small{font-size:8.5px;color:var(--p190-muted)}
.portal-v190 .v190-portal-stats .client-stat em{font-size:7.5px;color:var(--p190-muted)}
.v190-portal-quick{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:13px
}
.v190-portal-quick>a{
  display:flex;align-items:center;gap:10px;min-height:64px;padding:10px 12px;
  background:var(--p190-surface);border:1px solid var(--p190-line);border-radius:12px;text-decoration:none;
  color:var(--p190-ink-2)
}
.v190-portal-quick>a:hover{background:var(--p190-brand-soft);border-color:color-mix(in srgb,var(--p190-brand) 18%,var(--p190-line))}
.v190-portal-quick>a>span{width:33px;height:33px;border-radius:9px;background:var(--p190-surface-soft);border:1px solid var(--p190-line);display:grid;place-items:center;color:var(--p190-brand)}
.v190-portal-quick>a>div{min-width:0}.v190-portal-quick b{display:block;font-size:9.5px;color:var(--p190-ink)}.v190-portal-quick small{display:block;font-size:7.5px;color:var(--p190-muted);margin-top:2px}
.v190-portal-grid{gap:13px;margin-bottom:13px}
.portal-v190 .v190-portal-list>a{background:var(--p190-surface-soft);border-color:var(--p190-line);border-radius:10px;padding:9px}
.portal-v190 .v190-portal-list>a:hover{background:var(--p190-brand-soft);border-color:color-mix(in srgb,var(--p190-brand) 16%,var(--p190-line))}
.portal-v190 .v190-portal-list .list-avatar{background:var(--p190-surface);border:1px solid var(--p190-line);color:var(--p190-brand)}
.portal-v190 .client-notification-list>a{border-color:var(--p190-line)}
.portal-v190 .client-notification-list>a:hover{background:var(--p190-surface-soft)}
.portal-v190 .staff-today-card,.portal-v190 .staff-profile-summary>div{
  background:var(--p190-surface-soft);border-color:var(--p190-line)
}
.portal-v190 .staff-time-pair>div{background:var(--p190-surface);border-color:var(--p190-line)}
.portal-v190 .status-orb{background:var(--p190-surface-muted);color:var(--p190-muted)}
.portal-v190 .status-orb.active{background:var(--p190-brand-soft);color:var(--p190-brand)}

/* statuses */
.portal-v190 .client-status{border:1px solid transparent}
.portal-v190 .client-status.active,.portal-v190 .client-status.paid,.portal-v190 .client-status.completed,.portal-v190 .client-status.resolved,.portal-v190 .client-status.confirmed{background:#edf8f3;color:#247755;border-color:#d5eee2}
.portal-v190 .client-status.pending,.portal-v190 .client-status.submitted,.portal-v190 .client-status.open,.portal-v190 .client-status.sent,.portal-v190 .client-status.partial,.portal-v190 .client-status.in_review{background:#eff4ff;color:#4167b6;border-color:#dce5f8}
.portal-v190 .client-status.in_progress,.portal-v190 .client-status.pending_client,.portal-v190 .client-status.awaiting_client{background:#fff8e9;color:#a87220;border-color:#f3e3bd}
.portal-v190 .client-status.rejected,.portal-v190 .client-status.suspended,.portal-v190 .client-status.cancelled,.portal-v190 .client-status.overdue{background:#fff1f2;color:#b4474d;border-color:#f0d6d8}
html[data-theme="dark"] .portal-v190 .client-status.active,html[data-theme="dark"] .portal-v190 .client-status.paid,html[data-theme="dark"] .portal-v190 .client-status.completed,html[data-theme="dark"] .portal-v190 .client-status.resolved,html[data-theme="dark"] .portal-v190 .client-status.confirmed{background:#172b23;border-color:#294b3d}
html[data-theme="dark"] .portal-v190 .client-status.pending,html[data-theme="dark"] .portal-v190 .client-status.submitted,html[data-theme="dark"] .portal-v190 .client-status.open,html[data-theme="dark"] .portal-v190 .client-status.sent,html[data-theme="dark"] .portal-v190 .client-status.partial,html[data-theme="dark"] .portal-v190 .client-status.in_review{background:#1b253c;border-color:#2d4166}
html[data-theme="dark"] .portal-v190 .client-status.in_progress,html[data-theme="dark"] .portal-v190 .client-status.pending_client,html[data-theme="dark"] .portal-v190 .client-status.awaiting_client{background:#2a2518;border-color:#4d4125}
html[data-theme="dark"] .portal-v190 .client-status.rejected,html[data-theme="dark"] .portal-v190 .client-status.suspended,html[data-theme="dark"] .portal-v190 .client-status.cancelled,html[data-theme="dark"] .portal-v190 .client-status.overdue{background:#2e1d21;border-color:#4e2e34}

/* dark generic */
html[data-theme="dark"] .portal-v190 :where(.client-panel,.client-form,.client-detail-card,.document-card,.payment-method-card,.quotation-card,.invoice-detail-card,.client-table-wrap,.ticket-message,.client-message-box,.notification-center-item){background:var(--p190-surface);border-color:var(--p190-line);color:var(--p190-ink)}
html[data-theme="dark"] .portal-v190 .client-table th{background:var(--p190-surface-soft)}

/* responsive portals */
@media(max-width:1180px){
  .portal-v190 .client-shell:not(.sidebar-compact){grid-template-columns:230px minmax(0,1fr);--portal-sidebar-width:230px}
  .portal-v190 .portal-command{width:min(350px,29vw)}
  .v190-portal-stats,.v190-portal-quick{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .portal-v190 .client-top-primary span{display:none}
  .v190-client-intro{align-items:flex-start;flex-direction:column;gap:13px}
  .v190-intro-actions{justify-content:flex-start}
}
@media(max-width:850px){
  .portal-v190 .client-shell{grid-template-columns:1fr!important}
  .portal-v190 .client-shell::before{display:none}
  .portal-v190 .client-sidebar{background:var(--p190-surface);border-inline-end:1px solid var(--p190-line)}
  .portal-v190 .client-topbar{height:69px;padding:0 14px}
  .portal-v190 .portal-command{display:none}
  .portal-v190 .client-content{padding:21px 14px 40px}
  .v190-client-intro h2{font-size:23px}
}
@media(max-width:620px){
  .portal-v190 .client-user-chip>div,.portal-v190 .client-user-chip>i,.portal-v190 .client-top-primary{display:none}
  .portal-v190 .client-topbar-actions{gap:4px}
  .portal-v190 .v190-title .topbar-eyebrow{display:none}
  .v190-portal-stats,.v190-portal-quick{grid-template-columns:1fr}
  .v190-next-step{grid-template-columns:auto minmax(0,1fr)}
  .v190-next-step>strong{grid-column:2}
  .v190-next-step p{white-space:normal}
}

/* =========================================================
   v1.9.0 — Portal detail surfaces and interaction polish
   ========================================================= */
.portal-v190 :where(.client-message-box,.request-detail,.quotation-card,.invoice-detail-card,.payment-submit-card,.payment-method-card,.ticket-message,.ticket-reply,.security-facts,.notification-center-item,.document-card,.activity-list>div){
  min-width:0;max-width:100%;background:var(--p190-surface);border:1px solid var(--p190-line);border-radius:14px;box-shadow:none;color:var(--p190-ink)
}
.portal-v190 :where(.client-message-box,.request-detail,.quotation-card,.invoice-detail-card,.payment-submit-card,.ticket-reply,.security-facts){padding:16px}
.portal-v190 :where(.client-detail-grid,.client-quote-summary,.payment-method-grid,.document-grid,.staff-fact-grid){gap:11px}
.portal-v190 :where(.client-detail-grid>div,.client-quote-summary>div,.security-facts>div,.staff-fact){
  min-width:0;background:var(--p190-surface-soft);border:1px solid var(--p190-line);border-radius:11px;padding:11px 12px
}
.portal-v190 :where(.client-detail-grid small,.client-quote-summary small,.security-facts small,.staff-fact small){color:var(--p190-muted);font-weight:700}
.portal-v190 :where(.client-detail-grid b,.client-quote-summary b,.security-facts b,.staff-fact b){color:var(--p190-ink)}
.portal-v190 .client-message-box.accent,
.portal-v190 .ticket-message.mine,
.portal-v190 .invoice-ready{background:var(--p190-brand-soft);border-color:color-mix(in srgb,var(--p190-brand) 18%,var(--p190-line))}
.portal-v190 .payment-method-card{padding:14px;transition:.16s ease}
.portal-v190 .payment-method-card:hover{border-color:color-mix(in srgb,var(--p190-brand) 28%,var(--p190-line));transform:translateY(-1px)}
.portal-v190 .payment-review-note{background:var(--p190-surface-soft);border:1px solid var(--p190-line);border-radius:11px;color:var(--p190-ink-2)}
.portal-v190 .client-form-section{padding:15px 0;border-color:var(--p190-line)}
.portal-v190 .client-form-section:first-child{padding-top:0}
.portal-v190 .client-form-footer{border-color:var(--p190-line);padding-top:14px}
.portal-v190 .ticket-thread{display:grid;gap:9px}
.portal-v190 .ticket-message{padding:12px 14px}
.portal-v190 .ticket-message-meta{color:var(--p190-muted)}
.portal-v190 .ticket-reply textarea{background:var(--p190-surface);border-color:var(--p190-line);color:var(--p190-ink)}
.portal-v190 .notification-center-list{display:grid;gap:8px}
.portal-v190 .notification-center-item{padding:12px 14px;transition:.15s ease}
.portal-v190 .notification-center-item:hover{border-color:color-mix(in srgb,var(--p190-brand) 20%,var(--p190-line));background:var(--p190-surface-soft)}
.portal-v190 .notification-body{min-width:0}
.portal-v190 .activity-list{display:grid;gap:8px}
.portal-v190 .activity-list>div{padding:11px 13px}
.portal-v190 .document-card{padding:14px;transition:.15s ease}
.portal-v190 .document-card:hover{border-color:color-mix(in srgb,var(--p190-brand) 24%,var(--p190-line));transform:translateY(-1px)}
.portal-v190 .document-icon{background:var(--p190-brand-soft);color:var(--p190-brand);border:1px solid color-mix(in srgb,var(--p190-brand) 14%,var(--p190-line))}
.portal-v190 .document-actions{gap:7px}
.portal-v190 .client-account-badge{background:var(--p190-brand-soft);color:var(--p190-brand);border:1px solid color-mix(in srgb,var(--p190-brand) 15%,var(--p190-line))}
.portal-v190 .client-alert{border-radius:12px;box-shadow:none}
.portal-v190 .client-alert.success{background:#edf8f3;border-color:#d5eee2;color:#247755}
.portal-v190 .client-alert.warning{background:#fff8e9;border-color:#f3e3bd;color:#91631f}
.portal-v190 .client-alert.danger,.portal-v190 .client-alert.error{background:#fff1f2;border-color:#f0d6d8;color:#a73d44}
.portal-v190 .client-alert.info{background:#eff4ff;border-color:#dce5f8;color:#3f62a6}
.portal-v190 .client-empty{border:1px dashed var(--p190-line);border-radius:13px;background:var(--p190-surface-soft);color:var(--p190-muted);padding:25px}
.portal-v190 .client-small-link,.portal-v190 .client-link-inline{color:var(--p190-brand);font-weight:750}
.portal-v190 .client-check{background:var(--p190-surface-soft);border:1px solid var(--p190-line);border-radius:10px}
html[data-theme="dark"] .portal-v190 .client-alert.success{background:#172b23;border-color:#294b3d;color:#8ed2b3}
html[data-theme="dark"] .portal-v190 .client-alert.warning{background:#2a2518;border-color:#4d4125;color:#e1bb70}
html[data-theme="dark"] .portal-v190 .client-alert.danger,html[data-theme="dark"] .portal-v190 .client-alert.error{background:#2e1d21;border-color:#4e2e34;color:#e09298}
html[data-theme="dark"] .portal-v190 .client-alert.info{background:#1b253c;border-color:#2d4166;color:#9bb9ed}

/* =========================================================
   AlSalim Business Suite v2.0.1 — Client Portal Spacing Audit
   ========================================================= */
.portal-v190{
  --portal-content-gap:16px;--portal-card-gap:16px;--portal-text-gap:9px
}
.portal-v190 .client-content > :where(
  .client-stats,.client-mini-stats,.client-grid-2,.client-panel,.client-form,.client-detail-card,.document-grid,
  .payment-method-grid,.quotation-card,.invoice-detail-card,.client-alert,.client-empty,.notification-center-list,
  .activity-list,.staff-fact-grid,.staff-clock
) + :where(
  .client-stats,.client-mini-stats,.client-grid-2,.client-panel,.client-form,.client-detail-card,.document-grid,
  .payment-method-grid,.quotation-card,.invoice-detail-card,.client-alert,.client-empty,.notification-center-list,
  .activity-list,.staff-fact-grid,.staff-clock
){margin-block-start:var(--portal-content-gap)}
.portal-v190 .client-content > .client-alert + :where(.client-panel,.client-form,.client-grid-2,.client-stats,.client-mini-stats){margin-block-start:var(--portal-content-gap)}
.portal-v190 .client-content > :where(.client-panel,.client-form,.client-grid-2,.client-stats,.client-mini-stats) + .client-alert{margin-block-start:var(--portal-content-gap)}

.portal-v190 :where(.client-stats,.client-mini-stats,.client-grid-2,.client-detail-grid,.client-quote-summary,.payment-method-grid,.document-grid,.staff-fact-grid){gap:var(--portal-card-gap)}
.portal-v190 .client-grid-2{margin-block-start:0}
.portal-v190 .client-panel-space{margin-block-start:var(--portal-content-gap)}
.portal-v190 .client-page-head{margin-block-end:20px}
.portal-v190 .client-page-head p{margin-block-start:5px;line-height:1.7}
.portal-v190 .client-panel-head{margin-block-end:14px}

.portal-v190 :where(.client-panel,.client-form,.client-detail-card,.quotation-card,.invoice-detail-card,.document-card,.payment-method-card) > p{
  margin:0 0 var(--portal-text-gap);line-height:1.75
}
.portal-v190 :where(.client-panel,.client-form,.client-detail-card,.quotation-card,.invoice-detail-card,.document-card,.payment-method-card) > p:last-child{margin-block-end:0}
.portal-v190 :where(.client-panel,.client-form,.client-detail-card) > :where(h2,h3,h4){margin-block-start:0;margin-block-end:10px}
.portal-v190 .client-panel-head :where(h2,h3,h4,p){margin-block-start:0}
.portal-v190 .client-panel-head p{margin-block-end:0}

.portal-v190 .client-form :where(.client-form-grid,.client-form-section) + .client-form-footer{margin-block-start:14px}
.portal-v190 :where(.client-list,.client-detail-grid,.notification-center-list,.activity-list,.document-grid,.ticket-thread) + .client-form-footer{margin-block-start:14px}
.portal-v190 .ticket-reply{margin-block-start:14px}

/* Client authentication pages also use client.css. */
.client-auth-card form > .client-btn + .client-btn{margin-block-start:10px}
.client-auth-heading p{line-height:1.75}

@media(max-width:760px){
  .portal-v190{--portal-content-gap:14px;--portal-card-gap:14px}
  .portal-v190 .client-content{padding:20px 16px 34px}
  .portal-v190 .client-page-head{margin-block-end:16px}
}
