:root { --pro-teal:#13aaa4; --pro-ink:#102725; --pro-bg:#f3f5f2; --pro-line:#dfe6e2; --pro-muted:#71807c; }
* { box-sizing:border-box; }
body { margin:0; color:var(--pro-ink); background:var(--pro-bg); font-family:"Noto Sans KR","Apple SD Gothic Neo",sans-serif; }
a { color:inherit; text-decoration:none; }
.pro-auth-page { min-height:100vh; display:grid; grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr); }
.pro-auth-visual { display:flex; min-height:100vh; padding:56px; color:#fff; background:linear-gradient(140deg,rgba(16,39,37,.93),rgba(22,88,82,.86)),url('/images/gubyeol-hero-services.png') center/cover; flex-direction:column; justify-content:space-between; }
.pro-auth-visual img { width:190px; padding:9px 12px; border-radius:14px; background:#fff; }
.pro-auth-visual small { color:#73e1d8; font-weight:900; letter-spacing:.14em; }
.pro-auth-visual h1 { max-width:560px; margin:12px 0; font-size:clamp(38px,5vw,62px); line-height:1.13; letter-spacing:-.06em; }
.pro-auth-visual p { color:#d0ddda; line-height:1.75; }
.pro-auth-panel { display:grid; min-height:100vh; padding:42px; place-items:center; }
.pro-auth-card { width:min(470px,100%); padding:38px; border:1px solid var(--pro-line); border-radius:28px; background:#fff; box-shadow:0 24px 70px rgba(16,39,37,.09); }
.pro-auth-card small { color:var(--pro-teal); font-size:.72rem; font-weight:900; letter-spacing:.13em; }
.pro-auth-card h2 { margin:8px 0; font-size:2rem; }
.pro-auth-card>p { margin:0 0 27px; color:var(--pro-muted); line-height:1.65; }
.pro-auth-card form { display:grid; gap:14px; }
.pro-auth-card label,.pro-profile-form label,.pro-quote-form label { display:grid; gap:7px; font-size:.82rem; font-weight:800; }
.pro-auth-card input,.pro-profile-form input,.pro-profile-form textarea,.pro-quote-form input,.pro-quote-form textarea { width:100%; min-height:50px; padding:12px 14px; border:1px solid #ccd8d4; border-radius:12px; background:#fbfcfa; font:inherit; outline:none; }
.pro-auth-card input:focus,.pro-profile-form input:focus,.pro-profile-form textarea:focus,.pro-quote-form input:focus,.pro-quote-form textarea:focus { border-color:var(--pro-teal); box-shadow:0 0 0 4px rgba(19,170,164,.11); }
.pro-auth-card button,.pro-primary-button { min-height:52px; border:0; border-radius:13px; color:#fff; background:var(--pro-ink); font:inherit; font-weight:900; cursor:pointer; }
.pro-auth-card button:disabled,.pro-primary-button:disabled { opacity:.55; }
.pro-auth-link { display:block; margin-top:18px; color:var(--pro-muted); font-size:.86rem; text-align:center; }
.pro-auth-link strong { color:var(--pro-teal); }
.pro-form-result { min-height:22px; margin:0!important; font-size:.83rem; }
.pro-form-result.error { color:#c54646; }.pro-form-result.success { color:#087b6c; }
.pro-dashboard-header { position:sticky; z-index:20; top:0; display:flex; min-height:82px; padding:14px max(24px,calc((100vw - 1180px)/2)); border-bottom:1px solid var(--pro-line); background:rgba(255,255,255,.94); backdrop-filter:blur(14px); align-items:center; justify-content:space-between; }
.pro-dashboard-header img { width:170px; }
.pro-dashboard-header>div { display:flex; align-items:center; gap:12px; }
.pro-dashboard-header span { color:var(--pro-muted); font-size:.84rem; }.pro-dashboard-header strong { color:var(--pro-ink); }
.pro-dashboard-header button { padding:10px 14px; border:1px solid var(--pro-line); border-radius:10px; background:#fff; cursor:pointer; }
.pro-dashboard-main { width:min(1180px,calc(100% - 32px)); margin:0 auto; padding:34px 0 80px; }
.pro-dashboard-hero { display:flex; padding:34px; border-radius:28px; color:#fff; background:linear-gradient(135deg,#102725,#22645e); justify-content:space-between; gap:20px; }
.pro-dashboard-hero small { color:#75e2d9; font-weight:900; letter-spacing:.12em; }.pro-dashboard-hero h1 { margin:8px 0; font-size:clamp(28px,4vw,44px); }.pro-dashboard-hero p { margin:0; color:#c6d6d2; }
.pro-badges { display:flex; align-items:flex-start; gap:8px; flex-wrap:wrap; }.pro-badges span { padding:8px 11px; border-radius:999px; background:rgba(255,255,255,.13); font-size:.78rem; font-weight:800; }.pro-badges .pending { color:#fff0b4; }
.pro-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:18px; }.pro-summary article { padding:22px; border:1px solid var(--pro-line); border-radius:19px; background:#fff; }.pro-summary b { display:block; font-size:2rem; }.pro-summary span { color:var(--pro-muted); font-size:.82rem; }
.pro-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:20px; margin-top:20px; align-items:start; }
.pro-panel { padding:25px; border:1px solid var(--pro-line); border-radius:24px; background:#fff; box-shadow:0 12px 35px rgba(16,39,37,.05); }.pro-panel+.pro-panel { margin-top:20px; }
.pro-panel-head { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:18px; }.pro-panel-head small { color:var(--pro-teal); font-size:.68rem; font-weight:900; letter-spacing:.13em; }.pro-panel-head h2 { margin:5px 0 0; }.pro-panel-head span { color:var(--pro-muted); font-size:.8rem; }
.pro-quote-list { display:grid; gap:13px; }.pro-request-card { padding:18px; border:1px solid #e3e9e6; border-radius:18px; background:#fbfcfa; }.pro-request-top { display:flex; justify-content:space-between; gap:10px; }.pro-request-top h3 { margin:4px 0; }.pro-request-top small,.pro-request-card>p { color:var(--pro-muted); font-size:.8rem; }.pro-status { height:max-content; padding:6px 9px; border-radius:999px; color:#087b6c; background:#dff6f2; font-size:.72rem; font-weight:900; }
.pro-answer-list { display:flex; margin:13px 0; padding:12px; border-radius:12px; background:#f0f4f1; gap:7px 15px; flex-wrap:wrap; }.pro-answer-list span { font-size:.79rem; }.pro-contact { margin:0 0 13px!important; }.pro-request-card>.pro-primary-button { width:100%; }
.pro-quote-form { display:grid; gap:10px; margin-top:14px; padding-top:14px; border-top:1px solid var(--pro-line); }.pro-quote-form textarea,.pro-profile-form textarea { min-height:95px; resize:vertical; }.pro-sent-summary { margin-top:13px; padding:13px; border-radius:12px; background:#eaf7f4; }.pro-sent-summary b { display:block; color:#087b6c; }.pro-sent-summary p { margin:7px 0 0; font-size:.82rem; line-height:1.55; }
.pro-profile-form { display:grid; gap:12px; }.pro-profile-form button { width:100%; }.pro-profile-notice { padding:12px; border-radius:12px; color:#6e5a20; background:#fff5ce; font-size:.78rem; line-height:1.5; }.pro-empty { padding:30px 15px; border:1px dashed #c9d6d1; border-radius:16px; color:var(--pro-muted); text-align:center; }
@media(max-width:880px){.pro-auth-page{grid-template-columns:1fr}.pro-auth-visual{min-height:320px;padding:32px}.pro-auth-panel{min-height:auto;padding:30px 18px}.pro-dashboard-grid{grid-template-columns:1fr}.pro-dashboard-header{padding:14px 18px}.pro-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.pro-auth-visual{min-height:250px;padding:24px}.pro-auth-visual h1{font-size:34px}.pro-auth-panel{padding:18px 12px}.pro-auth-card{padding:25px 20px;border-radius:21px}.pro-dashboard-header img{width:135px}.pro-dashboard-header span{display:none}.pro-dashboard-main{width:calc(100% - 22px);padding-top:16px}.pro-dashboard-hero{padding:24px;flex-direction:column}.pro-summary{gap:8px}.pro-summary article{padding:16px 12px}.pro-summary b{font-size:1.5rem}.pro-panel{padding:18px;border-radius:19px}}
