@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap');
:root{--portal-purple:#6d28d9;--portal-dark:#221136;--portal-yellow:#facc15;--portal-red:#dc2626;--portal-ink:#211535;--portal-muted:#716680;}
*{box-sizing:border-box}.client-shell,.admin-portal{margin:0;color:var(--portal-ink);font:14px/1.6 'DM Sans',system-ui,sans-serif;background:#f9f7fd}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}
.client-shell{display:flex;min-height:100dvh}.client-sidebar{width:246px;flex:0 0 246px;min-height:100dvh;padding:26px 16px;background:linear-gradient(180deg,#25113c,#50208d 62%,#301246);color:#fff;display:flex;flex-direction:column;gap:7px;box-shadow:8px 0 28px #27163815}.client-brand{font-size:17px;font-weight:900;letter-spacing:-.5px;margin:3px 0 24px;color:white}.client-side-label{font-size:10px;letter-spacing:1.8px;color:#c6b2ed;font-weight:900;margin:18px 12px 5px}.client-nav{display:block;width:100%;text-align:left;border:1px solid #a27bd48a;border-radius:10px;background:#6d28d9;color:white;padding:10px 14px;font-weight:800;font-size:12px;box-shadow:0 3px 0 #2d0d55;transition:transform .2s,box-shadow .2s}.client-nav:hover,.client-nav.current{background:#8045d9;color:white}.client-nav.current{outline:2px solid #d9bffc;outline-offset:1px}.client-nav:active{transform:translateY(2px);box-shadow:0 1px 0 #2d0d55}.client-sidebar form{margin:0}.client-sidebar .logout{cursor:pointer}.client-main{flex:1;min-width:0;display:flex;flex-direction:column}.client-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 32px;background:white;border-bottom:1px solid #eee5f7}.client-top h1{font:900 clamp(22px,3vw,29px)/1.2 'Manrope',sans-serif;margin:3px 0;color:#25123c}.client-top .eyebrow{font-size:10px;letter-spacing:2px;font-weight:900;color:#7c3aed}.client-avatar{background:#6d28d9;color:white;border-radius:15px;width:42px;height:42px;display:grid;place-items:center;font-weight:900;box-shadow:0 4px 0 #441783}.client-content{padding:30px;flex:1;max-width:1400px;width:100%;margin:0 auto}.client-content h2{font:850 22px 'Manrope',sans-serif;letter-spacing:-.5px}.client-welcome{background:linear-gradient(115deg,#3c1765,#6d28d9 58%,#7f38cd);color:white;padding:35px;border-radius:20px;display:flex;justify-content:space-between;gap:22px;align-items:center;box-shadow:0 18px 35px #38165d26}.client-welcome h2{color:white;font-size:27px;margin:9px 0}.client-welcome p{color:#eadaff;margin:8px 0}.client-welcome .eyebrow{color:#ffdf88;letter-spacing:2px;font-size:10px;font-weight:900}.client-button{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:10px;color:white!important;background:#6d28d9;border:1px solid #9665d7;box-shadow:0 3px 0 #3f146f;font-weight:900;font-size:12px;cursor:pointer;text-decoration:none;white-space:nowrap}.client-welcome .client-button{background:#fff;color:#5c299e!important;border-color:#eee2ff;box-shadow:0 4px 0 #d5b6f3}.client-button:hover{transform:translateY(1px);box-shadow:0 2px 0 #3f146f}.client-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0 30px}.client-stats>div{background:white;padding:20px;border-radius:15px;border:1px solid #ece1f4;box-shadow:0 5px 0 #eee3f7,0 14px 28px #38165d0b}.client-stats span{display:block;color:#786b83;font-size:12px;font-weight:800}.client-stats strong{display:block;color:#532193;font-size:27px;margin:10px 0}.client-stats small{color:#8c8098;font-size:11px}.client-status{display:inline-block!important;width:max-content;font-size:11px!important;line-height:1.25;padding:7px 11px;border-radius:999px;font-weight:900;color:#61450f!important;background:#fff2c7}.status-active{background:#ddf8e7!important;color:#16663a!important}.status-pending{background:#fff0c3!important;color:#845008!important}.status-completed{background:#e4e8ff!important;color:#373681!important}.status-rejected,.status-cancelled,.status-suspended,.status-expired{background:#ffe1e7!important;color:#a72c41!important}
.client-card{background:white;padding:24px;border:1px solid #ece1f5;border-radius:18px;box-shadow:0 9px 30px #35125c0b;margin:20px 0}.client-table-scroll{overflow-x:auto}.client-table{width:100%;border-collapse:collapse;min-width:650px}.client-table th,.client-table td{padding:13px 10px;text-align:left;border-bottom:1px solid #efe9f4;vertical-align:middle}.client-table th{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#796c84}.client-table td{font-size:12px}.client-table td small{display:block;color:#83768e;font-size:10px}.client-table a{color:#6d28d9;font-weight:800}.client-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:25px 0}.client-plan{background:white;border:1px solid #eee2f5;border-radius:18px;padding:25px;box-shadow:0 6px 0 #e9ddf2}.client-plan-mark{font-size:32px;background:#f4e8ff;width:60px;height:60px;display:grid;place-items:center;color:#6d28d9;border-radius:15px}.client-plan h3{font-size:20px}.client-plan strong{display:block;font-size:23px;margin:20px 0}.client-plan p{color:#786b83;min-height:58px}.client-alert{padding:13px 17px;border-radius:12px;background:#eaf8ec;color:#236c41;font-weight:800}.client-alert.error{background:#ffe5e8;color:#a32245}.client-field{margin:16px 0}.client-field label{display:block;font-size:12px;font-weight:900;margin-bottom:6px}.client-field input{width:100%;padding:12px;border:1px solid #dcccec;border-radius:10px}.client-profile{max-width:620px}.client-foot{padding:17px 30px;background:white;border-top:1px solid #eae0f2;font-size:12px;color:#75647f}.client-foot a{color:#6d28d9;font-weight:900}.portal-auth{background:linear-gradient(140deg,#f4ecff,#fff9f3)}.portal-auth-card{max-width:510px;margin:auto;padding:40px;background:white;border-radius:22px;box-shadow:0 15px 50px #441b711e;border:1px solid #e7d5f9}.portal-auth-card h1{font:900 35px 'Manrope',sans-serif;margin:8px 0}.portal-auth-card p{color:#6b6078}.portal-icon{display:grid;place-items:center;background:#6d28d9;color:white;border-radius:16px;width:62px;height:62px;font-size:30px;box-shadow:0 5px 0 #421777}.portal-auth-card .field{margin:15px 0}.portal-auth-card .field label{display:block;font-weight:800;margin-bottom:6px}.portal-auth-card .field input{width:100%;border:1px solid #dacbea;padding:12px;border-radius:9px}.portal-terms{display:flex;align-items:flex-start;gap:8px;font-size:12px;margin-bottom:14px}.portal-auth-switch{font-size:13px;margin-top:21px}.portal-auth-switch a{font-weight:900;color:#6d28d9}.client-entry{display:inline-flex;padding:9px 14px;border:1px solid #dfcff1;border-radius:10px;background:#fff;color:#5b21b6!important;font-weight:900;font-size:12px;white-space:nowrap}.client-entry:hover{background:#f7efff}.admin-portal{min-height:100dvh}.client-topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 26px;color:white;background:#3a145e}.client-topbar a{font-weight:900}.admin-portal-wrap{max-width:1250px;margin:36px auto;padding:0 20px}.client-tabs{display:flex;gap:12px;flex-wrap:wrap}.client-tabs a{background:white;color:#532196;border:1px solid #e3d3f2;border-radius:10px;padding:10px 17px;font-weight:900}.client-tabs a.active{background:#6d28d9;color:white}.admin-order-grid{display:grid;gap:22px}.admin-order-card{background:white;border:1px solid #eaddf5;border-radius:18px;box-shadow:0 6px 0 #e9dbf7;padding:24px}.order-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.order-heading h2{margin:0}.order-heading p,.admin-order-card p{color:#70627b}.order-facts{display:grid;grid-template-columns:1fr 1.1fr 1.4fr;gap:15px;padding:18px;background:#f9f3ff;border-radius:12px;margin:18px 0;overflow-wrap:anywhere}.order-facts small,.order-facts b{display:block}.order-facts small{color:#736580}.admin-order-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.admin-order-form label{display:block;font-size:12px;font-weight:800}.admin-order-form input,.admin-order-form select,.admin-order-form textarea{display:block;width:100%;padding:11px;border-radius:8px;border:1px solid #daccea;margin-top:5px}.admin-order-form label.wide{grid-column:1/-1}.admin-order-form textarea{min-height:75px}.admin-order-form .client-button{width:max-content}
@media(max-width:1160px){.client-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.client-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:920px){.client-shell{display:block}.client-sidebar{width:100%;min-height:0;display:flex;flex-direction:row;overflow-x:auto;padding:12px 15px;align-items:center}.client-brand{min-width:150px;margin:0 12px 0 0}.client-side-label{display:none}.client-nav{white-space:nowrap;width:auto;min-width:max-content;padding:9px 11px}.client-sidebar form{flex:0 0 auto}.client-top{padding:18px 20px}.client-content{padding:20px}.client-plan-grid{grid-template-columns:1fr 1fr}.client-welcome{flex-direction:column;align-items:flex-start}.order-facts{grid-template-columns:1fr}.admin-order-form{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.client-stats,.client-plan-grid{grid-template-columns:1fr}.client-top h1{font-size:22px}.portal-auth-card{padding:24px}.admin-order-form{grid-template-columns:1fr}.client-topbar{padding:14px;flex-wrap:wrap}.client-content{padding:15px}.client-welcome{padding:24px}.admin-portal-wrap{margin:20px auto}.client-card{padding:16px}.client-entry{font-size:11px;padding:8px}}

/* private client dashboard floating chat */
.portal-chat{position:fixed;right:18px;bottom:18px;z-index:9000;font:14px 'DM Sans',sans-serif}.portal-chat>button{background:#6d28d9;color:white;border:1px solid #9263df;padding:12px 19px;border-radius:12px;box-shadow:0 4px 0 #3d146c;cursor:pointer;font-weight:800}.portal-chat .agency-chat-panel{position:absolute;right:0;bottom:55px;width:min(365px,calc(100vw - 25px));max-height:72vh;overflow:auto;background:white;border:1px solid #daccf2;box-shadow:0 18px 55px #25113c55;border-radius:16px;padding:16px}.portal-chat [hidden]{display:none!important}.portal-chat .agency-chat-panel h3{display:flex;align-items:center;justify-content:space-between;margin:0}.portal-chat .agency-chat-panel h3 button{background:none;border:0;font-size:23px;cursor:pointer}.portal-chat .chat-note{font-size:11px;color:#806e8f}.portal-chat form input{display:block;width:100%;padding:10px;margin:10px 0;border:1px solid #dbc9ec;border-radius:9px}.portal-chat form button{padding:10px 14px;background:#6d28d9;border:0;color:white;border-radius:9px;cursor:pointer}.portal-chat #agency-chat-messages{height:230px;overflow:auto;background:#f9f5ff;border-radius:10px;padding:9px}.portal-chat .agency-msg{background:#e9dbff;padding:9px;margin:7px 0;white-space:pre-wrap;border-radius:10px;overflow-wrap:anywhere}.portal-chat .agency-msg.staff{background:#fff1c0}.portal-chat #agency-chat-status{font-size:11px;color:#6d557b}.portal-chat .agency-chat-panel form button:disabled{opacity:.5}

.mobile-client-link{display:none!important}@media(max-width:920px){.mobile-client-link{display:block!important}}@media(max-width:640px){.site-header .client-entry{display:none!important}}
