@font-face{font-family:Manrope;src:url('assets/fonts/Manrope-Regular.ttf')}@font-face{font-family:Manrope;src:url('assets/fonts/Manrope-Medium.ttf');font-weight:500}@font-face{font-family:Manrope;src:url('assets/fonts/Manrope-Semibold.ttf');font-weight:600}@font-face{font-family:Manrope;src:url('assets/fonts/Manrope-Bold.ttf');font-weight:700}@font-face{font-family:Manrope;src:url('assets/fonts/Manrope-ExtraBold.ttf');font-weight:800}
:root{--bg:#080A0F;--surface:#0e1119;--surface2:#131722;--surface3:#191e2b;--line:#242a38;--muted:#858da0;--text:#F8FAFC;--blue:#3B82F6;--violet:#8B5CF6;--cyan:#22D3EE;--success:#34d399;--shadow:0 28px 80px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,system-ui,sans-serif;font-size:14px}.app-shell{min-height:100vh;display:flex}.sidebar{width:238px;position:fixed;inset:0 auto 0 0;border-right:1px solid #1b202c;padding:30px 20px 20px;display:flex;flex-direction:column;background:rgba(8,10,15,.98);z-index:10}.brand{display:flex;gap:12px;align-items:center;color:var(--text);text-decoration:none;font-weight:800;font-size:15px;letter-spacing:1.4px;padding:0 8px}.brand>span:last-child span{color:var(--cyan)}.brand-mark{position:relative;width:28px;height:28px;display:inline-block;filter:drop-shadow(0 0 12px rgba(59,130,246,.3))}.brand-mark:before,.brand-mark:after,.brand-mark i:before,.brand-mark i:after{content:"";position:absolute;border-radius:2px;transform:rotate(42deg);width:7px;height:26px;left:10px;top:1px}.brand-mark:before{background:linear-gradient(var(--blue),var(--cyan))}.brand-mark:after{background:linear-gradient(var(--violet),var(--blue));transform:rotate(-42deg)}.brand-mark i:before{height:7px;width:7px;background:#d8fbff;left:10px;top:10px;z-index:2;box-shadow:0 0 12px var(--cyan)}.workspace-label{font-size:10px;color:#596174;text-transform:uppercase;letter-spacing:1.4px;font-weight:700;margin:39px 10px 12px}.main-nav{display:flex;flex-direction:column;gap:6px}.nav-item{font:600 13px Manrope;color:#8991a3;background:transparent;border:1px solid transparent;border-radius:10px;text-align:left;padding:12px 13px;display:flex;align-items:center;gap:11px;cursor:pointer}.nav-item svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.8}.nav-item:hover{color:#d9dfeb;background:#11151e}.nav-item.active{color:#fff;background:linear-gradient(90deg,rgba(59,130,246,.16),rgba(139,92,246,.05));border-color:rgba(59,130,246,.18);box-shadow:inset 2px 0 var(--blue)}.sidebar-card{margin-top:auto;padding:18px;background:linear-gradient(145deg,#121724,#0d1018);border:1px solid #202738;border-radius:13px;position:relative;overflow:hidden}.sidebar-card:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-35px;top:-35px;background:rgba(59,130,246,.12);filter:blur(10px)}.mini-orb{width:25px;height:25px;border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--violet));margin-bottom:14px;box-shadow:0 0 24px rgba(59,130,246,.32)}.sidebar-card strong{font-size:12px}.sidebar-card p{font-size:10.5px;line-height:1.55;color:#737c8e;margin:6px 0 0}.sidebar-footer{display:flex;align-items:center;gap:10px;padding:20px 7px 0}.status-dot,.save-state i,.live-pill i{width:7px;height:7px;background:var(--success);box-shadow:0 0 8px var(--success);border-radius:50%;display:inline-block}.sidebar-footer div{display:flex;flex-direction:column}.sidebar-footer strong{font-size:10px}.sidebar-footer small{font-size:9px;color:#5e6678;margin-top:2px}.main{margin-left:238px;flex:1;min-width:0}.page{display:none}.page.active{display:block}.topbar{min-height:150px;border-bottom:1px solid #1b202c;padding:29px 44px;display:flex;align-items:center;justify-content:space-between;background:radial-gradient(circle at 65% -80%,rgba(59,130,246,.13),transparent 38%)}.eyebrow{font-size:9px;font-weight:800;letter-spacing:2px;color:var(--blue);margin-bottom:9px}.topbar h1{font-size:27px;letter-spacing:-.9px;margin:0 0 6px}.topbar p{font-size:12px;color:var(--muted);margin:0}.top-actions{display:flex;align-items:center;gap:10px}.save-state{color:#788193;font-size:10px;margin-right:8px}.save-state i{width:5px;height:5px;margin-right:6px}.btn{border:1px solid var(--line);border-radius:8px;padding:10px 16px;color:#dfe4ed;background:#141823;font:700 11px Manrope;cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-1px);border-color:#394155}.btn.primary{border:0;background:linear-gradient(120deg,var(--blue),#665ff1 60%,var(--violet));color:white;box-shadow:0 8px 25px rgba(59,130,246,.22)}.btn svg{width:14px;fill:none;stroke:currentColor;stroke-width:2;vertical-align:middle;margin-right:6px}.quote-layout{display:grid;grid-template-columns:minmax(500px,1fr) 330px;gap:24px;padding:27px 44px 60px;max-width:1300px}.builder-column{display:flex;flex-direction:column;gap:18px}.panel,.summary-card{background:linear-gradient(145deg,#10141d,#0d1017);border:1px solid #1d2330;border-radius:14px;box-shadow:0 12px 38px rgba(0,0,0,.13)}.panel{padding:22px}.panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:21px}.panel-heading.with-action{justify-content:space-between}.heading-group{display:flex;align-items:center;gap:12px}.step{width:28px;height:28px;border-radius:8px;background:rgba(59,130,246,.11);border:1px solid rgba(59,130,246,.18);color:#69a2ff;font-size:9px;font-weight:800;display:grid;place-items:center}.panel h2{font-size:14px;margin:0 0 3px;letter-spacing:-.2px}.panel-heading p{font-size:9.5px;color:#70798c;margin:0}.form-grid{display:grid;gap:16px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid .full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px}label>span{font-size:9.5px;font-weight:700;color:#8d96a8;letter-spacing:.1px}input,textarea,select{width:100%;border:1px solid #252c3a;background:#0b0e14;border-radius:7px;color:#eef2f8;padding:10px 11px;font:500 11px Manrope;outline:none;transition:.15s}textarea{resize:vertical;line-height:1.55}input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(59,130,246,.08)}input::placeholder,textarea::placeholder{color:#464d5b}.selected-count{font-size:9px;color:#8790a2;background:#171c27;border:1px solid #282e3d;padding:5px 8px;border-radius:20px}.services-list{display:flex;flex-direction:column}.service-category{font-size:8px;font-weight:800;letter-spacing:1.4px;color:#60697b;text-transform:uppercase;padding:14px 4px 7px}.service-category:first-child{padding-top:0}.service-row{display:grid;grid-template-columns:22px 1fr 132px;align-items:center;gap:10px;padding:10px 11px;border:1px solid transparent;border-radius:8px;transition:.15s}.service-row:hover{background:#121620}.service-row.selected{background:linear-gradient(90deg,rgba(59,130,246,.08),rgba(139,92,246,.025));border-color:rgba(59,130,246,.15)}.check-wrap{position:relative;width:17px;height:17px}.check-wrap input{opacity:0;position:absolute}.fake-check{position:absolute;inset:0;border:1px solid #3b4353;border-radius:5px;background:#0a0d13}.check-wrap input:checked+.fake-check{background:linear-gradient(135deg,var(--blue),var(--violet));border-color:transparent}.check-wrap input:checked+.fake-check:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.service-info strong{font-size:10.5px;font-weight:600;display:block}.service-info small{font-size:8.5px;color:#636c7e}.price-input{position:relative}.price-input span{position:absolute;left:10px;top:9px;color:#667085;font-size:11px}.price-input input{padding-left:25px;text-align:right}.service-row.selected .price-input input{border-color:#304563}.add-service{margin-top:12px;width:100%;padding:10px;background:transparent;border:1px dashed #303848;border-radius:8px;color:#737d90;font:600 10px Manrope;cursor:pointer}.add-service:hover{color:#b9c2d2;border-color:#526078}.add-service span{font-size:16px;vertical-align:-1px;margin-right:5px}.summary-column{position:relative}.summary-card{position:sticky;top:22px;padding:22px}.summary-topline{display:flex;justify-content:space-between;align-items:center;font-size:8px;font-weight:800;letter-spacing:1.4px;color:#657086}.live-pill{letter-spacing:.5px;font-size:7px;color:#65e5b6;background:rgba(52,211,153,.08);padding:4px 7px;border-radius:10px}.live-pill i{width:4px;height:4px;margin-right:4px}.summary-card h3{font-size:18px;letter-spacing:-.5px;margin:19px 0 3px}.summary-card>p{font-size:9px;color:#737c8e;margin:0}.summary-items{min-height:105px;margin:19px 0 12px;border-top:1px solid #202633;border-bottom:1px solid #202633;padding:11px 0}.empty-summary{height:82px;display:flex;flex-direction:column;justify-content:center;align-items:center}.empty-summary span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#171c27;color:#566074;margin-bottom:7px}.empty-summary strong{font-size:9px;color:#7c8596}.empty-summary small{font-size:8px;color:#4d5564;margin-top:3px}.summary-item{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:9px}.summary-item span{color:#a5adbc}.summary-item strong{font-size:9px;white-space:nowrap}.adjustments{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px 0 15px;border-bottom:1px solid #202633}.input-affix{position:relative}.input-affix input{padding-right:26px}.input-affix em{position:absolute;right:10px;top:10px;font-style:normal;color:#656e80;font-size:10px}.input-affix.rupee input{padding-left:25px;padding-right:10px}.input-affix.rupee em{left:10px;right:auto}.totals{padding:12px 0}.totals>div{display:flex;justify-content:space-between;padding:5px 0;font-size:9px;color:#7b8496}.totals strong{font-size:9px;color:#c8ced9}.totals .grand-total{border-top:1px solid #202633;margin-top:7px;padding-top:13px;color:#fff;font-weight:700}.totals .grand-total strong{font-size:17px;color:#fff}.advance-field{padding-top:2px}.due-box{margin:13px 0 14px;padding:11px 12px;background:linear-gradient(90deg,rgba(59,130,246,.1),rgba(139,92,246,.08));border:1px solid rgba(89,112,245,.18);border-radius:8px;display:flex;justify-content:space-between;align-items:center}.due-box span{font-size:9px;color:#9ba8c2}.due-box strong{font-size:12px;color:#8fb7ff}.wide{width:100%}.print-hint{text-align:center!important;font-size:8px!important;margin-top:9px!important}.profile-layout{padding:27px 44px 60px;max-width:1300px}.profile-hero{min-height:245px;border-radius:18px;border:1px solid #252c3a;background:radial-gradient(circle at 78% 20%,rgba(34,211,238,.12),transparent 20%),radial-gradient(circle at 68% 100%,rgba(139,92,246,.2),transparent 35%),linear-gradient(130deg,#111722,#0b0e15);position:relative;overflow:hidden;padding:42px;display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:28px;margin-bottom:22px}.profile-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to right,transparent,#000)}.hero-glow{position:absolute;width:220px;height:220px;border-radius:50%;left:-100px;top:70px;background:var(--blue);filter:blur(100px);opacity:.12}.profile-logo{width:96px;height:96px;border:1px solid #30394a;border-radius:24px;background:rgba(8,10,15,.7);display:grid;place-items:center;z-index:1;box-shadow:0 20px 45px rgba(0,0,0,.35)}.brand-mark.large{transform:scale(1.8)}.profile-identity{z-index:1}.profile-identity span{font-size:8px;letter-spacing:2px;font-weight:800;color:var(--cyan)}.profile-identity h2{font-size:32px;letter-spacing:-1.2px;margin:8px 0 5px}.profile-identity p{color:#8e98ab;margin:0}.profile-contact-preview{z-index:1;display:flex;flex-direction:column;gap:13px;min-width:200px}.profile-contact-preview div{display:flex;flex-direction:column}.profile-contact-preview span{font-size:8px;text-transform:uppercase;letter-spacing:1px;color:#626d81}.profile-contact-preview strong{font-size:10px;margin-top:3px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wide-panel{grid-column:1/-1}.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(2,4,8,.76);backdrop-filter:blur(7px)}.modal-card{width:390px;padding:24px;border-radius:16px;background:#11151e;border:1px solid #2b3241;z-index:1;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:15px}.modal-title{display:flex;justify-content:space-between;margin-bottom:3px}.modal-title span{font-size:8px;color:var(--blue);letter-spacing:1.6px;font-weight:800}.modal-title h2{font-size:20px;margin:4px 0}.modal-title button{border:0;background:transparent;color:#80899a;font-size:24px;cursor:pointer}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;background:#edf5ff;color:#172033;padding:9px 16px;border-radius:20px;font-size:10px;font-weight:700;z-index:200;transition:.25s}.toast.show{transform:translate(-50%,0);opacity:1}.print-sheet{display:none}
@media(max-width:1000px){.sidebar{width:76px;padding:28px 12px}.brand>span:last-child,.workspace-label,.nav-item:not(.active){display:none}.brand{justify-content:center;padding:0}.nav-item{justify-content:center}.nav-item svg{width:20px}.nav-item.active{font-size:0}.sidebar-card,.sidebar-footer{display:none}.main{margin-left:76px}.quote-layout{grid-template-columns:1fr;padding:24px}.summary-card{position:static}.topbar{padding:25px}.profile-layout{padding:24px}.profile-hero{grid-template-columns:90px 1fr}.profile-contact-preview{grid-column:1/-1;flex-direction:row;justify-content:space-between}.profile-grid{grid-template-columns:1fr}}
@media(max-width:650px){.topbar{align-items:flex-start;gap:20px;flex-direction:column}.top-actions{width:100%}.save-state{display:none}.quote-layout,.profile-layout{padding:16px}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.service-row{grid-template-columns:22px 1fr 105px}.profile-hero{padding:25px;grid-template-columns:1fr}.profile-contact-preview{flex-direction:column}.profile-grid .wide-panel{grid-column:auto}.sidebar{width:58px}.main{margin-left:58px}.topbar h1{font-size:23px}}
@page{size:A4;margin:0}@media print{html,body{background:white!important;color:#10131a!important}.app-shell,.modal,.toast{display:none!important}.print-sheet{display:block!important;width:210mm;min-height:297mm;background:#fff;color:#10131a;padding:16mm 17mm;font-family:Manrope,sans-serif}.print-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:11mm;border-bottom:1px solid #dfe3ea}.print-brand{display:flex;align-items:center;gap:12px}.print-logo{width:42px;height:42px;border-radius:12px;background:#080A0F;position:relative;display:grid;place-items:center}.print-logo .brand-mark{transform:scale(.8)}.print-brand-name{font-size:18px;font-weight:800;letter-spacing:.8px}.print-brand-name small{display:block;font-size:8px;color:#687083;letter-spacing:.2px;font-weight:500;margin-top:2px}.print-meta{text-align:right}.print-meta .label{color:#3B82F6;font-size:8px;font-weight:800;letter-spacing:1.5px}.print-meta h1{font-size:26px;margin:4px 0}.print-meta div{font-size:9px;color:#687083;line-height:1.7}.print-client{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:10mm 0 8mm}.print-caption{font-size:7.5px;font-weight:800;color:#8a92a2;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:7px}.print-client h2{font-size:17px;margin:0 0 4px}.print-client p{font-size:9px;line-height:1.6;color:#626b7a;margin:0}.event-box{background:#f4f6fa;border-radius:9px;padding:12px 15px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.event-box span{font-size:7px;color:#8a92a2;text-transform:uppercase;font-weight:800}.event-box strong{display:block;font-size:9px;margin-top:4px}.print-table{width:100%;border-collapse:collapse;margin-top:2mm}.print-table th{text-align:left;font-size:7.5px;text-transform:uppercase;letter-spacing:1px;color:#8a92a2;padding:8px 5px;border-bottom:1px solid #dfe3ea}.print-table th:last-child,.print-table td:last-child{text-align:right}.print-table td{font-size:9px;padding:10px 5px;border-bottom:1px solid #edf0f4}.print-table .index{color:#9ca3af;width:30px}.print-totals{width:75mm;margin:8mm 0 10mm auto}.print-totals>div{display:flex;justify-content:space-between;font-size:9px;padding:4px 0;color:#626b7a}.print-totals .total{border-top:1px solid #cbd1db;margin-top:5px;padding-top:8px;color:#111;font-weight:800;font-size:14px}.print-totals .due{background:#eef4ff;color:#245cc5;border-radius:6px;padding:8px 10px;margin-top:7px;font-weight:700}.print-note{background:#f7f8fa;border-left:3px solid #3B82F6;padding:12px 14px;border-radius:0 7px 7px 0;margin-bottom:7mm}.print-note p{font-size:8.5px;color:#5e6675;line-height:1.65;margin:0}.print-terms{font-size:7.5px;color:#727a89;line-height:1.65;white-space:pre-line}.print-footer{position:absolute;left:17mm;right:17mm;bottom:12mm;border-top:1px solid #e3e6ec;padding-top:6mm;display:flex;justify-content:space-between;align-items:flex-end}.print-footer p{margin:0;font-size:7.5px;color:#747c8b;line-height:1.7}.signature{text-align:right}.signature:before{content:"";display:block;width:42mm;border-top:1px solid #8d94a0;margin:0 0 5px auto}.signature strong{font-size:8px}.print-sheet{position:relative}}

/* ---- Logout button (added for login protection) ---- */
.logout-btn{margin:10px 7px 0;padding:10px 13px;display:flex;align-items:center;gap:11px;background:transparent;border:1px solid transparent;border-radius:10px;color:#7e8698;font:600 12px Manrope,system-ui,sans-serif;cursor:pointer;text-align:left;transition:.18s}
.logout-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;flex:none}
.logout-btn:hover{color:#ff9090;background:rgba(248,113,113,.07);border-color:rgba(248,113,113,.16)}
@media(max-width:1000px){.logout-btn{justify-content:center;padding:10px 0;margin:10px 0 0}.logout-btn span{display:none}}

/* ---- Responsive logo system (scales per page, viewport & resolution) ----
   Source files are 3-5x the display size, so logos stay razor-sharp on
   retina / 2x / 4K screens and in print at any size. */
.brand{gap:0}
.brand .brand-logo{height:32px;width:auto;display:block}
.brand .brand-icon{display:none}

/* Studio profile hero — tile & icon grow gently with viewport width */
.profile-logo{width:clamp(84px,9.5vw,106px);height:clamp(84px,9.5vw,106px)}
.profile-logo img{height:clamp(60px,7.2vw,80px);width:auto;display:block;filter:drop-shadow(0 8px 22px rgba(59,130,246,.28))}

/* Tablet: narrow sidebar shows icon only */
@media(max-width:1000px){
  .brand .brand-full{display:none}
  .brand .brand-icon{display:block;height:42px}
  .profile-logo{width:84px;height:84px}
  .profile-logo img{height:60px}
}
/* Mobile: slimmer icon for the 58px sidebar */
@media(max-width:650px){
  .brand .brand-icon{height:34px}
  .profile-logo{width:88px;height:88px;border-radius:22px}
  .profile-logo img{height:62px}
}
/* Print (A4): fixed physical size */
@media print{.print-logo img{height:28px;width:auto;display:block}}
