:root{--ink:#17221d;--muted:#65706a;--cream:#f7f4ed;--paper:#fffdfa;--orange:#f2673a;--orange-dark:#d94e25;--line:#dddcd4;--shadow:0 18px 50px rgba(23,34,29,.1)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--cream);font-family:"Noto Sans SC",sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(380px,46%) 1fr}.auth-panel{background:#fff;padding:38px clamp(34px,7vw,110px);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:21px;letter-spacing:2px;width:max-content}.brand-mark{width:34px;height:34px;border:2px solid var(--ink);display:grid;place-items:center;background:var(--orange);color:#fff;transform:rotate(-5deg)}.auth-content{width:min(480px,100%);margin:auto 0}.eyebrow{color:var(--orange);font-size:12px;font-weight:800;letter-spacing:3px;margin:0 0 16px}.auth-content h1{font-size:44px;letter-spacing:-2px;margin:0 0 12px}.auth-subtitle{color:var(--muted);line-height:1.8;margin:0 0 34px}.auth-form{display:grid;gap:18px}.auth-form label{display:grid;gap:8px;font-size:14px;font-weight:700}.auth-form input{height:52px;border:1px solid var(--line);padding:0 15px;outline:0;background:#fff}.auth-form input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(242,103,58,.1)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.primary-button{height:54px;border:0;background:var(--orange);color:#fff;font-weight:800;font-size:16px;margin-top:4px}.primary-button:hover{background:var(--orange-dark)}.primary-button:disabled{opacity:.55}.auth-switch{margin:25px 0 0;color:var(--muted);font-size:14px}.auth-switch a{color:var(--orange);font-weight:800}.auth-message{min-height:21px;color:#ba3723;font-size:13px;margin:0}.demo-box{margin-top:22px;padding:13px 15px;background:var(--cream);color:var(--muted);font-size:12px;line-height:1.7}.auth-visual{position:relative;overflow:hidden;background:#dce2d6;display:flex;align-items:flex-end;padding:8vw}.auth-visual:before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:var(--orange);right:9%;top:11%}.auth-visual svg{position:absolute;inset:auto 4% 8%;width:92%;fill:none;stroke:var(--ink);stroke-width:3}.visual-copy{position:relative;z-index:1;background:#fff;padding:26px 30px;max-width:420px;box-shadow:var(--shadow)}.visual-copy b{font-size:24px}.visual-copy p{color:var(--muted);line-height:1.7;margin-bottom:0}.back-home{margin-top:auto;color:var(--muted);font-size:13px}.back-home:hover{color:var(--orange)}
.account-page{min-height:100vh;background:var(--cream)}.account-header{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw}.account-header-actions{display:flex;align-items:center;gap:20px}.account-header-actions a{font-size:14px}.logout-button{border:1px solid var(--ink);background:#fff;padding:9px 15px}.account-main{max-width:1120px;margin:auto;padding:60px 24px 100px}.profile-card{background:var(--ink);color:#fff;padding:36px;display:flex;align-items:center;gap:22px}.profile-avatar{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:var(--orange);font-size:28px;font-weight:900}.profile-card h1{margin:0 0 7px}.profile-card p{margin:0;color:#b7c0bb}.account-nav{display:flex;border-bottom:1px solid var(--line);margin-top:34px}.account-nav button{border:0;background:transparent;padding:15px 24px;font-weight:700;color:var(--muted)}.account-nav button.active{color:var(--orange);border-bottom:2px solid var(--orange)}.account-content{background:#fff;min-height:260px;padding:25px}.order-list{display:grid;gap:13px}.order-item{border:1px solid var(--line);padding:20px;display:grid;grid-template-columns:1fr auto}.order-item h3{margin:0 0 8px}.order-item p{margin:5px 0;color:var(--muted);font-size:13px}.order-status{color:var(--orange);font-size:12px;font-weight:800}.empty{padding:70px;text-align:center;color:var(--muted)}
@media(max-width:800px){.auth-shell{grid-template-columns:1fr}.auth-panel{min-height:100vh;padding:25px}.auth-content{margin:auto}.auth-visual{display:none}.field-row{grid-template-columns:1fr}.account-header{padding:0 18px}.account-main{padding:35px 15px 90px}.profile-card{padding:25px}.account-content{padding:15px}.order-item{grid-template-columns:1fr}.account-nav button{padding:13px}}
.auth-form select,.auth-form textarea{font:inherit;width:100%;border:1px solid var(--line);padding:13px 15px;background:#fff;outline:0}.auth-form select:focus,.auth-form textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(242,103,58,.1)}.auth-form textarea{resize:vertical;line-height:1.7}.role-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 24px}.role-card{min-height:112px;border:1px solid var(--line);background:#fff;padding:16px;text-align:left;display:flex;flex-direction:column;gap:7px;position:relative;font:inherit;color:inherit}.role-card b{font-size:15px}.role-card span{font-size:12px;line-height:1.6;color:var(--muted)}.role-card.active{border:2px solid var(--orange);background:#fff7f3}.role-card.provider-entry:hover{border-color:var(--orange);transform:translateY(-2px)}.role-card i{font-size:12px;color:var(--orange);font-style:normal;font-weight:800;margin-top:auto}.provider-shell{grid-template-columns:minmax(620px,62%) 1fr}.provider-panel{padding-top:28px;padding-bottom:28px}.provider-content{width:min(760px,100%);margin:44px 0}.provider-form-section{border-top:1px solid var(--line);padding-top:24px;margin-top:4px}.provider-form-section h2{font-size:18px;margin:0 0 18px}.service-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.service-option input{position:absolute;opacity:0}.service-option span{display:flex;min-height:72px;border:1px solid var(--line);align-items:center;justify-content:center;text-align:center;padding:10px;font-weight:700}.service-option input:checked+span{border:2px solid var(--orange);background:#fff7f3;color:var(--orange)}.agreement-field{display:flex!important;align-items:flex-start;gap:10px!important;font-weight:400!important}.agreement-field input{width:18px;height:18px;accent-color:var(--orange)}.privacy-note{padding:12px 14px;background:var(--cream);font-size:12px;color:var(--muted);line-height:1.7}.application-success{display:none;padding:34px;background:#f0f5ed;border-left:4px solid #5d805f}.application-success.show{display:block}.application-success h2{margin-top:0}.application-success p{color:var(--muted);line-height:1.8}
@media(max-width:800px){.role-choice{grid-template-columns:1fr}.service-options{grid-template-columns:1fr 1fr}}
.order-control{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.order-control button,.review-actions button{border:0;padding:9px 14px;font-weight:700}.order-control button,.approve-button{background:var(--ink);color:#fff}.reject-button{background:#eee8e2;color:#8b3b2d}.status-completed,.status-approved{color:#4d7a53}.status-rejected{color:#a94432}.provider-review-list{display:grid;gap:18px}.provider-review-card{border:1px solid var(--line);display:grid;grid-template-columns:190px 1fr;background:#fff}.provider-review-card>img,.provider-photo-placeholder{width:190px;height:100%;min-height:280px;object-fit:cover;background:#ece8df;display:grid;place-items:center;color:var(--muted)}.provider-review-body{padding:24px}.provider-review-heading{display:flex;justify-content:space-between;gap:20px}.provider-review-heading h3{font-size:23px;margin:4px 0 15px}.provider-review-heading small{font-size:13px;color:var(--muted);font-weight:500}.provider-type{color:var(--orange)!important;font-size:12px!important;font-weight:800;letter-spacing:2px}.provider-review-body p{color:var(--muted);font-size:13px;line-height:1.7;margin:7px 0}.provider-bio{max-width:760px}.portfolio-link{color:var(--orange);font-weight:700}.review-actions{display:flex;gap:10px;margin-top:18px}
@media(max-width:700px){.provider-review-card{grid-template-columns:1fr}.provider-review-card>img,.provider-photo-placeholder{width:100%;height:240px}.provider-review-heading{display:block}.order-control{align-items:flex-start}}
.account-notice{display:none;margin:18px 0 0;padding:13px 16px;font-size:14px}.account-notice.show{display:block;background:#fff0eb;color:#a43b27;border-left:4px solid var(--orange)}.account-notice.success{background:#edf6eb;color:#3e7145;border-left-color:#5d8d61}.status-awaiting_review{color:#9a651f}.booking-review-form{margin-top:18px;padding:18px;background:var(--cream);display:grid;gap:12px;max-width:620px}.booking-review-form h4{margin:0}.booking-review-form label{display:grid;gap:6px;font-size:13px;font-weight:700}.booking-review-form select,.booking-review-form textarea{border:1px solid var(--line);background:#fff;padding:10px;font:inherit}.booking-review-form button{border:0;background:var(--orange);color:#fff;padding:11px;font-weight:800}.booking-review-form button:disabled{opacity:.55}
.order-item[data-open-booking]{cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}.order-item[data-open-booking]:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:0 10px 28px rgba(23,34,29,.08)}.booking-open-hint{color:var(--orange)!important;font-weight:700}.account-modal[hidden]{display:none}.account-modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px}.account-modal-backdrop{position:absolute;inset:0;background:rgba(17,25,21,.62)}.account-modal-card{position:relative;width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;padding:32px;box-shadow:var(--shadow)}.account-modal-close{position:absolute;right:18px;top:15px;border:0;background:transparent;font-size:28px}.booking-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;padding:16px 0 22px;border-bottom:1px solid var(--line)}.booking-detail-grid p{margin:0;color:var(--muted);font-size:13px}.booking-review-form{max-width:none}.booking-review-form textarea{resize:vertical}.booking-readonly-note{margin-top:20px;padding:16px;background:var(--cream);color:var(--muted);line-height:1.7}.booking-readonly-note strong{color:var(--ink)}
@media(max-width:600px){.account-modal-card{padding:26px 18px}.booking-detail-grid{grid-template-columns:1fr}}
.verification-upload{border:1px dashed var(--orange);background:#fff7f3;padding:20px;display:grid!important;justify-items:start;gap:10px!important}.verification-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.verification-upload-button{display:inline-block;background:var(--ink);color:#fff;padding:11px 16px;font-weight:800;cursor:pointer}.verification-upload small{color:var(--muted)}.verification-preview{display:block;width:min(360px,100%);max-height:420px;object-fit:cover;border:1px solid var(--line);background:var(--cream)}.verification-preview[hidden]{display:none}
.id-card-uploads,.id-card-previews{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}.id-card-previews .verification-preview{width:100%;height:230px;object-fit:contain}@media(max-width:650px){.id-card-uploads,.id-card-previews{grid-template-columns:1fr}}
.identity-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.identity-photo-grid figure{margin:0;background:var(--cream);padding:8px}.identity-photo-grid img{width:100%;height:180px;object-fit:contain;background:#e8e4dc}.identity-photo-grid figcaption{text-align:center;font-size:12px;color:var(--muted);padding:7px 0 2px}@media(max-width:650px){.identity-photo-grid{grid-template-columns:1fr}}
.provider-dashboard{max-width:1240px;margin:auto;padding:52px 24px 100px}.provider-welcome{background:var(--ink);color:#fff;padding:42px}.provider-welcome h1{font-size:38px;margin:0 0 10px}.provider-welcome>div>p:last-child{color:#bac4be;margin:0}.provider-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.provider-stats article{background:#fff;border:1px solid var(--line);padding:25px}.provider-stats span{color:var(--muted);font-size:13px}.provider-stats strong{display:block;font-size:34px;margin-top:8px}.dashboard-panel{background:#fff;border:1px solid var(--line);padding:26px}.dashboard-panel-heading h2{margin:0 0 20px}.feedback-list,.provider-order-list{display:grid;gap:12px}.feedback-card{border-top:1px solid var(--line);padding:18px 0}.feedback-meta{display:flex;justify-content:space-between}.feedback-meta span{color:var(--orange)}.feedback-card small{color:var(--muted)}.feedback-card p{line-height:1.75}.improvement-note{background:var(--cream);padding:13px;color:var(--muted);font-size:13px;line-height:1.7}.recent-orders-panel{margin-top:20px}.provider-order-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:14px;border:1px solid var(--line)}.provider-order-row p{margin:5px 0 0;color:var(--muted);font-size:13px}@media(max-width:800px){.provider-stats{grid-template-columns:1fr}.provider-welcome h1{font-size:30px}}@media(max-width:520px){.provider-dashboard{padding:30px 14px 80px}}
.provider-photo-panel{margin-bottom:20px}.provider-photo-editor{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:28px;align-items:center}.provider-photo-preview{height:320px;background:var(--cream);display:grid;place-items:center;overflow:hidden}.provider-photo-preview img{width:100%;height:100%;object-fit:cover}.provider-photo-controls{display:grid;gap:18px}.provider-photo-controls label{display:grid;gap:8px;font-weight:700}.provider-photo-controls input[type=range]{width:100%}.provider-photo-controls small{color:var(--muted);font-weight:400}@media(max-width:800px){.provider-photo-editor{grid-template-columns:1fr}}
.service-detail-fields{margin-top:18px;padding:18px;border:1px solid var(--line);background:var(--cream)}.service-detail-fields[hidden]{display:none}.service-detail-fields h3{margin:0 0 12px;font-size:15px}.event-choice-list{display:grid;gap:8px}.event-choice{display:grid!important;grid-template-columns:20px 1fr;align-items:start;gap:10px!important;padding:11px;background:#fff;border:1px solid var(--line);font-weight:400!important}.event-choice input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--orange)}.event-choice span{display:grid;gap:3px}.event-choice small{color:var(--muted)}.admin-event-form{padding:22px;background:var(--cream);border:1px solid var(--line);margin-bottom:22px}.admin-event-form h2{margin:0 0 18px}.admin-event-grid{display:grid;grid-template-columns:2fr 1fr 2fr 1fr 1fr;gap:12px}.admin-event-grid label{display:grid;gap:7px;font-size:12px;font-weight:700}.admin-event-grid input{width:100%;border:1px solid var(--line);padding:11px;background:#fff}.admin-event-form>button{margin-top:15px;border:0;background:var(--orange);color:#fff;padding:11px 18px;font-weight:800}.admin-event-list{display:grid;gap:12px}.admin-event-list article{display:grid;grid-template-columns:1fr auto;gap:18px;padding:18px;border:1px solid var(--line)}.admin-event-list h3{margin:0 0 7px}.admin-event-list p{margin:4px 0;color:var(--muted);font-size:13px}@media(max-width:900px){.admin-event-grid{grid-template-columns:1fr 1fr}.admin-event-grid label:first-child,.admin-event-grid label:nth-child(3){grid-column:1/-1}}@media(max-width:560px){.admin-event-grid{grid-template-columns:1fr}.admin-event-grid label{grid-column:auto!important}.admin-event-list article{grid-template-columns:1fr}}
.admin-event-intro{padding:4px 2px 20px}.admin-event-intro h2{font-size:30px;margin:0 0 10px}.admin-event-intro p:last-child{max-width:760px;color:var(--muted);line-height:1.8}.admin-event-warning{padding:13px 16px;margin-bottom:18px;background:#fff2df;border-left:4px solid #d99631;color:#805714;font-size:13px}.published-event-title{font-size:20px;margin:28px 0 14px}
.event-admin-actions{display:flex;gap:8px}.event-admin-actions .danger-button{background:#fff0eb;color:#a43b27;border:1px solid #e7b8ad}
