:root{--background: oklch(.2029 .0037 345.62);--foreground: oklch(.9851 0 0);--card: oklch(.2029 .0037 345.62);--card-foreground: oklch(.9851 0 0);--primary: oklch(.4703 .2364 263.19);--primary-foreground: oklch(.9851 0 0);--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.2393 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.9851 0 0 / 5%);--border: oklch(1 0 0 / 10%);--pop: oklch(.9851 0 0 / 2.5%);--input: oklch(1 0 0 / 15%);--ring: oklch(.556 0 0);--success: oklch(.7775 .2447 144.9);--warning: oklch(.769 .188 70.08);--destructive: oklch(.5961 .2006 36.48);--success-dim: oklch(.7775 .2447 144.9 / 10%);--warning-dim: oklch(.769 .188 70.08 / 10%);--destructive-dim: oklch(.5961 .2006 36.48 / 10%);--primary-dim: oklch(.4703 .2364 263.19 / 10%);--radius: .625rem;--radius-sm: calc(var(--radius) - 4px);--radius-md: calc(var(--radius) - 2px);--radius-lg: var(--radius);--font-mono: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-display: "Unbounded", var(--font-mono);--ease-anticipate: cubic-bezier(1, -.4, .35, .95);--tg-bg: var(--card);--tg-secondary-bg: var(--background);--tg-section-bg: var(--card);--tg-text: var(--foreground);--tg-hint: var(--muted-foreground);--tg-link: var(--primary);--tg-button: var(--primary);--tg-button-text: var(--primary-foreground);--tg-destructive: var(--destructive);--tg-separator: var(--border)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--background);color:var(--foreground);font-family:var(--font-mono);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:.03;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.page{flex:1;padding:14px 1rem 84px;display:flex;flex-direction:column;gap:12px}.page-title{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:0;display:flex;align-items:center;gap:10px;padding:2px 2px 0}.page-title:before{content:"[]";font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--primary-foreground);background:var(--primary);border-radius:var(--radius-sm);padding:3px 7px;line-height:1.2;flex:none}.card{border:6px solid transparent;border-radius:var(--radius-lg);background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(var(--pop),var(--pop)) border-box;box-shadow:inset 0 0 0 1px var(--border);padding:14px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-card{border:6px solid transparent;border-radius:var(--radius-lg);background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(var(--pop),var(--pop)) border-box;box-shadow:inset 0 0 0 1px var(--border);padding:12px 14px;display:flex;flex-direction:column;gap:4px;position:relative}.stat-card:before{content:"";position:absolute;top:12px;right:12px;width:10px;height:10px;border-radius:1.5px;background:var(--primary)}.stat-value{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:0;line-height:1.15}.stat-label{font-size:10px;font-weight:500;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:1.2px}.stat-sub{font-size:11px;color:var(--muted-foreground);letter-spacing:.3px}.section-title{font-size:12px;font-weight:500;color:var(--foreground);text-transform:uppercase;letter-spacing:1.4px;padding:8px 2px 0;display:flex;align-items:center;gap:10px}.section-title:before{content:"";width:10px;height:10px;border-radius:1.5px;background:var(--primary);flex:none}.list{display:flex;flex-direction:column;border:6px solid transparent;border-radius:var(--radius-lg);background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(var(--pop),var(--pop)) border-box;box-shadow:inset 0 0 0 1px var(--border);overflow:hidden}.list .card{border:none;border-radius:0;background:transparent;box-shadow:none}.list .card+.card{border-top:1px solid var(--border)}.row{display:flex;align-items:center;gap:10px}.row-main{flex:1;min-width:0}.row-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub{font-size:11px;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.3px}a{color:var(--primary);text-decoration:none}.badge{display:inline-flex;align-items:center;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:1px;padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--muted-foreground);white-space:nowrap}.badge.ok{color:var(--success);border-color:var(--success);background:var(--success-dim)}.badge.warn{color:var(--warning);border-color:var(--warning);background:var(--warning-dim)}.badge.err{color:var(--destructive);border-color:var(--destructive);background:var(--destructive-dim)}.badge.info{color:var(--primary);border-color:var(--primary);background:var(--primary-dim)}.progress-track{height:8px;border-radius:2px;background:var(--muted);border:1px solid var(--border);overflow:hidden}.progress-fill{height:100%;background:var(--primary);transition:width .5s ease-out}.chip-row{display:flex;gap:6px;overflow-x:auto;padding:0 2px;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.chip{border:1px solid var(--border);border-radius:var(--radius-md);padding:6px 14px;font-family:inherit;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;background:transparent;color:var(--muted-foreground);white-space:nowrap;cursor:pointer;transition:all .2s ease-out}.chip.active{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.todo-input-row{display:flex;gap:8px}.todo-input{flex:1;border:1px solid var(--input);border-radius:var(--radius-md);padding:11px 13px;font-family:inherit;font-size:14px;background:#ffffff08;color:var(--foreground);outline:none}.todo-input:focus{border-color:var(--primary)}.todo-input::placeholder{color:var(--muted-foreground)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--primary);border-radius:var(--radius-md);padding:11px 18px;font-family:inherit;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;background:var(--primary);color:var(--primary-foreground);cursor:pointer;transition:all .2s ease-out}.btn:hover:not(:disabled){opacity:.9}.btn:disabled{opacity:.45}.todo-check{width:20px;height:20px;min-width:20px;border-radius:var(--radius-sm);border:1px solid var(--muted-foreground);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--primary-foreground);font-size:13px;line-height:1}.todo-check.done{background:var(--primary);border-color:var(--primary)}.todo-text.done{text-decoration:line-through;color:var(--muted-foreground)}.todo-delete{border:none;background:transparent;color:var(--muted-foreground);font-size:18px;cursor:pointer;padding:4px 8px}.action-form{display:flex;flex-direction:column;gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:10px;font-weight:700;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:1.2px}.field-input{border:1px solid var(--input);border-radius:var(--radius-md);padding:10px 12px;font-family:inherit;font-size:14px;background:#ffffff08;color:var(--foreground);outline:none;width:100%;box-sizing:border-box}.field-input:focus{border-color:var(--primary)}.check-row{display:flex;align-items:center;gap:10px;font-size:13px;cursor:pointer}.check-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--primary)}.btn-danger{background:var(--destructive);border-color:var(--destructive);color:var(--primary-foreground)}.approve-bar{display:flex;gap:8px}.approve-bar .btn{flex:1;padding:11px 8px;font-size:11px}.log-box{background:#0a0909;color:var(--muted-foreground);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;font-family:inherit;font-size:11px;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:45vh;overflow-y:auto;margin:0}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;background:#181617eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tab{flex:1;border:none;background:transparent;color:var(--muted-foreground);font-family:inherit;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:9px 0 11px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;transition:color .2s ease-out}.tab.active{color:var(--foreground)}.tab.active:before{content:"";position:absolute;top:0;left:25%;right:25%;height:2px;background:var(--primary)}.tab svg{width:20px;height:20px}.empty{text-align:center;color:var(--muted-foreground);padding:32px 16px;font-size:12px;text-transform:uppercase;letter-spacing:1.2px;border:1px dashed var(--border);border-radius:var(--radius-lg)}.error-box{background:var(--destructive-dim);border:1px solid var(--destructive);border-radius:var(--radius-lg);padding:14px;color:var(--destructive);font-size:13px}.skeleton{border-radius:var(--radius-lg);background:var(--pop);border:1px solid var(--border);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}:root{--chart-sent: oklch(.62 .2 263.19);--chart-replied: var(--success)}.chart-card{border:6px solid transparent;border-radius:var(--radius-lg);background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(var(--pop),var(--pop)) border-box;box-shadow:inset 0 0 0 1px var(--border);padding:12px 14px 8px;display:flex;flex-direction:column;gap:8px}.chart-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.range-toggle{display:flex;gap:4px;border:1px solid var(--border);border-radius:var(--radius-md);padding:3px}.range-btn{border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted-foreground);font-family:inherit;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:5px 12px;cursor:pointer;transition:all .2s ease-out}.range-btn.active{background:var(--primary);color:var(--primary-foreground)}.chart-legend{display:flex;gap:14px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted-foreground)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:9px;height:9px;border-radius:1.5px;transform:rotate(45deg)}.swatch-sent{background:var(--chart-sent)}.swatch-replied{background:var(--chart-replied)}.chart-svg{width:100%;height:auto;display:block}.chart-grid{stroke:var(--border);stroke-width:1;stroke-dasharray:3 5}.chart-tick{fill:var(--muted-foreground);font-family:var(--font-mono);font-size:10px;letter-spacing:.5px}.chart-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.line-sent{stroke:var(--chart-sent)}.line-replied{stroke:var(--chart-replied)}.chart-wrap{position:relative}.chart-hover-g{pointer-events:none}.chart-hover-line{stroke:var(--foreground);stroke-width:1;stroke-dasharray:4 4;opacity:.45}.chart-dot{stroke:var(--card);stroke-width:2;animation:dot-in .18s ease-out}.dot-sent{fill:var(--chart-sent)}.dot-replied{fill:var(--chart-replied)}@keyframes dot-in{0%{opacity:0;transform:scale(.4);transform-origin:center;transform-box:fill-box}to{opacity:1;transform:scale(1);transform-origin:center;transform-box:fill-box}}.chart-tooltip{position:absolute;top:14%;transform:translate(12px) translateY(4px);min-width:170px;background:#110f10f5;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000073;padding:10px 12px;display:flex;flex-direction:column;gap:7px;pointer-events:none;opacity:0;transition:opacity .16s ease-out,transform .16s ease-out,left .1s ease-out;z-index:5}.chart-tooltip.visible{opacity:1;transform:translate(12px) translateY(0)}.chart-tooltip.flip{transform:translate(calc(-100% - 12px)) translateY(4px)}.chart-tooltip.flip.visible{transform:translate(calc(-100% - 12px)) translateY(0)}.tooltip-date{font-size:11px;font-weight:700;letter-spacing:1px;border-bottom:1px solid var(--border);padding-bottom:6px}.tooltip-row{display:flex;align-items:center;gap:8px;font-size:11px}.tooltip-label{flex:1;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.8px}.tooltip-value{font-weight:700;font-size:12px}.field-row{display:flex;gap:12px}.field-row .field{flex:1}textarea.dm-template{resize:vertical;min-height:120px;font-family:inherit;line-height:1.5}.link-btn{background:none;border:none;padding:0;color:var(--primary);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}.link-btn:disabled{opacity:.5;cursor:default}.fs-btn{position:fixed;top:calc(10px + env(safe-area-inset-top));right:12px;z-index:100;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-md);background:#181617d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--muted-foreground);cursor:pointer;transition:all .2s ease-out}.fs-btn:hover{color:var(--foreground);border-color:var(--primary)}.fs-btn svg{width:16px;height:16px}.fs-btn--fs{top:calc(64px + env(safe-area-inset-top))}.sidebar,.rightbar{display:none}@media (min-width: 1100px){.app{display:grid;grid-template-columns:250px minmax(0,1fr) 320px;gap:14px;max-width:1760px;margin:0 auto;padding:14px;align-items:start}.tabbar{display:none}.main-area{min-width:0}.page{padding:4px 6px 40px}.stat-grid{grid-template-columns:repeat(4,1fr)}.stat-value{font-size:34px}.page-title{font-size:28px}.fs-btn{top:18px;right:18px}.fs-btn--fs{top:64px;right:56px}.sidebar{display:flex;flex-direction:column;gap:12px;position:sticky;top:14px;height:calc(100vh - 28px);border:6px solid transparent;border-radius:var(--radius-lg);background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(var(--pop),var(--pop)) border-box;box-shadow:inset 0 0 0 1px var(--border);padding:16px 12px}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:2px 6px 12px;border-bottom:1px solid var(--border)}.sidebar-logo-mark{width:38px;height:38px;border-radius:var(--radius-md);background:#0a0909;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--foreground);flex:none}.sidebar-logo-mark svg{width:18px;height:18px}.sidebar-logo-title{font-family:var(--font-display);font-size:17px;font-weight:800;letter-spacing:.5px}.sidebar-logo-sub{font-size:9px;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:1.2px}.sidebar-section-label{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted-foreground);padding:4px 6px 0}.sidebar-section-label .bullet{width:9px;height:9px;border-radius:1.5px;background:var(--primary);flex:none}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-item{display:flex;align-items:center;gap:10px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--muted-foreground);font-family:inherit;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;padding:11px 12px;cursor:pointer;text-align:left;transition:all .2s ease-out}.sidebar-item:hover{color:var(--foreground);background:var(--accent)}.sidebar-item.active{color:var(--foreground);background:var(--accent);box-shadow:inset 0 0 0 1px var(--border)}.sidebar-item svg{width:17px;height:17px;flex:none}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:10px}.sidebar-profile{padding:0 6px 4px}.sidebar-profile-name{font-family:var(--font-display);font-size:14px;font-weight:700}.sidebar-profile-sub{font-size:9px;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:1.2px}.rightbar{display:flex;flex-direction:column;gap:14px;position:sticky;top:14px;max-height:calc(100vh - 28px);overflow-y:auto;scrollbar-width:thin}.clock-card{border:6px solid transparent;border-radius:var(--radius-lg);background:linear-gradient(#0a0909,#0a0909) padding-box,linear-gradient(var(--pop),var(--pop)) border-box;box-shadow:inset 0 0 0 1px var(--border);padding:16px;display:flex;flex-direction:column;gap:10px}.clock-head{display:flex;justify-content:space-between;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted-foreground)}.clock-time{font-family:var(--font-display);font-size:52px;font-weight:800;text-align:center;letter-spacing:1px;line-height:1.1;padding:8px 0 4px}.rightbar-events{border:6px solid transparent;border-radius:var(--radius-lg);background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(var(--pop),var(--pop)) border-box;box-shadow:inset 0 0 0 1px var(--border);padding:12px;display:flex;flex-direction:column;gap:10px}.rightbar-events-head{display:flex;align-items:center;gap:8px;padding:2px 2px 4px}.rightbar-events-count{font-size:10px;font-weight:700;color:var(--primary-foreground);background:var(--primary);border-radius:var(--radius-sm);padding:2px 7px}.rightbar-events-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px}.event-card{background:var(--accent);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;display:flex;flex-direction:column;gap:5px}.event-head{display:flex;align-items:center;gap:8px}.event-dot{width:7px;height:7px;border-radius:50%;flex:none}.dot-green{background:var(--success)}.dot-yellow{background:var(--warning)}.event-title{flex:1;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.event-text{font-size:11.5px;color:var(--muted-foreground);line-height:1.5}.event-ago{font-size:10px;color:var(--muted-foreground);letter-spacing:.5px}}@media (prefers-reduced-motion: reduce){body:after{display:none}.skeleton{animation:none}*{transition:none!important}}
