:root{--primary:#102030;--secondary:#ce4420;--accent:#ce4420;--ink:#16202e;--muted:#5f6b7c;--paper:#f7f5f1;--card:#ffffff;--line:#e6e1d8;--radius:14px;--bs-primary:#102030;--bs-primary-rgb:16,32,48}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
a{color:var(--primary)}
.btn-primary{--bs-btn-bg:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-hover-bg:#23354a;--bs-btn-hover-border-color:#23354a;--bs-btn-active-bg:#0b1826;--bs-btn-active-border-color:#0b1826;--bs-btn-disabled-bg:var(--primary);--bs-btn-disabled-border-color:var(--primary);border-radius:8px;font-weight:600;letter-spacing:.01em}
.btn-success,.btn-secondary-brand{--bs-btn-bg:var(--secondary);--bs-btn-border-color:var(--secondary);--bs-btn-hover-bg:#a83615;--bs-btn-hover-border-color:#a83615;--bs-btn-active-bg:#8f2e12;--bs-btn-active-border-color:#8f2e12;border-radius:8px;font-weight:600}
.btn-outline-primary{--bs-btn-color:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-hover-bg:var(--primary);--bs-btn-hover-border-color:var(--primary);--bs-btn-active-bg:var(--primary);border-radius:8px;font-weight:600}
.btn-outline-secondary{border-radius:8px}
.btn-link{color:var(--secondary)}
.form-control,.form-select{border-radius:8px;border-color:#d9d2c6;padding:.6rem .9rem}
.form-control:focus,.form-select:focus{border-color:var(--secondary);box-shadow:0 0 0 .2rem rgba(206,68,32,.14)}
.form-check-input:checked{background-color:var(--secondary);border-color:var(--secondary)}
.form-switch .form-check-input:focus{border-color:#d9d2c6;box-shadow:none}
.nav-pills .nav-link{color:var(--muted);border-radius:8px}
.nav-pills .nav-link.active{background:var(--primary)}
.text-secondary-brand{color:var(--secondary)!important}.text-primary{color:var(--primary)!important}.bg-primary{background:var(--primary)!important}.bg-secondary-brand{background:var(--secondary)!important}
.page-shell{max-width:1240px;margin:24px auto 40px;background:var(--card);border:1px solid var(--line);overflow:hidden}
@media(max-width:1280px){.page-shell{margin:0;border-radius:0;border-left:0;border-right:0}}
.wh-nav{padding:16px 40px;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.wh-nav img.logo{height:40px}
.wh-nav .links{display:flex;gap:26px;margin:0 auto;flex-wrap:wrap}
.wh-nav .links a{text-decoration:none;color:var(--ink);font-size:.88rem;font-weight:500;padding:6px 0;border-bottom:2px solid transparent}
.wh-nav .links a:hover{color:var(--secondary)}.wh-nav .links a.active{color:var(--secondary);border-color:var(--secondary)}
.user-chip{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.9rem}
.user-chip img{width:34px;height:34px;border-radius:50%}
.kicker{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--secondary);display:inline-block;margin-bottom:12px}
.hero{margin:0;padding:64px 56px;background:var(--paper);position:relative;overflow:hidden;min-height:420px;border-bottom:1px solid var(--line)}
.hero h1{font-weight:800;font-size:3rem;line-height:1.06;letter-spacing:-.03em;color:var(--primary)}
.hero h1 em{font-style:normal;color:var(--secondary)}
.hero .visual{position:absolute;right:0;top:0;bottom:0;width:46%;background:linear-gradient(160deg,#1a2f44,var(--primary) 60%);display:flex;align-items:center;justify-content:center;gap:16px;padding:36px;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}
.hero .visual .vcol{display:flex;flex-direction:column;gap:16px}
.hero .visual img{border-radius:12px;object-fit:cover;box-shadow:0 14px 34px rgba(0,0,0,.35)}
.hero .vstat{position:absolute;bottom:44px;left:52%;background:#fff;border-radius:12px;padding:10px 16px;box-shadow:0 10px 28px rgba(0,0,0,.28);font-size:.8rem;max-width:190px}
.hero-search{background:#fff;border:1px solid #d9d2c6;border-radius:10px;display:flex;padding:5px;max-width:440px}
.hero-search input{border:0;box-shadow:none}
.pill{display:inline-block;background:#fff;border-radius:20px;padding:5px 14px;font-size:.78rem;border:1px solid var(--line);font-weight:500}
.trust-strip{display:flex;flex-wrap:wrap;gap:22px;padding:18px 48px;border-bottom:1px solid var(--line);background:#fbfaf7;font-size:.8rem;color:var(--muted)}
.trust-strip span{display:flex;align-items:center;gap:8px}.trust-strip i{color:var(--secondary)}
.cat-card{border-radius:14px;height:190px;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none;position:relative;overflow:hidden;transition:.25s;color:#fff}
.cat-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.25s;filter:saturate(.85)}
.cat-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(11,20,30,.82))}
.cat-card:hover img{transform:scale(1.05)}
.cat-card b,.cat-card small{position:relative;z-index:2}
.cat-card b{font-size:.92rem;line-height:1.2;padding:0 14px}
.cat-card small{opacity:.8;font-size:.74rem;padding:4px 14px 14px}
.cat-card .num{position:absolute;top:12px;left:14px;z-index:2;background:var(--secondary);color:#fff;font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:20px}
.section-title{font-weight:800;font-size:2rem;letter-spacing:-.025em;color:var(--primary)}
.tab-pill{border:1px solid var(--line);background:#fff;padding:8px 18px;border-radius:30px;font-size:.82rem;color:var(--muted);font-weight:500}
.tab-pill.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}
.lcard{border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;color:var(--ink);display:block;transition:.2s;height:100%;padding:10px}
.lcard:hover{transform:translateY(-3px);color:var(--ink);box-shadow:0 10px 26px rgba(16,32,48,.1);border-color:#cfc7b8}
.lcard .ph{border-radius:9px;width:100%;aspect-ratio:16/10;object-fit:cover;background:#ece7dd}
.lcard .tag{font-size:.65rem;border-radius:5px;padding:2px 8px;font-weight:600;background:#fbe7df;color:#a83615;white-space:nowrap}
.lcard .heart{color:#b9bfca;cursor:pointer}.lcard .heart.on{color:var(--secondary)}
.vbadge{font-size:.7rem;font-weight:600;border-radius:20px;padding:3px 10px;display:inline-flex;gap:4px;align-items:center;cursor:pointer;border:0;white-space:nowrap}
.vb1{background:#e8edf3;color:#23405f}.vb2{background:#fbe7df;color:#a83615}.vb3{background:#efe9f7;color:#5b2f96}
.acc-ico{font-size:.8rem;color:var(--muted)}
.flow-card{border-radius:16px;padding:26px;text-align:center;border:1px solid var(--line);background:#fff;height:100%}
.flow-card img{border-radius:10px;width:100%}
.dark-band{margin:0;padding:56px 48px;background:var(--primary);color:#fff}
.dark-band .card-dark{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:22px;height:100%}
.dark-band .card-dark i{color:#f0854f}
.foot{background:var(--primary);color:#cdd6e0;padding:48px 48px 24px;font-size:.8rem}
.foot h6{font-size:.8rem;font-weight:700;color:#fff;letter-spacing:.06em;text-transform:uppercase}
.foot a{display:block;color:#9fb0c4;text-decoration:none;margin:6px 0;font-size:.78rem}.foot a:hover{color:#fff}
.foot .border-top{border-color:rgba(255,255,255,.15)!important}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.stat{background:#fbfaf7;border:1px solid var(--line);border-radius:12px;padding:18px}
.stat .n{font-size:1.8rem;font-weight:800;color:var(--primary)}
.status{font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:20px;text-transform:capitalize;white-space:nowrap}
.st-pending,.st-pending_review{background:#fdf0d8;color:#8a5e00}.st-accepted,.st-approved,.st-confirmed,.st-available{background:#e2f0e6;color:#1d6b41}
.st-declined,.st-rejected,.st-cancelled{background:#fbe3e0;color:#a83615}.st-completed{background:#e8edf3;color:#23405f}.st-paused,.st-unavailable{background:#eceae4;color:#666}.st-info{background:#e3ecf2;color:#235c78}
.cost-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed var(--line);font-size:.9rem}
.cost-total{font-weight:800;font-size:1.1rem;color:var(--primary)}
.chat-list .item{padding:12px 14px;border-radius:10px;cursor:pointer;display:flex;gap:10px;align-items:center}
.chat-list .item:hover{background:#f4f1ea}.chat-list .item.active{background:#f4f1ea;box-shadow:inset 3px 0 0 var(--secondary)}
.chat-list img{width:42px;height:42px;border-radius:50%}
.bubble-msg{max-width:72%;padding:9px 14px;border-radius:14px;font-size:.88rem;margin-bottom:8px;width:fit-content}
.bubble-msg.me{background:var(--primary);color:#fff;margin-left:auto;border-bottom-right-radius:4px}
.bubble-msg.them{background:#f0ece4;border-bottom-left-radius:4px}
.bubble-msg.flagged{outline:2px solid #d9a400}
.chat-box{height:380px;overflow-y:auto;padding:16px;background:#fbfaf7;border-radius:10px}
.role-switch{position:fixed;left:16px;bottom:16px;z-index:2000;font-size:.8rem}
.role-switch .box{background:#0b1826;color:#fff;border-radius:14px;padding:10px 12px;box-shadow:0 12px 32px rgba(0,0,0,.4);width:auto;border:1px solid #2a3b52}
.role-switch .head{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600}
.role-switch .body{display:none;margin-top:10px}
.role-switch.open .body{display:block}
.role-switch .rbtn{display:block;width:100%;text-align:left;background:transparent;border:1px solid #2a3b52;color:#c8d2e0;border-radius:10px;padding:6px 10px;margin-bottom:5px;font-size:.78rem}
.role-switch .rbtn.on{background:var(--secondary);border-color:var(--secondary);color:#fff;font-weight:600}
.role-switch .rbtn:hover{border-color:var(--secondary)}
.role-switch a.link{color:#f0854f;font-size:.76rem;text-decoration:none;display:block;margin-top:6px}
.notice{border-left:3px solid var(--secondary);background:#fbf2ee;border-radius:6px;padding:10px 14px;font-size:.82rem}
.notice.warn{border-color:#d9a400;background:#fdf5e2}.notice.danger{border-color:#a83615;background:#fbe9e4}
.table>:not(caption)>*>*{padding:.8rem .6rem}
.map-radius{height:200px;border-radius:12px;background:url(https://placehold.co/800x300/e8e4dc/102030?text=Approximate+area+%28radius%2C+no+pin%29) center/cover;position:relative}
.map-radius:after{content:"";position:absolute;left:50%;top:50%;width:110px;height:110px;margin:-55px;border-radius:50%;background:rgba(206,68,32,.16);border:2px dashed var(--secondary)}
.gallery{display:grid;grid-template-columns:2fr 1fr;gap:8px}.gallery img{width:100%;border-radius:12px;object-fit:cover}
.gallery .side{display:grid;gap:8px}
.step-dot{width:32px;height:32px;border-radius:50%;background:var(--secondary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.82rem}
@media(max-width:768px){.hero{padding:34px 22px}.hero h1{font-size:2rem}.hero .visual{display:none}.wh-nav{padding:14px 18px}.gallery{grid-template-columns:1fr}}
