@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@700;800&display=swap');*{box-sizing:border-box}body{margin:0;background:#f4f5f9;color:#151722;font-family:'DM Sans',sans-serif}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#7353ff22,transparent 40%),#11131a}.login form{width:min(420px,90vw);background:#fff;padding:38px;border-radius:24px;display:grid;gap:15px;box-shadow:0 30px 80px #0005}.mark,.brand b{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#6d4aff,#19b8ff);font:800 21px Manrope}.login h1{font:800 30px Manrope;margin:5px 0}.login p{color:#707689;margin:0 0 10px}.login label{display:grid;gap:7px;color:#44495a;font-size:13px;font-weight:700}.login input,.tools input,.tools select{padding:14px;border:1px solid #dde0e9;border-radius:11px;font:inherit}.login button,#export{border:0;padding:14px;border-radius:11px;color:#fff;font-weight:800;background:linear-gradient(90deg,#6d4aff,#19b8ff);cursor:pointer}.login small{color:#c33}#dashboard{min-height:100vh;display:grid;grid-template-columns:245px 1fr}aside{position:sticky;top:0;height:100vh;background:#11131a;color:#fff;padding:25px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font:800 18px Manrope;color:#fff;text-decoration:none}.brand b{width:37px;height:37px;font-size:16px}aside nav{display:grid;gap:8px;margin-top:45px}aside nav button,aside nav a,#logout{border:0;text-align:left;background:transparent;color:#a9afc1;padding:13px;border-radius:10px;font:600 14px inherit;text-decoration:none;cursor:pointer}aside nav .active{background:#272b3b;color:#fff}#logout{margin-top:auto}main{padding:40px;max-width:1450px;width:100%}main header{display:flex;justify-content:space-between;align-items:center}main header p{font-size:12px;color:#6d4aff;font-weight:800;letter-spacing:1px;margin:0}main h1{font:800 35px Manrope;margin:5px 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:28px 0}.stats article{background:#fff;border:1px solid #e3e5ed;border-radius:16px;padding:20px}.stats span{color:#757b8d;font-size:13px}.stats b{display:block;font:800 32px Manrope;margin-top:8px}.tools{display:flex;gap:12px;margin-bottom:18px}.tools input{flex:1}.quotes{display:grid;gap:14px}.quote{background:#fff;border:1px solid #e1e4ec;border-radius:17px;padding:22px;display:grid;grid-template-columns:1fr auto;gap:18px}.quote h3{font:700 20px Manrope;margin:0}.meta{color:#757b8c;font-size:13px;margin-top:5px}.pill{display:inline-block;padding:6px 10px;border-radius:30px;background:#eeeaff;color:#6243e5;font-size:11px;font-weight:800}.details{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:16px;border-top:1px solid #edf0f4}.details div{font-size:13px;color:#777d8e}.details b{display:block;color:#1b1e29;margin-bottom:3px}.project{grid-column:1/-1;background:#f8f9fc;border-radius:10px;padding:13px;white-space:pre-wrap}.actions{display:flex;gap:8px;align-items:start}.actions select,.actions button,textarea{border:1px solid #dfe2ea;background:#fff;border-radius:9px;padding:9px;font:inherit}.actions button{cursor:pointer;color:#b22}.notes{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:8px}.notes textarea{min-height:70px;resize:vertical}.notes button{border:0;border-radius:9px;background:#191c28;color:#fff;padding:0 17px;font-weight:700;cursor:pointer}.empty{text-align:center;padding:70px;background:#fff;border-radius:18px;color:#7b8192}@media(max-width:850px){#dashboard{grid-template-columns:1fr}aside{height:auto;position:static;flex-direction:row;align-items:center}aside nav{display:none}#logout{margin:0 0 0 auto}main{padding:22px}.stats{grid-template-columns:1fr 1fr}.quote{grid-template-columns:1fr}.actions{grid-row:2}.details{grid-template-columns:1fr 1fr}.notes{grid-template-columns:1fr}.notes button{padding:12px}}@media(max-width:520px){.stats{grid-template-columns:1fr 1fr}.tools{flex-direction:column}.details{grid-template-columns:1fr}main header{align-items:flex-start;gap:10px}#export{padding:10px}}

.demo-admin{margin:0 0 24px;padding:22px;background:#fff;border:1px solid #e1e4ec;border-radius:18px}.demo-admin-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:16px}.demo-admin-head span{color:#6d4aff;font-size:11px;font-weight:800;letter-spacing:1px}.demo-admin-head h2{font:800 24px Manrope;margin:4px 0 0}.demo-admin-head p{margin:0;max-width:660px;color:#707689;font-size:13px;line-height:1.55}.demo-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.demo-admin-grid a{display:grid;gap:5px;padding:14px;border:1px solid #e6e8ef;border-radius:12px;text-decoration:none;color:#151722;background:#fafbfe}.demo-admin-grid a:hover{border-color:#bcb3ff;background:#f6f3ff}.demo-admin-grid b{font:700 14px Manrope}.demo-admin-grid small{color:#787e90}.demo-admin-grid em{font-style:normal;color:#6d4aff;font-size:10px;font-weight:900;letter-spacing:.06em}@media(max-width:900px){.demo-admin-head{display:block}.demo-admin-head p{margin-top:8px}.demo-admin-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.demo-admin-grid{grid-template-columns:1fr}}

/* Full-page owner login. No dashboard content is rendered before authentication. */
.admin-login-page{margin:0;min-height:100vh;background:#0f1118;color:#fff;font-family:'DM Sans',sans-serif}
.owner-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);padding:0;max-width:none;width:100%}
.owner-login-brand{padding:clamp(28px,5vw,72px);display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 15% 10%,#6d4aff33,transparent 36%),radial-gradient(circle at 80% 82%,#19b8ff22,transparent 32%),#11131a;min-width:0}
.owner-login-brand>div{max-width:560px}
.owner-badge,.login-eyebrow{display:inline-block;font-size:11px;letter-spacing:.16em;font-weight:800;color:#9d8dff;margin-bottom:14px}
.owner-login-brand h1{font:800 clamp(42px,6vw,78px) Manrope;margin:0 0 16px;line-height:.96;letter-spacing:-.045em}
.owner-login-brand p{margin:0;color:#aeb4c6;line-height:1.7;font-size:16px;max-width:520px}
.back-site{color:#c5cada;text-decoration:none;font-weight:700;width:max-content}
.owner-login-form-wrap{display:grid;place-items:center;padding:clamp(24px,6vw,80px);background:#f5f6fa;min-width:0}
.owner-login-form{width:min(480px,100%);display:grid;gap:16px;color:#151722}
.owner-login-form .mark{margin-bottom:8px}
.owner-login-form h2{font:800 clamp(30px,4vw,44px) Manrope;margin:0;letter-spacing:-.03em}
.owner-login-form>p{color:#707689;margin:0 0 10px}
.owner-login-form label{display:grid;gap:8px;color:#44495a;font-size:13px;font-weight:800}
.owner-login-form input{width:100%;padding:15px 16px;border:1px solid #d9dde8;border-radius:12px;font:inherit;background:#fff;color:#151722;outline:none;min-height:50px}
.owner-login-form input:focus{border-color:#6d4aff;box-shadow:0 0 0 3px #6d4aff18}
.owner-login-form button{border:0;min-height:52px;padding:14px 18px;border-radius:12px;color:#fff;font-weight:800;font:800 15px 'DM Sans',sans-serif;background:linear-gradient(90deg,#6d4aff,#19b8ff);cursor:pointer;margin-top:4px}
.owner-login-form small{min-height:20px;color:#c33;font-weight:700}
@media(max-width:780px){.owner-login-shell{grid-template-columns:1fr}.owner-login-brand{padding:24px;gap:38px}.owner-login-brand>div{display:none}.owner-login-form-wrap{padding:38px 24px 54px}.back-site{font-size:13px}}
.brand-brief{grid-column:1/-1;padding:14px;border-radius:12px;background:rgba(255,255,255,.04);line-height:1.5}.admin-swatches{display:flex;align-items:center;gap:6px;margin:8px 0}.admin-swatches i{width:24px;height:24px;border-radius:50%;border:1px solid rgba(255,255,255,.2)}.admin-logo{display:block;max-width:180px;max-height:90px;object-fit:contain;background:#fff;border-radius:9px;padding:7px;margin-top:10px}
.ea-admin-watermark{position:fixed;bottom:12px;right:12px;opacity:.2;pointer-events:none;z-index:2;font:700 11px system-ui,sans-serif;color:#a7b9ff}

/* Customer request management enhancements */
.quote{border:1px solid rgba(127,148,255,.26);border-radius:18px;box-shadow:0 12px 40px rgba(0,0,0,.16)}
.quote .details{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.quote .details>div{overflow-wrap:anywhere}
.quote .details b{display:block;color:#a9baff;margin-bottom:6px}
.quote .notes textarea{width:100%;min-height:100px;border-radius:12px}
.quote .notes button,.quote .actions button{cursor:pointer}
@media(max-width:600px){.quote{padding:18px}.quote .details{grid-template-columns:1fr}}
