.client-main{min-height:100vh;margin-left:var(--sidebar-width);padding:58px clamp(28px,5vw,82px) 80px;background:var(--paper)}
.client-page [hidden]{display:none!important}
.client-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;max-width:1420px;margin:0 auto 34px}
.client-kicker{display:block;margin-bottom:10px;color:#996300;font-size:12px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}
.client-hero h1{max-width:900px;margin:0;font-family:"Anton",sans-serif;font-size:clamp(46px,6vw,88px);font-weight:400;letter-spacing:-1px;line-height:.96;text-transform:uppercase}
.client-hero p{max-width:760px;margin:22px 0 0;color:#555b63;font-size:17px;line-height:1.65}
.logout-button,.text-button{border:0;background:transparent;color:#111;cursor:pointer;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.global-message{max-width:1420px;margin:0 auto 24px;padding:14px 18px;border:1px solid #d6a000;border-radius:10px;background:#fff5d5;font-weight:700}
.global-message.error{border-color:#b52525;background:#fff0f0;color:#8e1616}
.auth-shell{display:grid;grid-template-columns:minmax(0,720px) minmax(300px,1fr);max-width:1420px;margin:auto;overflow:hidden;border:1px solid #d8dadd;border-radius:24px;background:#fff;box-shadow:0 28px 70px rgba(15,17,20,.1)}
.auth-panel{padding:clamp(28px,5vw,68px)}
.auth-tabs{display:flex;margin-bottom:38px;border-bottom:1px solid #d8dadd}
.auth-tabs button{flex:1;padding:16px;border:0;border-bottom:4px solid transparent;background:none;cursor:pointer;font-weight:800}
.auth-tabs button.active{border-bottom-color:#efad00}
.auth-form{display:none}
.auth-form.active{display:grid;gap:18px}
.auth-form h2,.auth-benefits h2,.dashboard-card h2{margin:0;font-family:"Anton",sans-serif;font-size:38px;font-weight:400;line-height:1;text-transform:uppercase}
.auth-form p{margin:0;color:#656b73}
label{display:grid;gap:8px;font-size:13px;font-weight:800}
input,select{width:100%;min-height:54px;padding:12px 15px;border:1px solid #c7cbd0;border-radius:10px;background:#fff;color:#111;font:600 16px "Inter",sans-serif}
input:focus,select:focus{border-color:#d99900;outline:3px solid rgba(239,173,0,.18)}
input:disabled{background:#f1f2f3;color:#60666d}
.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:.7fr 1.2fr 1.2fr}
.primary-button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:13px 20px;border:0;border-radius:9px;background:#efad00;color:#0d0d0d;cursor:pointer;font-weight:800;text-align:center;text-transform:uppercase}
.primary-button:hover,.primary-button:focus-visible{background:#111;color:#fff;outline:none}
.primary-button[disabled]{cursor:not-allowed;opacity:.48}
.oauth-block{display:grid;gap:13px;margin-top:32px;padding-top:26px;border-top:1px solid #e1e3e5;color:#646a72;font-size:13px;text-align:center}
.oauth-buttons{display:grid;grid-template-columns:1fr;gap:12px}
.oauth-button{padding:14px;border:1px solid #c9cdd1;border-radius:9px;background:#fff;color:#111;font-weight:800}
.oauth-button.disabled{pointer-events:none;opacity:.42}
.auth-benefits{padding:clamp(32px,5vw,68px);background:#0c0c0b;color:#fff}
.auth-benefits ol{display:grid;gap:28px;margin:50px 0 0;padding:0;list-style:none}
.auth-benefits li{display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:start;color:#c4c6ca;line-height:1.55}
.auth-benefits li b{color:#efad00;font-family:"Anton",sans-serif;font-size:30px;font-weight:400}
.dashboard{max-width:1420px;margin:auto}
.dashboard-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px;padding:24px 0;border-top:1px solid #cdd0d4}
.dashboard-heading h2{margin:0;font-family:"Anton",sans-serif;font-size:40px;font-weight:400;text-transform:uppercase}
.dashboard-heading p{max-width:520px;margin:0;padding:10px 14px;border-radius:999px;background:#fff0c5;font-size:13px;font-weight:800}
.dashboard-heading p.complete{background:#dff5e6;color:#12622c}
.admin-access{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;padding:20px 26px;border:1px solid #d6d9dc;border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(15,17,20,.07)}
.admin-access h2{margin:0;font-family:"Anton",sans-serif;font-size:26px;font-weight:400;text-transform:uppercase}
.admin-access p{margin:4px 0 0;color:#666d75;font-size:13px}
.admin-access-links{display:flex;flex-wrap:wrap;gap:8px}
.admin-access-links a{padding:11px 16px;border:1px solid #151515;border-radius:7px;background:#151515;color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;text-decoration:none}
.admin-access-links a:hover{background:#efad00;border-color:#efad00;color:#111}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(380px,.8fr);gap:22px;align-items:start}
.dashboard-card{overflow:hidden;border:1px solid #d6d9dc;border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(15,17,20,.07)}
.card-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;border-bottom:1px solid #e2e4e6}
.card-heading>div{display:flex;align-items:center;gap:16px}.card-heading h2{font-size:30px}
.card-heading>a{font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.card-number{color:#efad00;font-family:"Anton",sans-serif;font-size:28px}
.card-intro{margin:24px 26px 0;color:#666d75;font-size:14px;line-height:1.5}
#profile-form{display:grid;gap:15px;padding:24px 26px 28px}.country-field{max-width:240px}
.budgets-list{display:grid}
.budget-row{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(120px,.6fr) minmax(100px,.5fr) minmax(190px,.9fr) auto;gap:18px;align-items:center;padding:22px 26px;border-bottom:1px solid #e3e5e7}
.budget-row:last-child{border-bottom:0}
.budget-number{font-family:"Anton",sans-serif;font-size:26px;text-transform:uppercase}.budget-meta{color:#697078;font-size:13px}.budget-total{font-size:21px;font-weight:800}
.budget-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.budget-actions button,.budget-actions a{padding:10px 12px;border:1px solid #151515;border-radius:7px;background:#fff;color:#111;cursor:pointer;font-size:11px;font-weight:800;text-transform:uppercase}
.budget-actions .accept{background:#111;color:#fff}.budget-actions .accepted{border-color:#1c7739;background:#e1f4e7;color:#155a2c;pointer-events:none}
.budget-actions .pay{border-color:#d99a00;background:#efad00;color:#111}
.budget-actions .paid{border-color:#1c7739;background:#dff5e6;color:#12622c}
.budget-actions .refunded{border-color:#6c7480;background:#eef0f2;color:#4b525c}
.budget-actions button:disabled{cursor:not-allowed;opacity:.52}
.budget-payment{display:grid;gap:4px;padding:10px 12px;border-left:4px solid #efad00;background:#fff8e5;font-size:12px}
.budget-payment span,.budget-payment small{color:#686f77}.budget-payment strong{font-size:13px}
.empty-state{padding:70px 30px;text-align:center}.empty-state h3{margin:0 0 10px;font-size:22px}.empty-state p{max-width:570px;margin:0 auto 24px;color:#686f77;line-height:1.6}.empty-state .primary-button{display:inline-flex}
.budget-dialog{width:min(760px,calc(100% - 30px));max-height:calc(100vh - 30px);padding:0;border:0;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.36)}
.budget-dialog::backdrop{background:rgba(0,0,0,.68)}.dialog-close{position:absolute;top:15px;right:15px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:#111;color:#fff;cursor:pointer;font-size:24px}
.budget-detail-head{padding:34px 34px 26px;background:#0c0c0b;color:#fff}.budget-detail-head h2{margin:8px 0;font-family:"Anton",sans-serif;font-size:42px;font-weight:400}.budget-detail-body{padding:28px 34px}.detail-line{display:grid;grid-template-columns:1fr auto;gap:20px;padding:16px 0;border-bottom:1px solid #e2e4e6}.detail-line strong{display:block}.detail-line span{color:#666d75;font-size:13px}.dialog-actions{display:flex;gap:12px;padding:0 34px 34px}.dialog-actions>*{flex:1}
.detail-payment,.bank-details{display:grid;gap:10px;margin-top:24px;padding:18px;border:1px solid #d6d9dc;border-left:6px solid #efad00;background:#fff8e5}.detail-payment h3,.bank-details h3,.completion-photos h3{margin:0 0 8px;font-family:"Anton",sans-serif;font-size:26px;font-weight:400;text-transform:uppercase}.detail-payment>div,.bank-details>div{display:flex;justify-content:space-between;gap:18px}.detail-payment span,.bank-details span{color:#666d75}.detail-payment small{color:#666d75}
.completion-photos{margin-top:24px}.completion-photos>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.completion-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border:3px solid #111}
.accept-dialog{width:min(720px,calc(100% - 30px));max-height:calc(100vh - 30px);padding:0;border:0;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.36)}.accept-dialog::backdrop{background:rgba(0,0,0,.68)}#accept-form{display:grid;gap:20px;padding:36px}#accept-form h2{margin:0;font-family:"Anton",sans-serif;font-size:42px;font-weight:400;text-transform:uppercase}#accept-form p{margin:0;color:#5e656d;line-height:1.55}.payment-plan-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.payment-plan-summary>div{display:grid;gap:7px;padding:18px;border:2px solid #111;background:#fff8e5}.payment-plan-summary span{font-size:12px;font-weight:800;text-transform:uppercase}.payment-plan-summary strong{font-family:"Anton",sans-serif;font-size:30px;font-weight:400}.vat-note{font-weight:800}#accept-form fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;border:0}#accept-form legend{grid-column:1/-1;margin-bottom:8px;font-size:13px;font-weight:800;text-transform:uppercase}.choice-card{display:flex;grid-template-columns:none;align-items:center;gap:10px;min-height:56px;padding:12px 14px;border:1px solid #c7cbd0;border-radius:9px;background:#fff;cursor:pointer}.choice-card:has(input:checked){border:2px solid #111;background:#fff2bf}.choice-card input{width:20px;min-height:20px;accent-color:#efad00}.choice-card.disabled{cursor:not-allowed;opacity:.45}.primary-button.secondary{border:1px solid #111;background:#fff}.primary-button.secondary:hover{background:#111}
@media(max-width:1050px){.auth-shell,.dashboard-grid{grid-template-columns:1fr}.profile-card{order:-1}}
@media(max-width:820px){.client-main{margin-left:0;padding:85px 18px 55px}.client-hero{align-items:start;flex-direction:column}.client-hero h1{font-size:clamp(45px,13vw,70px)}}
@media(max-width:660px){.auth-panel,.auth-benefits{padding:28px 20px}.form-grid.two,.form-grid.three,.oauth-buttons{grid-template-columns:1fr}.budget-row{grid-template-columns:1fr auto}.budget-meta{grid-column:1}.budget-total{grid-column:2;grid-row:1}.budget-payment,.budget-actions{grid-column:1/-1}.budget-actions{justify-content:stretch}.budget-actions>*{flex:1;text-align:center}.card-heading{align-items:flex-start;flex-direction:column}.dashboard-heading{align-items:flex-start;flex-direction:column}.admin-access{align-items:flex-start;flex-direction:column;gap:14px}.admin-access-links{width:100%}.admin-access-links a{flex:1;text-align:center}.budget-detail-body,.budget-detail-head{padding-left:22px;padding-right:22px}.dialog-actions{padding:0 22px 24px;flex-direction:column}#accept-form{padding:30px 20px}.payment-plan-summary,#accept-form fieldset{grid-template-columns:1fr}.completion-photos>div{grid-template-columns:1fr}}
