*{box-sizing:border-box}
html{font-family:Tahoma,Arial,sans-serif;color:#172033;background:#f5f7fb;scroll-behavior:smooth}
body{margin:0;font-size:14px;line-height:1.6}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
a{text-decoration:none;color:inherit}
.shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:250px 1fr}
.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-left:1px solid #e6eaf1;padding:22px 16px;display:flex;flex-direction:column}
.logo{display:flex;align-items:center;gap:11px;padding:2px 8px 22px;border-bottom:1px solid #edf0f5}
.logo>span,.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:#102a56;color:#fff;border-radius:13px;font-size:22px;font-weight:900;box-shadow:0 7px 18px #102a5630}
.logo div{display:flex;flex-direction:column;gap:3px}
.logo strong{font-size:17px;color:#102a56}
.logo small{color:#8290a5}
.sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:22px}
.sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:11px;color:#647087;font-weight:700;transition:.18s}
.sidebar nav a:hover{background:#f3f6fb;color:#102a56}
.sidebar nav a.active{background:#edf3ff;color:#175cd3}
.sidebar nav i{font-style:normal;width:24px;text-align:center;font-size:18px}
.sidebar-foot{margin-top:auto;border-top:1px solid #edf0f5;padding-top:16px}
.user-chip{display:flex;align-items:center;gap:9px;margin-bottom:11px}
.user-chip>span,.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e7efff;color:#175cd3;font-weight:900}
.user-chip div{display:flex;flex-direction:column}
.user-chip small{color:#8893a5}
.sidebar-foot>a{font-size:12px;color:#e14c57}
.main{min-width:0}
.topbar{height:88px;background:#fff;border-bottom:1px solid #e6eaf1;display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:10}
.topbar small{color:#8c97aa}
.topbar h1{font-size:21px;margin:4px 0 0;color:#15213a}
.content{padding:26px 30px 50px;max-width:1600px;margin:auto}
.btn{border:0;border-radius:10px;padding:11px 17px;font-weight:800;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:7px}
.btn.primary{background:#175cd3;color:#fff;box-shadow:0 6px 15px #175cd326}
.btn.primary:hover{background:#114ba9}
.btn.secondary{background:#edf2f8;color:#344054}
.btn.full{width:100%}
.btn.large{padding:15px}
.alert{max-width:calc(100% - 60px);margin:18px auto 0;padding:12px 15px;border-radius:10px;font-weight:700}
.alert.success{background:#eafaf1;color:#147546}
.alert.danger{background:#fff0f1;color:#b42331}
.hero-panel{background:linear-gradient(120deg,#102a56,#184887);color:#fff;border-radius:18px;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 15px 35px #102a5621}
.hero-panel h2{margin:7px 0;font-size:24px}
.hero-panel p{margin:0;color:#d9e5fa}
.eyebrow{font-size:11px;letter-spacing:1.2px;color:#8eb9ff;font-weight:800}
.hero-date{font-size:20px;font-weight:900;text-align:left}
.hero-date small{display:block;font-size:11px;color:#bcd0ef;margin-top:6px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0}
.stats article{background:#fff;border:1px solid #e6eaf1;border-radius:15px;padding:18px;position:relative;min-height:132px}
.stats article small{display:block;color:#7d899c;margin:5px 0 14px}
.stats article strong{display:block;font-size:21px;color:#17233c}
.stats article em{font-style:normal;font-size:11px;color:#98a2b3}
.stat-icon{position:absolute;left:16px;top:16px;width:35px;height:35px;border-radius:10px;display:grid;place-items:center;font-weight:900}
.stat-icon.blue{background:#e9f1ff;color:#175cd3}
.stat-icon.green{background:#e8f8ef;color:#168554}
.stat-icon.amber{background:#fff5df;color:#c27b0d}
.stat-icon.purple{background:#f2edff;color:#7047c7}
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.card{background:#fff;border:1px solid #e5e9f0;border-radius:15px;padding:20px;box-shadow:0 2px 7px #10182808}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.card h3,.card-head h3{margin:0;color:#17233c;font-size:17px}
.card p,.card-head p{margin:6px 0 0;color:#8b95a7;font-size:12px}
.card-head>a{color:#175cd3;font-size:12px;font-weight:800}
.target-list{display:flex;flex-direction:column}
.target-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #f0f2f6}
.target-row:first-child{border-top:0}
.target-info{flex:1}
.target-info>div:first-child{display:flex;justify-content:space-between;margin-bottom:7px}
.target-info small{display:block;margin-top:6px;color:#8b95a7;font-size:11px}
.progress{height:6px;border-radius:10px;background:#edf0f5;overflow:hidden}
.progress i{display:block;height:100%;background:linear-gradient(90deg,#175cd3,#42a5ff);border-radius:10px}
.progress.compact{margin-top:7px;width:120px}
.badge{display:inline-flex;align-items:center;border-radius:20px;padding:5px 9px;font-size:11px;white-space:nowrap}
.badge.success{background:#e9f8ef;color:#147a49}
.badge.warning{background:#fff4dc;color:#ac6c05}
.badge.muted{background:#eff2f6;color:#697586}
.badge.blue{background:#eaf2ff;color:#175cd3}
.badge.purple{background:#f1ecff;color:#7047c7}
.badge.danger{background:#fff0f1;color:#b42331}
.mini-table>div{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #f0f2f6}
.mini-table>div:first-child{border-top:0}
.mini-table section{flex:1;display:flex;flex-direction:column;gap:4px}
.mini-table small{color:#8994a6}
.mini-table b{font-size:12px}
.dot{width:8px;height:8px;border-radius:50%}
.dot.ok{background:#2db477}
.dot.off{background:#d86168}
.empty{text-align:center;padding:30px;color:#97a1b2}
.page-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}
.table-card{padding:0;overflow:auto}
.table-card .card-head{padding:20px 20px 0}
.full-width{width:100%}
table{width:100%;border-collapse:collapse;min-width:760px}
th{text-align:right;padding:12px 15px;background:#f8fafc;color:#778397;font-size:11px;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4}
td{padding:14px 15px;border-bottom:1px solid #eef1f5;color:#445066}
tbody tr:hover{background:#fbfcfe}
.cell-sub{display:block;color:#97a0af;font-size:10px;margin-top:4px}
.link-btn{border:0;background:transparent;color:#175cd3;cursor:pointer;font-weight:700;font-size:11px}
.danger-text{color:#c63845}
.void-row{opacity:.58}
.form-card>p{margin-bottom:18px}
.stack{display:flex;flex-direction:column;gap:13px}
.stack label,.form-card>label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#596579;font-weight:700}
.form-grid{display:grid;gap:12px}
.form-grid.two{grid-template-columns:1fr 1fr}
.span-2{grid-column:1/-1}
label{color:#596579;font-size:12px;font-weight:700}
input,select,textarea{width:100%;border:1px solid #d9dfe8;background:#fff;border-radius:9px;padding:10px 11px;color:#202b40;outline:none;margin-top:6px}
input:focus,select:focus,textarea:focus{border-color:#6b9eea;box-shadow:0 0 0 3px #175cd315}
.check{display:flex!important;flex-direction:row!important;align-items:center}
.check input{width:auto;margin:0}
.sales-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start}
.sale-form{padding:24px}
.step-title{display:flex;align-items:center;gap:11px;margin-bottom:22px}
.step-title>span{width:36px;height:36px;border-radius:11px;background:#eaf2ff;color:#175cd3;display:grid;place-items:center;font-weight:900}
.step-title h3{margin:0}
.step-title p{margin:4px 0 0}
.segmented{display:grid;grid-template-columns:1fr 1fr;background:#f0f3f7;padding:4px;border-radius:11px;margin-bottom:18px}
.segmented input{display:none}
.segmented span{display:block;text-align:center;padding:10px;border-radius:8px;color:#738095;font-weight:800;cursor:pointer}
.segmented input:checked+span{background:#fff;color:#175cd3;box-shadow:0 3px 9px #1f2b3d12}
.calc-card{position:sticky;top:108px;background:#102a56;color:#fff;border-radius:16px;padding:21px;box-shadow:0 15px 35px #102a5628}
.calc-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff1c;padding-bottom:14px}
.calc-head span{font-weight:900}
.calc-head b{font-size:10px;background:#ffffff18;color:#bfd4f4;padding:5px 8px;border-radius:10px}
.calc-main{padding:24px 0;text-align:center}
.calc-main small{display:block;color:#b7cce9}
.calc-main strong{display:block;font-size:30px;margin:8px 0}
.calc-main em{font-style:normal;color:#aabedb;font-size:11px}
.calc-card dl{margin:0}
.calc-card dl>div{display:flex;justify-content:space-between;padding:11px 0;border-top:1px solid #ffffff15}
.calc-card dt{color:#b9c9df}
.calc-card dd{margin:0;font-weight:900}
.calc-card .highlight{background:#ffffff0d;margin:4px -10px;padding:12px 10px;border-radius:8px}
.calc-note{font-size:10px!important;color:#9fb4d1!important;border-top:1px solid #ffffff15;padding-top:12px}
.filter-card{margin-bottom:15px}
.report-actions{display:flex;gap:8px}
.filter{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;align-items:end}
.compact-stats{margin-top:0}
.compact-stats article{min-height:90px}
.compact-stats article small{margin:0 0 10px}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:950px}
.info-box{background:#edf4ff;color:#315d9f;padding:12px;border-radius:9px;font-size:12px}
.rules{list-style:none;margin:18px 0;padding:0}
.rules li{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #edf0f4}
.rules b{color:#175cd3}
.muted-text{color:#8b95a7!important}
.install-body,.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 80% 10%,#e9f2ff,transparent 35%),#f4f7fb;padding:25px}
.install-card,.login-card{width:min(100%,600px);background:#fff;border:1px solid #e2e7ef;border-radius:20px;padding:32px;box-shadow:0 25px 70px #17325d17}
.login-card{max-width:430px}
.install-card .brand-mark,.login-card .brand-mark{margin-bottom:18px}
.install-card h1,.login-card h1{font-size:22px;color:#102a56;margin:9px 0}
.install-card>p,.login-card>p{color:#7b8799;margin-bottom:24px}
.install-card h2{font-size:15px;border-bottom:1px solid #edf0f4;padding-bottom:8px}
.login-card form{display:flex;flex-direction:column;gap:14px}
.login-card small{display:block;text-align:center;color:#9aa3b1;margin-top:18px}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}
.grid-2,.page-grid,.sales-layout{grid-template-columns:1fr}
.calc-card{position:static}
.form-card{order:-1}
}
@media(max-width:760px){.shell{display:block}
.sidebar{height:auto;position:static;border:0}
.sidebar nav{display:grid;grid-template-columns:repeat(3,1fr)}
.sidebar nav a{font-size:11px;justify-content:center}
.sidebar-foot{display:none}
.topbar{padding:0 15px}
.content{padding:16px}
.stats{grid-template-columns:1fr}
.grid-2{grid-template-columns:1fr}
.form-grid.two,.filter,.settings-grid{grid-template-columns:1fr}
.span-2{grid-column:auto}
.topbar .btn{display:none}
}
@media print{.sidebar,.topbar,.filter-card,.btn,.link-btn{display:none!important}
.shell{display:block}
.content{padding:0}
.card{border:0;box-shadow:none}
}
.skip-link{position:fixed;right:16px;top:-80px;z-index:1000;background:#102a56;color:#fff;padding:10px 16px;border-radius:8px;transition:top .15s}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #73a7f5;outline-offset:2px}
button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.is-loading{cursor:wait!important}
.logout-btn{border:0;background:transparent;color:#c63845;cursor:pointer;padding:9px 0;min-height:40px;font-weight:700}
.requirements{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 22px}
.help{display:block;color:#7b8799;font-size:11px;font-weight:400;line-height:1.7;margin-top:3px}
.warning-box{background:#fff7e6;color:#8a5708;border:1px solid #f5d89b;padding:12px;border-radius:9px;font-size:12px}
.version-chip{direction:ltr;background:#eaf2ff;color:#175cd3;border-radius:18px;padding:5px 10px;font-weight:900;font-size:12px}
.compact-card{display:flex;align-items:center;justify-content:space-between;gap:18px}
.compact-card h3{margin:0}
.compact-card p{margin:3px 0 0;color:#7d899c}
.update-card{border-color:#cdddf8}
td,th,.stats strong,.calc-card dd{font-variant-numeric:tabular-nums}
input[type=file]{padding:8px;background:#f8fafc}
@media(max-width:760px){body{font-size:16px}
.sidebar{padding:14px 10px}
.logo{padding-bottom:12px}
.sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:12px}
.sidebar nav a{padding:10px 4px;min-height:54px;flex-direction:column;gap:2px}
.sidebar nav i{font-size:16px}
.topbar{height:72px}
.topbar h1{font-size:18px}
.card{padding:16px}
.install-card,.login-card{padding:23px}
.compact-card{align-items:flex-start;flex-direction:column}
input,select,textarea{font-size:16px;min-height:46px}
.btn{min-height:46px}
.table-card{padding:0}
.report-actions{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
/* Boomkar 1.2 — desktop-first data workspace */
:root{--primary:#1e40af;--primary-2:#2563eb;--navy:#0f2450;--surface:#fff;--canvas:#f4f7fb;--text:#172033;--muted:#64748b;--border:#dfe7f2;--accent:#d97706;--danger:#c92a3a;--success:#15805a;--shadow:0 8px 24px rgba(26,51,93,.07);--ease:cubic-bezier(.2,.8,.2,1)}
body{background:var(--canvas);color:var(--text)}
.shell{grid-template-columns:228px minmax(0,1fr)}
.sidebar{padding:18px 12px;border-left-color:var(--border);box-shadow:4px 0 22px rgba(30,64,175,.035)}
.logo{padding:4px 8px 17px}.logo>span{border-radius:11px;background:linear-gradient(145deg,var(--navy),var(--primary))}
.sidebar nav{gap:3px;margin-top:16px}.sidebar nav a{min-height:43px;padding:9px 11px;border-radius:9px;transition:background-color .16s var(--ease),color .16s var(--ease),box-shadow .16s var(--ease)}
.sidebar nav a.active{background:#eaf1ff;color:var(--primary);box-shadow:inset -3px 0 0 var(--primary)}
.sidebar nav a:hover{background:#f0f5ff}.sidebar nav i{font-size:16px}
.topbar{height:76px;padding:0 28px;border-bottom-color:var(--border);box-shadow:0 1px 0 rgba(15,36,80,.02)}
.topbar h1{font-size:19px}.content{padding:20px 28px 44px;max-width:1800px}
.card{border-color:var(--border);border-radius:12px;box-shadow:0 2px 8px rgba(15,36,80,.035);transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}
.card:hover{border-color:#cad9ee;box-shadow:var(--shadow)}
.btn{min-height:42px;border-radius:8px;transition:background-color .15s var(--ease),box-shadow .15s var(--ease),opacity .15s var(--ease)}
.btn.primary{background:var(--primary-2)}.btn.primary:hover{background:var(--primary)}.btn.compact{min-height:36px;padding:7px 12px;font-size:12px}
input,select,textarea{border-color:#cfd9e7;border-radius:8px;min-height:42px;transition:border-color .14s,box-shadow .14s}
input:hover,select:hover,textarea:hover{border-color:#aebed4}input:focus,select:focus,textarea:focus{border-color:var(--primary-2);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.page-grid{grid-template-columns:minmax(0,1fr) 365px;gap:16px}.edit-panel{position:sticky;top:96px;align-self:start}.row-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}.row-actions form{margin:0}.close-link{font-size:12px;color:var(--danger);font-weight:800}.selected-row{background:#eff5ff!important;box-shadow:inset -3px 0 0 var(--primary-2)}
.table-card{border-radius:12px}table{min-width:820px}th{position:sticky;top:0;z-index:1;background:#f5f8fc;color:#536278;padding:10px 14px}td{padding:12px 14px}tbody tr{transition:background-color .12s}tbody tr:hover{background:#f8fbff}
.hero-panel{padding:20px 24px;border-radius:14px;background:linear-gradient(120deg,#102653,#1e4d9f);box-shadow:0 12px 28px rgba(16,42,86,.16)}
.stats{gap:12px;margin:14px 0}.stats article{min-height:112px;padding:15px;border-radius:12px}.stats article strong{font-size:20px}
.wizard-layout{grid-template-columns:minmax(640px,1fr) 330px;gap:16px}.wizard-card{padding:0;overflow:hidden}.wizard-head{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 24px 16px;border-bottom:1px solid var(--border)}.wizard-head h3{margin:5px 0 2px;font-size:19px}.wizard-head p{margin:0;color:var(--muted);font-size:12px}.wizard-counter{background:#eef4ff;color:var(--primary);padding:7px 11px;border-radius:20px;font-size:12px;font-weight:700}.wizard-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:14px 24px;background:#f8fafd;border-bottom:1px solid var(--border)}.wizard-steps li{display:flex;align-items:center;gap:8px;color:#8491a4;position:relative}.wizard-steps li:not(:last-child)::after{content:"";position:absolute;height:2px;background:#dce5f1;right:calc(50% + 42px);left:calc(-50% + 32px);top:15px}.wizard-steps li>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e8edf4;color:#68778c;font-weight:900;position:relative;z-index:1}.wizard-steps li div{display:flex;flex-direction:column;line-height:1.35}.wizard-steps li b{font-size:12px}.wizard-steps li small{font-size:10px}.wizard-steps li.active,.wizard-steps li.done{color:var(--primary)}.wizard-steps li.active>span,.wizard-steps li.done>span{background:var(--primary-2);color:#fff;box-shadow:0 0 0 4px #dfeaff}.wizard-steps li.done:not(:last-child)::after{background:#7da7ec}.wizard-panel{padding:24px;min-height:330px}.wizard-panel.active{animation:wizardIn .22s var(--ease)}@keyframes wizardIn{from{opacity:.25;transform:translateY(6px)}to{opacity:1;transform:none}}
.panel-title{display:flex;align-items:center;gap:11px;margin-bottom:22px}.panel-title>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#eaf1ff;color:var(--primary);font-weight:900}.panel-title h4{font-size:16px;margin:0;outline:0}.panel-title p{margin:2px 0 0;color:var(--muted);font-size:12px}.wizard-actions{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:15px 24px;border-top:1px solid var(--border);background:#fbfcfe}.wizard-actions .btn{min-width:118px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.review-grid>div{padding:12px;background:#f7f9fc;border:1px solid #e5ebf3;border-radius:9px;display:flex;flex-direction:column;gap:4px}.review-grid small{color:var(--muted)}.review-grid strong{font-size:13px}.review-grid .review-amount{background:#edf4ff;border-color:#ccdcf7}.review-grid .review-amount strong{color:var(--primary);font-size:16px}.confirm-note{margin-top:14px;background:#ecf9f2;color:#176345;padding:11px 13px;border-radius:8px;font-size:12px}.calc-card{top:92px;border-radius:12px;padding:18px;box-shadow:0 12px 28px rgba(15,36,80,.17)}
.report-filter{padding:16px 18px;margin-bottom:12px}.report-filter .card-head{margin-bottom:8px}.filter-advanced{grid-template-columns:repeat(6,minmax(125px,1fr)) auto;gap:9px}.filter-advanced label{min-width:0}.filter-advanced input,.filter-advanced select{margin-top:4px}.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.report-kpis article{background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px;min-height:98px;box-shadow:0 2px 6px rgba(15,36,80,.03)}.report-kpis small,.report-kpis em{display:block;color:var(--muted);font-style:normal;font-size:11px}.report-kpis strong{display:block;font-size:20px;margin:7px 0 2px;color:var(--navy);font-variant-numeric:tabular-nums}.report-kpis .danger-kpi{border-color:#f3ccd1;background:#fffafb}.report-kpis .danger-kpi strong{color:var(--danger)}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.ranking-card{padding:16px}.ranking-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;border-top:1px solid #edf1f6}.ranking-row:first-of-type{border-top:0}.rank-no{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:#eef3fa;color:#51647c;font-weight:800;font-size:11px}.ranking-row>div{min-width:0;display:flex;flex-direction:column}.ranking-row small{color:var(--muted);font-size:10px}.ranking-row i{display:block;width:var(--bar);height:4px;border-radius:5px;background:linear-gradient(90deg,var(--primary),#60a5fa);margin-top:5px;transition:width .25s var(--ease)}.ranking-row>b{font-size:12px;color:var(--navy)}.report-details{margin-top:0}
@media(max-width:1350px){.filter-advanced{grid-template-columns:repeat(3,1fr) auto}.report-kpis{grid-template-columns:repeat(4,1fr)}.wizard-layout{grid-template-columns:minmax(560px,1fr) 300px}}
@media(max-width:1100px){.wizard-layout{grid-template-columns:1fr}.edit-panel{position:static}.report-grid{grid-template-columns:1fr}.filter-advanced{grid-template-columns:repeat(2,1fr)}.report-kpis{grid-template-columns:repeat(2,1fr)}}
