@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--purple:#512774;--purple2:#8d469a;--gold:#d9ab52;--ink:#1f1930;--muted:#79758a;--line:#eae6ef;--bg:#f8f7fb;--white:#fff}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:'DM Sans',sans-serif;font-size:14px}h1,h2,h3,b,strong{font-family:Manrope,sans-serif}h1{font-size:32px;letter-spacing:-1.1px;margin:7px 0}h2{font-size:18px;letter-spacing:-.4px}p{color:var(--muted);line-height:1.7}a{text-decoration:none;color:var(--purple)}button,input,select,textarea{font:inherit}button{cursor:pointer}.private .sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:#fff;border-right:1px solid var(--line);padding:26px 17px;display:flex;flex-direction:column;z-index:4}.brand{display:block;padding:4px 8px 30px}.brand img{width:193px;height:62px;object-fit:contain;object-position:left}.side-label{color:#aaa3b5;font-size:10px;letter-spacing:2px;font-weight:800;padding:12px 15px}.sidebar nav{display:grid;gap:6px}.nav-item{display:block;border-radius:11px;padding:13px 16px;color:#696276;font-weight:600}.nav-item:hover,.nav-item.selected{background:#f3edf8;color:var(--purple)}.side-bottom{margin-top:auto;border-top:1px solid var(--line);padding:20px 5px;display:flex;gap:10px;align-items:center}.side-bottom small,.side-bottom b{display:block}.side-bottom small{color:var(--muted);margin-top:3px}.avatar{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;display:grid;place-items:center;font-weight:800}.workspace{margin-left:246px;min-height:100vh}.topbar{height:77px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px}.crumb,.subtle-link{color:var(--muted);font-size:13px}.top-actions{display:flex;align-items:center;gap:22px}.top-actions form{margin:0}.text-button{border:0;background:transparent;color:var(--purple);font-weight:700}.main{padding:35px;max-width:1550px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:29px}.page-head p{margin:3px 0}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--purple2)}.btn{border:0;border-radius:11px;padding:12px 19px;display:inline-block;font-weight:700;white-space:nowrap}.btn.primary{background:linear-gradient(120deg,#512774,#8f489b);color:#fff;box-shadow:0 8px 18px #51277424}.btn.outline{border:1px solid #d7cbe2;background:#fff;color:var(--purple)}.btn.ghost{background:#fff;color:var(--purple);margin-left:10px}.btn.full{width:100%}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px}.metric{background:white;border:1px solid var(--line);border-radius:18px;padding:23px;box-shadow:0 6px 25px #2d164905}.metric span,.metric small{display:block;color:var(--muted)}.metric strong{display:block;font-size:32px;letter-spacing:-1px;margin:13px 0}.metric .metric-text{font-size:17px;letter-spacing:0}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 6px 25px #2d164905;overflow:hidden;margin-bottom:20px}.panel-head{padding:23px 26px;display:flex;justify-content:space-between;align-items:center}.panel-head h2{margin:0}.panel-head p{margin:5px 0 0}.panel-head a{font-weight:700}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{background:#fcfbfd;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#9992a5}th,td{padding:17px 22px;border-bottom:1px solid #f0edf3}td small{display:block;color:var(--muted);margin-top:4px}td a{font-weight:700}.pill{display:inline-block;padding:6px 11px;border-radius:100px;font-size:11px;font-weight:800;background:#eeeaf7;color:#65458e}.pill-won{background:#e5f6ed;color:#198355}.pill-lost{background:#fff0ed;color:#bd5543}.pill-new{background:#e8efff;color:#4869b4}.pill-quotation{background:#fff3d9;color:#a27619}.filters{display:flex;gap:10px;margin-bottom:18px}.filters input{flex:1;max-width:340px}.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea,.enquiry-form input,.enquiry-form textarea,.login-card input,.form-panel select,.form-panel textarea{border:1px solid #e0dbe7;border-radius:10px;padding:12px 13px;background:#fff;outline:none;width:100%;color:var(--ink)}input:focus,textarea:focus,select:focus{border-color:var(--purple2)!important;box-shadow:0 0 0 3px #8d469a18}.form-panel{padding:30px;max-width:950px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-grid label,.enquiry-form label,.login-card label,.form-panel label{display:grid;gap:9px;font-weight:700;color:#534b61}.form-grid .wide,.enquiry-form .wide{grid-column:1/-1}.form-grid button{justify-self:start}.checkbox-line{display:flex!important;align-items:center;flex-direction:row}.checkbox-line input{width:auto}.detail-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.detail-grid .form-grid{gap:14px}.actions{display:flex;gap:8px}.timeline{margin-top:22px}.timeline-item{border-left:2px solid #e3d5ec;padding:0 0 20px 18px;margin-left:4px}.timeline-item small{display:block;color:var(--muted);margin-top:4px}.timeline-item p{margin:7px 0}.permission-row{display:flex!important;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.permission-row input{width:18px;height:18px;accent-color:var(--purple)}.helper{padding:8px}.flash{margin-bottom:20px;padding:14px 19px;background:#f1eaf7;color:var(--purple);border-radius:12px;font-weight:700}.empty{padding:30px;color:var(--muted);text-align:center}.mobile-brand{display:none}.site-header{height:92px;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 max(5vw,30px);border-bottom:1px solid var(--line)}.site-header img{width:220px;height:68px;object-fit:contain}.site-header nav{display:flex;gap:30px;align-items:center}.site-header nav a{color:#514a60;font-weight:700}.hero{min-height:570px;display:grid;grid-template-columns:1.05fr .95fr;background:linear-gradient(115deg,#fbf9fe 0%,#f2e9f8 100%);overflow:hidden}.hero-copy{padding:100px 5vw 65px max(5vw,45px);max-width:780px}.hero h1{font-size:clamp(38px,4.4vw,68px);line-height:1.14;letter-spacing:-3px;margin:22px 0}.hero h1 em{font-style:normal;color:var(--purple2)}.hero p{font-size:17px;max-width:520px;margin-bottom:28px}.hero-art{position:relative;display:grid;place-items:center}.hero-orb{position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#c8a6d4,#74418d 65%,#4c2674);box-shadow:0 40px 100px #51277433}.hero-orb:after{content:'✈';position:absolute;font-size:180px;color:#ffffff55;left:140px;top:95px;transform:rotate(-25deg)}.travel-card{position:relative;z-index:1;background:#ffffffeb;box-shadow:0 30px 65px #39204d3b;border-radius:20px;padding:30px 40px;transform:rotate(-7deg);display:grid;gap:12px}.travel-card span{color:var(--purple2);letter-spacing:2px;font-size:11px;font-weight:800}.travel-card strong{font-size:35px}.travel-card small{color:var(--muted)}.hero-stats{display:flex;gap:35px;margin-top:48px}.hero-stats b,.hero-stats small{display:block}.hero-stats b{font-size:18px}.hero-stats small{color:var(--muted);margin-top:6px}.section{padding:90px max(5vw,30px);max-width:1500px;margin:auto}.section-heading h2,.enquiry-section h2{font-size:40px;margin:10px 0}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:35px}.package-card{background:white;border:1px solid var(--line);border-radius:19px;overflow:hidden}.package-visual{height:180px;background:linear-gradient(140deg,#512774,#ac74b4);color:#fff;display:flex;justify-content:space-between;align-items:end;padding:25px}.package-visual span{font-size:65px;opacity:.6}.package-visual b{font-size:27px}.package-body{padding:25px}.package-body small{color:var(--purple2);font-weight:800}.package-body h3{font-size:20px}.package-body p{min-height:55px}.package-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px}.enquiry-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;background:#f6f1f9;border-radius:25px;margin-bottom:80px}.enquiry-form{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.enquiry-form button{justify-self:start}.site-footer{padding:35px 5vw;text-align:center;background:#2d1742;color:#eee}.login-wrap{min-height:calc(100vh - 170px);display:grid;place-items:center;padding:45px 20px}.login-card{width:min(440px,100%);background:white;border:1px solid var(--line);border-radius:22px;padding:42px;box-shadow:0 25px 80px #311a4c10}.login-card img{display:block;width:185px;height:150px;object-fit:contain;margin:0 auto}.login-card h1{text-align:center}.login-card p{text-align:center;margin-bottom:30px}.login-card form{display:grid;gap:20px}.error-box{padding:80px;text-align:center}@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.package-grid{grid-template-columns:repeat(2,1fr)}.hero-orb{width:320px;height:320px}.hero-orb:after{left:80px;top:60px;font-size:130px}}@media(max-width:800px){.private .sidebar{position:relative;width:auto;height:auto;padding:8px 15px}.brand{padding:0}.brand img{height:52px;width:180px}.side-label,.side-bottom{display:none}.sidebar nav{display:flex;overflow:auto}.nav-item{white-space:nowrap;padding:10px}.workspace{margin:0}.topbar{padding:0 17px;height:60px}.main{padding:22px 16px}.metric-grid{gap:10px}.metric{padding:17px}.metric strong{font-size:25px}.page-head{align-items:flex-start}.detail-grid,.hero,.enquiry-section{grid-template-columns:1fr}.hero-copy{padding:65px 30px}.hero-art{min-height:310px}.site-header{padding:0 20px}.site-header nav{gap:10px;font-size:12px}.site-header img{width:160px}.package-grid{grid-template-columns:1fr}.enquiry-section{border-radius:0}.top-actions{gap:9px}.subtle-link{display:none}}@media(max-width:520px){.metric-grid,.form-grid,.enquiry-form{grid-template-columns:1fr}.page-head{flex-direction:column}.site-header nav a:nth-child(1),.site-header nav a:nth-child(2){display:none}.hero h1{letter-spacing:-1.5px}.hero-stats{gap:15px}.filters{flex-wrap:wrap}.filters input{max-width:none}.form-panel{padding:20px}}

/* v0.4: scrollable 20-module CRM sidebar and profile */
.private .sidebar{padding-bottom:12px}.private .sidebar nav{display:block;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.private .sidebar .brand{padding-bottom:8px}.private .sidebar .brand img{height:49px}.private .sidebar .side-label{padding:7px 12px}.private .sidebar .nav-item{padding:9px 13px;margin-bottom:2px;font-size:12.5px}.private .sidebar .side-bottom{flex-shrink:0;padding:12px 5px 3px}.profile-link{color:var(--ink);text-decoration:none}.profile-link:hover{color:var(--purple)}.avatar-photo{object-fit:cover;border-radius:12px}.quick-link{font-size:12px;font-weight:700;padding:9px 11px;border:1px solid #e9dfed;border-radius:10px;background:#faf7fd;white-space:nowrap}.quick-link:hover{background:#f0e6f7}.top-actions{gap:9px}.profile-preview{display:flex;align-items:center;gap:18px;margin-bottom:26px}.profile-preview .avatar{width:86px;height:86px;border-radius:20px;font-size:30px}.profile-preview h2{margin:0}.profile-preview p{margin:4px 0}.form-panel input[type=file]{padding:12px;border:1px solid var(--line);border-radius:10px;width:100%;max-width:480px}
@media(max-width:800px){.private .sidebar nav{display:flex;flex:unset;overflow-x:auto;overflow-y:hidden}.private .sidebar .side-bottom{display:flex}.private .sidebar .nav-item{white-space:nowrap}.topbar{height:auto;min-height:65px;gap:8px;flex-wrap:wrap;padding:10px 16px}.top-actions{flex-wrap:wrap}.top-actions .quick-link{display:inline-flex;font-size:11px;padding:7px}.top-actions .text-button{font-size:11px}}

/* v0.5 profile settings */
.profile-form{display:grid;gap:15px;max-width:490px;margin:16px 0 8px}.profile-form label{display:grid;gap:8px}.profile-form input[type=text],.profile-form input[type=password]{border:1px solid #e0dbe7;border-radius:10px;padding:12px 13px;width:100%}.profile-form button{justify-self:start}.profile-divider{border:0;border-top:1px solid #e9e2ed;margin:28px 0}
