:root{--bg-primary:var(--tg-theme-bg-color,#090d16);--bg-secondary:var(--tg-theme-secondary-bg-color,#131b2e);--bg-card:#1a233ab3;--bg-card-hover:#233050d9;--text-primary:var(--tg-theme-text-color,#f1f5f9);--text-secondary:var(--tg-theme-hint-color,#94a3b8);--text-muted:#64748b;--accent:var(--tg-theme-button-color,#38bdf8);--accent-hover:#0284c7;--accent-text:var(--tg-theme-button-text-color,#fff);--border-color:#94a3b826;--border-highlight:#38bdf866;--success:#10b981;--success-bg:#10b98126;--warning:#f59e0b;--warning-bg:#f59e0b26;--danger:#ef4444;--danger-bg:#ef444426;--info:#38bdf8;--info-bg:#38bdf826;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--bottom-nav-height:60px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{height:100%;min-height:100%;overflow-x:hidden}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom);background-image:radial-gradient(at 0 0,#38bdf814 0,#0000 50%),radial-gradient(at 100% 100%,#8b5cf614 0,#0000 50%);background-attachment:fixed}.app-container{flex-direction:column;min-height:100vh;display:flex}.content-container{flex:1}main{max-width:960px;padding:16px 16px calc(var(--bottom-nav-height) + 24px + env(safe-area-inset-bottom));width:100%;margin:0 auto}@media (min-width:768px){main{padding:24px 20px 60px}}a{color:inherit;text-decoration:none}.app-header{z-index:50;-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));background:#090d16d9;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:12px;max-width:960px;margin:0 auto;display:flex}.nav-brand{letter-spacing:-.02em;background:linear-gradient(135deg,#38bdf8,#818cf8);-webkit-text-fill-color:transparent;-webkit-user-select:none;user-select:none;-webkit-background-clip:text;align-items:center;gap:8px;font-size:1.15rem;font-weight:800;display:flex}.brand-icon{-webkit-text-fill-color:initial;font-size:1.25rem}.desktop-links{align-items:center;gap:8px;display:none}@media (min-width:768px){.desktop-links{display:flex}}.nav-link{color:var(--text-secondary);border-radius:var(--radius-sm);padding:6px 14px;font-size:.9rem;font-weight:600;transition:all .15s}.nav-link:hover,.nav-link.active{color:var(--text-primary);background:#ffffff14}.header-right{align-items:center;gap:8px;display:flex}.user-badge{white-space:nowrap;text-overflow:ellipsis;border-radius:9999px;max-width:120px;padding:4px 8px;font-size:.75rem;font-weight:700;overflow:hidden}.tg-badge{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d}.web-badge{color:#94a3b8;background:#94a3b81f;border:1px solid #94a3b833}.bottom-nav{z-index:40;-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-color);height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#0f172af2;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}@media (min-width:768px){.bottom-nav{display:none}}.bottom-nav-item{height:100%;color:var(--text-muted);-webkit-user-select:none;user-select:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:.72rem;font-weight:600;transition:all .15s;display:flex}.bottom-nav-icon{font-size:1.25rem;line-height:1;transition:transform .15s}.bottom-nav-item.active{color:#38bdf8}.bottom-nav-item.active .bottom-nav-icon{transform:scale(1.15)}h1{letter-spacing:-.025em;margin-bottom:6px;font-size:1.55rem;font-weight:800;line-height:1.2}@media (min-width:640px){h1{font-size:1.85rem}}h2{letter-spacing:-.02em;margin-bottom:8px;font-size:1.25rem;font-weight:700;line-height:1.25}h3{margin-bottom:6px;font-size:1.05rem;font-weight:600}p{color:var(--text-secondary);line-height:1.5}.muted{color:var(--text-muted);font-size:.85rem}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;padding:16px;transition:border-color .15s,box-shadow .15s;box-shadow:0 4px 20px #0003}@media (min-width:640px){.card{padding:20px}}.card-interactive{cursor:pointer}.card-interactive:hover,.card-interactive:active{border-color:var(--border-highlight);box-shadow:0 8px 30px #38bdf81a}.grid{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:640px){.grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media (min-width:900px){.grid-3{grid-template-columns:repeat(3,1fr)}}button,.button{border-radius:var(--radius-sm);cursor:pointer;background-color:var(--accent);min-height:44px;color:var(--accent-text);-webkit-user-select:none;user-select:none;text-align:center;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-family:inherit;font-size:.92rem;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 2px 10px #38bdf840}button:hover,.button:hover{background-color:var(--accent-hover);box-shadow:0 4px 16px #38bdf859}button:active,.button:active{transform:scale(.98)}button:disabled,.button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.button-secondary{color:var(--text-primary);border:1px solid var(--border-color);box-shadow:none;background-color:#ffffff14}.button-secondary:hover{box-shadow:none;background-color:#ffffff1f;border-color:#94a3b84d}.button-danger{color:#f87171;box-shadow:none;background-color:#ef44442e;border:1px solid #ef44444d}.button-danger:hover{background-color:#ef44444d}.button-success{color:#fff;background-color:#10b981;box-shadow:0 2px 10px #10b9814d}.button-success:hover{background-color:#059669}.button-sm{min-height:36px;padding:8px 12px;font-size:.82rem}.button-full{width:100%}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}label{color:var(--text-secondary);margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.form-group{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form-group label,.form-group input,.form-group textarea,.form-group select{margin-bottom:0}.form-row{grid-template-columns:1fr;gap:12px;margin-bottom:14px;display:grid}@media (min-width:600px){.form-row-2{grid-template-columns:1fr 1fr}.form-row-prize{grid-template-columns:2fr 1fr}}input,textarea,select{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;min-height:46px;color:var(--text-primary);appearance:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0f172ad9;margin-bottom:14px;padding:12px 14px;font-family:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s,background-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent);background:#141e37f2;outline:none;box-shadow:0 0 0 3px #38bdf833}input::placeholder,textarea::placeholder{color:var(--text-muted);font-size:.9rem}input[type=datetime-local],input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(.8)brightness(1.2);cursor:pointer;opacity:.75;padding:2px}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.8)brightness(1.2);cursor:pointer;opacity:.75;padding:2px}textarea{resize:vertical;min-height:90px}select{cursor:pointer;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%2394a3b8%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-position:right 14px top 50%;background-repeat:no-repeat;background-size:10px;padding-right:36px}.switch-container{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0a;justify-content:space-between;align-items:center;gap:14px;padding:14px;transition:background .15s,border-color .15s;display:flex}.switch-container:hover,.switch-container:active{background:#ffffff12;border-color:#38bdf84d}.switch-label-group{flex-direction:column;flex:1;gap:3px;display:flex}.switch-title{color:var(--text-primary);font-size:.95rem;font-weight:700}.switch-desc{color:var(--text-secondary);font-size:.8rem;line-height:1.4}.switch-track{background:#ffffff26;border-radius:9999px;flex-shrink:0;width:50px;height:28px;transition:background .2s cubic-bezier(.16,1,.3,1);position:relative}.switch-track.active{background:var(--accent)}.switch-thumb{background:#fff;border-radius:9999px;width:22px;height:22px;transition:transform .2s cubic-bezier(.16,1,.3,1);position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0000004d}.switch-track.active .switch-thumb{transform:translate(22px)}.segmented-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px;display:grid}@media (min-width:500px){.segmented-grid-4{grid-template-columns:repeat(4,1fr)}}.segmented-item{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center;background:#ffffff0a;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:10px 8px;font-size:.82rem;font-weight:600;transition:all .15s;display:flex}.segmented-item:hover{color:var(--text-primary);background:#ffffff14}.segmented-item.active{border-color:var(--accent);color:#38bdf8;background:#38bdf826;font-weight:700}.segmented-icon{font-size:1.35rem;line-height:1}.tabs{-webkit-overflow-scrolling:touch;gap:6px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.tab{color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;white-space:nowrap;min-height:38px;box-shadow:none;background:#ffffff0d;border-radius:9999px;padding:8px 14px;font-size:.85rem;font-weight:600;transition:all .15s}.tab:hover{color:var(--text-primary);background:#ffffff1a}.tab.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px;display:grid}@media (min-width:640px){.stats-grid{grid-template-columns:repeat(4,1fr);gap:14px}}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:14px;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:.76rem;font-weight:600}.stat-value{color:var(--text-primary);font-size:1.45rem;font-weight:800}.stat-hint{color:var(--text-muted);font-size:.72rem}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:9999px;align-items:center;gap:5px;width:fit-content;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.badge-draft{color:#94a3b8;background:#94a3b826;border:1px solid #94a3b84d}.badge-scheduled{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d}.badge-active{color:#34d399;background:#34d39926;border:1px solid #34d3994d}.badge-locked{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.badge-drawing{color:#c084fc;background:#a855f726;border:1px solid #a855f74d;animation:1.5s infinite pulse}.badge-completed{color:#10b981;background:#10b98126;border:1px solid #10b9814d}.badge-cancelled{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.risk-low{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.risk-medium{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.risk-high{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);background:#000000b3;justify-content:center;align-items:flex-end;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}@media (min-width:640px){.modal-overlay{align-items:center;padding:20px}}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:90vh;padding:20px;padding-bottom:max(20px, env(safe-area-inset-bottom));animation:.2s cubic-bezier(.16,1,.3,1) slideUp;overflow-y:auto;box-shadow:0 -10px 40px #00000080}@media (min-width:640px){.modal-content{border-radius:var(--radius-md);max-width:580px;animation:.15s ease-out fadeIn;box-shadow:0 20px 60px #00000080}}.sheet-drag-handle{background:#94a3b866;border-radius:9999px;width:40px;height:4px;margin:-8px auto 14px}@media (min-width:640px){.sheet-drag-handle{display:none}}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.modal-close{width:32px;height:32px;min-height:unset;color:var(--text-secondary);cursor:pointer;box-shadow:none;background:#ffffff1a;border:none;border-radius:9999px;justify-content:center;align-items:center;padding:0;font-size:1.25rem;display:flex}code{border:1px solid var(--border-color);color:#38bdf8;word-break:break-all;background:#00000059;border-radius:4px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82em}.hash-box{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#0000004d;flex-direction:column;gap:4px;margin-bottom:10px;padding:10px 12px;display:flex}.hash-box-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.72rem;font-weight:700;display:flex}.hash-value{color:#38bdf8;word-break:break-all;-webkit-user-select:all;user-select:all;font-family:ui-monospace,monospace;font-size:.8rem}.signal-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.signal-item{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#00000040;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.signal-info{flex-direction:column;gap:2px;display:flex}.signal-title{color:var(--text-primary);font-size:.85rem;font-weight:600}.signal-reason{color:var(--text-secondary);font-size:.78rem}.signal-score{color:#f87171;white-space:nowrap;font-size:.95rem;font-weight:800}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}
