#dashboard{padding-bottom:64px}.panel-header{margin:28px 0 24px}.role-badge{background:#eee7fc;color:#6944a1;letter-spacing:.025em;font-weight:750}.panel-layout{grid-template-columns:196px minmax(0,1fr);gap:28px}.panel-nav{padding:12px;background:#fff;border:1px solid #e9e2f2;border-radius:24px;align-self:start;box-shadow:0 8px 30px #33205d04}.panel-nav button{display:flex;align-items:center;gap:12px;border-radius:14px;font-size:14px;min-height:50px}.panel-nav button span{display:flex}.panel-nav svg{width:20px;height:20px}.panel-nav button[aria-current=page]{background:#7448dc;color:#fff;box-shadow:0 5px 12px #7448dc20}.panel-nav .logout{margin-top:24px;color:#947888;border-top:0;border-radius:14px}.panel-content{min-width:0}
#dashboard .dashboard-welcome{position:relative;isolation:isolate;overflow:hidden;min-height:255px;border-radius:28px;padding:34px;background:radial-gradient(ellipse at 75% 25%,#ab89f2aa,transparent 52%),linear-gradient(110deg,#281b46,#503085 65%,#724bb0);border:1px solid #7d5aa3;box-shadow:0 16px 34px #46247815;color:white;display:flex;align-items:center}.welcome-copy{position:relative;z-index:2;width:72%}#dashboard .dashboard-welcome .eyebrow{color:#cfb7f9;font-size:10px;letter-spacing:.17em}#dashboard .dashboard-welcome h1{font-size:clamp(32px,3.4vw,48px);letter-spacing:-.055em;margin:12px 0;color:white;line-height:1.08;overflow-wrap:anywhere}.greeting-dot{color:#c7a1ff}#dashboard .dashboard-welcome p{color:#e3d6f5;font-size:15px;max-width:350px;line-height:1.6;margin:0 0 20px}.welcome-action{display:inline-flex;align-items:center;gap:24px;background:#fff;color:#4e2c83;border:0;border-radius:13px;padding:12px 16px;min-height:46px;font-weight:750;font-size:13px;cursor:pointer}.welcome-action:hover{background:#efe5ff}.welcome-action span{font-size:20px}.panel-mascot{position:absolute;width:235px;height:235px;object-fit:contain;right:-5px;bottom:-6px;z-index:1;filter:drop-shadow(0 15px 15px #24113e35)}.welcome-orbit{position:absolute;width:340px;height:340px;border:1px solid #d8bbff25;border-radius:50%;right:-50px;top:-60px;box-shadow:0 0 0 38px #e4ccff06,0 0 0 78px #e4ccff04;z-index:0}
#dashboard .stats{gap:14px;margin:20px 0 34px;grid-template-columns:repeat(3,minmax(0,1fr))}#dashboard .stats button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;border-radius:20px;background:#fff;border:1px solid #e7dff0;text-align:left;box-shadow:0 5px 18px #30204703;transition:transform .15s,border-color .15s}#dashboard .stats button:hover{transform:translateY(-2px);border-color:#b69adf}#dashboard .stats .stat-icon{display:flex;width:34px;height:34px;align-items:center;justify-content:center;background:#f0e9fc;border-radius:11px;color:#8354c2;font-size:initial}#dashboard .stats svg{width:19px;height:19px}#dashboard .stats small{font-size:13px;color:#776b87;margin-top:3px}#dashboard .stats strong{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:32px;line-height:1.15;margin:0;letter-spacing:-.04em;color:#2c203e}#dashboard .stats strong.stat-profile{font-size:25px}#dashboard .stats strong i{font-style:normal;font-size:18px;color:#a791bc;font-weight:400}#dashboard .stats .stat-caption{font-size:11px;color:#877891}.activity-heading .eyebrow{font-size:9px;letter-spacing:.15em;margin:0 0 8px;color:#9876ba}.activity-heading h2{font-size:23px;letter-spacing:-.04em;margin:0}.activity-heading{align-items:center;margin-bottom:18px}.activity-heading button{color:#7546b7;font-weight:700;font-size:13px;white-space:nowrap}
#dashboard .job-card{padding:24px;border-radius:23px;background:linear-gradient(160deg,#fff,#fdfbff);border:1px solid #e4dbef;box-shadow:0 6px 22px #39225204}#dashboard .job-card h3{margin:22px 0 10px;font-size:19px;letter-spacing:-.025em}.job-top{gap:10px;align-items:center}.job-top>span:last-child{font-size:11px;color:#9989a8}.job-detail{line-height:1.6;color:#675976;font-size:14px}.job-card .job-actions [data-chat]{border-radius:14px;box-shadow:none;background:#efe7fc;color:#6b3eb1;border:1px solid #e4d6f9}.job-card .job-actions [data-chat]:hover{background:#7548d7;color:#fff}.job-card.has-unread{border-color:#a180dc;box-shadow:0 0 0 2px #eee5fc}.job-card.has-unread [data-chat]{background:#7548d7;color:#fff}.job-card .job-address{background:#f5f0fb}.panel-content .empty{grid-column:1/-1;padding:36px 22px;border:1px solid #e7deef;border-radius:24px;background:linear-gradient(135deg,#faf7ff,#fff);text-align:center}.panel-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:#ebe0fb;color:#8054ba;border-radius:15px;font-size:25px}.panel-content .empty h3{font-size:20px;letter-spacing:-.03em}.panel-content .empty p{font-size:14px}.profile-form{background:white;border:1px solid #e7dff0;padding:26px;border-radius:24px}.profile-form input,.profile-form textarea,.profile-form select{border-radius:12px!important;background:#fdfbff!important;min-height:46px}.profile-form label{font-size:14px}.panel-description{font-size:15px}
@media(max-width:700px){#dashboard{padding-bottom:32px}#dashboard .panel-layout{display:block}#dashboard .panel-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 18px;border-radius:18px;padding:5px!important;gap:4px!important;box-shadow:none}#dashboard .panel-nav button{display:flex;flex-direction:column;justify-content:center;gap:7px;min-height:70px;font-size:11px!important;padding:8px 3px!important;text-align:center}#dashboard .panel-nav svg{width:20px;height:20px}#dashboard .panel-nav .logout{display:none}#dashboard .dashboard-welcome{padding:25px 20px;min-height:230px;border-radius:23px;align-items:flex-start}.welcome-copy{width:76%}#dashboard .dashboard-welcome h1{font-size:34px;margin:12px 0}#dashboard .dashboard-welcome .eyebrow{font-size:8px;letter-spacing:.12em}#dashboard .dashboard-welcome p{font-size:14px;max-width:205px;margin-bottom:20px}.panel-mascot{width:148px;height:148px;right:-17px;bottom:2px}.welcome-action{font-size:12px;padding:11px 12px;gap:10px}.welcome-orbit{right:-190px}#dashboard .stats{gap:8px;margin:13px 0 28px}#dashboard .stats button{padding:13px 10px;border-radius:16px;gap:7px}#dashboard .stats small{font-size:11px;min-height:28px;line-height:1.3}#dashboard .stats strong{font-size:28px}#dashboard .stats strong.stat-profile{font-size:19px}#dashboard .stats .stat-caption{display:none}#dashboard .stats strong i{font-size:14px}#dashboard .stats .stat-icon{width:30px;height:30px}.activity-heading h2{font-size:20px}.activity-heading .eyebrow{font-size:8px}.activity-heading button{font-size:12px;padding:8px 0}#dashboard .jobs-grid{grid-template-columns:minmax(0,1fr)}#dashboard .job-card{padding:20px;border-radius:21px}#dashboard .job-card h3{font-size:18px}.profile-form{padding:20px 16px}.panel-content .section-heading{gap:12px}.panel-title{font-size:28px}}
@media(prefers-reduced-motion:reduce){#dashboard .stats button{transition:none}}

/* Account workspace navigation, shared across both roles. */
#dashboard .panel-header.workspace-bar{display:flex!important;flex-direction:row;align-items:center!important;justify-content:space-between;gap:20px!important;padding:16px 18px!important;margin:24px 0!important;border:1px solid #e6ddf1;border-radius:22px;background:linear-gradient(110deg,#fff 35%,#f5effe);box-shadow:0 5px 20px #48257604}
.workspace-identity{display:flex;align-items:center;gap:12px;min-width:0}.workspace-symbol{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:#eee4fc;color:#794bc1;flex-shrink:0}.workspace-symbol svg{width:22px;height:22px}.workspace-kicker{display:block;font-size:9px;font-weight:750;letter-spacing:.12em;color:#9476b0;margin-bottom:5px}.workspace-identity strong{font-size:16px;letter-spacing:-.025em;color:#39274d}
#dashboard .workspace-bar .workspace-switch{display:flex!important;align-items:center;gap:5px!important;width:auto;padding:5px;background:#eee7f6;border:1px solid #e7ddf1;border-radius:16px;margin:0}
#dashboard .workspace-switch button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 13px!important;border:1px solid transparent;border-radius:11px;background:transparent;color:#7c668d;font-size:13px!important;font-weight:650;line-height:1.3;margin:0;cursor:pointer;white-space:nowrap}
.workspace-switch svg{width:18px;height:18px;flex-shrink:0}#dashboard .workspace-switch button[aria-pressed=true]{background:#fff;color:#6738b1;border-color:#e3d4f3;box-shadow:0 3px 8px #44236909}#dashboard .workspace-switch button:hover{background:#fff;color:#653aab}#dashboard .workspace-switch .workspace-search{background:#322343;color:white;margin-left:7px;border-color:#322343}#dashboard .workspace-switch .workspace-search:hover{background:#57337e;color:white}.workspace-search span{font-size:18px}.workspace-switch button:focus-visible{outline:2px solid #8954cf;outline-offset:2px}
@media(max-width:900px){#dashboard .panel-header.workspace-bar{flex-direction:column;align-items:stretch!important;gap:14px!important}#dashboard .workspace-bar .workspace-switch{width:100%;box-sizing:border-box}#dashboard .workspace-switch button{flex:1;white-space:normal}}
@media(max-width:700px){#dashboard .panel-header.workspace-bar{padding:15px!important;border-radius:20px;margin:18px 0!important;display:flex!important}.workspace-identity strong{font-size:16px}.workspace-kicker{font-size:8px}.workspace-symbol{width:38px;height:38px}#dashboard .workspace-bar .workspace-switch{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:5px;gap:5px!important;border-radius:14px}#dashboard .workspace-switch button{font-size:12px!important;gap:6px;padding:10px 6px!important;min-width:0}#dashboard .workspace-switch .workspace-search{grid-column:1/-1;margin:3px 0 0!important;min-height:42px}.workspace-switch svg{width:16px;height:16px}}

/* Zervi navigation: identity, activity, and role switch. */
.header #account-menu{width:340px;max-width:calc(100vw - 32px);padding:0;border:1px solid #e5d9f3;border-radius:24px;overflow:auto;max-height:calc(100dvh - 105px);overscroll-behavior:contain;box-shadow:0 22px 70px #33204824;background:#fff;scrollbar-width:thin}.zmenu-head{display:flex;align-items:center;gap:12px;padding:20px;background:radial-gradient(ellipse at 100% 0,#d9c5ff90,transparent 80%),#f6f0ff;border-bottom:1px solid #eadff6}.zmenu-avatar{display:flex;align-items:center;justify-content:center;width:45px;height:45px;flex-shrink:0;border-radius:15px;background:linear-gradient(140deg,#9570ee,#6635c4);color:#fff;font-size:24px;font-weight:800;box-shadow:0 5px 13px #774bc12b}.zmenu-head>div{min-width:0}.zmenu-head small{display:block;color:#9975b7;font-size:8px;font-weight:750;letter-spacing:.13em}.zmenu-head strong{display:block;color:#30203f;font-size:17px;margin-top:4px;overflow-wrap:anywhere}.zmenu-head div>span{font-size:11px;color:#8c6ca8}.zmenu-group{padding:9px 10px;border-bottom:1px solid #f0e9f7}.header #account-menu .menu-caption{margin:7px 10px 5px;font-size:9px;font-weight:750;color:#a18aad;letter-spacing:.12em}.header #account-menu .zmenu-row{display:flex;align-items:center;gap:11px;width:100%;min-height:46px;padding:10px;border:0;border-radius:12px;text-align:left;background:transparent;color:#493452;white-space:normal}.header #account-menu .zmenu-row:hover{background:#f3ecfc;color:#7543bd}.zmenu-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:#f5f0fb;color:#9165bc;flex-shrink:0}.zmenu-icon svg{width:17px;height:17px}.zmenu-copy{flex:1;min-width:0}.zmenu-copy strong{display:block;font-size:13px;font-weight:650;line-height:1.35}.zmenu-copy small{display:block;color:#9987a7;font-size:11px;margin-top:3px;line-height:1.4}.zmenu-arrow{color:#bba6cb;font-size:16px}.zmenu-switch{margin:9px 10px 0;padding:4px;border-radius:15px;background:linear-gradient(110deg,#f7f1ff,#fdfbff)}.header #account-menu .zmenu-logout{display:flex;justify-content:space-between;width:calc(100% - 20px);margin:5px 10px 10px;min-height:44px;padding:12px 10px;background:transparent;border:0;border-radius:12px;color:#99778b;font-size:12px}.header #account-menu .zmenu-logout:hover{background:#fcf1f5;color:#8d3d66}.zmenu-admin{display:block;padding:15px;color:#7543bd}#account-menu button:focus-visible{outline:2px solid #9b74dd;outline-offset:-2px}@media(max-width:700px){.header #account-menu{width:330px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 94px);border-radius:21px}.zmenu-head{padding:16px}.header #account-menu .zmenu-row{min-height:46px;padding:8px 10px}.zmenu-copy strong{font-size:14px}.zmenu-group{padding:7px 9px}}

.photo-editor{display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px;padding:20px;background:#f5effd;border:1px solid #e6d8f4;border-radius:18px;margin-bottom:24px}.photo-preview{width:90px;height:90px;border-radius:50%;overflow:hidden;background:white;display:flex;align-items:center;justify-content:center;border:3px solid white;box-shadow:0 4px 15px #583c7b15}.photo-preview img,.profile-portrait-photo{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.photo-preview svg{width:34px;color:#9067ba}.photo-editor h3{font-size:17px;margin:0 0 10px}.photo-editor p{font-size:13px;line-height:1.6;margin:8px 0;color:#756280}.photo-editor small{display:block;font-size:12px;line-height:1.5;color:#816997}.pro-portrait,.avatar{overflow:hidden}@media(max-width:700px){.photo-editor{grid-template-columns:1fr;padding:16px}.photo-preview{width:80px;height:80px}.photo-editor input{max-width:100%;font-size:12px!important}}

/* Welcome banner is informational; navigation lives outside it. */
#dashboard .dashboard-welcome{min-height:215px}#dashboard .dashboard-welcome p{margin-bottom:0}.panel-mascot{width:215px;height:215px}@media(max-width:700px){#dashboard .dashboard-welcome{min-height:190px;align-items:center;padding:24px 20px}.welcome-copy{width:70%}#dashboard .dashboard-welcome p{max-width:180px}.panel-mascot{width:135px;height:135px;right:-20px;bottom:0}}

.identity-editor{border:1px solid #e4d7f2;border-radius:18px;padding:18px;margin:0 0 24px;min-width:0;background:#fbf8ff}.identity-editor legend{font-size:16px;font-weight:750;color:#593982;padding:0 6px}.identity-editor p{font-size:13px;line-height:1.6;color:#796486}.identity-editor .identity-status{font-weight:750;color:#6b42a3}.identity-editor small{display:block;font-size:12px;line-height:1.5;color:#856f94;margin-top:10px}.identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.identity-grid>div{min-width:0}.identity-grid img{display:block;width:100%;height:135px;object-fit:contain;border-radius:10px;background:#eee8f6}.identity-grid a{font-size:12px;color:#7949b8}.identity-grid input{max-width:100%;font-size:12px!important}.identity-editor .identity-reason{color:#a04c48;background:#fff0ed;padding:10px;border-radius:10px}@media(max-width:550px){.identity-grid{grid-template-columns:1fr}.identity-editor{padding:14px}}

.zmenu-avatar{overflow:hidden}.zmenu-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

.zprice-preview{margin:14px 0}.zprice-breakdown{padding:15px;border:1px solid #e2d2f5;background:linear-gradient(130deg,#f5edff,#fff);border-radius:16px;margin:14px 0;font-size:12px}.zprice-breakdown>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;color:#806b91}.zprice-breakdown b,.zprice-breakdown strong{white-space:nowrap;text-align:right}.zprice-breakdown .zprice-net{display:block;color:#573782}.zprice-net strong{display:block;font-size:24px;text-align:left;letter-spacing:-.03em}.zprice-breakdown .zprice-total{border-top:1px solid #deceed;margin-top:6px;color:#49296f;font-weight:750;align-items:center}.zprice-total strong{font-size:17px}.zprice-breakdown small{display:block;font-size:11px;line-height:1.5;margin-top:8px;color:#93809f}.zprice-explain p{font-size:12px;line-height:1.6}.zchat-quote-form label>small{display:block;font-size:12px;line-height:1.5;color:#8b749b;margin:5px 0}

.zchat-header{gap:14px}.zchat-header .zchat-close{display:flex;align-items:center;justify-content:center;padding:0!important;line-height:1;width:44px;height:44px;min-width:44px;margin:0;font-family:Arial,sans-serif}.zchat-header .zchat-jump{flex-shrink:0}.zchat-rule-alert{padding:12px 14px;border-radius:12px;border:1px solid #efbdc0;background:#fff0f0;color:#98353f}.zchat-rule-alert strong,.zchat-policy .zchat-rule-alert p{color:#96353e}.zchat-policy .zchat-rule-alert p{margin-bottom:0}.zchat-policy [data-chat-help]{margin-top:7px}.zchat .zmaterials-toggle{display:flex;align-items:center;gap:9px;padding:12px 10px;background:#f1e9fb;border-radius:12px;cursor:pointer;font-size:13px}.zchat .zmaterials-toggle input{width:18px;height:18px;min-height:18px;margin:0;accent-color:#8050d3;flex-shrink:0}@media(max-width:700px){.zchat-header{gap:10px}.zchat-rule-alert{padding:10px 12px}}

.zreview-dialog{width:540px;max-width:calc(100vw - 28px);max-height:90dvh;overflow:auto;border:1px solid #e4d6f5;border-radius:24px;padding:30px;box-sizing:border-box;color:#39284b}.zreview-dialog h2{font-size:26px;letter-spacing:-.04em}.zreview-dialog p,.zreview-dialog label{font-size:14px;line-height:1.6}.zreview-close{float:right;width:40px;height:40px;border:0;border-radius:50%;background:#f0e8f9;color:#775393;font-size:24px;display:flex;align-items:center;justify-content:center}.zreview-dialog textarea{width:100%;box-sizing:border-box;border:1px solid #dac9ec;background:#fcfaff;border-radius:12px;padding:12px;font:inherit;font-size:16px;margin:7px 0}.zreview-dialog small{display:block;color:#8b7799;font-size:12px;line-height:1.5}.zreview-confirm{display:flex;align-items:flex-start;gap:10px;background:#f4ecfd;padding:13px;border-radius:12px;margin:16px 0}.zreview-confirm input{width:18px;height:18px;flex-shrink:0;accent-color:#7945c5;margin-top:3px}.zreview-buttons{display:flex;gap:10px}.zreview-buttons button{min-height:44px;flex:1;font-size:13px}.job-top{flex-wrap:wrap}.job-top .status-pill{white-space:normal;line-height:1.4;max-width:100%}@media(max-width:550px){.zreview-dialog{padding:22px 18px}.zreview-buttons{flex-direction:column}}

.dni-camera{width:650px;max-width:calc(100vw - 24px);max-height:92dvh;overflow:auto;padding:26px;border:1px solid #e5d7f5;border-radius:24px;box-sizing:border-box;color:#3d2a50}.dni-camera h2{font-size:26px;letter-spacing:-.04em}.dni-camera p{font-size:14px;line-height:1.6}.dni-camera-close{float:right;border:0;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#eee5f9;color:#68438c;font-size:25px}.dni-viewfinder{position:relative;background:#241b32;border-radius:16px;overflow:hidden}.dni-viewfinder video{display:block;width:100%;max-height:48dvh;object-fit:contain}.dni-guide{position:absolute;inset:15% 10%;border:2px dashed #ffffffb0;border-radius:12px;pointer-events:none}.dni-camera-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.dni-camera-actions button{flex:1;min-height:46px;font-size:13px}.dni-captured{display:block;width:100%;max-height:48dvh;object-fit:contain;border-radius:12px;background:#f1eafa}.dni-capture-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dni-capture-pair img{display:block;width:100%;height:160px;object-fit:contain;background:#f4eefb;border-radius:12px;margin:8px 0}.dni-capture-pair button{width:100%;min-height:44px;font-size:13px}.dni-camera-error{color:#a13447}.dni-capture-status{padding:10px;background:#eaf8ef;border-radius:10px;color:#256c45!important}.dni-camera-launch{margin:10px 0;min-height:46px}.dni-upload-alternative{font-weight:650}@media(max-width:550px){.dni-camera{padding:20px 16px;max-height:94dvh}.dni-camera-actions{flex-direction:column}.dni-capture-pair img{height:120px}.dni-camera h2{font-size:24px}}

/* Horizontal document viewfinder, matching the saved center crop. */
.dni-viewfinder{width:100%;aspect-ratio:8/5}.dni-viewfinder video{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}.dni-guide{inset:7%;border-radius:10px}.dni-camera:focus{outline:none}.dni-camera:focus-visible{outline:none}@media(max-width:550px){.dni-camera{width:calc(100vw - 20px);max-width:calc(100vw - 20px)}.dni-viewfinder{border-radius:14px}}

/* Account documents and personal details share the available desktop width. */
#dashboard .profile-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;max-width:none;width:100%;padding:0;border:0;background:transparent;align-items:start}
.profile-column{min-width:0;display:flex;flex-direction:column;gap:18px;padding:24px;background:#fff;border:1px solid #e7dff0;border-radius:24px}
.profile-column h2{font-size:22px;letter-spacing:-.03em;margin:0;color:#30243f}
.profile-column .profile-column-lead{font-size:13px;line-height:1.6;color:#82718f;margin:-8px 0 4px}
.profile-column .identity-editor,.profile-column .photo-editor{margin:0}
.profile-column .photo-editor{grid-template-columns:minmax(0,1fr);padding:18px}
.profile-column input,.profile-column select,.profile-column textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.profile-column .identity-grid{grid-template-columns:minmax(0,1fr)}
.profile-save{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-end;gap:12px;padding:0 0 12px}
.profile-save .primary{min-width:210px}.profile-save .form-error{width:100%}
@media(max-width:1000px){#dashboard .profile-form{grid-template-columns:minmax(0,1fr)}.profile-column{padding:20px}.profile-save .primary{width:100%}}

.social-access{margin:22px 0}.social-preview-label{font-size:10px;font-weight:750;letter-spacing:.12em;color:#87679e}.social-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.social-buttons button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px;border:1px solid #ddd5e8;border-radius:14px;background:white;color:#30243f;font-size:14px;font-weight:650}.social-buttons button:hover{border-color:#8560cf;background:#faf7ff}.social-buttons .social-apple{background:#25212e;color:white}.social-buttons .social-apple:hover{background:#3f3452}.social-symbol{font-size:23px;font-weight:800;color:#4285f4}.social-buttons svg{width:24px;height:24px}.social-disclaimer{font-size:12px;line-height:1.65;color:#82718e}.social-divider{display:flex;align-items:center;gap:14px;margin-top:22px;color:#9685a1;font-size:12px}.social-divider:before,.social-divider:after{content:'';height:1px;background:#e8e0ef;flex:1}.social-welcome{padding:26px;border-radius:22px;background:linear-gradient(125deg,#302046,#7650ba);color:white}.social-welcome .eyebrow{color:#d9baff;font-size:10px}.social-welcome h2{font-size:30px;margin:12px 0;line-height:1.15;color:white}.social-welcome p{font-size:14px;line-height:1.6;color:#e2d5ef;margin:0}.social-steps{display:flex;gap:10px;list-style:none;padding:0;margin:22px 0;font-size:11px;color:#9886a4}.social-steps li{flex:1;border-top:3px solid #eee6f6;padding-top:10px}.social-steps .current{border-color:#7548d7;color:#68449c;font-weight:700}.social-role-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.social-role-options button{display:flex;flex-direction:column;gap:10px;text-align:left;border:1px solid #e4dbea;border-radius:18px;background:white;padding:20px;color:#30243f}.social-role-options button[aria-pressed=true]{background:#f3ecff;border-color:#916cd1;box-shadow:0 0 0 1px #916cd1}.social-role-options svg{width:25px;height:25px;color:#8054ba}.social-role-options small{font-size:12px;line-height:1.5;color:#82718e}.social-progress{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin:20px 0}.social-progress span{color:#a46b21}.social-checklist{display:grid;gap:10px}.social-checklist button{display:flex;gap:14px;text-align:left;background:#fff;border:1px solid #e5ddec;border-radius:16px;padding:16px;color:#30243f}.social-checklist button[aria-pressed=true]{background:#f3faf6;border-color:#b7dac6}.social-check{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;background:#eee5fb;color:#7044b5}.social-checklist strong,.social-checklist small,.social-checklist em{display:block}.social-checklist small{font-size:12px;color:#82718e;margin:6px 0;line-height:1.5}.social-checklist em{font-size:11px;font-style:normal;color:#7853ac}.social-restriction{padding:14px;background:#f8f4fc;border-radius:12px;font-size:12px;line-height:1.6;color:#806994}.social-review-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 18px;background:#f6f1fc;border:1px solid #e6d9f6;border-radius:20px}.social-review-state svg{width:42px;height:42px;color:#8054ba;margin-bottom:15px}.social-review-state p{font-size:14px;line-height:1.7;color:#82718e}.social-onboarding button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:550px){.social-buttons{grid-template-columns:1fr}.social-welcome{padding:22px}.social-welcome h2{font-size:26px}.social-role-options button{padding:15px}.social-steps{font-size:10px}}

.social-access-label{text-align:center;font-size:11px;font-weight:750;letter-spacing:.12em;color:#82718e;margin:0 0 14px}.social-buttons.social-icons{display:flex;justify-content:center;gap:14px}.social-icons button{width:56px;height:56px;min-height:56px;border-radius:16px;padding:14px}.social-icons img{width:24px;height:24px;object-fit:contain}.social-icons svg{width:26px;height:26px}

.income-filter{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 22px}.income-filter p{font-size:14px;line-height:1.6;color:#82718e}.income-filter label{display:grid;gap:8px;font-size:12px;font-weight:650;color:#705386}.income-filter select{padding:12px 16px;border:1px solid #ddd1ed;border-radius:13px;background:white;min-width:190px;min-height:46px}.income-summary{background:linear-gradient(120deg,#302046,#8055c2);border-radius:24px;padding:30px;color:white}.income-summary>span{font-size:10px;letter-spacing:.12em;font-weight:750;color:#dfc7fb}.income-summary>strong{display:block;font-size:clamp(30px,4vw,48px);letter-spacing:-.04em;margin:14px 0;overflow-wrap:anywhere}.income-summary p{font-size:14px;color:#e7d9f6;line-height:1.6}.income-summary small{font-size:12px;color:#dfc7fb}.income-note{font-size:12px;line-height:1.6;color:#897496;margin:16px 0 24px}.income-list{display:grid;gap:12px}.income-row{display:flex;align-items:center;justify-content:space-between;gap:20px;background:white;border:1px solid #e7dff0;border-radius:18px;padding:20px}.income-row small{font-size:11px;color:#9785a4}.income-row h3{font-size:16px;margin:8px 0}.income-row p{font-size:13px;color:#82718e;margin:0}.income-row>strong{font-size:19px;color:#6e459f;text-align:right}.income-row>div{min-width:0}@media(max-width:700px){.income-filter{align-items:stretch;flex-direction:column;gap:8px}.income-summary{padding:24px}.income-row{align-items:flex-start;flex-direction:column;gap:14px}.income-row>strong{text-align:left}#dashboard .panel-nav:has([data-panel="income"]){grid-template-columns:repeat(3,minmax(0,1fr))}}

.pro-reputation{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px;margin:20px 0 26px;border:1px solid #ddccef;border-radius:23px;background:radial-gradient(ellipse at 100% 15%,#dfcbf4 0,transparent 60%),linear-gradient(125deg,#faf7ff,#f0e6fa);box-shadow:inset 0 1px 0 #fff,0 6px 20px #70409b06;overflow:hidden}.reputation-copy{min-width:0;max-width:610px}.reputation-kicker{display:flex;align-items:center;gap:7px;font-size:9px;line-height:1.5;letter-spacing:.1em;font-weight:750;color:#9466b4}.reputation-kicker>span{font-size:16px;color:#a077ca}.pro-reputation h2{font-size:23px;line-height:1.2;letter-spacing:-.035em;color:#4a2e63;margin:11px 0}.pro-reputation p{font-size:13px;line-height:1.75;color:#826693;margin:0}.pro-reputation p strong{font-weight:700;color:#74518f}.reputation-footnote{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:650;line-height:1.5;color:#8b6ba0;margin-top:15px}.reputation-footnote svg{width:17px;height:17px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.pro-reputation>img{width:155px;height:155px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 8px 9px #6b429d13)}@media(max-width:700px){.pro-reputation{position:relative;padding:21px 20px 20px;display:block;border-radius:20px}.reputation-kicker{font-size:8px;padding-right:65px}.pro-reputation h2{font-size:22px;max-width:calc(100% - 72px);min-height:55px;margin:10px 0 16px}.pro-reputation>img{position:absolute;right:8px;top:17px;width:100px;height:100px}.pro-reputation p{font-size:12px}.reputation-footnote{font-size:10px;margin-top:13px}}

.workspace-mobile-label{display:none}
@media(max-width:700px){
 #dashboard .panel-header.workspace-bar{flex-direction:row;align-items:center!important;gap:8px!important;padding:8px 10px!important;margin:14px 0!important;border-radius:15px}
 #dashboard .workspace-identity{flex:1;min-width:0}.workspace-identity strong{display:block;font-size:12px;line-height:1.3;max-width:110px}
 #dashboard .workspace-symbol,#dashboard .workspace-kicker{display:none}
 #dashboard .workspace-bar .workspace-switch{display:flex!important;flex:none;width:auto;padding:3px;gap:2px!important;border-radius:12px}
 #dashboard .workspace-switch button{flex:none;min-height:40px;padding:8px!important;font-size:11px!important;border-radius:9px;white-space:nowrap}
 #dashboard .workspace-switch svg,#dashboard .workspace-switch .workspace-search,#dashboard .workspace-desktop-label{display:none}
 #dashboard .workspace-mobile-label{display:inline}
}

@media(max-width:700px){
 #dashboard .workspace-identity{gap:7px}
 #dashboard .workspace-symbol{display:flex;width:28px;height:28px;border-radius:9px}
 #dashboard .workspace-symbol svg{width:17px;height:17px}
 #dashboard .workspace-identity strong{font-size:11px}
}

@media(max-width:700px){#dashboard .workspace-mobile-label{max-width:68px;white-space:normal;line-height:1.25}#dashboard .workspace-switch button{padding:6px 7px!important}}

.availability-compact{display:none}
.job-card.job-state-new{border-color:#eab2bb;background:linear-gradient(135deg,#fff6f7,#fff 65%)}
.job-card.job-state-new .status-pill{background:#fce5e9;color:#a02d45}
.job-card.job-state-active{border-color:#e7d092;background:linear-gradient(135deg,#fffbef,#fff 65%)}
.job-card.job-state-active .status-pill{background:#fff0c8;color:#856012}
.job-card.job-state-done{border-color:#a9d6be;background:linear-gradient(135deg,#f0faf4,#fff 65%)}
.job-card.job-state-done .status-pill{background:#dff3e7;color:#246b47}
@media(max-width:700px){
 .availability-compact{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-5px 0 14px;padding:4px 12px;color:#35745a;font-size:12px;font-weight:650;min-height:44px}
 .availability-compact>span{display:flex;align-items:center;gap:7px}.availability-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.availability-compact.is-paused{color:#976129}
 .availability-toggle{display:flex;align-items:center;width:52px;height:44px;padding:0 4px;border:0;background:transparent;position:relative;cursor:pointer;flex:none}
 .availability-toggle:before{content:"";position:absolute;left:4px;right:4px;top:10px;bottom:10px;background:#318268;border-radius:20px}
 .availability-toggle>span{z-index:1;width:18px;height:18px;background:white;border-radius:50%;box-shadow:0 1px 4px #0002;transform:translateX(23px)}
 .availability-toggle[aria-checked=false]:before{background:#b6a8bf}.availability-toggle[aria-checked=false]>span{transform:translateX(3px)}
 .availability-toggle:focus-visible{outline:2px solid #8453c4;outline-offset:2px;border-radius:12px}
 #dashboard .availability-panel{display:none}
 #dashboard .panel-content:has(>.jobs-grid){display:flex;flex-direction:column}
 #dashboard .panel-content>.pro-reputation{order:5;margin-top:24px}
 #dashboard .panel-content>.jobs-grid{order:4}
 #dashboard .panel-content:has(>.jobs-grid) .section-heading{margin-bottom:8px}
 #dashboard .panel-content:has(>.jobs-grid) .panel-description{font-size:12px;margin-bottom:16px}
}

/* Shared, state-driven job journey in both account modes. */
.job-card{border-width:1.5px;border-radius:24px;box-shadow:0 5px 20px #48257608}
.job-card>h3{font-size:19px;letter-spacing:-.4px;margin-bottom:16px}
.job-process{--process-color:#b18521;padding:17px 15px;margin:0 0 19px;border:1px solid #ece3cf;border-radius:16px;background:#fffdf8}
.job-process.is-new{--process-color:#c25168;background:#fff8fa;border-color:#f0d5db}
.job-process.is-complete{--process-color:#33926a;background:#f4fbf7;border-color:#cee8d9}
.job-process-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.job-process-heading strong{font-size:13px;color:#382b46;line-height:1.4}.job-process-heading>span{font-size:10px;white-space:nowrap;color:var(--process-color);font-weight:750}
.job-process-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;list-style:none;margin:0;padding:0}.job-process-track li{min-width:0;font-size:9px;font-weight:600;letter-spacing:-.2px;color:#988d9f;text-align:center}.job-process-segment{display:block;height:5px;margin-bottom:8px;border-radius:5px;background:#e9e3ed;overflow:hidden;position:relative}
.job-process-track .is-finished .job-process-segment,.job-process-track .is-current .job-process-segment{background:var(--process-color);animation:job-step-fill .45s ease-out both;transform-origin:left}.job-process-track .is-current{color:var(--process-color);font-weight:800}.job-process:not(.is-complete) .is-current .job-process-segment:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#ffffff80,transparent);animation:job-step-shine 2.8s ease-in-out 2}
.job-next-step{font-size:12px!important;line-height:1.6!important;color:#7d6b88!important;margin:14px 0 0!important}
.job-process-exception{padding:16px;margin:0 0 18px;border-radius:15px;background:#fff2e7;border:1px solid #edd0b7;color:#9a5f28}.job-process-exception.is-closed{background:#f4f1f6;border-color:#e1d9e7;color:#84758f}.job-process-exception strong{font-size:13px}.job-process-exception p{font-size:12px;margin:8px 0 0;line-height:1.6}
@keyframes job-step-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes job-step-shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media(max-width:700px){.job-card{padding:20px!important}.job-process{padding:15px 10px}.job-process-track{gap:4px}.job-process-track li{font-size:8px}.job-card .job-top{gap:8px;flex-wrap:wrap}.job-card .job-top>span:last-child{font-size:10px}.job-card .job-detail{font-size:13px}}
@media(prefers-reduced-motion:reduce){.job-process-track .job-process-segment,.job-process-track .job-process-segment:after{animation:none!important}}

.income-job-details{display:grid;gap:12px;margin:16px 0 0}.income-job-details div{min-width:0}.income-job-details dt{font-size:11px;font-weight:700;color:#877298;margin-bottom:4px}.income-job-details dd{margin:0;font-size:14px;line-height:1.55;color:#493954;white-space:pre-line;overflow-wrap:anywhere}.income-row>div{min-width:0}

/* Completed income entries: compact desktop receipt layout. */
.income-finished{display:none}
@media(min-width:701px){
 .income-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:24px;padding:20px 22px;border-color:#e3d7f1;border-radius:18px;box-shadow:0 3px 12px #43246404}
 .income-row>div{display:contents}
 .income-row>div>small{grid-column:1;grid-row:1;font-size:10px;letter-spacing:.02em}
 .income-row h3{grid-column:1;grid-row:2;margin:5px 0 8px;font-size:16px;line-height:1.35}
 .income-row>strong{grid-column:2;grid-row:1/4;align-self:start;padding:10px 14px;border-radius:12px;background:#f5effd;color:#7043b0;font-size:20px;line-height:1.3;max-width:240px;overflow-wrap:anywhere}
 .income-finished{display:flex;align-items:center;gap:6px;grid-column:1;grid-row:3;font-size:11px;line-height:1.4;font-weight:600;color:#318063}
 .income-mobile-progress{display:none}
 .income-row .income-job-details{grid-column:1/-1;grid-row:4;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr);gap:20px;margin:16px 0 0;padding-top:14px;border-top:1px solid #eee6f6}
 .income-job-details dt{font-size:10px;margin-bottom:4px;color:#8b759c}
 .income-job-details dd{font-size:13px;line-height:1.5}
}

/* Readable desktop income cards with distinct information sections. */
@media(min-width:701px){
 .income-row{padding:22px;row-gap:0;border-color:#ddcdef;box-shadow:0 5px 18px #52317807;background:linear-gradient(125deg,#fff 75%,#fcf9ff)}
 .income-row>div>small{font-size:13px;line-height:1.5;color:#897496}
 .income-row h3{font-size:20px;line-height:1.35;margin:6px 0 10px;letter-spacing:-.025em}
 .income-row>strong{font-size:24px;padding:13px 17px;border:1px solid #e9ddf8;background:linear-gradient(120deg,#f5edff,#eee4fb);border-radius:14px;letter-spacing:-.025em}
 .income-finished{width:fit-content;font-size:13px;line-height:1.45;padding:7px 10px;border:1px solid #d2e9dc;border-radius:9px;background:#f0f9f4;color:#2c7657;gap:7px}
 .income-row .income-job-details{gap:12px;margin-top:18px;padding-top:0;border:0;align-items:stretch}
 .income-job-details>div{padding:14px 15px;border:1px solid #e9e0f2;border-radius:12px;background:#faf7fd}
 .income-job-details>div:last-child{background:#f7f5fc;border-color:#e3dcf0}
 .income-job-details dt{font-size:12px;line-height:1.4;font-weight:700;color:#86639e;margin-bottom:7px}
 .income-job-details dd{font-size:16px;line-height:1.5;color:#44334f}
}

/* Income title and period share one compact toolbar. */
.income-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 20px;padding:0 0 18px;border-bottom:1px solid #e7ddef}
.income-heading{min-width:0}.income-heading .panel-title{margin:0;font-size:30px;line-height:1.2;letter-spacing:-.035em}
.income-heading>p{margin:7px 0 0;color:#85718f;font-size:13px;line-height:1.5}
.income-header .income-filter{margin:0;flex-shrink:0}.income-header .income-filter label{gap:5px}.income-header .income-filter select{min-height:44px;padding:10px 14px;border-radius:12px;font-size:13px}
@media(max-width:700px){.income-header{gap:14px;align-items:stretch;flex-direction:column;margin-bottom:16px;padding-bottom:14px}.income-heading .panel-title{font-size:27px}.income-header .income-filter label{display:flex;align-items:center;justify-content:space-between;gap:12px}.income-header .income-filter select{min-width:0;max-width:75%;flex:1}}

.income-heading{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:14px;align-items:center}.income-heading .income-mascot{grid-column:1;grid-row:1/3;display:block;width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 3px 4px #68459114)}.income-heading .panel-title{grid-column:2;align-self:end}.income-heading>p{grid-column:2;align-self:start}
@media(max-width:700px){.income-heading{grid-template-columns:56px minmax(0,1fr);column-gap:10px}.income-heading .income-mascot{width:56px;height:56px}.income-heading>p{font-size:12px;margin-top:5px}}

/* Keep the complete job progression visible on both screen sizes. */
@media(min-width:701px){
 .income-row .income-finished{display:none}
 .income-row .income-mobile-progress{display:block;grid-column:1/-1;grid-row:3;min-width:0;margin-top:6px}
 .income-row>strong{grid-row:1/3}
 .income-row .income-mobile-progress .job-progress{margin:0}
}

/* Larger, higher-contrast desktop journey labels. */
@media(min-width:701px){
 .job-process-track li{font-size:15px;line-height:1.45;font-weight:650;letter-spacing:0;color:#66566f;overflow-wrap:anywhere}
 .job-process-track{gap:8px}
 .job-process-heading strong{font-size:16px}
 .job-process-heading>span{font-size:13px}
 .job-process-segment{height:6px;margin-bottom:10px}
 .job-process-track .is-current{color:#246b4e}
 .job-process:not(.is-complete) .job-process-track .is-current{color:#805e14}
 .job-process .job-next-step{font-size:14px!important;color:#66566f!important}
 .income-row .income-mobile-progress .job-process{margin:0}
}

/* A readable, optional encouragement card. */
.pro-reputation{position:relative;padding-top:38px}.pro-reputation[hidden]{display:none!important}
.reputation-close{position:absolute;top:6px;right:6px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#705084;font-size:25px;line-height:1;cursor:pointer}.reputation-close:hover{background:#ffffffb0}.reputation-close:focus-visible{outline:2px solid #8452c1;outline-offset:-4px}
.pro-reputation .reputation-kicker{font-size:12px;color:#79558f}.pro-reputation h2{font-size:26px;line-height:1.25}.pro-reputation p{font-size:16px;line-height:1.65;color:#674f79}.pro-reputation .reputation-footnote{font-size:14px;color:#745785}
@media(max-width:700px){.pro-reputation{padding:40px 20px 22px}.pro-reputation .reputation-kicker{font-size:11px;padding-right:72px}.pro-reputation h2{font-size:24px;max-width:calc(100% - 70px);min-height:0;margin-bottom:20px}.pro-reputation>img{top:49px;right:8px;width:88px;height:88px}.pro-reputation p{font-size:16px}.pro-reputation .reputation-footnote{font-size:13px}}

/* Scale stage labels to the card width, including narrow desktop columns. */
.job-process{container-type:inline-size}
.job-process-track{grid-template-columns:1fr .95fr .9fr 1.4fr 1.1fr;gap:5px}
.job-process-track li{font-size:12px;line-height:1.5;font-weight:600;letter-spacing:0;overflow-wrap:normal;word-break:normal;white-space:nowrap;color:#66566f}
.job-process-track .is-current{font-weight:700}
@container(max-width:380px){.job-process-track li{font-size:11px}.job-process-track{gap:4px}}
@container(max-width:280px){.job-process-track li{font-size:10px}.job-process-track{gap:3px}}

/* Stretch the income content: inline-size containment must not shrink a flex child. */
@media(max-width:700px){
 .income-row>div{width:100%;min-width:0;align-self:stretch}
 .income-row .income-mobile-progress{width:100%;min-width:0}
 .income-row .job-process{width:100%;box-sizing:border-box}
}

@container(max-width:260px){.job-process-track{gap:2px}.job-process-track li{font-size:9px;letter-spacing:-.15px}}

.account-section-header{min-height:91px;box-sizing:border-box}.account-section-header .income-heading{flex:1}.account-section-header .panel-title{overflow-wrap:anywhere}@media(max-width:700px){.account-section-header{min-height:0}.account-section-header .income-heading{width:100%}}

/* Desktop availability remains an accessory above the main navigation. */
@media(min-width:701px){
 .availability-compact{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:-10px 0 16px;padding:0 12px;min-height:44px;color:#35745a;font-size:13px;font-weight:650}
 .availability-compact>span{display:flex;align-items:center;gap:7px}.availability-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.availability-compact.is-paused{color:#976129}
 .availability-toggle{display:flex;align-items:center;width:52px;height:44px;padding:0 4px;border:0;background:transparent;position:relative;cursor:pointer;flex:none}
 .availability-toggle:before{content:"";position:absolute;left:4px;right:4px;top:10px;bottom:10px;background:#318268;border-radius:20px}
 .availability-toggle>span{z-index:1;width:18px;height:18px;background:white;border-radius:50%;box-shadow:0 1px 4px #0002;transform:translateX(23px)}
 .availability-toggle[aria-checked=false]:before{background:#b6a8bf}.availability-toggle[aria-checked=false]>span{transform:translateX(3px)}
 .availability-toggle:focus-visible{outline:2px solid #8453c4;outline-offset:2px;border-radius:12px}
 #dashboard .panel-content:has(>.pro-reputation){display:flex;flex-direction:column}
 #dashboard .panel-content>.pro-reputation{order:5;margin-top:24px}
}

.account-section-header>.availability-compact{margin:0;padding:0;flex-shrink:0;align-self:center}@media(max-width:700px){.account-section-header>.availability-compact{width:100%;justify-content:space-between}}

.account-section-header .job-state-filter select{max-width:270px;width:100%}.account-section-header .job-state-filter{max-width:100%}@media(max-width:700px){.account-section-header .job-state-filter select{max-width:80%;font-size:12px}}

@media(min-width:701px){#dashboard{padding-top:18px}#dashboard .panel-header.workspace-bar{margin-top:0!important}}

#dashboard .stats.professional-summary-stats .summary-stat{--stat-ink:#855e20;--stat-tint:#f5e9cc;background:#fffbf1;border:1px solid #ead7af;box-shadow:0 4px 14px #58402205;text-align:left}
#dashboard .stats.professional-summary-stats .needs-response{--stat-ink:#a23850;--stat-tint:#f8dde4;background:#fff3f5;border-color:#efc7d1}
#dashboard .stats.professional-summary-stats .up-to-date,#dashboard .stats.professional-summary-stats .finished{--stat-ink:#28704f;--stat-tint:#dcefe4;background:#f0f9f4;border-color:#c7e4d3}
#dashboard .stats.professional-summary-stats .stat-icon{background:var(--stat-tint);color:var(--stat-ink)}
#dashboard .stats.professional-summary-stats small,#dashboard .stats.professional-summary-stats strong,#dashboard .stats.professional-summary-stats .stat-caption{color:var(--stat-ink)}
#dashboard .stats.professional-summary-stats small{font-size:14px;line-height:1.45;font-weight:650}#dashboard .stats.professional-summary-stats .stat-caption{font-size:12px;line-height:1.5}#dashboard .stats.professional-summary-stats button:focus-visible{outline:3px solid #8754cc;outline-offset:3px}
@media(max-width:700px){#dashboard .professional-summary-stats{grid-template-columns:1fr;gap:10px}#dashboard .professional-summary-stats button{display:grid;grid-template-columns:36px minmax(0,1fr) auto;column-gap:12px;padding:15px!important}#dashboard .professional-summary-stats .stat-icon{grid-row:1/3;align-self:center}#dashboard .professional-summary-stats small{grid-column:2;min-height:0;font-size:14px}#dashboard .professional-summary-stats strong{grid-column:3;grid-row:1/3;align-self:center;font-size:28px}#dashboard .professional-summary-stats strong i{display:none}#dashboard .professional-summary-stats .stat-caption{display:block;grid-column:2;font-size:12px}}

#dashboard .stats.professional-summary-stats .client-ongoing{--stat-ink:#4d5295;--stat-tint:#e2e5f9;background:#f2f4ff;border-color:#d2d8f4}

/* Compact accessible disclosures retain the next action at a glance. */
#dashboard .jobs-grid{align-items:start}
#dashboard .job-card.job-accordion{display:block;padding:0!important;overflow:hidden;min-width:0}
.job-summary{display:block;list-style:none;cursor:pointer;padding:20px;min-width:0}.job-summary::-webkit-details-marker{display:none}.job-summary::marker{content:""}.job-summary:focus-visible{outline:3px solid #8554d0;outline-offset:-4px;border-radius:20px}
.job-summary .job-top{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;margin-bottom:12px}
#dashboard .job-summary h3{font-size:18px;line-height:1.4;margin:0 0 10px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#dashboard .job-summary-person{font-size:13px;margin:0;color:#776583}.job-summary-next{font-size:13px!important;line-height:1.5!important;color:#654f7c!important;margin:12px 0 0!important}.job-summary-unread{display:block;font-size:12px;font-weight:700;color:#7043b3;margin-top:8px}
.job-summary-toggle{display:flex;align-items:center;justify-content:space-between;margin-top:14px;color:#764bb7;font-size:12px;font-weight:700}.job-summary-chevron{font-size:20px;line-height:1}.job-accordion .when-open{display:none}.job-accordion[open] .when-closed{display:none}.job-accordion[open] .when-open{display:inline}.job-accordion[open] .job-summary-chevron{transform:rotate(180deg)}
.job-expanded{padding:18px 20px 20px;border-top:1px solid #eadff3;min-width:0}.job-expanded .job-reference{font-size:12px;font-weight:650;color:#796089;margin:0 0 14px}.job-expanded .job-detail{white-space:pre-line;overflow-wrap:anywhere}.job-expanded .job-process{width:100%;box-sizing:border-box}
@media(max-width:700px){.job-summary{padding:17px}.job-expanded{padding:16px 17px 18px}#dashboard .job-summary h3{font-size:17px}.job-summary .status-pill{max-width:100%;white-space:normal}}

/* Income disclosures: compact amounts, quiet missing-value notices. */
.income-row.income-accordion{display:block;padding:0;overflow:hidden}.income-card-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 18px;padding:17px 20px;cursor:pointer;list-style:none}.income-card-summary::-webkit-details-marker{display:none}.income-card-summary::marker{content:""}.income-card-summary:focus-visible{outline:3px solid #8754cc;outline-offset:-4px;border-radius:18px}.income-card-heading{min-width:0}.income-card-summary h3{font-size:16px;line-height:1.4;margin:5px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.income-card-summary p{font-size:12px;line-height:1.5}.income-card-amount{align-self:center;font-size:20px;font-weight:750;color:#7344b3;background:#f2eafb;border-radius:10px;padding:9px 12px;overflow-wrap:anywhere}.income-card-amount.is-missing{font-size:12px;font-weight:500;color:#85718e;background:#f7f4fa;padding:6px 9px;line-height:1.4}.income-card-summary .job-summary-toggle{grid-column:1/-1;margin-top:2px}.income-accordion .when-open{display:none}.income-accordion[open] .when-closed{display:none}.income-accordion[open] .when-open{display:inline}.income-accordion[open] .job-summary-chevron{transform:rotate(180deg)}.income-row>.income-expanded{display:block;padding:18px 20px;border-top:1px solid #e9dff1}.income-expanded .job-reference{font-size:12px;color:#80658e;margin:0 0 12px}.income-expanded .job-process{margin:0;width:100%;box-sizing:border-box}
@media(max-width:700px){.income-card-summary{padding:15px 17px;grid-template-columns:minmax(0,1fr);gap:8px}.income-card-amount{justify-self:start;font-size:19px}.income-card-amount.is-missing{font-size:12px}.income-row>.income-expanded{padding:16px 17px}.income-card-summary .job-summary-toggle{grid-column:1}.income-card-summary h3{font-size:16px}}

/* A quieter, compact earnings total. */
.income-summary{padding:20px 24px;border-radius:19px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 24px;align-items:center}
.income-summary>span{grid-column:1;font-size:10px;line-height:1.5;letter-spacing:.09em}
.income-summary>strong{grid-column:1;grid-row:2;font-size:34px;line-height:1.15;margin:0;letter-spacing:-.035em}
.income-summary>p{grid-column:2;grid-row:1/3;font-size:13px;line-height:1.6;margin:0;max-width:280px}
.income-summary>small{grid-column:1/-1;font-size:12px;line-height:1.5;margin-top:4px}
@media(max-width:700px){.income-summary{padding:18px 20px;grid-template-columns:minmax(0,1fr);gap:7px;border-radius:18px}.income-summary>strong{font-size:30px}.income-summary>p{grid-column:1;grid-row:3;max-width:none;font-size:12px}.income-summary>small{grid-row:4;font-size:11px;margin-top:2px}}

/* A clear disclosure affordance shared by jobs and income cards. */
.job-summary-chevron{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border:1px solid #ddcef4;border-radius:11px;background:#eee5fb;color:#7040b4;font-size:0;transition:background .15s,transform .15s}
.job-summary-chevron::before{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.job-summary:hover .job-summary-chevron,.income-card-summary:hover .job-summary-chevron,.job-summary:focus-visible .job-summary-chevron,.income-card-summary:focus-visible .job-summary-chevron{background:#e2d2f8;border-color:#baa0de}
@media(prefers-reduced-motion:reduce){.job-summary-chevron{transition:none}}
.job-accordion[open] .job-summary-chevron,.income-accordion[open] .job-summary-chevron{transform:none}
.job-accordion[open] .job-summary-chevron::before,.income-accordion[open] .job-summary-chevron::before{transform:translateY(2px) rotate(225deg)}

/* ZerviChat: conversation first, one clear next action per stage. */
dialog.zchat{height:min(860px,94dvh);max-height:94dvh;grid-template-rows:auto minmax(0,1fr);background:#fff}
dialog.zchat[open]{display:grid}
.zchat .zchat-header{height:auto;min-height:94px;padding:18px 24px;position:relative;background:#fff;gap:16px}
.zchat .zchat-header>div{flex:1}.zchat .zchat-header h2{font-size:20px;margin:3px 0}.zchat .zchat-header small{font-size:13px}.zchat .zchat-brand{font-size:15px}
.zchat-tabs{display:none}
.zchat .zchat-layout{height:auto;min-height:0;grid-template-columns:minmax(0,1fr) 380px}
.zchat .zchat-conversation{min-height:0;overflow:hidden;background:#faf9fd}
.zchat .zchat-messages{min-height:0;max-height:none;height:auto;flex:1;padding:24px;gap:14px}
.zchat .zchat-compose{padding:12px 20px 16px;flex-shrink:0}.zchat .zchat-compose textarea{resize:none;max-height:100px;min-height:54px}.zchat .zchat-compose>div{gap:10px}.zchat .zchat-compose small{font-size:12px;line-height:1.4}
.zchat .zchat-agreement{padding:20px;min-height:0;background:#f8f6fc;overflow:auto;overscroll-behavior:contain;scroll-padding-top:16px;font-size:15px}
.zchat-next{padding:18px;border:1px solid #dbcef1;border-radius:18px;background:#fff;box-shadow:0 4px 14px #41265a06;margin-bottom:24px}
.zchat-stage{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.zchat-stage>span{font-size:11px;font-weight:750;letter-spacing:.06em;color:#826b99}.zchat-stage>b{font-size:12px;color:#6c42a4;background:#f1eafb;padding:4px 9px;border-radius:8px;overflow-wrap:anywhere}
.zchat-step-track{display:flex;gap:5px;margin:14px 0 18px}.zchat-step-track span{height:5px;background:#eae5f0;flex:1;border-radius:5px}.zchat-step-track .complete{background:#8a62cf}
.zchat .zchat-next h3{font-size:21px;line-height:1.25;letter-spacing:-.025em;margin:12px 0 8px}.zchat-next p{font-size:15px;line-height:1.6;color:#6c6079;margin:0 0 16px}.zchat-next p:last-child{margin-bottom:0}
.zchat .zchat-next button{width:100%;min-height:48px;font-size:15px;white-space:normal;border-radius:12px}
.zchat .zchat-section-title{font-size:16px;margin:0 0 8px}.zchat .zchat-agreement>details{background:#fff;border:1px solid #e5dced;border-radius:13px;padding:0;margin:10px 0;overflow:hidden}.zchat .zchat-agreement>details>summary{padding:15px;min-height:48px;font-size:15px}.zchat .zchat-agreement>details>p,.zchat .zchat-agreement>details>form{margin:0;padding:0 15px 16px}.zchat .zchat-agreement>details>.secondary{margin:0 15px 16px;width:calc(100% - 30px)}
.zchat .zchat-quote-editor[open]{border-color:#bca0e1}.zchat .zchat-quote-form label{font-size:15px;font-weight:650}.zchat .zchat-quote-form label small{font-weight:400}.zchat .zchat-quote-form input,.zchat .zchat-quote-form select{min-height:46px}.zchat .zchat-quote-form textarea{min-height:84px}
.zchat .zchat-actions{margin:16px 0;gap:10px}.zchat .zchat-actions:empty{display:none}.zchat .zchat-actions button{min-height:44px;font-size:14px}.zchat .zchat-safety p{font-size:13px;line-height:1.6;color:#76677f}.zchat .zchat-payment-note{line-height:1.6}.zchat .zchat-feedback:empty{display:none}
.zchat .zchat-message.system{align-self:center;background:#f0ecf6;border:0;border-radius:12px;max-width:95%;padding:9px 14px}.zchat .zchat-message.system p{font-size:13px;color:#75657f}.zchat .zchat-message.system>span{display:none}.zchat .zchat-message.system time{display:block;text-align:center;font-size:10px}
@media(max-width:900px){
 dialog.zchat{inset:0;width:100%;max-width:none;margin:0;border:0;border-radius:0;height:100dvh;max-height:100dvh;overflow:hidden;grid-template-rows:auto auto minmax(0,1fr)}
 .zchat .zchat-header{min-height:82px;padding:12px 16px;gap:10px}.zchat .zchat-header h2{font-size:18px}.zchat .zchat-header small{font-size:12px}
 .zchat-tabs{display:grid;grid-template-columns:1fr 1.4fr;gap:6px;padding:0 12px 10px;background:#fff;border-bottom:1px solid #e6dbf2}.zchat-tabs button{min-height:46px;border:1px solid #e4d8f2;border-radius:12px;color:#6d5485;background:#faf7fe;font-size:14px;font-weight:700;padding:8px}.zchat-tabs button[aria-pressed=true]{background:#eee4fb;color:#6235a0;border-color:#c8adea}.zchat-tabs button:focus-visible{outline:2px solid #7447c5;outline-offset:-3px}
 .zchat .zchat-layout{display:block;min-height:0;overflow:hidden}.zchat .zchat-conversation{height:100%;min-height:0}.zchat .zchat-messages{padding:16px;flex:1;min-height:0;max-height:none}.zchat .zchat-message p{font-size:16px}
 .zchat .zchat-agreement{display:none;height:100%;padding:16px 16px calc(24px + env(safe-area-inset-bottom,0px));border:0;overflow-y:auto}.zchat.show-agreement .zchat-agreement{display:block}.zchat.show-agreement .zchat-conversation{display:none}
 .zchat .zchat-compose{padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px))}.zchat .zchat-compose textarea{min-height:48px;max-height:76px;margin:5px 0 8px}.zchat .zchat-compose small{font-size:11px;max-width:none;flex:1}.zchat .zchat-compose .primary{padding:10px 17px;min-height:44px}
 .zchat .zchat-next{padding:18px}.zchat .zchat-next h3{font-size:22px}.zchat .zchat-agreement>details>summary{font-size:16px}.zchat .zchat-header .zchat-close{width:44px;height:44px}
}

.zchat-tabs small{display:block;font-size:11px;font-weight:500;margin-top:2px}.zchat .zchat-quote-form input,.zchat .zchat-quote-form textarea,.zchat .zchat-quote-form select{font-weight:400}

/* Participant portraits, with initials underneath as a resilient fallback. */
.zchat-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#e8ddf5;color:#67498b;overflow:hidden;font-size:12px;font-weight:750}
.zchat-avatar>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.zchat-avatar>span{color:inherit;font-size:inherit}
.zchat .zchat-header>.zchat-avatar{width:46px;height:46px;flex-basis:46px;font-size:16px}
.zchat .zchat-message:not(.system){display:flex;align-items:flex-end;gap:8px;background:none;border:0;padding:0;max-width:92%;border-radius:0}
.zchat .zchat-message.mine{flex-direction:row-reverse}.zchat-bubble{min-width:0;padding:11px 14px;border:1px solid #e7dff0;background:#fff;border-radius:16px 16px 16px 4px}
.zchat .mine .zchat-bubble{background:#ede2ff;border-color:#dac6f5;border-radius:16px 16px 4px 16px}.zchat .system .zchat-bubble{padding:0;border:0;background:none;border-radius:0}.zchat .system .zchat-bubble>span{display:none}.zchat .continued>.zchat-avatar{visibility:hidden}.zchat .continued .zchat-bubble>span{display:none}
.zchat-launcher{position:fixed;right:24px;bottom:24px;z-index:40;font-family:inherit}.zchat-launcher[hidden],.zinbox[hidden],.zlauncher-count[hidden]{display:none!important}
.zlauncher-controls{display:flex;align-items:flex-end;gap:4px;justify-content:flex-end}.zlauncher-main{position:relative;display:flex;flex-direction:column;align-items:center;border:0;background:transparent;padding:0 4px;color:#55308b;font-weight:750;cursor:pointer}.zlauncher-main>img{width:86px;height:86px;object-fit:contain;filter:drop-shadow(0 4px 6px #44215c24)}.zlauncher-label{font-size:12px;border:1px solid #e4d5f4;border-radius:20px;background:#fff;padding:5px 12px;box-shadow:0 3px 12px #321c4c10}.zlauncher-min{align-self:flex-start;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #dfd2ef;border-radius:50%;background:#fff;color:#735491;font-size:22px;cursor:pointer}
.zlauncher-count{position:absolute;top:2px;right:0;min-width:24px;height:24px;padding:3px 6px;border:2px solid #fff;border-radius:20px;background:#733fd1;color:white;font-size:12px;line-height:14px}
.is-mini .zlauncher-main{flex-direction:row;min-height:48px;padding:0 15px;border-radius:25px;background:#7347ca;color:#fff;box-shadow:0 4px 18px #45205d24}.is-mini .zlauncher-main>img{display:none}.is-mini .zlauncher-label{border:0;background:none;color:inherit;padding:0;box-shadow:none;font-size:13px}.is-mini .zlauncher-count{top:-8px;right:-3px}.is-mini .zlauncher-min{font-size:17px}
.zlauncher-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.zinbox{position:absolute;right:0;bottom:calc(100% + 12px);width:390px;max-width:calc(100vw - 32px);max-height:min(620px,calc(100dvh - 170px));display:flex;flex-direction:column;background:#fff;border:1px solid #dfd2ef;border-radius:22px;box-shadow:0 16px 60px #3822492b;overflow:hidden}
.zinbox>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px;background:#f5effd;border-bottom:1px solid #e6dbf2}.zinbox h2{font-size:20px;color:#342240;margin:0}.zinbox header p{font-size:13px;color:#786486;margin:6px 0 0}.zinbox header button{width:44px;height:44px;flex-shrink:0;border:0;border-radius:50%;background:#eae0f5;color:#65467e;font-size:26px}
.zinbox-list{overflow:auto;overscroll-behavior:contain;min-height:0}.zinbox-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:16px;border:0;border-bottom:1px solid #eee7f4;background:#fff;color:#3e2d4a;cursor:pointer}.zinbox-row:hover,.zinbox-row:focus-visible{background:#f9f5ff}.zinbox-copy{flex:1;min-width:0}.zinbox-copy>*{display:block}.zinbox-copy strong{font-size:15px}.zinbox-job{font-size:13px;margin:4px 0;color:#675077;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zinbox-preview{font-size:13px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#82758c}.zinbox-copy small{font-size:11px;line-height:1.4;margin-top:7px;color:#8b749e}.zinbox-unread{min-width:23px;padding:4px 6px;background:#7547cb;color:#fff;border-radius:20px;font-size:12px;text-align:center}.zinbox-note{font-size:11px;line-height:1.5;color:#83718e;padding:12px 16px;margin:0;background:#faf8fd}.zinbox-empty{padding:25px 20px;font-size:15px;line-height:1.6;color:#705c80}.zinbox-empty p{margin-bottom:0}.zchat-launcher button:focus-visible{outline:3px solid #a781e3;outline-offset:-3px}
@media(max-width:700px){.zchat-launcher{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}.zlauncher-main>img{width:70px;height:70px}.zlauncher-min{width:36px;height:36px}.zinbox{position:fixed;left:10px;right:10px;bottom:calc(126px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;max-height:calc(100dvh - 210px);border-radius:22px}.is-mini .zinbox{bottom:calc(74px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 158px)}.zinbox>header{padding:15px}.zinbox h2{font-size:19px}.zchat .zchat-avatar{width:30px;height:30px;flex-basis:30px}.zchat .zchat-message:not(.system){max-width:96%;gap:6px}.zchat .zchat-header>.zchat-avatar{width:42px;height:42px;flex-basis:42px}}

.zchat .zchat-safety-rule{display:block;margin-top:10px;font-size:14px;font-weight:750;line-height:1.6;color:#493452}.zchat .zchat-safety-consequence{display:block;margin-top:12px;padding:12px;border-left:3px solid #b44b58;border-radius:0 9px 9px 0;background:#fff0f2;color:#902c40;font-size:14px;font-weight:800;line-height:1.6}

/* Give the floating mascot a solid surface over busy page content. */
.zchat-launcher:not(.is-mini) .zlauncher-main{padding:8px 14px 10px;background:#fff;border:1px solid #cdb7e9;border-radius:22px;box-shadow:0 6px 24px #44245d26,0 2px 5px #44245d10}
.zchat-launcher:not(.is-mini) .zlauncher-label{padding:2px 0 0;border:0;border-radius:0;box-shadow:none;background:transparent;font-size:13px}
.zchat-launcher:not(.is-mini) .zlauncher-controls{position:relative;padding-right:12px;padding-top:12px}
.zchat-launcher:not(.is-mini) .zlauncher-min{position:absolute;right:0;top:0;z-index:1;border-color:#cdb7e9;box-shadow:0 2px 6px #44245d12}
.zchat-launcher:not(.is-mini) .zlauncher-count{left:-8px;right:auto;top:-8px}
@media(max-width:700px){.zchat-launcher:not(.is-mini) .zlauncher-main{padding:7px 12px 9px;border-radius:19px}.zchat-launcher:not(.is-mini) .zlauncher-main>img{width:64px;height:64px}.zchat-launcher:not(.is-mini) .zinbox{bottom:calc(142px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 226px)}}

.zinbox h2.zinbox-brand{font-weight:850;letter-spacing:-.04em}.zinbox-brand span{color:#8050d3}.zinbox header p{line-height:1.5}

/* A single neutral backdrop keeps attention on the conversation. */
html.zchat-modal-open,html.zchat-modal-open body{overflow:hidden}
dialog.zinbox::backdrop,dialog.zchat::backdrop{background:rgba(255,255,255,.72);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
dialog.zinbox{position:fixed;inset:auto 24px 168px auto;margin:0;padding:0;color:#3e2d4a}
dialog.zinbox:not([open]){display:none}.is-mini dialog.zinbox{bottom:90px}
.zlauncher-main>img{transform:scaleX(-1)}
@media(max-width:700px){dialog.zinbox{inset:auto 10px calc(142px + env(safe-area-inset-bottom,0px)) 10px}.is-mini dialog.zinbox{bottom:calc(74px + env(safe-area-inset-bottom,0px))}}

.zchat-keyboard-hint{display:none}@media(hover:hover) and (pointer:fine){.zchat-keyboard-hint{display:inline;margin-left:8px;font-size:11px;font-weight:400;color:#806d8c}}

@media(max-width:900px){.zchat-tabs{padding-top:10px}}

/* Shared PNG wordmark and a distinct unread notification. */
.zervichat-logo{display:block;width:126px;height:auto;max-width:100%;object-fit:contain}
.zchat .zchat-brand .zervichat-logo{width:112px}.zinbox-brand .zervichat-logo{width:140px}
.zlauncher-label .zervichat-logo{width:90px;max-width:none}
.zchat-launcher.is-mini .zlauncher-main{background:#fff;border:1px solid #cdb7e9;padding:0 14px}
.zlauncher-count{background:#d32945;color:#fff}
@media(max-width:700px){.zlauncher-label .zervichat-logo{width:80px}.zinbox-brand .zervichat-logo{width:126px}}
/* ZerviChat visual refinement: existing layout and controls are preserved. */
dialog.zchat{border-color:#e2dfe9;box-shadow:0 28px 90px #21182c26,0 2px 10px #21182c0a;color:#2e2938}
.zchat .zchat-header{border-bottom-color:#e9e6ee;background:#fff}
.zchat .zchat-header h2{font-weight:700;letter-spacing:-.025em;color:#292332}
.zchat .zchat-header small{color:#827a8e;line-height:1.5}
.zchat .zchat-header .zchat-close{background:#f4f2f7;color:#756780;border:1px solid #e9e5ef;border-radius:14px;transition:background .15s,color .15s}
.zchat .zchat-header .zchat-close:hover{background:#ece6f5;color:#5b3595}
.zchat .zchat-conversation{background:#f5f5f8}
.zchat .zchat-messages{scrollbar-width:thin;scrollbar-color:#d1cadb transparent}
.zchat .zchat-bubble{background:#fff;border-color:#e7e5ec;box-shadow:0 2px 4px #21182c05;border-radius:17px 17px 17px 5px}
.zchat .zchat-bubble>span{color:#82728e;font-size:11px;font-weight:600;letter-spacing:.01em}
.zchat .zchat-message .zchat-bubble p{color:#383241;line-height:1.6}
.zchat .zchat-bubble time{color:#948b9d;font-size:10px}
.zchat .mine .zchat-bubble{background:#7044b8;border-color:#7044b8;box-shadow:0 3px 8px #5c369515;border-radius:17px 17px 5px 17px}
.zchat .mine .zchat-bubble p{color:#fff}.zchat .mine .zchat-bubble>span{color:#eee3ff}.zchat .mine .zchat-bubble time{color:#e2d3f7}
.zchat .zchat-avatar{background:#eae5f2;color:#75518e;border:2px solid #fff;box-shadow:0 1px 4px #2820320a}
.zchat .zchat-message.system{background:#eeedf2;border:1px solid #e6e4ed;border-radius:10px;box-shadow:none}
.zchat .zchat-message.system .zchat-bubble{box-shadow:none;background:transparent;border:0}
.zchat .zchat-message.system .zchat-bubble p{color:#82798c;font-size:12px;line-height:1.6}
.zchat .zchat-message.system time{color:#9990a2}
.zchat .zchat-compose{background:#fff;border-top-color:#e6e3eb}
.zchat .zchat-compose label{color:#504658;font-weight:650}
.zchat .zchat-compose textarea{background:#f8f7fa;border:1px solid #e0dce8;border-radius:13px;color:#342b40;line-height:1.5;box-shadow:inset 0 1px 2px #27203403;transition:border-color .15s,box-shadow .15s}
.zchat .zchat-compose textarea::placeholder{color:#958c9e}
.zchat .zchat-compose textarea:focus{outline:0;border-color:#a58bc6;box-shadow:0 0 0 3px #8050c012;background:#fff}
.zchat .zchat-compose small,.zchat .zchat-keyboard-hint{color:#92869d}
.zchat .primary{background:#7345bb;border:1px solid #7345bb;box-shadow:0 3px 8px #63379912;font-weight:650}
.zchat .primary:hover{background:#6335a8;border-color:#6335a8}
.zchat .zchat-compose .primary{border-radius:13px}
.zchat .zchat-agreement{background:#fbfafc;border-left-color:#e8e4ed;scrollbar-width:thin;scrollbar-color:#d1cadb transparent}
.zchat .zchat-next{border-color:#e2dbe9;border-radius:16px;background:#fff;box-shadow:0 4px 16px #36244705;border-top:3px solid #9b79c9}
.zchat .zchat-stage>span{color:#95869f;font-size:10px;letter-spacing:.09em}
.zchat .zchat-stage>b{background:#f0e9f8;color:#764ba5;border:1px solid #e9def4;border-radius:7px;font-size:11px;line-height:1.5}
.zchat .zchat-next h3{color:#352a41;font-weight:700;letter-spacing:-.025em}
.zchat .zchat-next p{color:#807488;font-size:14px;line-height:1.7}
.zchat .zchat-section-title{color:#62536f;font-size:14px;font-weight:650}
.zchat .zchat-agreement>details{border-color:#e6e1ec;border-radius:12px;box-shadow:0 1px 3px #31233b03}
.zchat .zchat-agreement>details>summary{color:#574662;font-size:14px;font-weight:600;transition:background .15s}
.zchat .zchat-agreement>details>summary:hover{background:#f7f3fb}
.zchat .zchat-agreement>details>summary::marker{color:#a18bae;font-size:11px}
.zchat .zchat-agreement>details[open]{border-color:#d4c4e5}
.zchat .zchat-payment-note{color:#96899f;font-size:11px}
.zchat .zchat-step-track span{background:#eeebf2}.zchat .zchat-step-track .complete{background:#9670c6}
@media(max-width:900px){.zchat-tabs{background:#fff;border-bottom-color:#e6e2eb;gap:8px}.zchat-tabs button{background:#f7f6f9;border-color:#e7e3ed;color:#81718f;border-radius:11px;box-shadow:none}.zchat-tabs button[aria-pressed=true]{background:#eee6f8;border-color:#d7c4ed;color:#6c439a;box-shadow:inset 0 -2px #a884d3}.zchat-tabs small{color:#94809f}.zchat .zchat-message .zchat-bubble p{font-size:15px}.zchat .zchat-agreement>details>summary{font-size:15px}}
@media(prefers-reduced-motion:reduce){.zchat .zchat-header .zchat-close,.zchat .zchat-compose textarea,.zchat .zchat-agreement>details>summary{transition:none}}
/* ZerviChat: clear visual hierarchy and meaningful work-state colors. */
dialog.zchat{--chat-accent:#7142bb;--chat-edge:#d6c7eb;border:1px solid #dcd3e9;border-radius:24px;box-shadow:0 32px 100px #24123833,0 4px 16px #2412380d}
.zchat .zchat-header{background:linear-gradient(110deg,#fff 65%,#f7f2fe);border-bottom:1px solid #e0d7ec;box-shadow:inset 0 3px #8353ce}
.zchat .zchat-header h2{font-size:21px;font-weight:780}.zchat .zchat-header>.zchat-avatar{border:3px solid #fff;box-shadow:0 0 0 1px #ddd2e9,0 3px 9px #34204210}
.zchat .zchat-room-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px 10px;margin-top:6px}
.zchat .zchat-status-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:6px;background:#f0e8fa;color:#66399d;font-size:11px;font-weight:700;line-height:1.5;max-width:100%}
.zchat .zchat-status-chip svg{width:13px;height:13px;flex-shrink:0}
.zchat[data-tone=paused] .zchat-status-chip{color:#815409;background:#fff0c9;border:1px solid #efd092}
.zchat[data-tone=success] .zchat-status-chip{color:#236e50;background:#dff3e9}
.zchat[data-tone=progress] .zchat-status-chip{color:#296499;background:#e5f0ff}
.zchat[data-tone=danger] .zchat-status-chip{color:#9b3446;background:#fbe4e8}
.zchat[data-tone=closed] .zchat-status-chip{color:#655e6e;background:#eeebf1}
.zchat .zchat-conversation{background:#f2f0f6;background-image:radial-gradient(ellipse at 0 0,#e9e3f355,transparent 60%)}
.zchat .zchat-bubble{border:1px solid #e0dce7;box-shadow:0 3px 9px #33214609;border-radius:18px 18px 18px 5px}
.zchat .zchat-bubble>span{color:#77548e;font-weight:750;font-size:11px}
.zchat .zchat-message .zchat-bubble p{font-size:15px;line-height:1.6;font-weight:400}
.zchat .mine .zchat-bubble{background:linear-gradient(135deg,#784bc2,#6439a9);border-color:#693faf;box-shadow:0 4px 12px #58308d20;border-radius:18px 18px 5px 18px}
.zchat .mine .zchat-bubble>span{color:#f1e5ff}.zchat .mine .zchat-bubble time{color:#e7d9f8}
.zchat .zchat-message.system{background:#ffffffb8;border:1px solid #ded9e6;padding:8px 14px;box-shadow:0 1px 3px #27133804}
.zchat .zchat-message.system .zchat-bubble p{color:#72677f}
.zchat .zchat-message.system-paused{background:#fff5da;border-color:#ecd08c;border-left:3px solid #d7a139}
.zchat .zchat-message.system-paused .zchat-bubble p{color:#80591b;font-weight:600}.zchat .zchat-message.system-paused time{color:#937137}
.zchat .zchat-compose{box-shadow:0 -5px 18px #33214605;border-top:1px solid #ded6e9}
.zchat .zchat-compose label{font-size:13px;font-weight:750;color:#49335e}
.zchat .zchat-compose textarea{border:1px solid #d4c3e7;border-radius:14px;background:#fcfaff;box-shadow:0 2px 6px #48226305;padding:13px 14px;font-size:15px}
.zchat .zchat-compose textarea:focus{border-color:#8452c6;box-shadow:0 0 0 3px #8854c51a;background:#fff}
.zchat .primary{background:linear-gradient(135deg,#8552d3,#6834b3);border-color:#713abd;box-shadow:0 4px 10px #7440b823;font-weight:750;border-radius:12px}
.zchat .primary:hover{background:linear-gradient(135deg,#7542c3,#58269d);box-shadow:0 5px 14px #7440b832}
.zchat button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.zchat .secondary{background:#f4ecff;border:1px solid #d7c0ef;color:#653799;font-weight:700}
.zchat .zchat-agreement{background:#f9f7fc;border-left:1px solid #ddd2ea}
.zchat .zchat-next{--state:#7746b1;--state-border:#d9c7ef;--state-bg:#f4edff;--state-symbol:#e7d8fa;padding:18px;border:1px solid var(--state-border);border-top:4px solid var(--state);background:linear-gradient(145deg,var(--state-bg),#fff);box-shadow:0 6px 18px #38204408;border-radius:17px}
.zchat .zchat-next[data-tone=paused]{--state:#ae7515;--state-border:#e9c982;--state-bg:#fff4d9;--state-symbol:#ffe3a0}
.zchat .zchat-next[data-tone=waiting]{--state:#977022;--state-border:#ead7a4;--state-bg:#fff9e9;--state-symbol:#f9eac1}
.zchat .zchat-next[data-tone=progress]{--state:#356fa9;--state-border:#c6d9ed;--state-bg:#edf5ff;--state-symbol:#d6e8fc}
.zchat .zchat-next[data-tone=success]{--state:#2b8562;--state-border:#b7decd;--state-bg:#eaf8f0;--state-symbol:#cdefdc}
.zchat .zchat-next[data-tone=danger]{--state:#a74255;--state-border:#ecc0ca;--state-bg:#fff0f3;--state-symbol:#f9d6df}
.zchat .zchat-next[data-tone=closed]{--state:#7a7184;--state-border:#d9d2e0;--state-bg:#f1eef5;--state-symbol:#e5dfec}
.zchat-status-symbol{float:left;width:40px;height:40px;border-radius:12px;background:var(--state-symbol);color:var(--state);display:grid;place-items:center;margin-right:11px}
.zchat-status-symbol svg{width:22px;height:22px}
.zchat .zchat-stage{min-height:40px;display:block;margin-left:51px}
.zchat .zchat-stage>span{display:block;font-size:10px;letter-spacing:.08em;color:var(--state);font-weight:750}
.zchat .zchat-stage>b{display:inline-block;margin-top:4px;border:0;background:transparent;padding:0;color:var(--state);font-size:12px;font-weight:750;line-height:1.4}
.zchat .zchat-next h3{clear:both;padding-top:2px;color:#302437;font-weight:780;font-size:22px;margin-top:16px}
.zchat .zchat-next[data-tone=paused] h3{color:#7b510e}.zchat .zchat-next[data-tone=paused] p{color:#886a36}
.zchat .zchat-next p{font-size:14px;line-height:1.7;color:#70607c}
.zchat .zchat-section-title{font-size:15px;color:#44304f;font-weight:750;margin-bottom:12px}
.zchat .zchat-agreement>details{border:1px solid #ddd2e8;border-radius:13px;box-shadow:0 3px 7px #38204404;background:#fff}
.zchat .zchat-agreement>details>summary{display:flex;align-items:center;gap:10px;padding:14px;font-weight:750;font-size:14px;line-height:1.4;color:#473051;list-style:none}
.zchat .zchat-agreement>details>summary::-webkit-details-marker{display:none}
.zchat .zchat-agreement>details>summary::after{content:'';width:7px;height:7px;border-right:2px solid #9879b0;border-bottom:2px solid #9879b0;transform:rotate(45deg);margin-left:auto;flex-shrink:0;margin-right:3px}
.zchat .zchat-agreement>details[open]>summary::after{transform:rotate(225deg)}
.zchat .zchat-agreement>details[open]>summary{background:#f4edfb;border-bottom:1px solid #e7dbf1;margin-bottom:14px}
.zchat-detail-icon{width:29px;height:29px;border-radius:8px;background:#f0e7fa;color:#8b59b4;display:grid;place-items:center;flex-shrink:0}.zchat-detail-icon svg{width:17px;height:17px}
.zchat .zchat-quote{border:1px solid #cdb4e8;border-top:3px solid #8c59c7;border-radius:14px;background:#fff;box-shadow:0 4px 12px #44275508}
.zchat .zchat-quote>strong{color:#623798}.zchat .zchat-quote-form input,.zchat .zchat-quote-form textarea,.zchat .zchat-quote-form select{border-color:#d5c6e4;background:#fcfaff;border-radius:10px}
@media(max-width:900px){dialog.zchat{border:0;border-radius:0}.zchat .zchat-header h2{font-size:18px}.zchat .zchat-status-chip{font-size:10px}.zchat .zchat-room-meta{gap:4px 7px}.zchat .zchat-compose textarea{font-size:16px}.zchat-tabs button{font-weight:750}.zchat-tabs button[aria-pressed=true]{background:#eee0ff;border-color:#bf9de4;box-shadow:inset 0 -3px #9663ca;color:#623197}.zchat[data-tone=paused] .zchat-tabs button[data-chat-tab=agreement]{background:#fff5db;color:#805612;border-color:#e9ce8a}.zchat[data-tone=paused] .zchat-tabs button[data-chat-tab=agreement] small{color:#9a732e}.zchat[data-tone=paused] .zchat-tabs button[data-chat-tab=agreement][aria-pressed=true]{box-shadow:inset 0 -3px #cea044}.zchat .zchat-agreement>details>summary{font-size:15px}}

/* Account choice sits in the registration reading order, after surname. */
#access-form .registration-role{min-width:0;margin:4px 0;padding:0;border:0}
#access-form .registration-role legend{padding:0;margin:0 0 12px;font-size:15px;font-weight:750;color:#382c50}
#access-form .registration-role .role-picker{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#access-form .registration-role button{min-width:0;white-space:normal;min-height:76px}
#access-form .registration-role p{margin:10px 0 0;color:#7d6d8d;font-size:12px;line-height:1.6}
#access-form .registration-professional{display:grid;gap:16px;min-width:0;margin:0;padding:0;border:0}
#access-form .registration-professional[hidden]{display:none!important}
#access-title:focus{outline:none}
@media(max-width:380px){#access-form .registration-role .role-picker{gap:8px}#access-form .registration-role button{padding:12px 9px}#access-form .registration-role strong{font-size:13px}#access-form .registration-role small{font-size:11px}}
