:root{color:#1f2933;background:#f8f2e1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--cream: #f8f2e1;--gold: #cda64c;--olive: #93b07f;--ink: #1f2933;--muted: #66736a;--line: #e0d5bf;--soft: #fbf7eb;--white: #fffef9;--problem: #b5473f;--watch: #a66f2b}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,rgba(147,176,127,.18),transparent 44%),var(--cream)}.login-panel{width:min(100%,430px);display:grid;gap:16px;padding:34px;background:var(--white);border:1px solid rgba(224,213,191,.95);border-radius:8px;box-shadow:0 24px 70px #1f29331a}.login-panel img{width:184px;height:auto}.login-panel h1{margin-bottom:4px;font-size:34px;line-height:1.05}.login-panel label{display:grid;gap:8px;color:#526157;font-size:13px;font-weight:850}.login-panel input{min-height:46px;border:1px solid var(--line);border-radius:8px;padding:0 13px;background:#fffaf0;color:var(--ink);outline-color:var(--gold)}.login-panel button{min-height:46px;border:0;border-radius:8px;background:var(--ink);color:var(--white);font-weight:850}.login-note{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);background:linear-gradient(90deg,rgba(31,41,51,.03),transparent 34%),var(--cream)}.sidebar{min-height:100vh;padding:28px 18px;border-right:1px solid rgba(31,41,51,.1);background:#fffef994;position:sticky;top:0;align-self:start}.brand-block{display:grid;gap:10px;margin-bottom:34px;padding:0 8px}.brand-block img{width:190px;height:auto}.brand-block span{color:var(--muted);font-size:13px;font-weight:700}.tab-nav{display:grid;gap:7px}.tab-nav button{border:0;background:transparent;color:#425044;display:flex;align-items:center;gap:11px;padding:12px;border-radius:8px;text-align:left;font-weight:700;transition:background .16s ease,color .16s ease,transform .16s ease}.tab-nav button:hover,.tab-nav button.active{background:#fffef9;color:var(--ink);transform:translate(2px);box-shadow:inset 0 0 0 1px #cda64c38}.access-panel{display:flex;gap:10px;margin-top:34px;color:#526157;border-top:1px solid var(--line);padding:20px 8px 0;font-size:12px;line-height:1.45}.access-panel p{margin:0}.main-surface{padding:34px clamp(22px,4vw,56px) 54px;min-width:0}.topbar,.section-heading,.widget-header,.kpi-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.topbar{margin-bottom:28px}.widget-actions{display:flex;align-items:center;gap:6px}.widget-actions button{width:25px;height:25px;border:1px solid var(--line);background:#fffaf0;color:var(--ink);border-radius:7px;font-size:13px;font-weight:900;line-height:1}.eyeline{margin:0 0 7px;color:var(--gold);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}h1,h2,h3,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(34px,4vw,56px);line-height:.98;letter-spacing:0;overflow-wrap:anywhere}h2{margin-bottom:0;font-size:24px}h3{margin-bottom:8px;font-size:17px}.subtle{color:var(--muted);max-width:740px;overflow-wrap:anywhere}.top-actions{display:flex;gap:10px}.icon-button{width:42px;height:42px;border-radius:8px;border:1px solid var(--line);background:var(--white);color:var(--ink);display:grid;place-items:center}.control-strip{display:grid;grid-template-columns:minmax(170px,1fr) minmax(180px,1fr) minmax(220px,1.2fr) minmax(160px,1fr) minmax(230px,1.2fr);gap:12px;margin-bottom:18px}.control-strip label,.comparison{min-height:66px;background:#fffef9cc;border:1px solid rgba(224,213,191,.9);border-radius:8px;padding:10px 12px;color:#526157;font-size:12px;font-weight:800}.control-strip select,.control-strip input{width:100%;margin-top:7px;border:0;background:transparent;color:var(--ink);font-weight:750;outline:none}.search-label{position:relative}.search-label svg{position:absolute;right:12px;bottom:13px}.comparison{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.comparison strong{grid-column:2;color:var(--ink);font-size:12px;overflow-wrap:anywhere}.notice{margin:14px 0;padding:13px 16px;border-radius:8px;font-size:13px;line-height:1.45}.notice.watch{background:#fff6e7;border:1px solid #e6c58c}.notice.info{background:#f0f5ea;border:1px solid #cfddc5}.kpi-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:24px 0}.kpi-card,.widget-card,.insights-panel,.chart-panel{background:var(--white);border:1px solid rgba(224,213,191,.95);border-radius:8px;box-shadow:0 18px 45px #1f29330e}.kpi-card{padding:17px;min-height:176px}.kpi-card strong{display:block;margin:18px 0 10px;font-size:clamp(26px,3vw,40px);line-height:1}.kpi-card p,.widget-header p,.widget-footer p,.widget-footer strong{color:var(--muted);font-size:12px;line-height:1.45}.status{display:inline-flex;align-items:center;min-width:max-content;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:850;border:1px solid currentColor}.status.good{color:#557345;background:#eff7ea}.status.watch{color:var(--watch);background:#fff4dd}.status.problem{color:var(--problem);background:#fff0ec}.status.no-data,.status.not-available-on-current-plan{color:#6d7280;background:#f3f0e8}.insight-layout{display:grid;grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr);gap:18px;margin-bottom:18px}.insights-panel,.chart-panel{padding:22px}.section-heading{margin-bottom:16px}.section-heading span{color:var(--muted);font-size:12px;font-weight:800}.insight-list{display:grid;gap:10px}.insight-row{display:grid;grid-template-columns:26px 1fr;gap:10px;padding:12px 0;border-top:1px solid #efe6d4}.insight-row:first-child{border-top:0}.insight-row.problem svg{color:var(--problem)}.insight-row.watch svg{color:var(--watch)}.insight-row.info svg{color:var(--olive)}.insight-row strong{display:block;margin-bottom:4px}.insight-row p{margin-bottom:0;color:var(--muted);font-size:13px;line-height:1.45}.widget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.widget-card{padding:20px;min-height:360px;display:flex;flex-direction:column;transition:opacity .16s ease,transform .16s ease,box-shadow .16s ease}.widget-card:hover{transform:translateY(-2px);box-shadow:0 24px 55px #1f293313}.widget-card.dragging{opacity:.58}.widget-body{flex:1;min-height:190px;display:grid;align-items:center}.widget-footer{display:grid;gap:7px;border-top:1px solid #efe6d4;padding-top:14px}.widget-footer p,.widget-footer strong{margin:0}.single-value{font-size:48px;font-weight:850}.skeleton{border-radius:8px;background:linear-gradient(100deg,#f1ead9 20%,#fffaf0 45%,#f1ead9 72%);background-size:220% 100%;animation:shimmer 1.2s infinite linear}.skeleton.value{height:42px;width:70%;margin:18px 0 10px}.skeleton.chart{height:210px}@keyframes shimmer{to{background-position-x:-220%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(max-width:1240px){.control-strip,.kpi-strip,.widget-grid,.insight-layout{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:840px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;min-height:auto;border-right:0;border-bottom:1px solid var(--line);padding:14px 16px 12px;overflow:hidden}.brand-block{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:0}.brand-block img{width:152px}.tab-nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.tab-nav button{flex:0 0 auto;padding:9px 11px}.access-panel{display:none}.main-surface{padding-top:22px;overflow:hidden}h1{font-size:30px;line-height:1.05}.control-strip,.kpi-strip,.widget-grid,.insight-layout{grid-template-columns:1fr}.topbar{flex-direction:column}}@media print{.sidebar,.top-actions,.control-strip{display:none}.app-shell,.main-surface{display:block;padding:0;background:#fff}.widget-grid,.kpi-strip,.insight-layout{grid-template-columns:repeat(2,minmax(0,1fr))}}
