:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--background: #f5f7fb;--surface: #ffffff;--surface-subtle: #f8fafc;--text-primary: #0f172a;--text-secondary: #64748b;--text-muted: #94a3b8;--border: #e2e8f0;--border-strong: #cbd5e1;--chart-grid: #e2e8f0;--overlay-surface: rgba(255, 255, 255, .96);--blue: #2563eb;--blue-soft: #dbeafe;--green: #16a34a;--green-soft: #dcfce7;--orange: #ea580c;--orange-soft: #ffedd5;--purple: #9333ea;--purple-soft: #f3e8ff;--red: #dc2626;--red-soft: #fee2e2;--shadow-card: 0 2px 8px rgba(15, 23, 42, .05), 0 8px 24px rgba(15, 23, 42, .04);--shadow-hover: 0 4px 12px rgba(15, 23, 42, .07), 0 14px 32px rgba(15, 23, 42, .07);--shadow-dialog: 0 24px 70px rgba(15, 23, 42, .14);--radius-card: 16px;--radius-control: 12px;--transition: .24s ease}html[data-theme=dark]{color-scheme:dark;--background: #0b1220;--surface: #111827;--surface-subtle: #172033;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border: #263449;--border-strong: #3b4b63;--chart-grid: #263449;--overlay-surface: rgba(17, 24, 39, .97);--blue: #60a5fa;--green: #4ade80;--orange: #fb923c;--purple: #c084fc;--red: #f87171;--blue-soft: rgba(59, 130, 246, .18);--green-soft: rgba(34, 197, 94, .17);--orange-soft: rgba(249, 115, 22, .18);--purple-soft: rgba(168, 85, 247, .18);--red-soft: rgba(239, 68, 68, .17);--shadow-card: 0 2px 8px rgba(0, 0, 0, .18), 0 10px 28px rgba(0, 0, 0, .16);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .22), 0 16px 36px rgba(0, 0, 0, .2);--shadow-dialog: 0 24px 70px rgba(0, 0, 0, .38)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--background)}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--background);color:var(--text-primary);transition:background-color var(--transition),color var(--transition)}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}h1,h2,p{margin:0}.dashboard-shell{min-height:100vh;background:radial-gradient(circle at 3% 0%,rgba(219,234,254,.5),transparent 24rem),var(--background);transition:background-color var(--transition)}html[data-theme=dark] .dashboard-shell{background:radial-gradient(circle at 3% 0%,rgba(37,99,235,.13),transparent 26rem),var(--background)}.dashboard-container{width:100%;max-width:1920px;margin:0 auto;padding:22px}.dashboard-header{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(340px,1.35fr) auto;align-items:center;gap:24px;padding:2px 0 18px;border-bottom:1px solid var(--border)}.header-title{min-width:0}.eyebrow,.section-heading p{color:var(--blue);font-size:.75rem;font-weight:800;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.header-title .eyebrow{margin-bottom:7px}.header-title h1{color:var(--text-primary);font-size:clamp(1.8rem,3vw,2.7rem);font-weight:800;letter-spacing:-.04em;line-height:1}.header-meta{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex:0 0 auto}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.theme-toggle{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);box-shadow:var(--shadow-card);color:var(--text-secondary);cursor:pointer;transition:color var(--transition),background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.header-icon-link{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);box-shadow:var(--shadow-card);color:var(--text-secondary);text-decoration:none;transition:color var(--transition),background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.header-icon-link:hover{border-color:#c4b5fd;background:var(--purple-soft);color:var(--purple);transform:translateY(-1px)}.header-icon-link:focus-visible{outline:3px solid rgba(147,51,234,.24);outline-offset:2px}.theme-toggle:hover{border-color:#93c5fd;background:var(--blue-soft);color:var(--blue);transform:translateY(-1px)}.theme-toggle:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}.reminder-banner{display:flex;align-items:center;gap:12px;min-width:0;min-height:90px;padding:12px 16px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff;box-shadow:var(--shadow-card);color:#1d4ed8;overflow:hidden}.reminder-banner-icon{display:grid;width:46px;height:46px;flex:0 0 auto;place-items:center;border-radius:11px;background:#2563eb1f}.reminder-banner>div{min-width:0}.reminder-banner span,.reminder-banner strong,.reminder-banner small{display:block}.reminder-banner-content{flex:1;overflow:hidden}.reminder-banner span:not(.reminder-banner-icon){font-size:.68rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.reminder-banner strong{display:-webkit-box;margin-top:3px;overflow:hidden;color:var(--text-primary);font-size:clamp(1.5rem,1.8vw,2rem);font-weight:800;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.reminder-slide-content{min-width:0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}.reminder-slide-content strong{display:inline-block;width:max-content;min-width:100%;max-width:none;margin:0;padding-left:100%;overflow:visible;white-space:nowrap;-webkit-box-orient:initial;-webkit-line-clamp:unset;animation:reminder-marquee var(--reminder-duration, 12s) linear infinite}.reminder-banner small{margin-top:3px;color:var(--text-secondary);font-size:.65rem}.reminder-banner-empty{border-color:var(--border);background:var(--surface-subtle);color:var(--text-muted)}.reminder-banner-empty strong{display:block;font-size:.82rem;white-space:normal}.reminder-banner-empty .reminder-banner-icon{background:var(--surface)}.reminder-banner-warning{border-color:#fed7aa;background:#fff7ed;color:#c2410c}.reminder-banner-warning .reminder-banner-icon{background:#f9731621}.reminder-banner-danger{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.reminder-banner-danger .reminder-banner-icon{background:#ef44441f}.reminder-banner-success{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.reminder-banner-success .reminder-banner-icon{background:#22c55e1f}.reminder-counter{display:grid;min-width:30px;height:24px;flex:0 0 auto;place-items:center;border-radius:99px;background:#0f172a14;font-size:.66rem}html[data-theme=dark] .reminder-banner{border-color:#3b82f659;background:#2563eb1f;color:#93c5fd}html[data-theme=dark] .reminder-banner-empty{border-color:var(--border);background:var(--surface-subtle);color:var(--text-muted)}html[data-theme=dark] .reminder-banner-warning{border-color:#f9731666;background:#ea580c21;color:#fdba74}html[data-theme=dark] .reminder-banner-danger{border-color:#ef444466;background:#dc262621;color:#fca5a5}html[data-theme=dark] .reminder-banner-success{border-color:#22c55e66;background:#16a34a21;color:#86efac}.clock-block{min-width:152px;text-align:right}.clock-block strong{display:block;color:var(--text-primary);font-size:clamp(1.75rem,2.5vw,2.25rem);font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.035em;line-height:1}.clock-block>span{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:7px;color:var(--text-secondary);font-size:.78rem;font-weight:600;white-space:nowrap}.clock-block svg{color:var(--blue)}.live-status{display:flex;align-items:center;gap:10px;min-width:144px;padding:10px 13px;border:1px solid #bbf7d0;border-radius:var(--radius-control);background:#f0fdf4}.live-status.warning{border-color:#fed7aa;background:#fff7ed}.live-status>span:last-child{min-width:0}.live-status strong,.live-status small{display:block}.live-status strong{color:#166534;font-size:.78rem;line-height:1.2}.live-status.warning strong{color:#9a3412}.live-status small{margin-top:2px;color:var(--text-secondary);font-size:.68rem;white-space:nowrap}.live-dot{width:9px;height:9px;flex:0 0 auto;border:2px solid #bbf7d0;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px #22c55e1a}.live-status.warning .live-dot{border-color:#fed7aa;background:#f97316;box-shadow:0 0 0 4px #f973161a}html[data-theme=dark] .live-status{border-color:#22c55e52;background:#16a34a1c}html[data-theme=dark] .live-status strong{color:#86efac}html[data-theme=dark] .live-dot{border-color:#86efac59}html[data-theme=dark] .live-status.warning{border-color:#f973165c;background:#ea580c1f}html[data-theme=dark] .live-status.warning strong{color:#fdba74}.status-banner{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--text-secondary);font-size:.82rem;line-height:1.45}.status-banner>svg{flex:0 0 auto}.status-banner>div{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}.status-banner button{flex:0 0 auto;border:0;padding:0;background:transparent;color:currentColor;cursor:pointer;font-weight:800}.status-warning{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.status-info{border-color:#bfdbfe;background:#eff6ff;color:#1e40af}.status-neutral{border-color:var(--border);background:var(--surface-subtle);color:var(--text-secondary)}.main-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:20px}.accent-blue{--accent: var(--blue);--accent-soft: var(--blue-soft)}.accent-green{--accent: var(--green);--accent-soft: var(--green-soft)}.accent-orange{--accent: var(--orange);--accent-soft: var(--orange-soft)}.accent-purple{--accent: var(--purple);--accent-soft: var(--purple-soft)}.accent-red{--accent: var(--red);--accent-soft: var(--red-soft)}.main-metric-card,.indicator-card,.chart-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-card);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.main-metric-card:hover,.indicator-card:hover,.chart-panel:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-hover)}.main-metric-card{position:relative;min-width:0;min-height:132px;overflow:hidden;padding:18px 20px 20px;border-radius:var(--radius-card);animation:dashboard-enter .42s both}.main-metric-card:nth-child(2){animation-delay:45ms}.main-metric-card:nth-child(3){animation-delay:90ms}.main-metric-card:nth-child(4){animation-delay:135ms}.main-metric-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:.76rem;font-weight:800;letter-spacing:.025em;text-transform:uppercase}.main-metric-heading>span:first-child{min-width:0}.metric-icon,.indicator-icon,.chart-heading-icon,.state-icon{display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:var(--accent-soft);color:var(--accent)}.metric-icon{width:42px;height:42px}.main-metric-value{display:block;min-width:0;margin-top:9px;color:var(--text-primary);font-size:clamp(1.55rem,2.15vw,2.15rem);font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.045em;line-height:1.04;overflow-wrap:anywhere}.main-metric-card>small{display:block;margin-top:7px;color:var(--text-secondary);font-size:.74rem;line-height:1.3}.metric-accent-bar{position:absolute;right:20px;bottom:0;left:20px;height:4px;border-radius:99px 99px 0 0;background:var(--accent)}.indicators-section{margin-top:26px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:13px}.section-heading p{margin-bottom:4px;color:var(--text-muted);font-size:.68rem}.section-heading h2{color:var(--text-primary);font-size:1.08rem;font-weight:800;letter-spacing:-.02em}.section-heading>span{color:var(--text-secondary);font-size:.78rem}.indicator-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px}.indicator-card{display:flex;align-items:flex-start;gap:13px;min-width:0;min-height:104px;padding:15px;border-radius:14px;animation:dashboard-enter .42s both}.indicator-card:nth-child(2){animation-delay:35ms}.indicator-card:nth-child(3){animation-delay:70ms}.indicator-card:nth-child(4){animation-delay:105ms}.indicator-card:nth-child(5){animation-delay:.14s}.indicator-card:nth-child(6){animation-delay:175ms}.indicator-card:nth-child(7){animation-delay:.21s}.indicator-card:nth-child(8){animation-delay:245ms}.indicator-icon{width:40px;height:40px}.indicator-content{min-width:0;flex:1}.indicator-content>span,.indicator-content>small{display:block;color:var(--text-secondary)}.indicator-content>span{font-size:.74rem;font-weight:700;line-height:1.2}.indicator-content>strong{display:block;min-width:0;margin-top:5px;color:var(--text-primary);font-size:clamp(1.25rem,1.65vw,1.62rem);font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.035em;line-height:1.04;overflow-wrap:anywhere}.indicator-content>small{margin-top:5px;font-size:.68rem;line-height:1.25}.charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px;padding-bottom:4px}.chart-panel{min-width:0;overflow:hidden;padding:17px 17px 9px;border-radius:var(--radius-card);animation:dashboard-enter .46s .18s both}.chart-panel:nth-child(2){animation-delay:225ms}.chart-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 2px 9px}.chart-heading>div{display:flex;align-items:center;min-width:0;gap:10px}.chart-heading-icon{width:34px;height:34px}.chart-blue{--accent: var(--blue);--accent-soft: var(--blue-soft)}.chart-green{--accent: var(--green);--accent-soft: var(--green-soft)}.chart-heading h2{min-width:0;color:var(--text-primary);font-size:.96rem;font-weight:800;letter-spacing:-.015em}.chart-heading>span{flex:0 0 auto;color:var(--text-secondary);font-size:.72rem}.chart-canvas{position:relative;width:100%;height:286px;min-width:0}.chart-canvas:focus-visible{outline:3px solid rgba(37,99,235,.24);outline-offset:2px}.chart-empty{position:absolute;top:50%;left:50%;display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--overlay-surface);box-shadow:0 4px 14px #0f172a0f;color:var(--text-secondary);font-size:.74rem;font-weight:700;pointer-events:none;transform:translate(-50%,-50%)}.chart-tooltip{min-width:126px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--overlay-surface);box-shadow:0 12px 30px #0f172a1f}.chart-tooltip span,.chart-tooltip strong{display:block}.chart-tooltip span{color:var(--text-secondary);font-size:.72rem}.chart-tooltip strong{margin-top:4px;color:var(--text-primary);font-size:.86rem;font-variant-numeric:tabular-nums}.recharts-default-tooltip{border-color:var(--border)!important;border-radius:11px!important}.recharts-cartesian-grid line{stroke:var(--chart-grid)}.recharts-cartesian-axis-tick-value{fill:var(--text-secondary)}html[data-theme=dark] .status-warning{border-color:#f973165c;background:#ea580c1f;color:#fdba74}html[data-theme=dark] .status-info{border-color:#3b82f65c;background:#2563eb1f;color:#93c5fd}html[data-theme=dark] .status-neutral{background:var(--surface-subtle)}.skeleton-layout{min-height:100vh}.skeleton{position:relative;overflow:hidden;border:1px solid #e8edf4;background:#e9eef5}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.72) 45%,transparent 70%);transform:translate(-100%);animation:skeleton-shimmer 1.35s infinite}.skeleton-title{width:min(280px,58vw);height:39px;border-radius:10px}.skeleton-clock span{margin-top:7px}.skeleton-main-card{min-height:132px;border-radius:var(--radius-card)}.skeleton-section-title{width:210px;height:38px;margin-bottom:13px;border-radius:9px}.skeleton-indicator{min-height:104px;border-radius:14px}.skeleton-chart{min-height:340px;border-radius:var(--radius-card)}.pin-shell,.state-shell{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0%,rgba(219,234,254,.85),transparent 28rem),var(--background)}html[data-theme=dark] .pin-shell,html[data-theme=dark] .state-shell{background:radial-gradient(circle at 50% 0%,rgba(37,99,235,.16),transparent 30rem),var(--background)}.pin-card,.state-card{width:min(460px,100%);padding:30px;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-dialog)}.pin-brand{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:23px;text-align:center}.brand-logo{width:min(230px,80%);height:auto;object-fit:contain}.pin-brand>span{color:var(--text-secondary);font-size:.86rem;font-weight:700}.pin-card>.eyebrow,.state-card>.eyebrow{text-align:center}.pin-card>h1,.state-card>h1{margin-top:7px;color:var(--text-primary);font-size:clamp(1.65rem,5vw,2.15rem);font-weight:800;letter-spacing:-.035em;line-height:1.08;text-align:center}.pin-form{margin-top:24px}.pin-form input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.pin-dots{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:16px}.pin-dots span{display:grid;height:58px;place-items:center;border:1px solid var(--border);border-radius:14px;background:var(--surface-subtle);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.pin-dots span:after{width:13px;height:13px;border-radius:50%;background:var(--border-strong);content:""}.pin-dots span.filled{border-color:#93c5fd;background:#eff6ff;box-shadow:0 0 0 3px #2563eb14}.pin-dots span.filled:after{background:var(--blue)}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.pin-pad button,.state-card button{min-height:54px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text-primary);cursor:pointer;font-size:1.08rem;font-weight:800;transition:border-color var(--transition),background var(--transition),box-shadow var(--transition),transform var(--transition)}.pin-pad button:hover:not(:disabled),.state-card button:hover{border-color:#93c5fd;background:#eff6ff;transform:translateY(-1px)}.pin-pad button:focus-visible,.state-card button:focus-visible,.status-banner button:focus-visible{outline:3px solid rgba(37,99,235,.24);outline-offset:2px}.pin-pad button[type=submit],.state-card button{border-color:var(--blue);background:var(--blue);color:#fff}.pin-pad button[type=submit]:hover:not(:disabled),.state-card button:hover{border-color:#1d4ed8;background:#1d4ed8}.pin-pad button:disabled{opacity:.5;cursor:not-allowed}.pin-message{margin-top:13px;padding:11px 13px;border:1px solid #bfdbfe;border-radius:11px;background:#eff6ff;color:#1e40af;font-size:.8rem;line-height:1.4}.pin-message.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.pin-card footer,.state-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;color:var(--text-secondary);font-size:.8rem}.pin-card footer strong,.state-card footer strong{color:var(--text-primary);font-size:1.05rem;font-variant-numeric:tabular-nums}.state-card{text-align:center}.state-icon{width:54px;height:54px;margin:0 auto 17px;background:var(--blue-soft);color:var(--blue)}.state-card>p:not(.eyebrow){margin:13px auto 0;color:var(--text-secondary);font-size:.88rem;line-height:1.55}.state-card button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;margin-top:21px;padding:0 18px;font-size:.86rem}html[data-theme=dark] .skeleton{border-color:#263449;background:#1b2738}html[data-theme=dark] .skeleton:after{background:linear-gradient(100deg,transparent 20%,rgba(148,163,184,.12) 45%,transparent 70%)}html[data-theme=dark] .pin-dots span{border-color:var(--border);background:var(--surface-subtle)}html[data-theme=dark] .pin-dots span.filled{border-color:#60a5fa8c;background:#2563eb29}html[data-theme=dark] .pin-pad button:hover:not(:disabled),html[data-theme=dark] .state-card button:hover{border-color:#60a5fa;background:#2563eb38}html[data-theme=dark] .pin-message{border-color:#3b82f65c;background:#2563eb24;color:#bfdbfe}html[data-theme=dark] .pin-message.error{border-color:#ef444466;background:#dc262624;color:#fecaca}.reminders-shell{min-height:100vh;background:radial-gradient(circle at 3% 0%,rgba(219,234,254,.52),transparent 26rem),var(--background)}html[data-theme=dark] .reminders-shell{background:radial-gradient(circle at 3% 0%,rgba(37,99,235,.13),transparent 26rem),var(--background)}.reminders-container{width:100%;max-width:1500px;margin:0 auto;padding:28px 24px 40px}.reminders-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}.reminders-header h1{margin-top:6px;color:var(--text-primary);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;letter-spacing:-.04em}.reminders-header>div:first-child>p:last-child{max-width:700px;margin-top:8px;color:var(--text-secondary);font-size:.88rem;line-height:1.5}.reminders-header-actions,.form-actions,.reminder-item-actions{display:flex;align-items:center;gap:10px}.secondary-action,.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 15px;border:1px solid var(--border);border-radius:11px;font-size:.78rem;font-weight:800;text-decoration:none;cursor:pointer;transition:border-color var(--transition),background-color var(--transition),color var(--transition),transform var(--transition)}.secondary-action{background:var(--surface);color:var(--text-secondary)}.secondary-action:hover{border-color:var(--border-strong);color:var(--text-primary);transform:translateY(-1px)}.primary-action{border-color:#2563eb;background:#2563eb;color:#fff}.primary-action:hover:not(:disabled){border-color:#1d4ed8;background:#1d4ed8;transform:translateY(-1px)}.primary-action:disabled{opacity:.55;cursor:wait}.secondary-action:focus-visible,.primary-action:focus-visible,.reminder-item-actions button:focus-visible{outline:3px solid rgba(37,99,235,.24);outline-offset:2px}.admin-feedback{margin-top:16px;padding:12px 14px;border:1px solid;border-radius:11px;font-size:.82rem;font-weight:700}.feedback-success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.feedback-error{border-color:#fecaca;background:#fef2f2;color:#991b1b}html[data-theme=dark] .feedback-success{border-color:#22c55e61;background:#16a34a1f;color:#86efac}html[data-theme=dark] .feedback-error{border-color:#ef444461;background:#dc26261f;color:#fca5a5}.reminders-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:20px;align-items:start;margin-top:22px}.reminder-form-card,.reminders-list-card{min-width:0;padding:20px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card)}.admin-section-title{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border)}.admin-section-title>span{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border-radius:11px;background:var(--blue-soft);color:var(--blue)}.admin-section-title h2{color:var(--text-primary);font-size:1rem;font-weight:800}.admin-section-title p{margin-top:3px;color:var(--text-secondary);font-size:.72rem}.list-title>span{background:var(--purple-soft);color:var(--purple)}.reminder-form{display:grid;gap:16px;margin-top:18px}.reminder-form label{display:grid;gap:7px;min-width:0;color:var(--text-primary);font-size:.76rem;font-weight:800}.reminder-form input,.reminder-form textarea,.reminder-form select{width:100%;min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle);color:var(--text-primary);font-size:.82rem;font-weight:500;outline:none;transition:border-color var(--transition),box-shadow var(--transition),background-color var(--transition)}.reminder-form input,.reminder-form select{height:44px;padding:0 12px}.reminder-form textarea{min-height:104px;padding:11px 12px;line-height:1.5;resize:vertical}.reminder-form input:focus,.reminder-form textarea:focus,.reminder-form select:focus{border-color:#60a5fa;background:var(--surface);box-shadow:0 0 0 3px #2563eb1f}.reminder-form label>small{justify-self:end;color:var(--text-secondary);font-size:.66rem;font-weight:500}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.month-days-fieldset{min-width:0;margin:0;padding:14px;border:1px solid var(--border);border-radius:11px;background:var(--surface-subtle)}.month-days-fieldset legend{padding:0 6px;color:var(--text-primary);font-size:.76rem;font-weight:800}.month-days-fieldset>p{margin-bottom:11px;color:var(--text-secondary);font-size:.7rem;line-height:1.4}.month-days-fieldset>small{display:block;margin-top:9px;color:var(--text-secondary);font-size:.68rem}.month-days-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}.month-days-grid button{display:grid;min-width:0;aspect-ratio:1;place-items:center;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-secondary);cursor:pointer;font-size:.7rem;font-weight:800;transition:border-color var(--transition),background-color var(--transition),color var(--transition),transform var(--transition)}.month-days-grid button:hover{border-color:#93c5fd;color:var(--blue);transform:translateY(-1px)}.month-days-grid button.selected{border-color:#2563eb;background:#2563eb;color:#fff;box-shadow:0 3px 8px #2563eb38}.month-days-grid button:focus-visible{outline:3px solid rgba(37,99,235,.24);outline-offset:1px}.form-grid-compact{align-items:end}.active-checkbox{display:flex!important;align-items:center;min-height:44px;padding:7px 11px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle);cursor:pointer}.active-checkbox input{width:18px;height:18px;flex:0 0 auto;margin:0 10px 0 0;accent-color:#2563eb}.active-checkbox span,.active-checkbox strong,.active-checkbox small{display:block}.active-checkbox small{margin-top:2px;color:var(--text-secondary);font-size:.64rem;font-weight:500}.form-actions{justify-content:flex-end;padding-top:2px}.reminders-list{display:grid;gap:12px;max-height:630px;margin-top:16px;padding-right:3px;overflow-y:auto}.reminder-list-item{position:relative;padding:14px 15px 14px 18px;border:1px solid var(--border);border-radius:12px;background:var(--surface-subtle);overflow:hidden}.reminder-list-item:before{position:absolute;top:0;bottom:0;left:0;width:4px;background:var(--blue);content:""}.reminder-tone-warning:before{background:var(--orange)}.reminder-tone-danger:before{background:var(--red)}.reminder-tone-success:before{background:var(--green)}.reminder-item-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.reminder-status{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:99px;font-size:.64rem;font-weight:800}.status-active{background:var(--green-soft);color:var(--green)}.status-scheduled{background:var(--blue-soft);color:var(--blue)}.status-fixed{background:var(--purple-soft);color:var(--purple)}.status-finished{background:var(--surface);color:var(--text-secondary)}.status-inactive{background:var(--red-soft);color:var(--red)}.reminder-item-actions{gap:6px}.reminder-item-actions button{display:grid;width:32px;height:32px;place-items:center;padding:0;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text-secondary);cursor:pointer}.reminder-item-actions button:hover{border-color:#93c5fd;color:var(--blue)}.reminder-item-actions .danger-button:hover{border-color:#fca5a5;color:var(--red)}.reminder-list-item h3{margin:10px 0 0;color:var(--text-primary);font-size:.9rem}.reminder-list-item>p{margin-top:5px;color:var(--text-secondary);font-size:.76rem;line-height:1.45;overflow-wrap:anywhere}.reminder-schedule{display:flex;align-items:center;gap:6px;margin-top:10px;color:var(--text-secondary);font-size:.68rem;font-weight:650}.admin-empty{display:flex;min-height:220px;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:var(--text-secondary);font-size:.78rem;text-align:center}.admin-empty svg{margin-bottom:4px;color:var(--text-muted)}.admin-empty strong{color:var(--text-primary);font-size:.88rem}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@keyframes reminder-marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes dashboard-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media(max-width:1099px){.dashboard-container{padding:20px}.dashboard-header{grid-template-columns:minmax(0,1fr) auto}.reminder-banner{grid-column:1 / -1;grid-row:2}.reminders-layout{grid-template-columns:1fr}.reminders-list{max-height:none}.main-metrics-grid,.indicator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-metric-card{min-height:126px}.charts-grid{grid-template-columns:1fr}.chart-canvas{height:320px}}@media(max-width:700px){.dashboard-container{padding:16px}.dashboard-header{display:grid;grid-template-columns:1fr;align-items:flex-start;gap:16px;padding-bottom:16px}.reminder-banner{grid-column:1;grid-row:auto;width:100%}.header-meta{display:grid;grid-template-columns:1fr;width:100%;gap:10px}.header-actions{justify-content:flex-start;gap:8px}.reminders-container{padding:20px 16px 32px}.reminders-header{align-items:stretch;flex-direction:column}.reminders-header-actions{justify-content:space-between}.form-grid{grid-template-columns:1fr}.clock-block{min-width:0;text-align:left}.clock-block>span{justify-content:flex-start}.live-status{min-width:0}.main-metrics-grid{grid-template-columns:1fr;gap:12px;margin-top:16px}.main-metric-card{min-height:120px;padding:16px 17px 18px}.metric-accent-bar{right:17px;left:17px}.main-metric-value{font-size:clamp(1.65rem,8.5vw,2.05rem)}.indicators-section{margin-top:22px}.section-heading{align-items:flex-start;flex-direction:column;gap:5px}.indicator-grid{gap:11px}.indicator-card{gap:10px;min-height:110px;padding:13px}.indicator-icon{width:36px;height:36px;border-radius:10px}.indicator-content>strong{font-size:clamp(1.08rem,4.8vw,1.35rem)}.charts-grid{gap:14px;margin-top:22px}.chart-panel{padding:14px 10px 6px}.chart-heading{padding:0 5px 9px}.chart-canvas{height:280px}.status-banner>div{align-items:flex-start;flex-direction:column;gap:5px}}@media(max-width:420px){.dashboard-container{padding:12px}.header-title h1,.clock-block strong{font-size:1.75rem}.clock-block>span,.live-status small{font-size:.65rem}.live-status{padding:9px 10px}.theme-toggle,.header-icon-link{width:42px;height:42px}.reminders-container{padding:16px 12px 28px}.reminder-form-card,.reminders-list-card{padding:16px}.reminders-header-actions{align-items:stretch;flex-direction:column}.reminders-header-actions .secondary-action{width:100%}.form-actions{align-items:stretch;flex-direction:column-reverse}.form-actions .primary-action,.form-actions .secondary-action{width:100%}.month-days-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.indicator-grid{gap:9px}.indicator-card{gap:8px;min-height:108px;padding:11px}.indicator-icon{width:34px;height:34px}.indicator-content>span{font-size:.68rem}.indicator-content>small{font-size:.62rem}.indicator-content>strong{font-size:clamp(1rem,4.7vw,1.2rem)}.chart-heading>span{display:none}.chart-heading h2{font-size:.9rem}.chart-canvas{height:268px}.pin-shell,.state-shell{padding:12px}.pin-card,.state-card{padding:23px 18px}.pin-dots span{height:52px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reminder-slide-content{-webkit-mask-image:none;mask-image:none}.reminder-slide-content strong{display:inline-block;width:max-content;min-width:100%;padding-left:100%;white-space:nowrap;animation-name:reminder-marquee!important;animation-duration:var(--reminder-duration, 12s)!important;animation-timing-function:linear!important;animation-iteration-count:infinite!important}}
