@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";.status-control{background:#f8f7ff;border:1px solid #e2e0f3;border-radius:11px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:7px;padding:15px 16px;display:flex}.status-control>div{flex-direction:column;display:flex}.status-control>div>span{letter-spacing:1px;color:#655bdd;font-size:9px;font-weight:800}.status-control>div>b{margin-top:2px;font-size:13px}.status-control>div>small{color:#7d7f91;font-size:10px}.status-select{border:1px solid #0000;border-radius:20px;outline:0;min-width:145px;height:40px;padding:0 34px 0 13px;font-size:12px;font-weight:700}.status-select.open,.quote-status.open{color:#96651c;background:#fff2d9}.status-select.closed,.quote-status.closed{color:#585b6b;background:#e8e9ee}.status-select.in-progress,.quote-status.in-progress{color:#485fb2;background:#e7edff}.status-select.sent,.quote-status.sent{color:#2871a5;background:#e7f2ff}.status-select.converted,.quote-status.converted{color:#247657;background:#e4f5ed}.kpi-period{letter-spacing:.8px;text-transform:uppercase;color:#8a8c9f;margin:-12px 0 10px;font-size:11px;font-weight:700}.stats.quotation-kpis{grid-template-columns:repeat(4,1fr)}.quote-status{border-radius:20px;align-items:center;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.quote-status.open{color:#96651c;background:#fff2d9}.quote-status.closed{color:#247657;background:#e4f5ed}@media (width<=1150px){.stats.quotation-kpis{grid-template-columns:repeat(2,1fr)!important}}@media (width<=760px){.stats.quotation-kpis{grid-template-columns:1fr!important}}.calculated-amount{background:#f5f3ff;border:1px solid #dcd9f3;border-radius:8px;flex-direction:column;justify-content:center;align-items:flex-end;min-height:78px;padding:11px 13px;display:flex}.calculated-amount small{color:#77728f;font-size:10px}.calculated-amount strong{color:#4338c6;margin-top:3px;font:700 16px Manrope}:root{color:#202137;--nav:#17182b;--primary:#5b4ff5;--ink:#202137;--muted:#71758b;--line:#e4e6ef;--danger:#c44958;--shadow:0 12px 34px #20213712;background:#f5f6fa;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.side-nav{color:#fff;z-index:40;background:linear-gradient(#17182b,#20213a);flex-direction:column;width:264px;padding:27px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 10px 36px;display:flex}.brand>span{background:var(--primary);border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.brand svg{width:20px}.brand>div,.side-foot span{flex-direction:column;display:flex}.brand b{letter-spacing:.6px;font:800 14px Manrope}.brand small{letter-spacing:1.2px;color:#9295b5;font-size:10px}.side-nav nav{flex-direction:column;gap:7px;display:flex}.side-nav nav button{color:#aeb1ca;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;height:48px;padding:0 13px;font-size:14px;display:flex}.side-nav nav button svg{width:19px}.side-nav nav button svg:last-child{opacity:.45;width:15px;margin-left:auto}.side-nav nav button:hover,.side-nav nav button.active{color:#fff;background:#2c2d4a}.side-nav nav button.active{box-shadow:inset 3px 0 #8178ff}.side-foot{border-top:1px solid #343550;align-items:center;gap:10px;margin-top:auto;padding:21px 8px 0;display:flex}.avatar{background:#7770e9;border-radius:50%;place-items:center;width:38px;height:38px;font-size:13px;font-weight:700;display:grid}.side-foot b{font-size:13px}.side-foot small{color:#9295ad;font-size:11px}.workspace{min-height:100vh;margin-left:264px}.top-bar{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;justify-content:space-between;align-items:center;height:78px;padding:0 34px;display:flex;position:sticky;top:0}.top-bar>div:first-of-type span{letter-spacing:1.2px;color:#9295a8;font-size:10px;font-weight:700}.top-bar h1{margin:1px 0 0;font:700 18px Manrope}.company-chip{color:#63667a;background:#f5f5fa;border-radius:9px;align-items:center;gap:9px;padding:8px 12px;display:flex}.company-chip svg{width:18px}.company-chip span{flex-direction:column;display:flex}.company-chip b{color:#383a4d;font-size:12px}.company-chip small{font-size:10px}.mobile-menu{display:none}.page{max-width:1450px;margin:0 auto;padding:36px 36px 70px}.page-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.page-head>div>span{letter-spacing:1.4px;color:var(--primary);font-size:11px;font-weight:700}.page-head h1{letter-spacing:-.8px;margin:5px 0 4px;font:800 31px Manrope}.page-head p{color:var(--muted);margin:0;font-size:14px}.primary,.secondary{border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex}.primary svg,.secondary svg{width:17px}.primary{border:1px solid var(--primary);background:var(--primary);color:#fff;box-shadow:0 7px 18px #5b4ff533}.primary:hover{background:#463bd4}.secondary{color:#45475c;background:#fff;border:1px solid #dcdde7}.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px}.stats{grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:13px;padding:19px;display:flex}.stat-card>span{width:42px;height:42px;color:var(--primary);background:#eeecff;border-radius:10px;place-items:center;display:grid}.stat-card svg{width:20px}.stat-card div{flex-direction:column;display:flex}.stat-card small{color:var(--muted);font-size:12px}.stat-card strong{font:700 21px Manrope}.register,.master-table{overflow:hidden}.panel-toolbar{justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.panel-toolbar h2{margin:0;font:700 17px Manrope}.panel-toolbar p{color:var(--muted);margin:3px 0;font-size:12px}.search{border:1px solid var(--line);color:#9295a7;background:#fafafe;border-radius:9px;align-items:center;gap:8px;min-width:310px;height:42px;padding:0 12px;display:flex}.search svg{width:17px}.search input{background:0 0;border:0;outline:0;width:100%;font-size:13px}.table-wrap{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%}th{text-transform:uppercase;letter-spacing:.6px;color:#888b9d;background:#f8f8fb;border-block:1px solid #ececf2;padding:12px 18px;font-size:11px}td{color:#5e6072;border-bottom:1px solid #eeeef3;padding:16px 18px;font-size:13px}td strong{color:#292a3d}.row-link{cursor:pointer}.row-link:hover{background:#fafaff}.row-link td:last-child{text-align:right}.row-link svg{width:16px}.empty{text-align:center;padding:75px 25px}.empty>span{width:58px;height:58px;color:var(--primary);background:#efedff;border-radius:16px;place-items:center;margin:auto;display:grid}.empty h3{margin:16px 0 6px;font:700 18px Manrope}.empty p{max-width:480px;color:var(--muted);margin:0 auto 19px;font-size:13px}.draft-pill{color:#9a6819;background:#fff4db;border-radius:20px;padding:8px 13px;font-size:12px;font-weight:700}.customer-block{margin-bottom:26px;padding:24px}.section-title{align-items:center;gap:12px;display:flex}.section-title>span{width:35px;height:35px;color:var(--primary);background:#eeecff;border-radius:10px;place-items:center;font-size:12px;font-weight:700;display:grid}.section-title h2{margin:0;font:700 17px Manrope}.section-title p{color:var(--muted);margin:2px 0;font-size:12px}.field{flex-direction:column;gap:7px;margin-top:21px;display:flex}.field>span,.form-grid label>span{color:#575a6d;font-size:12px;font-weight:600}.field select,.form-grid input{color:#303145;background:#fbfbfd;border:1px solid #dfe0e8;border-radius:9px;outline:0;height:44px;padding:0 12px}.field select:focus,.form-grid input:focus{border-color:#8e86f8;box-shadow:0 0 0 3px #efeeff}.customer-preview{color:var(--primary);background:#f7f7fb;border-radius:9px;align-items:center;gap:11px;margin-top:14px;padding:13px;display:flex}.customer-preview span{flex-direction:column;display:flex}.customer-preview b{color:#353648;font-size:13px}.customer-preview small{color:var(--muted);font-size:11px}.items-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.requirement{margin-bottom:18px;overflow:hidden}.requirement>header{border-bottom:1px solid var(--line);background:#fcfcfe;align-items:center;height:73px;padding:0 22px;display:flex}.item-number{color:#fff;background:#25263c;border-radius:10px;place-items:center;width:38px;height:38px;margin-right:11px;font-weight:700;display:grid}.requirement>header>div:nth-child(2){flex-direction:column;flex:1;display:flex}.requirement>header span{letter-spacing:1px;color:#9597a9;font-size:10px;font-weight:700}.requirement>header h3{margin:1px 0;font:700 16px Manrope}.delete{color:#9a9cac;background:0 0;border:0;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.delete:hover{color:var(--danger);background:#fff0f1}.delete svg{width:17px}.requirement-grid{grid-template-columns:minmax(300px,1fr) 100px 90px 170px 36px;gap:10px;padding:0 22px 20px;display:grid}.grid-head{padding-top:19px;padding-bottom:8px}.grid-head span,.bom-head span{letter-spacing:.5px;text-transform:uppercase;color:#8c8e9f;font-size:10px;font-weight:700}.requirement-grid textarea,.requirement-grid input,.bom-grid input,.bom-grid select{color:#343548;background:#fff;border:1px solid #dfe0e8;border-radius:8px;outline:0;min-width:0;padding:10px 11px;font-size:13px}.requirement-grid textarea{resize:vertical;min-height:78px}.requirement-grid textarea:focus,.requirement-grid input:focus,.bom-grid input:focus,.bom-grid select:focus{border-color:#8c84f7;box-shadow:0 0 0 3px #f0efff}.money-field{color:#8a8c9b;background:#fff;border:1px solid #dfe0e8;border-radius:8px;align-items:center;padding-left:11px;display:flex}.money-field input{width:100%;padding-left:6px;box-shadow:none!important;border:0!important}.bom{border-top:1px solid var(--line);background:#f7f7fa;padding:20px 22px}.bom-title{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.bom-title>div{color:var(--primary);align-items:center;gap:9px;display:flex}.bom-title>div>span{flex-direction:column;display:flex}.bom-title b{color:#363748;font-size:14px}.bom-title small{color:var(--muted);font-size:11px}.compact{min-height:35px;padding:0 11px;font-size:12px}.bom-grid{grid-template-columns:minmax(240px,1fr) 90px 80px 145px 135px 36px;align-items:center;gap:9px;display:grid}.bom-head{padding:0 3px 7px}.bom-row{margin-bottom:9px}.bom-row>div:first-child{flex-direction:column;gap:6px;display:flex}.bom-row strong{text-align:right;font-size:13px}.bom-add-row{color:#594fce;background:#f2f0ff;border:1px dashed #ccc9ed;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:100%;height:38px;font-size:12px;font-weight:600;display:flex}.bom-add-row svg{width:15px}.bom-total{color:var(--muted);justify-content:flex-end;gap:25px;padding:16px 44px 0;font-size:12px;display:flex}.bom-total strong{color:#323346;font:700 16px Manrope}.add-item-card{width:100%;color:var(--primary);background:#f8f7ff;border:1.5px dashed #c9c6eb;border-radius:13px;justify-content:center;align-items:center;gap:11px;padding:18px;display:flex}.add-item-card>span{text-align:left;flex-direction:column;display:flex}.add-item-card b{font-size:13px}.add-item-card small{color:#7d7f91;font-size:11px}.quote-footer{border-top:1px solid var(--line);z-index:10;background:#fffffff5;justify-content:space-between;align-items:center;margin:30px -36px -70px;padding:17px 36px;display:flex;position:sticky;bottom:0;box-shadow:0 -10px 35px #20213712}.quote-footer>div:first-child{grid-template-columns:auto auto;align-items:baseline;gap:0 14px;display:grid}.quote-footer>div:first-child span{color:var(--muted);font-size:12px}.quote-footer>div:first-child strong{font:800 24px Manrope}.quote-footer>div:first-child small{color:#989aaa;grid-column:1/-1;font-size:10px}.quote-footer>div:last-child{align-items:center;gap:9px;display:flex}.form-error{color:var(--danger);margin:0 8px;font-size:12px}.save-quote{min-width:230px}.master-toolbar{justify-content:flex-end;margin-bottom:14px;display:flex}.tag{background:#efeff5;border-radius:6px;padding:4px 8px;font-size:11px;display:inline-flex}.actions{justify-content:flex-end;gap:4px;display:flex}.actions button,.customer-card header>button{color:#6e7082;background:#f5f5f9;border:0;border-radius:7px;place-items:center;width:34px;height:34px;display:grid}.actions svg,.customer-card header>button svg{width:15px}.customer-cards{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.customer-card{padding:20px}.customer-card header{align-items:center;gap:11px;display:flex}.customer-card header>span{width:40px;height:40px;color:var(--primary);background:#eeecff;border-radius:10px;place-items:center;display:grid}.customer-card header>span svg{width:19px}.customer-card header>div{flex:1;min-width:0}.customer-card h3{margin:0;font:700 15px Manrope}.customer-card header p{color:var(--muted);margin:2px 0;font-size:11px}.customer-card dl{margin:19px 0 14px}.customer-card dl>div{border-bottom:1px solid #eeeef3;justify-content:space-between;gap:10px;padding:8px 0;display:flex}.customer-card dt{color:var(--muted);font-size:11px}.customer-card dd{text-align:right;margin:0;font-size:12px}.remove-customer{color:#9b6c73;background:0 0;border:0;align-items:center;gap:6px;font-size:11px;display:flex}.remove-customer svg{width:14px}.dialog-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;background:#131326ab;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:16px;width:min(600px,100%);max-height:90vh;padding:24px;overflow:auto;box-shadow:0 30px 100px #00000052}.dialog>header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.dialog h2{margin:0;font:700 20px Manrope}.dialog>header button{background:#f2f2f6;border:0;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.dialog>header svg{width:18px}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.form-grid label{flex-direction:column;gap:6px;display:flex}.span2{grid-column:1/-1}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.quote-view-head{color:#fff;background:#20213a;border-radius:11px;margin-bottom:15px;padding:18px}.quote-view-head span{color:#acaed0;font-size:11px}.quote-view-head h3{margin:4px 0;font:700 20px Manrope}.quote-view-head p{color:#c5c7df;margin:0;font-size:12px}.view-item{border-bottom:1px solid var(--line);flex-direction:column;padding:17px 5px;display:flex;position:relative}.view-item>span{color:var(--primary);font-size:10px;font-weight:700}.view-item>b{margin:3px 90px 2px 0;font-size:13px}.view-item>small{color:var(--muted);font-size:11px}.view-item>strong{position:absolute;top:28px;right:5px}.view-item>div{background:#f7f7fa;border-radius:8px;margin-top:10px;padding:7px 11px}.view-item p{color:#666879;justify-content:space-between;margin:5px 0;font-size:11px;display:flex}.view-total{justify-content:space-between;align-items:center;padding:20px 5px 2px;display:flex}.view-total strong{font:800 23px Manrope}.mobile-scrim{display:none}.logout-button{color:#aeb1ca;background:#2c2d4a;border:0;border-radius:8px;place-items:center;width:35px;height:35px;margin-left:auto;display:grid}.logout-button:hover{color:#fff;background:#3a3b5b}.logout-button svg{width:17px}.login-page{background:#fff;grid-template-columns:minmax(380px,1.05fr) minmax(430px,.95fr);min-height:100vh;display:grid}.login-intro{color:#fff;background:radial-gradient(circle at 84% 84%,#6258d8 0,#0000 29%),linear-gradient(145deg,#15162a 0%,#20213c 62%,#323060 100%);flex-direction:column;padding:42px 56px;display:flex;position:relative;overflow:hidden}.login-brand{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.login-brand>span{background:#6b5ff8;border-radius:12px;place-items:center;width:43px;height:43px;display:grid;box-shadow:0 8px 24px #0004}.login-brand svg{width:21px}.login-brand>div{flex-direction:column;display:flex}.login-brand b{letter-spacing:.8px;font:800 14px Manrope}.login-brand small{letter-spacing:1.3px;color:#aeb0cf;font-size:10px}.login-message{z-index:1;max-width:610px;margin:auto 0;position:relative}.login-message>span,.login-eyebrow{letter-spacing:1.6px;color:#a9a3ff;font-size:10px;font-weight:800}.login-message h1{letter-spacing:-2px;margin:16px 0 20px;font:800 clamp(36px,4vw,60px)/1.08 Manrope}.login-message p{color:#c8cadf;max-width:510px;margin:0;font-size:16px;line-height:1.7}.login-intro>small{z-index:1;color:#8f92b2;font-size:11px;position:relative}.login-art{opacity:.38;width:440px;height:440px;position:absolute;bottom:-90px;right:-80px;transform:rotate(-9deg)}.login-art div{border:1px solid #8881ff;border-radius:44px;position:absolute;inset:0;transform:rotate(12deg)}.login-art div:nth-child(2){inset:55px;transform:rotate(25deg)}.login-art div:nth-child(3){background:#665bf5;border:0;inset:115px;transform:rotate(38deg)}.login-panel{background:linear-gradient(135deg,#fff,#f8f7ff);place-items:center;padding:50px;display:grid}.login-card{width:min(430px,100%)}.login-lock{width:52px;height:52px;color:var(--primary);background:#eeecff;border-radius:14px;place-items:center;margin-bottom:24px;display:grid}.login-lock svg{width:23px}.login-card h2{letter-spacing:-.8px;margin:7px 0 5px;font:800 34px Manrope}.login-card>p{color:var(--muted);margin:0 0 30px;font-size:14px}.login-field{flex-direction:column;gap:7px;margin-bottom:17px;display:flex}.login-field>span{color:#4e5063;font-size:12px;font-weight:700}.login-field>div{background:#fff;border:1px solid #dcdeea;border-radius:10px;align-items:center;height:50px;padding:0 14px;transition:all .18s;display:flex}.login-field>div:focus-within{border-color:#8178f7;box-shadow:0 0 0 4px #eeecff}.login-field svg{color:#9b9daf;width:18px}.login-field input{color:#292a3d;background:0 0;border:0;outline:0;flex:1;min-width:0;height:100%;padding:0 11px}.login-field button{background:0 0;border:0;place-items:center;width:34px;height:34px;padding:0;display:grid}.login-error{color:#a73b4a;background:#fff0f1;border-radius:8px;margin:-3px 0 15px;padding:11px 13px;font-size:12px}.login-submit{width:100%;height:50px;margin-top:3px}.login-submit svg{margin-left:auto}.login-help{color:#999bad;text-transform:uppercase;letter-spacing:.5px;border-top:1px solid #e7e7ef;justify-content:space-between;gap:15px;margin-top:29px;padding-top:18px;font-size:10px;display:flex}@media (width<=1100px){.customer-cards{grid-template-columns:1fr 1fr}.bom-grid{grid-template-columns:minmax(210px,1fr) 75px 70px 125px 120px 34px}}@media (width<=820px){.login-page{grid-template-columns:1fr}.login-intro{min-height:230px;padding:28px 30px}.login-message{margin:auto 0 0}.login-message h1{max-width:520px;margin:10px 0;font-size:31px}.login-message p,.login-intro>small{display:none}.login-panel{padding:38px 22px}.login-lock{display:none}}@media (width<=760px){.side-nav{transition:all .22s;transform:translate(-100%)}.side-nav.open{transform:translate(0)}.mobile-scrim{z-index:35;background:#0008;border:0;display:block;position:fixed;inset:0}.workspace{margin-left:0}.mobile-menu{background:#f2f2f7;border:0;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.top-bar{justify-content:flex-start;gap:12px;padding:0 15px}.company-chip{display:none}.page{padding:25px 14px 60px}.page-head{flex-direction:column;align-items:flex-start}.page-head h1{font-size:26px}.stats{grid-template-columns:1fr}.panel-toolbar{flex-direction:column;align-items:stretch}.search{min-width:0}.customer-cards{grid-template-columns:1fr}.requirement-grid{grid-template-columns:1fr 75px}.grid-head{display:none}.requirement-grid textarea,.requirement-grid .money-field{grid-column:1/-1}.bom{overflow:auto}.bom-grid{min-width:760px}.quote-footer{flex-direction:column;align-items:stretch;gap:12px;margin:25px -14px -60px;padding:14px}.quote-footer>div:last-child{grid-template-columns:1fr 1fr;display:grid}.form-error{grid-column:1/-1}.save-quote{min-width:0}.form-grid{grid-template-columns:1fr}.span2{grid-column:1}.dialog{padding:19px}.items-heading{align-items:flex-start}}
