*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111827;background:#f9fafb;font-size:16px}body{overflow-x:hidden}button,input,select,textarea{font:inherit}a{color:inherit}.app-shell{min-height:100vh;display:flex;background:#f9fafb}.sidebar{width:256px;background:#111827;color:#fff;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:40;transition:width .3s ease,transform .3s ease;overflow:hidden}.brand{height:89px;padding:24px 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #1f2937}.brand-mark{width:40px;height:40px;min-width:40px;border-radius:8px;background:#2563eb;display:grid;place-items:center;color:#fff;font-weight:700;font-size:16px}.brand strong{font-size:20px;font-weight:600;line-height:1.25;display:block}.brand small{font-size:12px;color:#9ca3af;display:block;margin-top:1px;white-space:nowrap}.sidebar nav{padding:16px;display:flex;flex-direction:column;gap:4px;flex:1;align-items:stretch}.nav-item{height:48px;border-radius:8px;padding:0 16px;display:flex;align-items:center;gap:12px;color:#d1d5db;text-decoration:none;font-size:16px;font-weight:500;white-space:nowrap;flex:0 0 auto}.nav-item:hover{background:#1f2937;color:#fff}.nav-item.active{background:#2563eb;color:#fff}.nav-icon{width:20px;height:20px;display:grid;place-items:center;min-width:20px}.nav-icon svg,.stat-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.admin-card{height:96px;border-top:1px solid #1f2937;padding:16px 24px;display:flex;align-items:center;gap:12px}.admin-card .avatar{width:32px;height:32px;min-width:32px;background:#2563eb}.admin-card strong{font-size:14px;font-weight:500;display:block}.admin-card small{font-size:12px;color:#9ca3af;display:block;margin-top:1px;white-space:nowrap}.avatar{width:40px;height:40px;min-width:40px;border-radius:50%;display:grid;place-items:center;background:#2563eb;color:#fff;font-weight:500;font-size:14px}.avatar.gradient{background:linear-gradient(135deg,#3b82f6,#8b5cf6)}.main{margin-left:256px;width:calc(100% - 256px);min-width:0;transition:margin-left .3s ease,width .3s ease}.topbar{height:65px;background:#fff;border-bottom:1px solid #e5e7eb;padding:0 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30}.topbar-left{display:flex;align-items:center;gap:16px}.topbar h1{margin:0;font-size:20px;line-height:1.5;font-weight:600;color:#111827}.sidebar-toggle{width:40px;height:40px;border:0;background:transparent;border-radius:8px;display:grid;place-items:center;font-size:28px;line-height:1;color:#111827;cursor:pointer}.sidebar-toggle:hover{background:#f3f4f6}.toggle-menu{display:none;font-size:20px}.today{text-align:right}.today small{display:block;font-size:14px;color:#6b7280;line-height:1.35}.today strong{display:block;font-size:14px;font-weight:500;color:#111827;line-height:1.35}.content{padding:24px;min-height:calc(100vh - 65px)}.space-y-6>*+*{margin-top:24px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.stat-card,.fig-card,.card,.plan-card,.table-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.05)}.stat-card{padding:24px;min-height:134px}.stat-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.stat-icon{width:48px;height:48px;border-radius:8px;display:grid;place-items:center;color:#fff}.stat-icon svg{width:24px;height:24px}.blue{background:#3b82f6}.green{background:#10b981}.purple{background:#a855f7}.orange{background:#f97316}.stat-change{font-size:14px;font-weight:500;color:#16a34a}.stat-label{font-size:14px;color:#6b7280;margin-bottom:4px}.stat-value{font-size:24px;line-height:1.2;font-weight:700;color:#111827;letter-spacing:-.01em}.charts-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.bottom-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px}.fig-card{padding:24px}.fig-card h3{font-size:18px;line-height:1.5;font-weight:600;color:#111827;margin:0 0 16px}.chart-card{min-height:320px}.svg-chart{width:100%;height:250px}.svg-chart svg{width:100%;height:100%;display:block;overflow:visible}.gridline{stroke:#f0f0f0;stroke-width:1;stroke-dasharray:3 3}.axis-line{stroke:#9ca3af;stroke-width:1}.axis-text{fill:#6b7280;font-size:12px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.chart-empty{height:250px;display:grid;place-items:center;color:#9ca3af;font-size:14px}.distribution-card{min-height:350px}.donut-chart{height:190px;display:grid;place-items:center}.donut-chart svg{width:100%;height:100%;display:block}.legend-list{display:grid;gap:8px;margin-top:4px}.legend-row{display:flex;align-items:center;justify-content:space-between;font-size:14px}.legend-row>span{display:flex;align-items:center;gap:8px;color:#6b7280}.legend-row i{width:12px;height:12px;border-radius:50%;display:inline-block}.legend-row strong{font-size:14px;font-weight:500;color:#111827}.activity-card{min-height:350px}.activity-list{display:grid}.activity{min-height:58px;display:flex;align-items:center;gap:16px;padding:8px 0;border-bottom:1px solid #f3f4f6}.activity:last-child{border-bottom:0}.activity-copy{min-width:0;flex:1}.activity-copy strong{display:block;font-size:14px;font-weight:500;color:#111827}.activity-copy small{display:block;font-size:14px;color:#6b7280;margin-top:1px}.activity time{font-size:12px;color:#9ca3af;white-space:nowrap}.toolbar,.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.section-head h2{font-size:24px;margin:0;color:#111827;font-weight:600}.section-head p{font-size:16px;color:#6b7280;margin:4px 0 0}.search-form,.inline-form{display:flex;gap:8px;flex-wrap:wrap}.search-form input{min-width:384px}.search-form input,.inline-form input,.inline-form select,input,select,textarea{border:1px solid #d1d5db;border-radius:8px;padding:8px 12px;background:#fff;color:#111827;outline:none;font-size:14px;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.18)}.btn{border:0;border-radius:8px;padding:8px 16px;font-weight:500;font-size:14px;cursor:pointer;min-height:40px}.btn.primary{background:#2563eb;color:#fff}.btn.primary:hover{background:#1d4ed8}.btn.ghost{background:#fff;border:1px solid #d1d5db;color:#374151}.btn.danger-outline{background:#fff;border:1px solid #fca5a5;color:#dc2626}.table-card{padding:0;overflow:hidden}.table-card>div{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:900px}thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}th{padding:12px 24px;text-align:left;color:#6b7280;font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:500}td{padding:16px 24px;border-top:1px solid #e5e7eb;font-size:14px;vertical-align:middle}tbody tr:hover{background:#f9fafb}.member-cell{display:flex;align-items:center;gap:12px}.member-cell strong{font-size:14px;font-weight:500;color:#111827;display:block}.member-cell small{font-size:14px;color:#6b7280;display:block;margin-top:1px}.badge{display:inline-flex;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:500}.badge.active{background:#dcfce7;color:#15803d}.badge.inactive{background:#f3f4f6;color:#374151}.badge.expired{background:#fee2e2;color:#b91c1c}.actions{display:flex;gap:8px}.actions form{display:inline}.icon-btn{width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:#2563eb;cursor:pointer}.icon-btn:hover{background:#eff6ff}.icon-btn.danger{color:#dc2626}.icon-btn.danger:hover{background:#fef2f2}.plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.plan-card{position:relative;overflow:hidden;border-width:2px;padding:24px}.plan-card.popular-card{border-color:#ddd6fe}.plan-top{display:flex;justify-content:space-between;align-items:center}.plan-icon{width:48px;height:48px;border-radius:8px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:22px}.popular{font-size:12px;background:#8b5cf6;color:#fff;border-radius:999px;padding:4px 12px;font-weight:500}.plan-card h3{font-size:24px;font-weight:700;color:#111827;margin:16px 0 8px}.price{font-size:36px;font-weight:700;color:#111827}.price small{font-size:16px;font-weight:400;color:#6b7280;margin-left:8px}.subscriber-count{background:var(--light,#eff6ff);color:var(--accent,#2563eb);border-radius:8px;padding:8px 12px;margin:24px 0;font-size:14px;font-weight:500}.plan-card ul{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:12px;min-height:168px}.plan-card li{font-size:14px;color:#4b5563;display:flex;gap:12px;align-items:flex-start}.plan-card li:before{content:'✓';color:var(--accent);font-weight:700;font-size:18px;line-height:1}.plan-actions{display:flex;gap:8px;padding-top:16px;border-top:1px solid #e5e7eb}.plan-actions form{flex:1}.plan-actions .btn{width:100%}.checkin-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.card{padding:24px}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-head h2,.checkin-panel h2{font-size:18px;margin:0;font-weight:600;color:#111827}.card-head span,.card-head a,.checkin-panel p{font-size:14px;color:#6b7280}.card-head a{color:#2563eb;text-decoration:none}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px}.grid-3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px}.stats-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-plans{display:grid;gap:0}.analytics-plan{display:flex;align-items:center;border-bottom:1px solid #f3f4f6;padding:12px 0}.analytics-plan>div{flex:1}.analytics-plan strong{font-size:14px;font-weight:500;display:block}.analytics-plan small{color:#6b7280;font-size:12px;display:block;margin-top:2px}.plan-dot{width:12px;height:12px;border-radius:50%;display:inline-block;background:var(--accent);margin-right:8px}.bar-chart{height:250px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;padding:16px;z-index:100}.modal.show{display:flex}.modal-box{width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:12px;padding:24px;position:relative}.modal-box h2{font-size:20px;font-weight:600;margin:0 0 16px}.modal-close{position:absolute;right:14px;top:12px;border:0;background:#f3f4f6;border-radius:50%;width:32px;height:32px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{font-size:14px;font-weight:500;color:#374151}.form-grid label input,.form-grid label select,.form-grid label textarea{width:100%;display:block;margin-top:6px}.form-grid .wide{grid-column:1/-1}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.alert.success{background:#dcfce7;color:#166534}.alert.danger{background:#fee2e2;color:#991b1b}.empty{padding:24px;text-align:center;color:#6b7280}.login-body{min-height:100vh;display:grid;place-items:center;background:#111827;padding:20px}.login-card{width:min(400px,100%);background:#fff;border-radius:16px;padding:30px}.muted{color:#6b7280}.stack{display:grid;gap:14px;margin-top:24px}.stack input{display:block;width:100%;margin-top:6px}
/* Figma analytics */.analytics-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.metric-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 1px 2px rgba(0,0,0,.05)}.metric-foot{font-size:12px;color:#6b7280;margin-top:8px}.metric-trend{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:500}.metric-trend.green-t{color:#16a34a}.metric-trend.blue-t{color:#2563eb}.metric-trend.purple-t{color:#9333ea}.analytics-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.analytics-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.mini-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.mini-kpi{padding:12px;border-radius:8px}.mini-kpi.green-bg{background:#f0fdf4}.mini-kpi.red-bg{background:#fef2f2}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.insight{padding:24px;border-radius:12px;border:1px solid}.insight.green-i{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0}.insight.blue-i{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#bfdbfe}.insight.orange-i{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#fed7aa}.insight h4{font-size:16px;margin:0 0 8px}.insight p{font-size:14px;line-height:1.55;margin:0}.facility-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.facility-head h3{margin:0}.facility-head p{font-size:14px;color:#6b7280;margin:4px 0 0}.peak-box{background:#fff7ed;padding:8px 16px;border-radius:8px}.peak-box small{font-size:12px;color:#ea580c}.peak-box strong{display:block;color:#c2410c;font-size:18px;margin-top:2px}
@media(max-width:1200px){.stats-grid,.analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.plans-grid,.analytics-three,.insight-grid{grid-template-columns:1fr 1fr}.bottom-row{grid-template-columns:1fr}.distribution-card{min-height:auto}}
@media(max-width:900px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.toggle-x{display:none}.toggle-menu{display:block}.charts-row,.analytics-two,.grid-2,.grid-3{grid-template-columns:1fr}.plans-grid,.analytics-three,.insight-grid{grid-template-columns:1fr}.content{padding:18px}.search-form input{min-width:0;width:100%}.toolbar,.section-head,.checkin-panel{align-items:stretch;flex-direction:column}.toolbar>*,.section-head>*{width:100%}.stats-grid.compact{grid-template-columns:1fr}}
@media(max-width:560px){.topbar{height:64px;padding:0 12px}.content{padding:12px}.stats-grid,.analytics-metrics{grid-template-columns:1fr;gap:12px}.charts-row,.bottom-row{gap:12px}.fig-card,.card,.stat-card{padding:16px}.topbar h1{font-size:18px}.today small,.today strong{font-size:12px}.form-grid{grid-template-columns:1fr}.form-grid .wide,.form-actions{grid-column:1}.activity{gap:10px}.activity-copy small{font-size:12px}.svg-chart{height:220px}.fig-card h3{font-size:16px}}
/* exact page patterns from the Figma source */
.page-actions{display:flex;flex-direction:column;gap:16px;align-items:flex-start;justify-content:space-between}.search-wrap{position:relative;flex:1;max-width:448px}.search-wrap input{width:100%;padding-left:40px}.search-glyph{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:18px}.action-cluster{display:flex;gap:8px}.member-contact{display:grid;gap:4px;color:#4b5563;font-size:14px}.member-contact span{display:flex;align-items:center;gap:8px}.plan-cell{display:flex;align-items:center;gap:8px;font-weight:500}.plan-cell.blue-t{color:#2563eb}.plan-cell.purple-t{color:#9333ea}.plan-cell.orange-t{color:#ea580c}.join-cell{display:flex;align-items:center;gap:8px;color:#4b5563}.comparison-card{margin-top:24px}.comparison-card .comparison-title{padding:24px;border-bottom:1px solid #e5e7eb}.comparison-card .comparison-title h3{margin:0;font-size:18px;font-weight:600}.check-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.check-stat{background:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 2px rgba(0,0,0,.05)}.check-stat-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.check-stat-icon{font-size:30px;line-height:1}.check-stat-label{font-size:14px;color:#6b7280}.check-stat-value{font-size:30px;font-weight:700;color:#111827;margin-top:4px}.blue-text{color:#2563eb}.green-text{color:#16a34a}.purple-text{color:#9333ea}.orange-text{color:#ea580c}.checkin-interface{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px}.quick-card{background:#fff;padding:24px;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.05)}.quick-card h3,.today-card h3{font-size:18px;font-weight:600;margin:0 0 16px}.quick-card label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.quick-card .member-id-input{width:100%;padding:12px 16px;font-size:18px}.quick-card .btn{width:100%;margin-top:16px;padding:12px 16px}.quick-actions{padding-top:16px;border-top:1px solid #e5e7eb;margin-top:16px}.quick-actions>p{font-size:12px;color:#6b7280;margin:0 0 8px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.keypad button{border:0;background:#f3f4f6;border-radius:8px;padding:8px 12px;font-size:14px;cursor:pointer}.keypad button:hover{background:#e5e7eb}.keypad .zero{grid-column:span 2}.keypad .back{background:#fee2e2;color:#dc2626}.today-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.05);overflow:hidden}.today-card-head{padding:24px;border-bottom:1px solid #e5e7eb}.today-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.today-title-row h3{margin:0}.total-pill{padding:4px 12px;background:#dbeafe;color:#1d4ed8;border-radius:999px;font-size:14px;font-weight:500}.checkin-list{max-height:384px;overflow:auto}.checkin-row{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #f3f4f6}.checkin-row:hover{background:#f9fafb}.checkin-row:last-child{border-bottom:0}.checkin-person{display:flex;align-items:center;gap:12px}.checkin-person strong{font-size:14px;font-weight:500;display:block}.checkin-person small{font-size:14px;color:#6b7280;display:block}.checkin-meta{display:flex;align-items:center;gap:16px}.plan-pill{padding:4px 12px;border-radius:999px;font-size:12px;font-weight:500}.plan-pill.basic{color:#2563eb;background:#eff6ff}.plan-pill.standard{color:#9333ea;background:#faf5ff}.plan-pill.premium{color:#ea580c;background:#fff7ed}.check-time{font-size:14px;font-weight:500;color:#6b7280;white-space:nowrap}.small-chart .svg-chart{height:200px}.modal-box.small{max-width:448px}.form-stack{display:grid;gap:16px}.form-stack label{display:block;font-size:14px;font-weight:500;color:#374151}.form-stack input,.form-stack select,.form-stack textarea{width:100%;margin-top:4px}.modal-action-row{display:flex;gap:12px;padding-top:8px}.modal-action-row .btn{flex:1}.feature-count{font-size:14px;color:#4b5563}.plan-revenue{font-weight:500;color:#16a34a}
@media(min-width:640px){.page-actions{flex-direction:row;align-items:center}}
@media(max-width:1200px){.check-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.checkin-interface{grid-template-columns:1fr}}
@media(max-width:560px){.check-stats{grid-template-columns:1fr}.action-cluster{width:100%;flex-wrap:wrap}.action-cluster>*{flex:1}.checkin-meta{gap:8px;align-items:flex-end;flex-direction:column}.checkin-row{align-items:flex-start}}
@media(min-width:901px){.sidebar.closed{width:0}.sidebar.closed~.main{margin-left:0;width:100%}}
/* Popravka modalnih prozora: bez horizontalnog skrola i sa jasnim X dugmetom */
.modal{overflow-y:auto;overflow-x:hidden}
.modal-box{overflow-y:auto;overflow-x:hidden;padding:28px 30px 26px;width:min(760px,calc(100vw - 32px));}
.modal-box.small{width:min(560px,calc(100vw - 32px));max-width:560px}
.modal-close{display:flex;align-items:center;justify-content:center;right:18px;top:16px;width:38px;height:38px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:25px;font-weight:400;line-height:1;border-radius:999px;z-index:3;padding:0;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.modal-close:hover{background:#f3f4f6;color:#111827}
.modal-box h2{padding-right:56px}
.form-grid,.form-stack{min-width:0}
.form-grid>* ,.form-stack>*{min-width:0}
.form-grid input,.form-grid select,.form-grid textarea,.form-stack input,.form-stack select,.form-stack textarea{max-width:100%;min-width:0}
.form-grid label input[type="checkbox"]{width:auto;display:inline-block;margin:0 8px 0 0;vertical-align:middle}
.checkbox-label{display:flex!important;align-items:center;gap:10px;min-height:40px}.checkbox-label input{width:18px!important;height:18px;margin:0!important;accent-color:#2563eb}
@media(max-width:640px){.modal{align-items:flex-start;padding:12px}.modal-box,.modal-box.small{width:100%;max-height:calc(100vh - 24px);padding:24px 18px 20px}.modal-close{right:12px;top:12px}.form-grid{grid-template-columns:1fr}.form-grid .wide,.form-actions{grid-column:1/-1}}
/* X je samo direktno dugme u vrhu modala; dugmad Otkaži ostaju u toku forme */
.modal-box > .modal-close{position:absolute;right:18px;top:16px;width:38px;height:38px;padding:0;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:25px;line-height:1;z-index:4}
.modal-action-row .modal-close,.form-actions .modal-close{position:static;width:auto;height:auto;border-radius:8px;font-size:14px;line-height:1.5;display:inline-flex;right:auto;top:auto;z-index:auto;padding:8px 16px}

/* Interaktivni tooltip za grafikone — Figma ponašanje */
.chart-interactive{position:relative;overflow:visible}
.chart-interactive svg{overflow:visible}
.chart-hit{fill:transparent;pointer-events:all;cursor:crosshair}
.donut-hit{stroke-width:24px;pointer-events:stroke;cursor:pointer}
.chart-point{pointer-events:none;transition:r .12s ease,filter .12s ease}
.chart-tooltip{position:fixed;z-index:9999;min-width:145px;max-width:250px;padding:12px 14px;background:#fff;border:1px solid #d1d5db;box-shadow:0 2px 6px rgba(0,0,0,.12);color:#111827;font-size:14px;line-height:1.45;pointer-events:none;opacity:0;transform:translate(10px,-50%);transition:opacity .08s ease;border-radius:0}
.chart-tooltip.show{opacity:1}
.chart-tooltip strong{display:block;font-weight:500;margin-bottom:7px;color:#111827}
.chart-tooltip span{display:block;white-space:nowrap}
.chart-tooltip span+span{margin-top:5px}
.chart-tooltip .tooltip-line-0{color:#3b82f6}
.chart-tooltip .tooltip-line-1{color:#10b981}
.chart-tooltip .tooltip-line-2{color:#ef4444}
