:root{--bg:#061426;--panel:rgba(12,31,55,.82);--line:rgba(145,184,221,.14);--text:#eff7ff;--muted:#8fa8bf;--cyan:#39d4ff;--blue:#4e7cff;--mint:#40e0b5;--violet:#a47aff;--amber:#ffc55b}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Prompt,sans-serif;color:var(--text);background:radial-gradient(circle at 10% 0,#123557 0,transparent 33rem),radial-gradient(circle at 95% 35%,#182b54 0,transparent 36rem),var(--bg);overflow-x:hidden}.ambient{position:fixed;width:28rem;height:28rem;border-radius:50%;filter:blur(110px);opacity:.13;pointer-events:none}.ambient-one{background:var(--cyan);top:-12rem;left:-8rem}.ambient-two{background:var(--violet);right:-12rem;top:35%}.dashboard-shell{position:relative;max-width:1480px;padding:28px 34px 45px}.panel{background:linear-gradient(145deg,rgba(17,43,72,.88),rgba(8,25,46,.8));border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.24);backdrop-filter:blur(20px);border-radius:24px}.hero{display:flex;align-items:center;justify-content:space-between;padding:28px 32px;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(57,212,255,.1);border-radius:50%;right:10%;top:-340px;box-shadow:0 0 0 45px rgba(57,212,255,.025),0 0 0 90px rgba(57,212,255,.018)}.brand{display:flex;align-items:center;gap:22px}.logo{width:78px;height:78px;padding:9px;background:#fff;border-radius:22px;box-shadow:0 0 35px rgba(57,212,255,.18)}.logo img{width:100%;height:100%;object-fit:contain}.eyebrow,.section-head>div>span{font-size:.7rem;letter-spacing:.18em;color:var(--cyan);font-weight:600}.hero h1{font-size:clamp(1.9rem,3vw,3.2rem);line-height:1.02;margin:7px 0 8px;font-weight:600}.hero h1 em{font-style:normal;color:transparent;background:linear-gradient(90deg,var(--cyan),#9ce8ff);background-clip:text}.hero p{margin:0;color:var(--muted)}.hero-control{min-width:250px;z-index:1}.hero-control label{font-size:.78rem;color:var(--muted);margin-bottom:7px}.form-select{color:#eaf6ff;background-color:rgba(5,18,34,.7);border-color:var(--line);border-radius:12px;padding:.75rem 2.5rem .75rem 1rem}.form-select:focus{color:white;background-color:#0b213a;border-color:var(--cyan);box-shadow:0 0 0 .2rem rgba(57,212,255,.12)}.live-status{font-size:.72rem;color:var(--muted);margin-top:10px}.live-status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint);margin-right:5px;animation:pulse 1.8s infinite}.summary-row{display:grid;grid-template-columns:260px 1fr;gap:18px;margin-top:18px}.score-orb{position:relative;min-height:180px;display:grid;place-items:center;overflow:hidden}.score-orb>div{position:absolute;text-align:center;z-index:1}.score-orb span,.score-orb small{display:block;color:var(--muted);font-size:.72rem}.score-orb strong{display:block;font-size:2.8rem;line-height:1.1}.score-orb canvas{width:145px!important;height:145px!important}.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.kpi{padding:22px 19px;position:relative;overflow:hidden;transition:.3s ease}.kpi:hover{transform:translateY(-5px);border-color:rgba(57,212,255,.3)}.kpi:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:var(--accent);opacity:.08;right:-32px;bottom:-35px}.kpi-icon{color:var(--accent);font-size:.72rem;letter-spacing:.1em}.kpi strong{display:block;font-size:2rem;margin:16px 0 8px}.kpi p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.5}.chart-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:18px;margin-top:18px}.chart-card,.detail-card,.feedback-card,.table-card{padding:24px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-head h2{font-size:1.05rem;margin:4px 0 0}.tag{font-size:.62rem;letter-spacing:.12em;color:var(--cyan);border:1px solid rgba(57,212,255,.26);padding:5px 9px;border-radius:99px}.tag.violet{color:var(--violet);border-color:rgba(164,122,255,.3)}.tag.amber{color:var(--amber);border-color:rgba(255,197,91,.3)}.chart-box{height:300px}.lower-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px;margin-top:18px}.dim-item{margin:0 0 17px}.dim-info{display:flex;justify-content:space-between;font-size:.78rem;margin-bottom:7px}.dim-info span{color:var(--muted)}.dim-info strong{color:var(--color)}.dim-track{height:7px;background:rgba(255,255,255,.06);border-radius:20px;overflow:hidden}.dim-fill{height:100%;width:0;background:linear-gradient(90deg,var(--color),color-mix(in srgb,var(--color),white 25%));border-radius:20px;box-shadow:0 0 15px var(--color);transition:width 1s cubic-bezier(.22,1,.36,1)}.feedback-card{max-height:380px}.feedback-card #feedbackList{max-height:270px;overflow:auto;padding-right:6px}.feedback{padding:14px 16px;background:rgba(255,255,255,.035);border-left:2px solid var(--amber);border-radius:0 12px 12px 0;margin-bottom:10px}.feedback small{color:var(--amber)}.feedback p{font-size:.82rem;color:#cbd9e6;margin:5px 0 0;white-space:pre-wrap}.empty{color:var(--muted);font-size:.84rem}.table-card{margin-top:18px}.table{color:#cbd9e6;margin:0}.table>:not(caption)>*>*{padding:.9rem .7rem;border-color:var(--line);white-space:nowrap}.table thead{color:var(--muted);font-size:.72rem}.table tbody{font-size:.8rem}.month-pill{color:var(--cyan);background:rgba(57,212,255,.09);padding:5px 10px;border-radius:8px}.score-cell{font-weight:600}.print-btn{border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.04);color:#dceaff;padding:8px 12px;font-size:.76rem}footer{display:flex;justify-content:space-between;color:var(--muted);font-size:.72rem;padding:20px 6px 0}.loading-overlay{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(4,15,29,.94);backdrop-filter:blur(12px);transition:opacity .45s,visibility .45s}.loading-overlay.hidden{opacity:0;visibility:hidden}.loading-overlay small{color:var(--muted)}.loader-orbit{position:relative;width:70px;height:70px;margin-bottom:14px;animation:spin 2.4s linear infinite}.loader-orbit span{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--cyan);box-shadow:0 0 20px var(--cyan)}.loader-orbit span:nth-child(1){top:0;left:28px}.loader-orbit span:nth-child(2){bottom:8px;left:5px;background:var(--violet)}.loader-orbit span:nth-child(3){bottom:8px;right:5px;background:var(--mint)}.top-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:1100;background:linear-gradient(90deg,var(--cyan),var(--violet));box-shadow:0 0 14px var(--cyan);transition:width .25s}.toast-msg{position:fixed;right:24px;bottom:24px;z-index:1200;max-width:360px;padding:14px 18px;border:1px solid rgba(255,100,100,.3);border-radius:12px;background:#321926;color:#ffd8dc;transform:translateY(120px);transition:.3s}.toast-msg.show{transform:translateY(0)}.reveal{animation:rise .75s both}.summary-row{animation-delay:.1s}.chart-grid{animation-delay:.2s}.lower-grid{animation-delay:.3s}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35;box-shadow:0 0 3px var(--mint)}}
@media(max-width:1100px){.summary-row{grid-template-columns:1fr}.score-orb{min-height:200px}.kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.dashboard-shell{padding:14px}.hero{align-items:flex-start;flex-direction:column;gap:24px;padding:22px}.hero-control{width:100%}.logo{width:62px;height:62px}.chart-grid,.lower-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.chart-box{height:270px}.feedback-card{max-height:none}footer{flex-direction:column;gap:5px}}@media(max-width:480px){.brand{align-items:flex-start;gap:14px}.logo{width:52px;height:52px;border-radius:15px}.hero h1{font-size:1.65rem}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:17px 14px}.kpi strong{font-size:1.65rem}.chart-card,.detail-card,.feedback-card,.table-card{padding:18px}.section-head{align-items:flex-start}.chart-box{height:245px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media print{body{background:#fff;color:#111}.ambient,.hero-control,.print-btn,.loading-overlay,.top-progress{display:none!important}.dashboard-shell{max-width:none;padding:0}.panel{background:#fff;color:#111;border:1px solid #ddd;box-shadow:none;break-inside:avoid}.hero{padding:18px}.hero h1 em{color:#174f83}.chart-grid,.lower-grid{grid-template-columns:1fr 1fr}.kpi-grid{grid-template-columns:repeat(5,1fr)}.kpi p,.dim-info span,.feedback p,.table,footer{color:#555}}
