.notice{display:flex;align-items:center;justify-content:space-between;gap:12px}.notice-dismiss{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text);font-size:18px;line-height:1}.ticket-close-form{margin:0}.ticket-close-form .button{white-space:nowrap}
html{touch-action:manipulation}:root{--bg:#f5f5f5;--surface:#fff;--surface-2:#fafafa;--text:#111;--muted:#6a6a6a;--line:#dedede;--line-strong:#b9b9b9;--inverse:#fff;--accent:#111;--success:#1e1e1e;--danger:#313131;--radius:14px;--shadow:0 18px 60px rgba(0,0,0,.07);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.portal-shell{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:28px 20px 22px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;align-items:center;min-height:48px}.brand img,.auth-brand img{display:block;width:142px;height:44px;object-fit:contain}.logo-pair{display:block;position:relative;width:142px;height:44px}.logo-pair .logo-dark{display:none}[data-theme="dark"] .logo-pair .logo-light{display:none}[data-theme="dark"] .logo-pair .logo-dark{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo-pair .logo-light{display:none}:root:not([data-theme="light"]) .logo-pair .logo-dark{display:block}}.portal-name{margin:24px 10px 12px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.sidebar nav{display:grid;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid transparent;border-radius:10px;color:var(--muted);font-weight:560}.sidebar nav a:hover,.sidebar nav a.active{background:var(--text);color:var(--inverse)}.sidebar-footer{margin-top:auto;padding:16px 12px 0;border-top:1px solid var(--line)}.logout-button{padding:0;border:0;background:transparent;color:var(--muted);text-align:left}.logout-button:hover{color:var(--text)}.workspace{min-width:0}.topbar{height:76px;padding:0 clamp(20px,4vw,54px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:16px;background:color-mix(in srgb,var(--bg) 90%,transparent);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.topbar-user{display:grid;text-align:right}.topbar-user span{font-weight:650}.topbar-user small{color:var(--muted)}.theme-toggle{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--surface)}.mobile-nav{display:none;margin-right:auto;position:relative}.mobile-nav summary{list-style:none;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-weight:600;cursor:pointer}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-panel{position:absolute;top:48px;left:0;width:230px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);display:grid;gap:4px}.mobile-panel a,.mobile-panel .logout-button{width:100%;padding:10px;border-radius:8px}.mobile-panel a:hover,.mobile-panel .logout-button:hover{background:var(--surface-2)}.content{width:min(1500px,100%);margin:0 auto;padding:42px clamp(20px,4vw,54px) 80px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading p,.auth-heading p{margin:0 0 6px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.page-heading h1{margin:0;font-size:clamp(28px,4vw,42px);line-height:1.1;letter-spacing:-.04em}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.stat,.card,.table-card,.empty-state,.form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.stat{padding:20px}.stat span{display:block;color:var(--muted);font-size:13px}.stat strong{display:block;margin-top:8px;font-size:30px;letter-spacing:-.04em}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card,.form-card{padding:24px}.card h2,.form-card h2,.empty-state h2{margin:0 0 8px;font-size:18px}.card p,.empty-state p{margin:0;color:var(--muted)}.card-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border:1px solid var(--text);border-radius:9px;background:var(--text);color:var(--inverse);font-weight:650}.button.secondary{background:transparent;color:var(--text);border-color:var(--line-strong)}.button.danger{background:transparent;color:var(--text);border-color:var(--text)}.button.small{min-height:34px;padding:6px 11px;font-size:13px}.button:hover{opacity:.8}.notice{margin:0 0 20px;padding:13px 15px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface)}.notice-success{border-color:#77c48a;background:#eaf8ee;color:#126b2d}.notice-error{border-color:#e08b8b;border-style:solid;background:#fff0f0;color:#a51f1f}.notice-warning{border-color:#d9b94c;background:#fff8d8;color:#735600}.notice-info{border-color:#80acd9;background:#edf6ff;color:#1e5f99}[data-theme="dark"] .notice-success{border-color:#2f7f48;background:#102f1a;color:#79d796}[data-theme="dark"] .notice-error{border-color:#8d3a3a;background:#321414;color:#ff9999}[data-theme="dark"] .notice-warning{border-color:#80671e;background:#332a0c;color:#f0cf63}[data-theme="dark"] .notice-info{border-color:#315f89;background:#10283d;color:#8bc7fa}.table-card{overflow:hidden}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:var(--surface-2)}tbody tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border:1px solid var(--line-strong);border-radius:999px;font-size:12px;white-space:nowrap}.badge-active,.badge-paid,.badge-resolved{background:var(--text);color:var(--inverse);border-color:var(--text)}.badge-suspended,.badge-high,.badge-failed{border-style:dashed}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:650}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);padding:11px 12px;outline:none}.field textarea{min-height:128px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--text);box-shadow:0 0 0 2px color-mix(in srgb,var(--text) 12%,transparent)}.form-actions{display:flex;gap:10px;align-items:center;margin-top:20px}.empty-state{padding:58px 24px;text-align:center}.empty-icon{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 16px;border:1px solid var(--line-strong);border-radius:50%;font-size:24px}.empty-state .button{margin-top:20px}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:30px;background:var(--bg)}.auth-shell{width:min(440px,100%);display:grid;justify-items:stretch}.auth-brand{display:flex;justify-content:center;margin-bottom:28px}.auth-card{padding:34px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.auth-heading{text-align:center;margin-bottom:24px}.auth-heading h1{margin:0 0 8px;font-size:30px;letter-spacing:-.04em}.auth-heading span{color:var(--muted)}.auth-card form{display:grid;gap:15px}.auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:20px;font-size:13px}.auth-back{text-align:center;color:var(--muted);font-size:13px}.ticket-thread{display:grid;gap:12px}.message{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.message header{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.message p{margin:0;white-space:pre-wrap}.message.internal{border-style:dashed}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.filters{display:flex;gap:10px;flex-wrap:wrap}.muted{color:var(--muted)}.detail-list{display:grid;gap:12px}.detail-row{display:flex;justify-content:space-between;gap:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}.detail-row:last-child{border-bottom:0}.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline-form select{padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.mt-14{margin-top:14px}.mt-18{margin-top:18px}.mt-24{margin-top:24px}.checkbox-line{display:flex;gap:8px;margin-top:12px}
[data-theme="dark"]{--bg:#0b0b0b;--surface:#121212;--surface-2:#181818;--text:#f4f4f4;--muted:#a7a7a7;--line:#2c2c2c;--line-strong:#555;--inverse:#090909;--accent:#f4f4f4;--shadow:0 18px 60px rgba(0,0,0,.42);color-scheme:dark}[data-theme="dark"] picture img{filter:none}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0b0b0b;--surface:#121212;--surface-2:#181818;--text:#f4f4f4;--muted:#a7a7a7;--line:#2c2c2c;--line-strong:#555;--inverse:#090909;--accent:#f4f4f4;--shadow:0 18px 60px rgba(0,0,0,.42);color-scheme:dark}}
.nav-icon{width:19px;height:19px;flex:0 0 auto}.nav-group{display:block;padding:17px 12px 6px;color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.status-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:currentColor}.badge-active{color:#16803c}.badge-inactive,.badge-cancelled{color:#c33232}.badge-suspended{color:#c58a00}.client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:18px}.pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:24px 0}.pagination a{min-width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--surface);transition:background-color .18s ease,color .18s ease}.pagination a:hover,.pagination a.active{background:var(--text);color:var(--inverse)}.button.danger{border-color:#c33232;color:#c33232}.button.danger:hover{background:#c33232;color:#fff}.sidebar nav a,.mobile-panel a,.button,.card{transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.card:hover{transform:translateY(-2px)}
.message-role-client{border-color:#b7d3f4;background:#edf5ff}.message-role-admin{border-color:#a9d8bc;background:#eef9f2}.message-role-label{display:inline-flex;margin-left:8px;padding:2px 7px;border:1px solid currentColor;border-radius:999px;font-size:10px;font-weight:750;letter-spacing:.04em;vertical-align:middle}.message-role-client .message-role-label{color:#245f9e}.message-role-admin .message-role-label{color:#237545}[data-theme="dark"] .message-role-client{border-color:#315b86;background:#12263a}[data-theme="dark"] .message-role-admin{border-color:#326748;background:#122b1d}[data-theme="dark"] .message-role-client .message-role-label{color:#8fc5ff}[data-theme="dark"] .message-role-admin .message-role-label{color:#8be0aa}
@media(max-width:900px){.portal-shell{display:block}.sidebar{display:none}.topbar{justify-content:flex-end}.mobile-nav{display:block}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding-top:30px}}
.badge-active{background:#edf8f0;color:#16803c;border-color:#9fd7ae}.logout-button{width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--text);display:flex;align-items:center;gap:10px;font-weight:650;text-align:left;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.logout-button:hover{background:var(--text);color:var(--inverse);border-color:var(--text);transform:translateY(-1px)}.badge-used{background:#edf5ff;color:#155eaa;border-color:#99bfe8}.badge-revoked{background:#fff2f2;color:#b42323;border-color:#e8aaaa}.badge-inactive,.badge-cancelled{background:#fff2f2}.badge-suspended{background:#fff8e6}[data-theme="dark"] .badge-active{background:#12341e;color:#6dd58c;border-color:#286b3c}[data-theme="dark"] .badge-used{background:#12283d;color:#9bcbf5;border-color:#2e5d86}[data-theme="dark"] .badge-revoked{background:#381818;color:#ff9999;border-color:#7e3030}[data-theme="dark"] .badge-inactive,[data-theme="dark"] .badge-cancelled{background:#381818}[data-theme="dark"] .badge-suspended{background:#3a2b0b}
.badge-pending{background:#f6f2e8;color:#8a6200;border-color:#d9c58b}.badge-overdue{background:#fff2f2;color:#c33232;border-color:#e0a1a1}[data-theme="dark"] .badge-pending{background:#332b16;color:#e6c76c}[data-theme="dark"] .badge-overdue{background:#381818;color:#ef8d8d}
.badge-paused{background:#fff8e6;color:#9a6900;border-color:#dfbf67}.badge-past_due{background:#fff2f2;color:#c33232;border-color:#e0a1a1}.badge-paid{background:#edf8f0;color:#16803c;border-color:#9fd7ae}[data-theme="dark"] .badge-paused{background:#3a2b0b;color:#edc75f;border-color:#80621f}[data-theme="dark"] .badge-past_due{background:#381818;color:#ef8d8d;border-color:#7a3030}[data-theme="dark"] .badge-paid{background:#12341e;color:#6dd58c;border-color:#286b3c}
.badge-low,.badge-resolved{color:#14783a;background:#edf8f0;border-color:#9fd7ae}.badge-medium,.badge-in_progress,.badge-waiting_client{color:#996400;background:#fff8e5;border-color:#eccb78}.badge-high{color:#b3261e;background:#fff1f0;border-color:#efaaa5}.badge-new{color:#155eaa;background:#edf5ff;border-color:#99bfe8}.badge-client_replied{color:#6c3bb4;background:#f5efff;border-color:#c7acec}[data-theme="dark"] .badge-low,[data-theme="dark"] .badge-resolved{background:#12341e;color:#6dd58c;border-color:#286b3c}[data-theme="dark"] .badge-medium,[data-theme="dark"] .badge-in_progress,[data-theme="dark"] .badge-waiting_client{background:#3a2b0b;color:#f0c75e;border-color:#76591e}[data-theme="dark"] .badge-high{background:#381818;color:#ff9999;border-color:#7e3030}[data-theme="dark"] .badge-new{background:#12283d;color:#9bcbf5;border-color:#2e5d86}[data-theme="dark"] .badge-client_replied{background:#281b3d;color:#cdb0fa;border-color:#5b3d87}.badge-cancellation-scheduled{background:#fff8e6;color:#8a6200;border-color:#d9c58b}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}.profile-section-actions{display:flex;justify-content:flex-end;margin-bottom:14px}.subscription-order-modal [hidden]{display:none!important}.host-type-field{padding:0;border:0}.host-type-field legend{margin-bottom:8px;font-weight:700}.segmented-control{display:inline-flex;padding:4px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.segmented-control label{position:relative;cursor:pointer}.segmented-control input{position:absolute;opacity:0}.segmented-control span{display:block;padding:9px 18px;border-radius:8px;color:var(--muted);font-weight:700}.segmented-control input:checked+span{background:var(--text);color:var(--inverse)}.domain-suffix-input{display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);overflow:hidden}.domain-suffix-input input{border:0!important;box-shadow:none!important}.domain-suffix-input span{padding:0 14px;color:var(--muted);white-space:nowrap;border-left:1px solid var(--line)}.modal{width:min(620px,calc(100% - 32px));border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);padding:0;box-shadow:var(--shadow)}.modal::backdrop{background:rgba(0,0,0,.5);backdrop-filter:blur(3px)}.modal-inner{padding:24px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.modal-header h2{margin:0}.detail-grid .card{display:grid;gap:7px}.detail-grid .card>span{color:var(--muted);font-size:12px}.detail-grid .badge{width:max-content;justify-self:start;align-self:start}.phone-inline{display:grid;grid-template-columns:minmax(180px,220px) minmax(0,1fr);gap:10px}.table-primary-detail{display:block;color:var(--muted)}.ticket-dropzone{display:grid;place-items:center;gap:7px;min-height:130px;margin:16px 0;padding:20px;border:1px dashed var(--line-strong);border-radius:12px;background:var(--surface-2);text-align:center}.ticket-dropzone.dragging{border-color:var(--text);background:var(--surface)}.ticket-dropzone>span{color:var(--muted);font-size:12px}.ticket-attachment-preview,.ticket-message-attachments{display:grid;gap:8px;margin:10px 0}.ticket-attachment-card{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:10px}.ticket-attachment-open{flex:1;padding:4px;border:0;background:transparent;text-align:left}.ticket-attachment-remove{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.ticket-attachment-link{display:block;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.attachment-preview-dialog{width:min(850px,calc(100% - 32px));height:min(720px,calc(100% - 32px));padding:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text)}.attachment-preview-dialog::backdrop{background:rgba(0,0,0,.65)}.attachment-preview-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.attachment-preview-content{height:calc(100% - 58px);display:grid;place-items:center;padding:14px}.attachment-preview-content img,.attachment-preview-content iframe{width:100%;height:100%;object-fit:contain;border:0}.icon-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
@media(min-width:621px){.client-subscriptions-table th:nth-child(n+2),.client-subscriptions-table td:nth-child(n+2){text-align:center}.client-invoices-table th:nth-child(n+2),.client-invoices-table td:nth-child(n+2){text-align:center}.client-support-table th:nth-child(n+2),.client-support-table td:nth-child(n+2){text-align:center}}
@media(max-width:620px){.phone-inline{grid-template-columns:1fr}.topbar{height:68px;padding:0 16px}.topbar-user{display:none}.content{padding:26px 16px 60px}.stats,.grid,.form-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column}.auth-page{padding:18px}.auth-card{padding:25px 20px}.toolbar{align-items:flex-start;flex-direction:column}.table-card{border:0;background:transparent}.table-wrap{overflow:visible}table,thead,tbody,tr,th,td{display:block}thead{display:none}tbody{display:grid;gap:12px}tbody tr{padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px}tbody td{display:grid;grid-template-columns:115px 1fr;gap:10px;padding:8px 0;border:0}tbody td::before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.inline-form{align-items:stretch;flex-direction:column}}
.ticket-detail-page{scroll-behavior:smooth}.ticket-detail-workspace{width:100%;min-width:0}.ticket-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.ticket-detail-header h1{margin:5px 0 9px;font-size:clamp(22px,2vw,30px);line-height:1.18}.ticket-back-link,.ticket-conversation-header a,.ticket-composer-heading a{color:var(--muted);font-size:13px;font-weight:700}.ticket-back-link:hover,.ticket-conversation-header a:hover,.ticket-composer-heading a:hover{color:var(--text)}.ticket-header-badges{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.ticket-conversation-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:18px}.ticket-conversation-panel{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 10px 34px rgba(0,0,0,.04)}.ticket-conversation-header,.ticket-composer-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.ticket-conversation-header{padding:13px 16px;border-bottom:1px solid var(--line);background:var(--surface-2)}.ticket-conversation-header h2,.ticket-composer-heading h2,.ticket-sidebar-card h2{margin:0}.ticket-conversation-header h2{font-size:17px}.ticket-conversation-header span{display:block;color:var(--muted);font-size:12px}.ticket-thread-scroll{display:grid;gap:10px;max-height:clamp(360px,55vh,650px);padding:16px;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;scroll-padding:16px}.ticket-thread-scroll .message{width:min(82%,720px);margin:0;padding:11px 13px;border:1px solid var(--line);border-radius:14px;box-shadow:none;scroll-margin:14px}.ticket-thread-scroll .message-role-client{justify-self:start}.ticket-thread-scroll .message-role-admin{justify-self:end}.ticket-thread-scroll .message header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ticket-thread-scroll .message header>strong{min-width:0}.ticket-thread-scroll .message header>.muted{white-space:nowrap;font-size:11px}.ticket-thread-scroll .message p{margin:7px 0 0;overflow-wrap:anywhere;line-height:1.48}.ticket-message-attachments,.message-attachments{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.ticket-attachment-link{font-size:12px}.ticket-inline-composer{padding:15px 16px 16px;border-top:1px solid var(--line);background:var(--surface-2);scroll-margin-top:86px}.ticket-composer-heading{margin-bottom:11px}.ticket-composer-heading h2{font-size:17px}.ticket-inline-composer textarea{min-height:96px;resize:vertical}.ticket-inline-composer .ticket-dropzone{min-height:74px;margin:10px 0;padding:12px}.ticket-inline-composer .form-actions{margin-top:10px}.ticket-closed-notice{padding:15px 16px;border-top:1px solid var(--line);color:var(--muted);background:var(--surface-2)}.ticket-detail-sidebar{position:sticky;top:84px;display:grid;gap:12px;min-width:0}.ticket-sidebar-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.ticket-sidebar-card h2{margin-bottom:11px;font-size:15px}.ticket-sidebar-card dl{display:grid;gap:0;margin:0}.ticket-sidebar-card dl>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line)}.ticket-sidebar-card dl>div:first-child{padding-top:0;border-top:0}.ticket-sidebar-card dl>div:last-child{padding-bottom:0}.ticket-sidebar-card dt{color:var(--muted);font-size:12px}.ticket-sidebar-card dd{margin:0;text-align:right;font-weight:650}.ticket-sidebar-card .badge{width:max-content}.message-role-client{border-color:#b7d3f4;background:#edf5ff}.message-role-admin{border-color:#a9d8bc;background:#eef9f2}.message-role-admin{justify-self:end}[data-theme="dark"] .ticket-conversation-panel,[data-theme="dark"] .ticket-sidebar-card{box-shadow:none}@media(max-width:1000px){.ticket-conversation-layout{grid-template-columns:1fr}.ticket-detail-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.ticket-detail-header{align-items:stretch;flex-direction:column}.ticket-detail-header>.button{width:100%}.ticket-thread-scroll{max-height:none;padding:12px;overflow:visible}.ticket-thread-scroll .message{width:94%;padding:10px 12px}.ticket-thread-scroll .message header{display:grid;gap:3px}.ticket-thread-scroll .message header>.muted{white-space:normal}.ticket-conversation-header,.ticket-inline-composer{padding-right:12px;padding-left:12px}.ticket-detail-sidebar{grid-template-columns:1fr}.ticket-conversation-header>a{max-width:120px;text-align:right}.ticket-sidebar-card dl>div{align-items:flex-start}.ticket-sidebar-card dd{max-width:65%}}
.client-profile-page{height:calc(100vh - 76px);overflow:hidden;padding-top:24px;padding-bottom:18px}.client-profile-page .page-heading{margin-bottom:12px}.client-profile-page .page-heading h1{font-size:27px}.compact-profile-card{padding:16px 18px}.compact-profile-form .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}.compact-profile-form .field{gap:5px}.compact-profile-form label{font-size:12px}.compact-profile-form input,.compact-profile-form select{height:38px;padding:7px 10px}.compact-profile-form textarea{min-height:54px;height:54px;padding:8px 10px;resize:vertical}.profile-created-row{grid-column:1/-1;width:min(320px,100%);justify-self:start}.profile-phone-field{grid-column:span 2}.compact-profile-form .phone-inline{grid-template-columns:minmax(150px,190px) minmax(0,1fr);gap:8px}.profile-address-field,.profile-billing-field{grid-column:span 1}.profile-billing-toggle{grid-column:1/-1;min-height:24px}.profile-compact-actions{display:flex;align-items:center;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.profile-compact-actions .button{min-height:38px;padding:8px 13px}.profile-action-note{margin-right:auto;color:var(--muted);font-size:12px;line-height:1.35}.ticket-detail-page{height:calc(100vh - 76px);overflow:hidden;padding-top:20px;padding-bottom:16px}.ticket-detail-workspace{height:100%;display:flex;min-height:0;flex-direction:column}.ticket-detail-header{flex:0 0 auto;margin-bottom:10px}.ticket-detail-header h1{font-size:clamp(20px,1.7vw,27px)}.ticket-conversation-layout{flex:1;min-height:0}.ticket-conversation-panel{display:flex;min-height:0;flex-direction:column}.ticket-conversation-header{flex:0 0 auto;padding:10px 14px}.ticket-thread-scroll{flex:1;min-height:0;max-height:none;padding:12px 14px;overflow-y:auto}.ticket-thread-scroll .message{padding:9px 11px}.ticket-thread-scroll .message p{margin-top:5px;line-height:1.4}.ticket-inline-composer{flex:0 0 auto;padding:10px 14px 12px}.ticket-composer-heading{margin-bottom:7px}.ticket-inline-composer textarea{min-height:66px;height:66px}.ticket-inline-composer .ticket-dropzone{min-height:54px;margin:7px 0;padding:8px}.ticket-inline-composer .form-actions{margin-top:7px}.ticket-detail-sidebar{max-height:100%;overflow-y:auto}@media(max-width:900px){.client-profile-page{height:auto;overflow:visible}.compact-profile-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-phone-field{grid-column:1/-1}.profile-compact-actions{align-items:stretch;flex-wrap:wrap}.profile-action-note{flex-basis:100%}}@media(max-width:700px){.ticket-detail-page{height:auto;overflow:visible;padding-top:26px;padding-bottom:60px}.ticket-detail-workspace{height:auto}.ticket-conversation-layout{min-height:auto}.ticket-conversation-panel{display:block}.ticket-thread-scroll{max-height:none;overflow:visible}.ticket-detail-sidebar{max-height:none;overflow:visible}.compact-profile-form .form-grid{grid-template-columns:1fr}.profile-phone-field,.profile-created-row,.profile-address-field,.profile-billing-field{grid-column:1}.profile-compact-actions{flex-direction:column}.profile-compact-actions .button{width:100%}.profile-action-note{margin:0;text-align:left}}.ticket-sidebar-attachments{display:grid;gap:7px;padding:11px 12px;border-style:dashed}.ticket-sidebar-attachments h2{margin:0;font-size:14px}.ticket-sidebar-attachments>span{color:var(--muted);font-size:11px;line-height:1.35}.ticket-sidebar-attachments>.button{width:100%;min-height:34px;padding:6px 9px}.ticket-sidebar-attachments.dragging{border-color:var(--accent)}.ticket-sidebar-attachments .ticket-attachment-preview{max-height:92px;overflow-y:auto}.ticket-sidebar-reply-button{width:100%;min-height:42px;justify-content:center}.ticket-thread-scroll{flex:0 1 auto;min-height:0;max-height:clamp(300px,48vh,440px);align-content:start;overflow-y:auto}@media(max-width:700px){.ticket-thread-scroll{min-height:0;max-height:52vh;align-content:start;overflow-y:auto}}

.invoice-client-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:18px 0}.invoice-client-summary article{display:grid;gap:6px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.invoice-client-summary span{color:var(--muted);font-size:12px;font-weight:700}.invoice-total-summary{border-color:var(--text)!important;background:var(--text)!important;color:var(--inverse)!important}.invoice-total-summary span{color:inherit!important}.invoice-total-summary strong{font-size:20px}.checkout-total{grid-column:1/-1;display:grid;gap:3px;padding:15px 16px;border:1px solid var(--text);border-radius:12px;background:var(--text);color:var(--inverse)}.checkout-total span,.checkout-total small{font-size:12px}.checkout-total strong{font-size:22px;letter-spacing:-.02em}.checkout-total small{opacity:.8}@media(max-width:980px){.invoice-client-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.invoice-client-summary{grid-template-columns:1fr}}
/* Certizaje identity layer */
:root{--bg:#f7f9fc;--surface:#fff;--surface-2:#f7f9fc;--text:#081f5c;--muted:#66748b;--line:#e6edf5;--line-strong:#cbd5e1;--inverse:#fff;--accent:#ff7417;--success:#16803c;--danger:#c33232;--shadow:0 18px 60px rgba(8,31,92,.10)}
.button,.auth-submit{background:#ff7417!important;border-color:#ff7417!important;color:#fff!important}.button:hover,.auth-submit:hover{background:#ff5d15!important;border-color:#ff5d15!important}.portal-shell .sidebar{background:#081f5c;border-right-color:rgba(255,255,255,.12)}.portal-shell .sidebar .nav-link,.portal-shell .sidebar .portal-name,.portal-shell .sidebar .sidebar-label{color:#dce7fb}.portal-shell .sidebar .nav-link.active,.portal-shell .sidebar .nav-link:hover{color:#fff;background:rgba(255,116,23,.22)}.auth-page{background:linear-gradient(135deg,#081f5c 0%,#123b8f 55%,#ff7417 160%)}
/* Certizaje sidebar: bright, accessible navigation and logo treatment. */
.portal-shell .sidebar{background:#ffffff!important;border-right:1px solid #d7e4ef!important;box-shadow:8px 0 28px rgba(8,31,92,.05)}
.portal-shell .sidebar .brand{justify-content:center;min-height:64px;margin:0 0 16px;padding:9px 8px;border:1px solid #e6edf5;border-radius:12px;background:#f7f9fc}
.portal-shell .sidebar .brand .logo-pair{width:190px;height:52px}.portal-shell .sidebar .brand img{width:190px;height:52px;object-fit:contain}
.portal-shell .sidebar .portal-name,.portal-shell .sidebar .sidebar-label{color:#66748b!important}.portal-shell .sidebar .nav-link{color:#081f5c!important;border:1px solid transparent;font-weight:700}
.portal-shell .sidebar .nav-link svg{color:#ff7417}.portal-shell .sidebar .nav-link:hover{color:#081f5c!important;border-color:#ffd3b8;background:#fff3ea!important}.portal-shell .sidebar .nav-link.active{color:#ffffff!important;border-color:#ff7417;background:#ff7417!important;box-shadow:0 8px 18px rgba(255,116,23,.22)}.portal-shell .sidebar .nav-link.active svg{color:#fff}
.portal-shell .sidebar .logout-button{color:#081f5c;border-color:#d7e4ef;background:#fff}.portal-shell .sidebar .logout-button:hover{color:#c33232;border-color:#ffd3b8;background:#fff3ea}
/* Certizaje filter and state system: the selected view is always unambiguous. */
.button.secondary{color:#081f5c!important;border-color:#b9cbe0!important;background:#fff!important}.button.secondary:hover{color:#081f5c!important;border-color:#ff7417!important;background:#fff3ea!important;opacity:1}
.filters,.section-filters,.ticket-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.filters>a,.section-filters>a,.ticket-filters>a,.filters .button.secondary,.section-filters .button.secondary,.ticket-filters .button.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border:1px solid #c7d5e5!important;border-radius:9px!important;color:#38516f!important;background:#fff!important;font-size:12px;font-weight:800;line-height:1;text-decoration:none;box-shadow:none}.filters>a:hover,.section-filters>a:hover,.ticket-filters>a:hover,.filters .button.secondary:hover,.section-filters .button.secondary:hover,.ticket-filters .button.secondary:hover{border-color:#ff7417!important;color:#a84500!important;background:#fff3ea!important}.filters>a.active,.section-filters>a.active,.ticket-filters>a.active,.filters .active,.section-filters .active,.ticket-filters .active{border-color:#ff7417!important;color:#fff!important;background:#ff7417!important;box-shadow:0 6px 16px rgba(255,116,23,.24)!important}.filters>a.active:hover,.section-filters>a.active:hover,.ticket-filters>a.active:hover{color:#fff!important;background:#ff5d15!important}
.badge{gap:6px;min-height:27px;padding:4px 10px;border-width:1px;border-style:solid;font-size:12px;font-weight:800;letter-spacing:.01em}.badge .status-dot{width:7px;height:7px;margin:0;background:currentColor;box-shadow:0 0 0 2px currentColor opacity(.12)}
/* Positive: live, paid, delivered or resolved. */
.badge-active,.badge-paid,.badge-provisioned,.badge-resolved,.badge-completed,.badge-success,.badge-enabled,.badge-open{color:#14783a!important;background:#edf8f0!important;border-color:#9fd7ae!important}
/* Attention: action is required or a workflow is underway. */
.badge-pending,.badge-queued,.badge-processing,.badge-in_progress,.badge-waiting_client,.badge-past_due,.badge-overdue,.badge-paused,.badge-suspended,.badge-cancellation_scheduled,.badge-cancellation-scheduled{color:#935c00!important;background:#fff8e5!important;border-color:#edc874!important}
/* Informational: newly received or client activity. */
.badge-new,.badge-client_replied,.badge-info,.badge-draft{color:#155eaa!important;background:#edf5ff!important;border-color:#99bfe8!important}
/* Negative/final: unavailable, cancelled, revoked, failed or deleted. */
.badge-inactive,.badge-cancelled,.badge-failed,.badge-delete_failed,.badge-deleted,.badge-revoked,.badge-expired,.badge-error,.badge-high{color:#b3261e!important;background:#fff1f0!important;border-color:#efaaa5!important}
.badge-suspended,.badge-paused,.badge-cancelled,.badge-failed,.badge-delete_failed,.badge-deleted,.badge-revoked{border-style:solid}
[data-theme="dark"] .filters>a,[data-theme="dark"] .section-filters>a,[data-theme="dark"] .ticket-filters>a{color:#d6e3f4!important;border-color:#405573!important;background:#162238!important}[data-theme="dark"] .filters>a.active,[data-theme="dark"] .section-filters>a.active,[data-theme="dark"] .ticket-filters>a.active{color:#fff!important;border-color:#ff7417!important;background:#ff7417!important}
/* Keep the Certizaje logo clean in the sidebar: no card, no rounded border. */
.portal-shell .sidebar .brand{margin:0 0 16px;padding:4px 0 12px;border:0!important;border-radius:0!important;background:transparent!important}
.portal-shell .sidebar .brand .logo-pair{width:190px;height:52px}.portal-shell .sidebar .brand img{width:190px;height:52px;object-fit:contain}
/* Register account prompt: compact, centered, and directly below the primary action. */
.auth-links--center{justify-content:center!important;align-items:center;gap:6px!important;margin-top:18px!important;text-align:center}.auth-links--center a{color:#081f5c;font-weight:650}.auth-links--center a:hover{color:#ff7417}

/* Certizaje authentication: calm light background and the brand inside the sign-in card. */
.auth-page{background:linear-gradient(135deg,#f5f8fc 0%,#ffffff 54%,#fff4ec 100%)!important}.auth-shell{width:min(460px,calc(100% - 32px))!important}.auth-card{padding:32px!important;border:1px solid #dce6f2!important;border-radius:18px!important;background:#fff!important;box-shadow:0 24px 58px rgba(8,31,92,.12)!important}.auth-card .auth-brand{display:flex;align-items:center;justify-content:center;margin:0 0 24px!important;padding:0 0 22px;border-bottom:1px solid #e6edf5}.auth-card .auth-brand .logo-pair{width:210px;height:64px}.auth-card .auth-brand img{width:210px;height:64px;object-fit:contain}.auth-heading{margin-bottom:22px!important;text-align:center}.auth-heading h1{color:#081f5c!important;font-size:29px!important;line-height:1.15}.auth-heading span{display:block;margin-top:8px;color:#5f718d!important;line-height:1.55}.auth-back{margin-top:18px!important;color:#5f718d!important}.auth-back a{color:#081f5c!important;font-weight:600}.auth-back a:hover{color:#ff7417!important}@media(max-width:620px){.auth-page{padding:18px!important}.auth-card{padding:24px 20px!important}.auth-card .auth-brand{margin-bottom:20px!important;padding-bottom:18px}.auth-card .auth-brand .logo-pair,.auth-card .auth-brand img{width:190px;height:58px}}

/* Complete Certizaje dark theme: semantic surfaces for every interactive workspace. */
[data-theme="dark"]{color-scheme:dark;--surface:#101a2b;--surface-2:#162238;--surface-raised:#1b2a43;--line:#344965;--text:#f3f7ff;--muted:#b8c7dc;--link:#8fc5ff;--focus:#ff9d54;background:#0b1322;color:var(--text)}
[data-theme="dark"] body,[data-theme="dark"] .portal-shell,[data-theme="dark"] .content,[data-theme="dark"] .auth-page{background:#0b1322!important;color:var(--text)!important}
[data-theme="dark"] .sidebar,[data-theme="dark"] .topbar,[data-theme="dark"] .card,[data-theme="dark"] .table-card,[data-theme="dark"] .form-card,[data-theme="dark"] .auth-card,[data-theme="dark"] dialog.modal,[data-theme="dark"] .modal-inner,[data-theme="dark"] .dropdown-menu,[data-theme="dark"] .client-search-results,[data-theme="dark"] .client-picker-results,[data-theme="dark"] .tabs,[data-theme="dark"] .pagination{background:var(--surface)!important;color:var(--text)!important;border-color:var(--line)!important}
[data-theme="dark"] .sidebar{background:#101c31!important}[data-theme="dark"] .sidebar a,[data-theme="dark"] .topbar a,[data-theme="dark"] a{color:var(--link)!important}[data-theme="dark"] .sidebar a:hover,[data-theme="dark"] .sidebar a.active,[data-theme="dark"] .nav-link:hover{background:#213858!important;color:#fff!important}
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,[data-theme="dark"] strong,[data-theme="dark"] label,[data-theme="dark"] th,[data-theme="dark"] td,[data-theme="dark"] legend,[data-theme="dark"] output{color:var(--text)!important}[data-theme="dark"] .muted,[data-theme="dark"] small,[data-theme="dark"] .table-primary-detail,[data-theme="dark"] .checkbox-line{color:var(--muted)!important}
[data-theme="dark"] input,[data-theme="dark"] textarea,[data-theme="dark"] select,[data-theme="dark"] .client-picker input,[data-theme="dark"] .client-search input{background:#0e1a2d!important;color:var(--text)!important;border-color:#46617f!important}[data-theme="dark"] input::placeholder,[data-theme="dark"] textarea::placeholder{color:#9fb1c9!important;opacity:1}[data-theme="dark"] input:disabled,[data-theme="dark"] textarea:disabled,[data-theme="dark"] select:disabled{background:#18263a!important;color:#8ea0b8!important}
[data-theme="dark"] tr,[data-theme="dark"] td,[data-theme="dark"] th,[data-theme="dark"] .detail-grid article{border-color:var(--line)!important}[data-theme="dark"] tr:hover td,[data-theme="dark"] .clickable-row:hover{background:#172a45!important}
[data-theme="dark"] .button.secondary,[data-theme="dark"] .icon-button,[data-theme="dark"] .theme-toggle,[data-theme="dark"] .notice{background:#172a45!important;color:var(--text)!important;border-color:#496889!important}[data-theme="dark"] .button.secondary:hover,[data-theme="dark"] .icon-button:hover,[data-theme="dark"] .theme-toggle:hover{background:#243c61!important}
[data-theme="dark"] .section-filters a,[data-theme="dark"] .ticket-filters a,[data-theme="dark"] .filters a,[data-theme="dark"] .pagination a{background:#16253c!important;color:#dce9fa!important;border-color:#46617f!important}[data-theme="dark"] .section-filters a.active,[data-theme="dark"] .ticket-filters a.active,[data-theme="dark"] .filters a.active,[data-theme="dark"] .pagination a.active{background:#ff7417!important;color:#fff!important;border-color:#ff7417!important}
[data-theme="dark"] :focus-visible{outline:3px solid var(--focus)!important;outline-offset:2px!important}[data-theme="dark"] .notice-success{background:#113b2a!important;color:#baf5cd!important;border-color:#3a9464!important}[data-theme="dark"] .notice-error{background:#451f26!important;color:#ffd5d2!important;border-color:#a75b64!important}[data-theme="dark"] .notice-warning{background:#493816!important;color:#ffe4a8!important;border-color:#9b7832!important}[data-theme="dark"] .notice-info{background:#153554!important;color:#cce7ff!important;border-color:#4d87b9!important}
.field-status{display:block;min-height:1.25rem;margin-top:.42rem;font-size:.82rem;color:var(--muted,#61718a)}.field-status[data-state="available"]{color:#16803d}.field-status[data-state="unavailable"],.field-status[data-state="invalid"],.field-status[data-state="error"]{color:#bd3131}.field-status[data-state="checking"]{color:#51657f}[data-theme="dark"] .field-status[data-state="available"]{color:#69d992}[data-theme="dark"] .field-status[data-state="unavailable"],[data-theme="dark"] .field-status[data-state="invalid"],[data-theme="dark"] .field-status[data-state="error"]{color:#ff9898}
.coupon-input{display:flex;gap:.55rem;align-items:center}.coupon-input input{min-width:0;flex:1}.coupon-input .button{flex:0 0 auto}@media(max-width:540px){.coupon-input{align-items:stretch}.coupon-input .button{min-width:88px}}
.password-input{display:flex;gap:.5rem;align-items:center}.password-input input{min-width:0;flex:1}.password-input .button{flex:0 0 auto}
/* Checkout registration: roomier, aligned two-column form */
.auth-shell:has(.checkout-registration-form){width:min(680px,calc(100% - 32px))!important}.auth-card:has(.checkout-registration-form){padding:34px 40px!important}.checkout-registration-form .form-grid{gap:18px 20px;align-items:start}.checkout-registration-form .field{min-width:0;align-content:start}.checkout-registration-form .field input,.checkout-registration-form .field select{height:47px}.checkout-registration-form .button[type="submit"]{width:100%;margin-top:4px}@media(max-width:620px){.auth-shell:has(.checkout-registration-form){width:min(460px,calc(100% - 24px))!important}.auth-card:has(.checkout-registration-form){padding:25px 20px!important}.checkout-registration-form .form-grid{grid-template-columns:1fr;gap:15px}.checkout-registration-form .field{grid-column:1}.checkout-registration-form .password-input{align-items:stretch}.checkout-registration-form .password-input .button{min-height:47px}}
.checkout-registration-form .checkout-phone{grid-template-columns:88px minmax(0,1fr);gap:8px}.checkout-registration-form .checkout-phone input[readonly]{text-align:center;background:var(--surface-2);color:var(--muted);font-weight:650}

:root{--portal-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}html,body,button,input,select,textarea{font-family:var(--portal-font)!important}

/* Subscription plan changes */
.plan-change-card{padding:24px;border:1px solid #cbd9eb;border-radius:16px;background:linear-gradient(135deg,#fff 0%,#f5f9ff 100%);box-shadow:0 10px 28px rgba(8,31,92,.06)}
.plan-change-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:17px;border-bottom:1px solid #dce6f2}.plan-change-heading h2{margin:3px 0 0;color:#081f5c;font-size:22px;letter-spacing:-.025em}.plan-change-eyebrow{display:block;color:#637894;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.plan-change-current{padding:7px 10px;border:1px solid #d3deec;border-radius:999px;background:#fff;color:#4f6380;font-size:12px;white-space:nowrap}.plan-change-current strong{color:#081f5c}.plan-change-intro{max-width:820px;margin:17px 0;color:#455d7a;line-height:1.55}.plan-change-form{display:grid;grid-template-columns:minmax(240px,460px) auto;align-items:end;gap:14px;margin-top:18px}.plan-change-form .field{gap:7px}.plan-change-form select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #b9cbe0;border-radius:10px;background:#fff;color:#142c55}.plan-change-actions{display:grid;gap:6px;align-content:end}.plan-change-actions .button{width:max-content;min-height:44px}.plan-change-actions small{max-width:360px;color:#667992;font-size:12px;line-height:1.35}.plan-change-status{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:15px 16px;border:1px solid #b9cbe0;border-radius:12px;background:#fff}.plan-change-status strong{display:block;color:#081f5c;font-size:14px}.plan-change-status p{margin:3px 0 0;color:#5f718a;font-size:13px}.plan-change-status.is-upgrade{border-left:4px solid #ff7417}.plan-change-status.is-downgrade{border-left:4px solid #315f9d}.plan-change-date{color:#233f68;font-size:13px;font-weight:750;white-space:nowrap}.plan-change-empty{display:grid;gap:4px;margin-top:18px;padding:15px 16px;border:1px dashed #b9cbe0;border-radius:12px;background:#fff;color:#62758f;font-size:13px}.plan-change-empty strong{color:#244269}@media(max-width:720px){.plan-change-card{padding:19px}.plan-change-heading,.plan-change-status{align-items:stretch;flex-direction:column}.plan-change-current{width:max-content;max-width:100%;white-space:normal}.plan-change-form{grid-template-columns:1fr}.plan-change-actions .button{width:100%}.plan-change-status .button{width:100%}.plan-change-date{white-space:normal}}



/* Subscription detail and plan-change dialog */
.subscription-detail-summary{width:100%;margin:18px 0;border:1px solid #cbd9eb;border-radius:16px;background:var(--surface);box-shadow:0 10px 28px rgba(8,31,92,.05);overflow:hidden}.subscription-detail-summary dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.subscription-detail-summary dl>div{display:grid;gap:6px;min-width:0;padding:17px 18px;border-right:1px solid #e2eaf4;border-bottom:1px solid #e2eaf4}.subscription-detail-summary dl>div:nth-child(4n){border-right:0}.subscription-detail-summary dl>div:nth-last-child(-n+4){border-bottom:0}.subscription-detail-summary dt{color:#667992;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.subscription-detail-summary dd{min-width:0;margin:0;color:#142c55;font-size:14px;font-weight:700;overflow-wrap:anywhere}.subscription-detail-summary .subscription-detail-total{color:#081f5c;font-size:16px}.subscription-plan-action{display:flex;justify-content:flex-end;margin-top:16px}.plan-change-modal{width:min(680px,calc(100% - 32px));max-width:680px;border:0;border-radius:16px;padding:0;background:transparent;color:var(--text);box-shadow:0 24px 72px rgba(8,31,92,.28)}.plan-change-modal::backdrop{background:rgba(8,31,92,.58)}.plan-change-modal .modal-inner{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.plan-change-modal .modal-header{margin-bottom:20px}.plan-change-modal .plan-change-form{display:grid;grid-template-columns:1fr;margin-top:0;gap:16px}.plan-change-form .field{gap:7px}.plan-change-form select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #b9cbe0;border-radius:10px;background:var(--surface);color:var(--text)}.plan-change-impact{display:grid;gap:8px;padding:16px;border:1px solid #d7e2f0;border-radius:12px;background:#f6f9fd}.plan-change-impact strong{color:#081f5c;font-size:14px}.plan-change-impact p{margin:0;color:#506783;font-size:13px;line-height:1.5}.plan-change-impact dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0}.plan-change-impact dl>div{display:grid;gap:3px}.plan-change-impact dt{color:#667992;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.plan-change-impact dd{margin:0;color:#142c55;font-size:13px;font-weight:700}.plan-change-impact .plan-change-impact-note{grid-column:1/-1;padding-top:10px;border-top:1px solid #d7e2f0;color:#415a78;font-weight:600}.plan-change-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.plan-change-actions .button{min-height:44px;white-space:nowrap}.plan-change-actions .button:disabled{cursor:not-allowed;opacity:.52}.plan-change-actions small{max-width:340px;color:#667992;font-size:12px;line-height:1.4}.plan-change-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:14px 16px;border:1px solid #b9cbe0;border-left:4px solid #315f9d;border-radius:12px;background:var(--surface)}.plan-change-notice strong{display:block;color:#081f5c;font-size:14px}.plan-change-notice p{margin:3px 0 0;color:#5f718a;font-size:13px;line-height:1.45}.plan-change-notice.is-upgrade{border-left-color:#ff7417}.plan-change-notice.is-empty{border-left-color:#94a3b8}.plan-change-date{color:#233f68;font-size:13px;font-weight:750;white-space:nowrap}@media(max-width:820px){.subscription-detail-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-detail-summary dl>div:nth-child(4n){border-right:1px solid #e2eaf4}.subscription-detail-summary dl>div:nth-child(2n){border-right:0}.subscription-detail-summary dl>div:nth-last-child(-n+4){border-bottom:1px solid #e2eaf4}.subscription-detail-summary dl>div:nth-last-child(-n+2){border-bottom:0}}@media(max-width:560px){.subscription-detail-summary dl{grid-template-columns:1fr}.subscription-detail-summary dl>div,.subscription-detail-summary dl>div:nth-child(4n){border-right:0;border-bottom:1px solid #e2eaf4}.subscription-detail-summary dl>div:last-child{border-bottom:0}.subscription-plan-action{justify-content:stretch}.subscription-plan-action .button{width:100%}.plan-change-modal{width:calc(100% - 20px)}.plan-change-modal .modal-inner{padding:18px}.plan-change-impact dl{grid-template-columns:1fr}.plan-change-actions,.plan-change-notice{align-items:stretch;flex-direction:column}.plan-change-actions .button{width:100%}.plan-change-actions small{max-width:none}.plan-change-date{white-space:normal}}


/* Client subscription detail service overview */
.subscription-detail-summary{margin:20px 0;border:1px solid #c6d8ee;border-radius:22px;background:linear-gradient(135deg,#ffffff 0%,#f8fbff 58%,#fff9f3 100%);box-shadow:0 18px 42px rgba(19,61,121,.10);overflow:hidden}.subscription-detail-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(180px,.78fr) auto auto;align-items:center;gap:18px;padding:24px 26px 22px;border-bottom:1px solid #dce7f3;background:linear-gradient(105deg,rgba(20,88,176,.11),rgba(255,255,255,.32) 52%,rgba(255,116,23,.12))}.subscription-detail-hero:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#1767c8,#ff7417)}.subscription-detail-service,.subscription-detail-plan,.subscription-detail-state,.subscription-plan-action{position:relative;min-width:0}.subscription-detail-kicker,.subscription-detail-plan>span,.subscription-detail-state>span,.subscription-plan-action>span{display:block;margin-bottom:5px;color:#527199;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.subscription-detail-service h2{margin:0;color:#0c2d61;font-size:clamp(21px,2.2vw,29px);line-height:1.13;letter-spacing:-.035em;overflow-wrap:anywhere}.subscription-detail-service p{display:flex;gap:7px;align-items:baseline;margin:8px 0 0;color:#4e6684;font-size:13px}.subscription-detail-service p span{color:#6b82a0;font-weight:750}.subscription-detail-plan{padding-left:20px;border-left:1px solid #cbd9ea}.subscription-detail-plan strong{display:block;color:#123f7d;font-size:17px;line-height:1.25;overflow-wrap:anywhere}.subscription-detail-plan small{display:block;margin-top:6px;color:#536d8d;font-size:12px;white-space:nowrap}.subscription-detail-plan small b{color:#d65d10;font-size:13px}.subscription-detail-state{align-self:center;padding:11px 15px;border:1px solid #c6d8ed;border-radius:13px;background:rgba(255,255,255,.72);box-shadow:0 5px 13px rgba(27,71,133,.07)}.subscription-detail-state>span{margin-bottom:4px}.subscription-detail-state .badge{min-height:24px}.subscription-plan-action{display:grid;justify-items:stretch;gap:3px;min-width:172px;padding-left:2px}.subscription-plan-action>span{margin-bottom:1px;text-align:center}.subscription-plan-action .button{min-height:43px;border-color:#1155a6;background:linear-gradient(135deg,#1155a6,#176bc7);box-shadow:0 8px 16px rgba(16,85,166,.20);white-space:nowrap}.subscription-plan-action .button:hover{opacity:1;transform:translateY(-1px);box-shadow:0 11px 20px rgba(16,85,166,.27)}.subscription-detail-summary dl{grid-template-columns:repeat(4,minmax(0,1fr));background:rgba(255,255,255,.54)}.subscription-detail-summary dl>div{padding:17px 21px;border-color:#e1eaf4}.subscription-detail-summary dt{color:#66809f}.subscription-detail-summary dd{color:#18385f;font-weight:720}.subscription-detail-summary .subscription-detail-total{color:#0d3d7b}@media(max-width:1040px){.subscription-detail-hero{grid-template-columns:minmax(0,1fr) minmax(175px,.8fr) auto}.subscription-detail-state{grid-column:2}.subscription-plan-action{grid-column:3;grid-row:1 / span 2;align-self:center}.subscription-detail-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-detail-summary dl>div:nth-child(4n){border-right:1px solid #e1eaf4}.subscription-detail-summary dl>div:nth-child(2n){border-right:0}.subscription-detail-summary dl>div:nth-last-child(-n+4){border-bottom:1px solid #e1eaf4}.subscription-detail-summary dl>div:nth-last-child(-n+2){border-bottom:0}}@media(max-width:700px){.subscription-detail-summary{border-radius:18px}.subscription-detail-hero{grid-template-columns:1fr 1fr;gap:16px;padding:21px 21px 19px}.subscription-detail-service{grid-column:1/-1}.subscription-detail-plan{padding-left:0;border-left:0}.subscription-plan-action{grid-column:1/-1;grid-row:auto;min-width:0}.subscription-plan-action>span{text-align:left}.subscription-plan-action .button{width:100%}}@media(max-width:460px){.subscription-detail-hero{grid-template-columns:1fr}.subscription-detail-state{grid-column:auto}.subscription-detail-plan small{white-space:normal}.subscription-detail-summary dl{grid-template-columns:1fr}.subscription-detail-summary dl>div,.subscription-detail-summary dl>div:nth-child(4n){border-right:0;border-bottom:1px solid #e1eaf4}.subscription-detail-summary dl>div:last-child{border-bottom:0}}[data-theme="dark"] .subscription-detail-summary{border-color:#244b78;background:linear-gradient(135deg,#101c2d 0%,#111a28 56%,#231a16 100%);box-shadow:0 18px 42px rgba(0,0,0,.30)}[data-theme="dark"] .subscription-detail-hero{border-color:#254468;background:linear-gradient(105deg,rgba(35,112,210,.23),rgba(18,28,42,.62) 53%,rgba(204,84,21,.18))}[data-theme="dark"] .subscription-detail-service h2{color:#e8f2ff}[data-theme="dark"] .subscription-detail-service p,[data-theme="dark"] .subscription-detail-plan small{color:#aabed5}[data-theme="dark"] .subscription-detail-service p span,[data-theme="dark"] .subscription-detail-kicker,[data-theme="dark"] .subscription-detail-plan>span,[data-theme="dark"] .subscription-detail-state>span,[data-theme="dark"] .subscription-plan-action>span,[data-theme="dark"] .subscription-detail-summary dt{color:#8eafd4}[data-theme="dark"] .subscription-detail-plan{border-color:#315273}[data-theme="dark"] .subscription-detail-plan strong,[data-theme="dark"] .subscription-detail-summary dd{color:#e5effc}[data-theme="dark"] .subscription-detail-plan small b{color:#ffae76}[data-theme="dark"] .subscription-detail-state{border-color:#315273;background:rgba(13,26,43,.75);box-shadow:none}[data-theme="dark"] .subscription-detail-summary dl{background:rgba(8,16,28,.24)}[data-theme="dark"] .subscription-detail-summary dl>div{border-color:#254468}@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .subscription-detail-summary{border-color:#244b78;background:linear-gradient(135deg,#101c2d 0%,#111a28 56%,#231a16 100%);box-shadow:0 18px 42px rgba(0,0,0,.30)}:root:not([data-theme="light"]) .subscription-detail-hero{border-color:#254468;background:linear-gradient(105deg,rgba(35,112,210,.23),rgba(18,28,42,.62) 53%,rgba(204,84,21,.18))}:root:not([data-theme="light"]) .subscription-detail-service h2,:root:not([data-theme="light"]) .subscription-detail-plan strong,:root:not([data-theme="light"]) .subscription-detail-summary dd{color:#e5effc}:root:not([data-theme="light"]) .subscription-detail-service p,:root:not([data-theme="light"]) .subscription-detail-plan small{color:#aabed5}:root:not([data-theme="light"]) .subscription-detail-service p span,:root:not([data-theme="light"]) .subscription-detail-kicker,:root:not([data-theme="light"]) .subscription-detail-plan>span,:root:not([data-theme="light"]) .subscription-detail-state>span,:root:not([data-theme="light"]) .subscription-plan-action>span,:root:not([data-theme="light"]) .subscription-detail-summary dt{color:#8eafd4}:root:not([data-theme="light"]) .subscription-detail-plan{border-color:#315273}:root:not([data-theme="light"]) .subscription-detail-plan small b{color:#ffae76}:root:not([data-theme="light"]) .subscription-detail-state{border-color:#315273;background:rgba(13,26,43,.75);box-shadow:none}:root:not([data-theme="light"]) .subscription-detail-summary dl{background:rgba(8,16,28,.24)}:root:not([data-theme="light"]) .subscription-detail-summary dl>div{border-color:#254468}}

/* Center the subscription status label and badge. */
.subscription-detail-state{display:grid;justify-items:center;text-align:center}

/* Keep every status dot clearly separated from its label. */
.badge{gap:8px}.badge .status-dot{margin-right:1px;flex:0 0 auto}

/* Extra breathing room between a status dot and its label. */
.badge{gap:10px}.badge .status-dot{margin-right:2px}


/* Invoice detail: one clear billing workspace */
.invoice-detail-page{padding-top:24px}.invoice-detail-workspace{width:100%;max-width:none;margin:0 auto}.invoice-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:24px;padding:26px 28px;border:1px solid #c6d8ee;border-radius:22px;background:linear-gradient(112deg,#f5f9ff 0%,#fff 54%,#fff7f0 100%);box-shadow:0 18px 42px rgba(19,61,121,.10)}.invoice-detail-heading{min-width:0}.invoice-back-link{display:inline-flex;margin-bottom:13px;color:#526e92;font-size:13px;font-weight:750}.invoice-back-link:hover{color:#ff7417}.invoice-detail-kicker,.invoice-detail-card header>span,.invoice-detail-total>span{display:block;color:#527199;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.invoice-detail-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:11px}.invoice-detail-title-row h1{margin:0;color:#0c2d61;font-size:clamp(28px,3.1vw,42px);line-height:1;letter-spacing:-.045em;overflow-wrap:anywhere}.invoice-detail-heading p{margin:8px 0 0;color:#58718f;font-size:13px}.invoice-detail-total{min-width:210px;padding:15px 18px;border:1px solid #d5e2f0;border-radius:14px;background:rgba(255,255,255,.82);box-shadow:0 7px 17px rgba(27,71,133,.07)}.invoice-detail-total>span{margin-bottom:5px}.invoice-detail-total strong{display:block;color:#0c2d61;font-size:22px;line-height:1.2;white-space:nowrap}.invoice-detail-actions{display:flex;justify-content:flex-end}.invoice-detail-actions .button{white-space:nowrap}.invoice-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:18px;margin-top:18px}.invoice-detail-main{display:grid;gap:18px}.invoice-detail-card{padding:21px 22px;border:1px solid #d6e2ef;border-radius:17px;background:var(--surface);box-shadow:0 9px 27px rgba(19,61,121,.05)}.invoice-detail-card header{padding-bottom:15px;border-bottom:1px solid #e4edf5}.invoice-detail-card header>span{margin-bottom:5px}.invoice-detail-card h2{margin:0;color:#123d78;font-size:18px;line-height:1.28;overflow-wrap:anywhere}.invoice-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.invoice-detail-facts>div{display:grid;gap:5px;min-width:0;padding:16px 18px;border-right:1px solid #e4edf5;border-bottom:1px solid #e4edf5}.invoice-detail-facts>div:nth-child(2n){border-right:0}.invoice-detail-facts>div:nth-last-child(-n+2){padding-bottom:0;border-bottom:0}.invoice-detail-card dt{color:#667f9d;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.invoice-detail-card dd{margin:0;color:#173760;font-size:14px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}.invoice-payment-card{background:linear-gradient(135deg,#fff 0%,#f7fbff 100%)}.invoice-payment-state{display:flex;align-items:flex-start;gap:13px;padding-top:17px}.invoice-payment-state>div{display:grid;gap:4px}.invoice-payment-state strong{color:#18395f;font-size:14px}.invoice-payment-state small{color:#607897;font-size:13px;line-height:1.45}.invoice-billing-card dl{display:grid;gap:0;margin:0}.invoice-billing-card dl>div{display:grid;gap:5px;padding:14px 0;border-bottom:1px solid #e4edf5}.invoice-billing-card dl>div:last-child{padding-bottom:0;border-bottom:0}@media(max-width:860px){.invoice-detail-hero{grid-template-columns:minmax(0,1fr) auto}.invoice-detail-actions{grid-column:1/-1;justify-content:flex-start}.invoice-detail-layout{grid-template-columns:1fr}.invoice-billing-card{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px}.invoice-billing-card header{padding:0;border:0}.invoice-billing-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.invoice-billing-card dl>div{padding:0;border:0}}@media(max-width:560px){.invoice-detail-page{padding-top:18px}.invoice-detail-hero{grid-template-columns:1fr;gap:16px;padding:20px 18px;border-radius:17px}.invoice-detail-title-row h1{font-size:29px}.invoice-detail-total{width:100%;min-width:0}.invoice-detail-actions,.invoice-detail-actions .button{width:100%}.invoice-detail-card{padding:18px;border-radius:15px}.invoice-detail-facts{grid-template-columns:1fr}.invoice-detail-facts>div,.invoice-detail-facts>div:nth-child(2n),.invoice-detail-facts>div:nth-last-child(-n+2){padding:13px 0;border-right:0;border-bottom:1px solid #e4edf5}.invoice-detail-facts>div:last-child{padding-bottom:0;border-bottom:0}.invoice-payment-state{flex-direction:column;gap:10px}.invoice-billing-card{display:block}.invoice-billing-card header{padding-bottom:14px;border-bottom:1px solid #e4edf5}.invoice-billing-card dl{grid-template-columns:1fr;gap:0}.invoice-billing-card dl>div{padding:13px 0;border-bottom:1px solid #e4edf5}.invoice-billing-card dl>div:last-child{padding-bottom:0;border-bottom:0}}[data-theme="dark"] .invoice-detail-hero{border-color:#3a5577;background:linear-gradient(112deg,#122544 0%,#101c31 57%,#2d251d 100%);box-shadow:0 18px 42px rgba(0,0,0,.26)}[data-theme="dark"] .invoice-detail-title-row h1,[data-theme="dark"] .invoice-detail-total strong,[data-theme="dark"] .invoice-detail-card h2,[data-theme="dark"] .invoice-detail-card dd,[data-theme="dark"] .invoice-payment-state strong{color:#f1f6ff!important}[data-theme="dark"] .invoice-detail-heading p,[data-theme="dark"] .invoice-back-link,[data-theme="dark"] .invoice-detail-kicker,[data-theme="dark"] .invoice-detail-card header>span,[data-theme="dark"] .invoice-detail-total>span,[data-theme="dark"] .invoice-detail-card dt,[data-theme="dark"] .invoice-payment-state small{color:#b8cbe5!important}[data-theme="dark"] .invoice-detail-total{border-color:#415f84;background:rgba(13,27,48,.82)}[data-theme="dark"] .invoice-detail-card{border-color:#385575;background:#101d32;box-shadow:0 9px 27px rgba(0,0,0,.18)}[data-theme="dark"] .invoice-payment-card{background:linear-gradient(135deg,#101d32 0%,#132642 100%)}[data-theme="dark"] .invoice-detail-card header,[data-theme="dark"] .invoice-detail-facts>div,[data-theme="dark"] .invoice-billing-card dl>div{border-color:#304b6b}


/* Customer dashboard, payment reminder, and customer notification bell. */
.client-dashboard-page{padding-top:30px}.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:22px}.dashboard-welcome>div>span,.dashboard-panel header>div>span,.payment-reminder-kicker{display:block;color:#59789e;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.dashboard-welcome h1{margin:4px 0 7px;color:#0c2d61;font-size:clamp(28px,3.6vw,42px);letter-spacing:-.045em;line-height:1.05}.dashboard-welcome p{margin:0;color:#5d7491}.dashboard-billing-callout{display:grid;gap:3px;min-width:250px;padding:15px 17px;border:1px solid #c8d9ec;border-left:4px solid #315f9d;border-radius:14px;background:linear-gradient(135deg,#f6faff,#fff);box-shadow:0 8px 22px rgba(21,61,120,.07)}.dashboard-billing-callout.is-overdue{border-left-color:#d65c35;background:linear-gradient(135deg,#fff7f2,#fff)}.dashboard-billing-callout span,.dashboard-billing-callout small{color:#59718e;font-size:12px}.dashboard-billing-callout strong{color:#123d78;font-size:14px}.dashboard-metrics{margin-bottom:18px}.metric-card{display:grid;place-items:center;min-height:154px;padding:22px;text-align:center;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.metric-card:hover{transform:translateY(-3px);border-color:#8eaccd;box-shadow:0 14px 30px rgba(15,55,112,.12)}.metric-card span{font-weight:700}.metric-card strong{margin-top:5px;color:#0c2d61;font-size:42px;line-height:1}.metric-card small{margin-top:9px;color:#57718f;font-size:12px;font-weight:700}.metric-card.is-urgent{border-color:#e5b19d;background:linear-gradient(145deg,#fffaf7,#fff)}.metric-card.is-urgent strong,.metric-card.is-urgent small{color:#b64628}.dashboard-insights{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:18px}.dashboard-panel{padding:22px;border:1px solid #d6e2ef;border-radius:17px;background:var(--surface);box-shadow:0 9px 27px rgba(19,61,121,.05)}.dashboard-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:15px;border-bottom:1px solid #e4edf5}.dashboard-panel h2{margin:4px 0 0;color:#123d78;font-size:19px}.dashboard-panel header>small{color:#6a8099;font-size:12px}.access-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.access-list li{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #e4edf5}.access-list li:last-child{padding-bottom:0;border-bottom:0}.access-list-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#edf5ff;color:#315f9d;font-weight:800}.access-list strong,.access-list small{display:block}.access-list strong{color:#173760;font-size:14px}.access-list small{margin-top:2px;color:#667f9d;font-size:12px}.dashboard-empty{margin:16px 0 0;color:#667f9d}.dashboard-actions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.dashboard-actions a{display:grid;gap:4px;padding:13px;border:1px solid #dce7f2;border-radius:11px;background:#f9fbfe}.dashboard-actions a:hover{border-color:#9fb9d5;background:#f2f7fd}.dashboard-actions strong{color:#173760;font-size:14px}.dashboard-actions small{color:#667f9d;font-size:12px}.client-notification-menu{position:relative}.client-notification-menu>summary{position:relative;display:grid;place-items:center;width:38px;height:38px;list-style:none;border:1px solid var(--line);border-radius:50%;background:var(--surface);cursor:pointer}.client-notification-menu>summary::-webkit-details-marker{display:none}.client-notification-menu summary .nav-icon{width:18px}.client-notification-menu summary b{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:2px solid var(--bg);border-radius:999px;background:#c94b2d;color:#fff;font-size:10px}.client-notification-panel{position:absolute;top:46px;right:0;width:min(360px,calc(100vw - 28px));overflow:hidden;border:1px solid #cbd9ea;border-radius:14px;background:var(--surface);box-shadow:0 18px 44px rgba(13,42,84,.2);z-index:60}.client-notification-panel header{display:flex;justify-content:space-between;gap:10px;padding:14px 15px;border-bottom:1px solid #e4edf5}.client-notification-panel header strong{color:#123d78}.client-notification-panel header span{color:#b64628;font-size:12px;font-weight:700}.client-notification-items{display:grid}.client-notification-items a{display:flex;gap:10px;padding:12px 15px;border-bottom:1px solid #edf2f7}.client-notification-items a:hover{background:#f7faff}.client-notification-items strong,.client-notification-items small{display:block}.client-notification-items strong{color:#173760;font-size:13px}.client-notification-items small{margin-top:2px;color:#687f99;font-size:12px}.client-notification-panel .notification-dot-payment{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#cf5735;flex:0 0 auto}.client-notification-panel .notification-menu-empty{margin:0;padding:17px;color:#6a8099}.client-notification-panel .notification-menu-all{display:block;padding:12px 15px;color:#315f9d;font-size:13px;font-weight:750;text-align:center}.payment-reminder-modal{width:min(500px,calc(100% - 28px));border:0;border-radius:18px;padding:0;box-shadow:0 24px 72px rgba(8,31,92,.32)}.payment-reminder-modal::backdrop{background:rgba(8,31,92,.58);backdrop-filter:blur(3px)}.payment-reminder-modal .modal-inner{padding:25px;border:1px solid #c6d8ee;border-radius:18px;background:var(--surface)}.payment-reminder-modal .modal-header{margin-bottom:12px}.payment-reminder-modal h2{margin:4px 0 0;color:#0c2d61}.payment-reminder-modal p{margin:0;color:#5d7491}.payment-reminder-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:19px 0;padding:0;border:1px solid #dce7f2;border-radius:12px;overflow:hidden}.payment-reminder-details>div{display:grid;gap:4px;padding:13px;border-right:1px solid #dce7f2}.payment-reminder-details>div:last-child{border-right:0}.payment-reminder-details dt{color:#69819b;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.payment-reminder-details dd{margin:0;color:#173760;font-size:13px;font-weight:750;overflow-wrap:anywhere}.payment-reminder-actions{display:flex;justify-content:flex-end;gap:10px}.payment-reminder-actions .button{min-width:120px}@media(max-width:860px){.dashboard-insights{grid-template-columns:1fr}.dashboard-welcome{align-items:flex-start;flex-direction:column}.dashboard-billing-callout{width:100%}}@media(max-width:620px){.client-dashboard-page{padding-top:20px}.metric-card{min-height:132px}.dashboard-actions>div{grid-template-columns:1fr}.payment-reminder-details{grid-template-columns:1fr}.payment-reminder-details>div{border-right:0;border-bottom:1px solid #dce7f2}.payment-reminder-details>div:last-child{border-bottom:0}.payment-reminder-actions{flex-direction:column}.payment-reminder-actions .button{width:100%}}[data-theme="dark"] .dashboard-welcome h1,[data-theme="dark"] .dashboard-billing-callout strong,[data-theme="dark"] .metric-card strong,[data-theme="dark"] .dashboard-panel h2,[data-theme="dark"] .access-list strong,[data-theme="dark"] .dashboard-actions strong,[data-theme="dark"] .payment-reminder-modal h2,[data-theme="dark"] .payment-reminder-details dd,[data-theme="dark"] .client-notification-panel header strong,[data-theme="dark"] .client-notification-items strong{color:#eef6ff!important}[data-theme="dark"] .dashboard-billing-callout,[data-theme="dark"] .metric-card.is-urgent,[data-theme="dark"] .dashboard-panel,[data-theme="dark"] .payment-reminder-modal .modal-inner,[data-theme="dark"] .client-notification-panel{background:#101d32!important;border-color:#385575!important}[data-theme="dark"] .dashboard-actions a{background:#14243d;border-color:#385575}[data-theme="dark"] .dashboard-panel header,[data-theme="dark"] .access-list li,[data-theme="dark"] .payment-reminder-details,[data-theme="dark"] .payment-reminder-details>div,[data-theme="dark"] .client-notification-panel header,[data-theme="dark"] .client-notification-items a{border-color:#304b6b}

/* Keep client notification and theme controls in a single horizontal utility row. */
.topbar-controls{display:flex;align-items:center;flex-direction:row;gap:10px;flex:0 0 auto}.topbar-controls>.client-notification-menu,.topbar-controls>.theme-toggle{flex:0 0 auto}

/* Ticket attachment thumbnails use local object URLs before upload and secure routes after upload. */
.ticket-attachment-open{display:flex;align-items:center;gap:10px;min-width:0}.ticket-attachment-open>img,.ticket-attachment-link-image>img{width:52px;height:52px;flex:0 0 auto;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.ticket-attachment-open>span:not(.attachment-file-icon){min-width:0;display:grid;gap:2px}.ticket-attachment-open strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-attachment-link{display:flex;align-items:center;gap:9px;min-width:0}.ticket-attachment-link>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-thumbnail-fallback{width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:800}@media(max-width:620px){.ticket-attachment-link{align-items:flex-start}.ticket-attachment-link-image>img{width:46px;height:46px}}


/* Status and priority pills are always regular weight in both portals. */
.badge,.badge *,[class^="badge-"],[class^="badge-"] *,[class*=" badge-"],[class*=" badge-"] *,.status-label,.status-label *,.priority-badge,.priority-badge *,.message-role-label,.message-role-label *{font-weight:400!important}


/* Status-dot spacing: 40% tighter than the prior 6px badge gap. */
.badge{gap:0!important}.badge .status-dot{margin:0 10px 0 0!important;flex:0 0 auto}


/* Notification timestamps stay concise and visibly secondary. */
.notification-menu-time{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-weight:400;line-height:1.3}

/* Downgrade request modal: balanced field and action spacing. */
.plan-change-dialog{width:min(640px,calc(100% - 32px));max-width:640px;border:0;border-radius:18px;padding:0;background:transparent;color:var(--text);box-shadow:0 24px 72px rgba(8,31,92,.28)}.plan-change-dialog::backdrop{background:rgba(8,31,92,.58);backdrop-filter:blur(3px)}.plan-change-dialog .modal-inner{display:grid;gap:20px;padding:28px}.plan-change-dialog .modal-header{align-items:flex-start;margin:0;padding-bottom:18px;border-bottom:1px solid #dce7f2}.plan-change-dialog .modal-header h2{color:#0c2d61}.plan-change-dialog .modal-header .muted{margin:6px 0 0;line-height:1.45}.plan-change-dialog .plan-change-explainer{display:grid;gap:10px;margin:0;padding:16px 17px;border:1px solid #d7e2f0;border-radius:12px;background:#f6f9fd}.plan-change-dialog .plan-change-explainer p{margin:0;color:#415a78;font-size:14px;line-height:1.52}.plan-change-dialog .plan-change-explainer strong{color:#173760}.plan-change-dialog form{display:grid;gap:18px;margin:0}.plan-change-dialog .field{display:grid;gap:8px;margin:0}.plan-change-dialog .field label{color:#173760;font-size:13px}.plan-change-dialog .field select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #b9cbe0;border-radius:10px;background:var(--surface);color:var(--text)}.plan-change-dialog .modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0;padding-top:18px;border-top:1px solid #dce7f2}.plan-change-dialog .modal-actions .button{min-height:44px;margin:0;white-space:nowrap}@media(max-width:560px){.plan-change-dialog .modal-inner{gap:16px;padding:20px}.plan-change-dialog .modal-actions{align-items:stretch;flex-direction:column}.plan-change-dialog .modal-actions .button{width:100%}}
[data-theme="dark"] .plan-change-dialog .modal-header{border-color:#304b6b}[data-theme="dark"] .plan-change-dialog .modal-header h2,[data-theme="dark"] .plan-change-dialog .plan-change-explainer strong,[data-theme="dark"] .plan-change-dialog .field label{color:#e9f2ff}[data-theme="dark"] .plan-change-dialog .plan-change-explainer{border-color:#304b6b;background:#132640}[data-theme="dark"] .plan-change-dialog .plan-change-explainer p{color:#b8cbe5}[data-theme="dark"] .plan-change-dialog .field select{border-color:#415f84;background:#101d32}[data-theme="dark"] .plan-change-dialog .modal-actions{border-color:#304b6b}

/* Refined downgrade modal: one quiet surface, no translucent outer panel. */
.plan-change-dialog{background:transparent;box-shadow:0 26px 74px rgba(8,31,92,.30)}.plan-change-dialog .modal-inner{display:grid;gap:20px;padding:28px;border:1px solid #d6e2ef;border-radius:18px;background:var(--surface)}.plan-change-dialog .modal-header{padding-bottom:16px;border-color:#dce7f2}.plan-change-dialog .modal-header h2{font-size:22px;letter-spacing:-.02em}.plan-change-dialog .modal-header .muted{color:#617895}.plan-change-dialog .plan-change-explainer{display:grid;gap:9px;margin:0;padding:15px 16px;border:0;border-left:3px solid #315f9d;border-radius:0 11px 11px 0;background:#f4f8fd}.plan-change-dialog .plan-change-explainer p{color:#46617f;line-height:1.5}.plan-change-dialog .field select{border-color:#b7c9df;box-shadow:0 1px 2px rgba(15,55,112,.06)}.plan-change-dialog .modal-actions{border-color:#dce7f2}.plan-change-dialog .modal-actions .button{box-shadow:none}.plan-change-dialog .modal-actions .button:first-child{box-shadow:0 7px 15px rgba(255,116,23,.20)}[data-theme="dark"] .plan-change-dialog .modal-inner{border-color:#385575;background:#101d32}[data-theme="dark"] .plan-change-dialog .modal-header{border-color:#304b6b}[data-theme="dark"] .plan-change-dialog .modal-header .muted{color:#b8cbe5}[data-theme="dark"] .plan-change-dialog .plan-change-explainer{background:#132640;border-left-color:#6e9ed7}[data-theme="dark"] .plan-change-dialog .plan-change-explainer p{color:#c5d5eb}[data-theme="dark"] .plan-change-dialog .field select{border-color:#415f84;box-shadow:none}[data-theme="dark"] .plan-change-dialog .modal-actions{border-color:#304b6b}

/* State badges use text labels only. */
.badge .status-dot{display:none!important}
/* Certizaje identity layer */
:root{--bg:#f4f6f8;--surface:#fff;--surface-2:#f8fafc;--text:#061a35;--muted:#5e6d7e;--line:#d8e0e8;--line-strong:#b7c4d0;--inverse:#fff;--accent:#f7bd19;--success:#16803c;--danger:#c33232;--shadow:0 18px 60px rgba(6,26,53,.12)}
.sidebar,.mobile-panel{border-color:#d8e0e8}.sidebar .brand img,.mobile-brand img,.auth-brand img{max-height:56px;width:auto;object-fit:contain}.sidebar nav a.active,.mobile-panel a.active{background:#061a35;color:#fff}.button:not(.danger),button.button:not(.danger){background:#f7bd19;border-color:#f7bd19;color:#061a35}.button:not(.danger):hover,button.button:not(.danger):hover{background:#d79c00;border-color:#d79c00;color:#061a35}.button.secondary{background:#fff;border-color:#b7c4d0;color:#061a35}.button.secondary:hover{background:#eef3f7}.page-heading h1,.card h1,.card h2,.table-card h2{color:#061a35}.badge{font-weight:400}.status-dot{display:none!important}
[data-theme="dark"]{--bg:#06111f;--surface:#0a1c32;--surface-2:#102946;--text:#f4f6f8;--muted:#bac6d3;--line:#29445f;--line-strong:#46637d;--inverse:#06111f;--accent:#f7bd19}
[data-theme="dark"] .button:not(.danger),[data-theme="dark"] button.button:not(.danger){color:#061a35}

/* Certizaje CTA final override */
.auth-card .button:not(.secondary),.form-actions .button:not(.secondary),button.button:not(.secondary){background:#f7bd19!important;border-color:#f7bd19!important;color:#061a35!important}.auth-card .button:not(.secondary):hover,.form-actions .button:not(.secondary):hover,button.button:not(.secondary):hover{background:#d79c00!important;border-color:#d79c00!important;color:#061a35!important}
