*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#d8d9da;background:#0b0c0e;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{background:#0b0c0e;min-height:100vh}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#d8d9da;background:radial-gradient(circle at top,#5794f21f,#0000 28%),linear-gradient(#111217 0%,#0b0c0e 100%);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}.app-shell{grid-template-columns:320px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:linear-gradient(#14161cfa 0%,#0b0c0efa 100%);border-right:1px solid #20232b;flex-direction:column;gap:1.5rem;height:100vh;padding:1.5rem 1rem;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid #20232b;align-items:center;gap:.875rem;padding:.5rem .5rem 1rem;display:flex}.sidebar-brand-mark{color:#f2cc0c;text-shadow:0 0 12px #f2cc0c73;font-size:1.1rem}.sidebar-eyebrow,.page-kicker,.panel-kicker{letter-spacing:.08em;text-transform:uppercase;color:#7b8088;font-size:.75rem}.sidebar h1{color:#f5f6f8;font-size:1.5rem;font-weight:700}.sidebar-section{flex-direction:column;gap:.85rem;display:flex}.sidebar-section-header{color:#9ea4ad;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;padding:0 .5rem;font-size:.8rem;display:flex}.sidebar-badge{color:#8ab8ff;background:#5794f226;border-radius:999px;padding:.125rem .45rem;font-size:.75rem}.dashboard-selector{flex-direction:column;gap:.4rem;min-height:0;padding-right:.25rem;display:flex;overflow:auto}.dashboard-tab{text-align:left;color:#c4c8cf;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:.2rem;width:100%;padding:.8rem .9rem;transition:background .2s,border-color .2s,transform .2s;display:flex}.dashboard-tab:hover{background:#5794f214;border-color:#5794f238}.dashboard-tab.active{background:linear-gradient(#1f60c452 0%,#14346647 100%);border-color:#5794f266;box-shadow:inset 3px 0 #5794f2}.dashboard-tab-name{color:#eef1f5;font-weight:600}.dashboard-tab-meta{color:#7f8792;font-size:.76rem}.dashboard-create-card,.header,.controls-panel,.widget,.empty-state{background:linear-gradient(#16181ffa 0%,#101217fa 100%);border:1px solid #242933;border-radius:14px;box-shadow:0 18px 40px #0000003d}.dashboard-create-card{flex-direction:column;gap:.85rem;padding:.9rem;display:flex}.create-dashboard-btn,.controls button,.dashboard-toolbar-actions button,.text-widget>.text-widget-content>button,.button-group button,.action-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;transition:background .2s,border-color .2s,color .2s,transform .2s}.create-dashboard-btn,.controls button,.dashboard-toolbar-actions button,.text-widget>.text-widget-content>button,.button-group button{padding:.7rem 1rem;font-size:.92rem;font-weight:600}.create-dashboard-btn,.controls button,.dashboard-toolbar-actions button,.text-widget>.text-widget-content>button,.button-group button:first-child,.action-btn.primary{color:#fff;background:linear-gradient(#1f60c4 0%,#1a4e9f 100%);border-color:#2e6fd0}.create-dashboard-btn:hover,.controls button:hover:not(:disabled),.dashboard-toolbar-actions button:hover:not(:disabled),.text-widget>.text-widget-content>button:hover:not(:disabled),.button-group button:first-child:hover:not(:disabled),.action-btn.primary:hover:not(:disabled){background:linear-gradient(#2870db 0%,#225fb8 100%);transform:translateY(-1px)}.action-btn,.button-group button:last-child,.action-btn.secondary{color:#d8d9da;background:#ffffff05;border-color:#313845;padding:.7rem 1rem;font-size:.9rem;font-weight:600}.action-btn:hover:not(:disabled),.button-group button:last-child:hover:not(:disabled),.action-btn.secondary:hover:not(:disabled){background:#ffffff0f;border-color:#465062}.action-btn.danger{color:#ff8998;background:#f2495c14;border-color:#f2495c52}.action-btn.danger:hover:not(:disabled){background:#f2495c29;border-color:#f2495c7a}.create-dashboard-btn:disabled,.controls button:disabled,.dashboard-toolbar-actions button:disabled,.text-widget>.text-widget-content>button:disabled,.button-group button:disabled,.action-btn:disabled,.delete-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.app{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.header{padding:1.5rem}.header-topbar{justify-content:space-between;gap:1rem;display:flex}.dashboard-toolbar,.danger-banner{border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.2rem;padding:.95rem 1rem;display:flex}.dashboard-toolbar{background:#ffffff08;border:1px solid #242933}.dashboard-toolbar-copy,.dashboard-toolbar-actions,.danger-banner-actions,.panel-header-actions,.panel-title-row,.panel-header-main{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.panel-kind-badge{color:#b7bec7;background:#ffffff08;border:1px solid #313845;border-radius:999px;align-items:center;gap:.35rem;min-height:28px;padding:.25rem .65rem;font-size:.78rem;display:inline-flex}.dashboard-toolbar-copy{flex-direction:column;align-items:flex-start;gap:.2rem}.dashboard-toolbar-title{color:#eef1f5;font-size:.95rem;font-weight:600}.dashboard-toolbar-subtitle{color:#8b939d;font-size:.84rem}.danger-banner{background:#f2495c14;border:1px solid #f2495c38}.danger-banner strong{color:#ffd6dc;margin-bottom:.2rem;display:block}.danger-banner p{color:#f0b5bf;font-size:.92rem}.danger-banner-name{color:#fff0f2}.dashboard-title-row,.dashboard-title-section{justify-content:space-between;align-items:flex-start;gap:1rem;margin-top:.55rem;display:flex}.dashboard-title-section.is-editing{flex-wrap:wrap;align-items:center}.dashboard-title-block{flex-direction:column;gap:.35rem;display:flex}.dashboard-title{color:#f5f6f8;font-size:clamp(1.7rem,2vw,2.4rem);font-weight:700}.dashboard-subtitle,.panel-title{color:#9fa6ad}.dashboard-subtitle{font-size:.95rem}.dashboard-header-actions,.dashboard-form-actions,.button-group,.controls{flex-wrap:wrap;gap:.75rem;display:flex}.dashboard-name-input,.widget-title-input,.text-widget textarea{color:#eef1f5;background:#11151d;border:1px solid #313845;border-radius:8px;outline:none;width:100%;transition:border-color .2s,box-shadow .2s,background .2s}.dashboard-name-input,.widget-title-input{min-height:44px;padding:.75rem .9rem}.dashboard-name-input-inline{min-width:min(420px,100%)}.dashboard-name-input:focus,.widget-title-input:focus,.text-widget textarea:focus{background:#131923;border-color:#5794f2;box-shadow:0 0 0 3px #5794f22e}.error{color:#ffb7c0;background:#f2495c1f;border:1px solid #f2495c3d;border-radius:10px;margin-top:1rem;padding:.85rem 1rem}.widgets-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.widget{border-radius:12px;min-height:100%;animation:.35s fadeIn;overflow:hidden;box-shadow:0 10px 24px #0000002e}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.widget:hover{border-color:#5794f247}.chart-panel-body{background:linear-gradient(#10151df5 0%,#0b0f15fa 100%),radial-gradient(circle at top,#5794f214,#0000 55%);border-top:1px solid #ffffff08;padding:1rem}.chart-surface{background:linear-gradient(#141a24eb 0%,#0e131bfa 100%);border:1px solid #3f4a5c6b;border-radius:10px;height:250px;padding:.6rem .45rem .25rem;box-shadow:inset 0 1px #ffffff08}.widget-header{background:#ffffff05;border-bottom:1px solid #242933;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1rem .95rem;display:flex}.panel-header-main{flex:1;justify-content:space-between;min-width:0}.panel-title-block{flex-direction:column;gap:.4rem;min-width:0;display:flex}.panel-title-row{gap:.55rem;min-width:0}.panel-meta{color:#7e8791;font-size:.78rem}.widget-title,.widget-header h3{color:#f5f6f8;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:600;line-height:1.35;overflow:hidden}.widget-title-input{font-size:.96rem}.panel-action-btn{color:#dbe1e8;cursor:pointer;background:#ffffff08;border:1px solid #313845;border-radius:8px;justify-content:center;align-items:center;min-width:88px;min-height:38px;padding:.55rem .85rem;font-size:.88rem;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.panel-action-btn:hover:not(:disabled){color:#f5f6f8;background:#ffffff14;border-color:#465062}.panel-action-btn.danger{color:#ffb7c0;background:#f2495c0d;border-color:#f2495c38}.panel-action-btn.danger:hover:not(:disabled){color:#ff8998;background:#f2495c1f;border-color:#f2495c59}.delete-btn{color:#9aa2ac;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;display:inline-flex}.delete-btn:hover:not(:disabled){color:#ff8998;background:#f2495c1f}.text-widget-content{flex-direction:column;gap:1rem;min-height:260px;padding:1rem;display:flex}.text-widget textarea{resize:vertical;min-height:190px;padding:.95rem 1rem}.text-display{color:#d8d9da;white-space:pre-wrap;word-break:break-word;background:#11151deb;border:1px solid #242933;border-radius:8px;flex:1;min-height:190px;padding:.95rem 1rem;line-height:1.6}.loading,.empty-state{grid-column:1/-1}.loading{text-align:center;color:#a9b1ba;padding:3rem 1rem;font-size:1rem}.empty-state{text-align:center;padding:4rem 2rem}.empty-state-standalone{place-items:center;min-height:320px;display:grid}.empty-state p{color:#9fa6ad;font-size:1rem;line-height:1.7}@media (width<=1280px){.app-shell{grid-template-columns:280px minmax(0,1fr)}.widgets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #20232b;border-right:none;height:auto;position:static}.dashboard-selector{max-height:280px}}@media (width<=768px){.app,.header{padding:1rem}.widgets-grid{grid-template-columns:1fr}.dashboard-title-row,.dashboard-title-section,.controls,.dashboard-header-actions,.dashboard-form-actions,.button-group,.dashboard-toolbar,.dashboard-toolbar-copy,.dashboard-toolbar-actions,.danger-banner,.danger-banner-actions,.panel-header-main{flex-direction:column;align-items:stretch}.dashboard-name-input-inline{min-width:100%}.create-dashboard-btn,.controls button,.dashboard-toolbar-actions button,.text-widget>.text-widget-content>button,.button-group button,.action-btn{width:100%}}
