.line-icon{--icon-size:1.08em;width:var(--icon-size);height:var(--icon-size);flex:0 0 var(--icon-size);color:#f0f6fc;vertical-align:-.14em;-webkit-mask:var(--line-icon) center / contain no-repeat;-webkit-mask:var(--line-icon) center / contain no-repeat;mask:var(--line-icon) center / contain no-repeat;background:currentColor;display:inline-flex}.line-icon-chart{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19V5'/%3E%3Cpath d='M5 19h14'/%3E%3Cpath d='M9 17V8'/%3E%3Cpath d='M7.5 12h3'/%3E%3Cpath d='M15 17V6'/%3E%3Cpath d='M13.5 10h3'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-journal{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4.5h8.5L18 7v12.5H7z'/%3E%3Cpath d='M15.5 4.5V7H18'/%3E%3Cpath d='M5 7.5h2'/%3E%3Cpath d='M5 11.5h2'/%3E%3Cpath d='M5 15.5h2'/%3E%3Cpath d='M10 11h5'/%3E%3Cpath d='M10 15h4'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-target{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='6.5'/%3E%3Ccircle cx='12' cy='12' r='2.5'/%3E%3Cpath d='M12 3.5v3'/%3E%3Cpath d='M12 17.5v3'/%3E%3Cpath d='M3.5 12h3'/%3E%3Cpath d='M17.5 12h3'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-budget{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 8.5h10v10H7z'/%3E%3Cpath d='M9 8.5V6.5h6v2'/%3E%3Cpath d='M12 11v5'/%3E%3Cpath d='M10 12.5h3.5a1.5 1.5 0 0 1 0 3H10'/%3E%3Cpath d='M10.5 10.5h3.5'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-toolbox{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9.5h14v9H5z'/%3E%3Cpath d='M9 9.5V7a1.5 1.5 0 0 1 1.5-1.5h3A1.5 1.5 0 0 1 15 7v2.5'/%3E%3Cpath d='M5 13h14'/%3E%3Cpath d='M11 13v2h2v-2'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-calculator{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4.5h10v15H7z'/%3E%3Cpath d='M10 8h4'/%3E%3Cpath d='M10 12h1'/%3E%3Cpath d='M14 12h1'/%3E%3Cpath d='M10 16h1'/%3E%3Cpath d='M14 16h1'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-pencil{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 18.5l4.5-1 8.8-8.8-3.3-3.3-8.8 8.8z'/%3E%3Cpath d='M13.6 6.8l3.3 3.3'/%3E%3Cpath d='M5 18.5h5'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-ruler{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 16.5l11.5-11.5 2.5 2.5L7.5 19z'/%3E%3Cpath d='M8.5 13l2 2'/%3E%3Cpath d='M11 10.5l1.5 1.5'/%3E%3Cpath d='M13.5 8l2 2'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-bell{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 17h11'/%3E%3Cpath d='M8 17V10a4 4 0 0 1 8 0v7'/%3E%3Cpath d='M10.5 19a1.8 1.8 0 0 0 3 0'/%3E%3Cpath d='M8 12.5c-.9 1-1.5 2.2-1.5 4.5'/%3E%3Cpath d='M16 12.5c.9 1 1.5 2.2 1.5 4.5'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-compare{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M7 8h10'/%3E%3Cpath d='M8 8l-3 6'/%3E%3Cpath d='M8 8l3 6'/%3E%3Cpath d='M5 14h6'/%3E%3Cpath d='M16 8l-3 6'/%3E%3Cpath d='M16 8l3 6'/%3E%3Cpath d='M13 14h6'/%3E%3Cpath d='M9 19h6'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-search{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='5.5'/%3E%3Cpath d='M15 15l4 4'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-lock{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10h10v9H7z'/%3E%3Cpath d='M9 10V8a3 3 0 0 1 6 0v2'/%3E%3Cpath d='M12 14v2'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-unlock{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10h10v9H7z'/%3E%3Cpath d='M9 10V8a3 3 0 0 1 5.4-1.8'/%3E%3Cpath d='M12 14v2'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-fullscreen{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4H4v4'/%3E%3Cpath d='M16 4h4v4'/%3E%3Cpath d='M8 20H4v-4'/%3E%3Cpath d='M16 20h4v-4'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-gear{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 4.5v2'/%3E%3Cpath d='M12 17.5v2'/%3E%3Cpath d='M4.5 12h2'/%3E%3Cpath d='M17.5 12h2'/%3E%3Cpath d='M6.7 6.7l1.4 1.4'/%3E%3Cpath d='M15.9 15.9l1.4 1.4'/%3E%3Cpath d='M17.3 6.7l-1.4 1.4'/%3E%3Cpath d='M8.1 15.9l-1.4 1.4'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-save{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 5h10l2 2v12H6z'/%3E%3Cpath d='M9 5v5h6V5'/%3E%3Cpath d='M9 19v-5h6v5'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-inbox{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l2-7h10l2 7v5H5z'/%3E%3Cpath d='M5 13h4l1.2 2h3.6L15 13h4'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-warning{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4.5l8 14H4z'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 16.5h.01'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-shield{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4.5l6 2v5c0 4-2.2 6.5-6 8-3.8-1.5-6-4-6-8v-5z'/%3E%3Cpath d='M9.5 12l1.6 1.6 3.4-3.6'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-eye{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12s3-5 8-5 8 5 8 5-3 5-8 5-8-5-8-5z'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-trash{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12'/%3E%3Cpath d='M9 7V5h6v2'/%3E%3Cpath d='M8 7l.7 12h6.6L16 7'/%3E%3Cpath d='M10.5 10.5v5'/%3E%3Cpath d='M13.5 10.5v5'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-play{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 6.5v11l8-5.5z' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.line-icon-pause{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6.5v11'/%3E%3Cpath d='M15 6.5v11'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-arrow-up{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5'/%3E%3Cpath d='M7 10l5-5 5 5'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-arrow-down{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M7 14l5 5 5-5'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-home{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 11.5L12 5l7 6.5'/%3E%3Cpath d='M7 10.5V19h10v-8.5'/%3E%3Cpath d='M10 19v-5h4v5'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-timeline{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 5v14'/%3E%3Ccircle cx='6' cy='7' r='1.5'/%3E%3Ccircle cx='6' cy='12' r='1.5'/%3E%3Ccircle cx='6' cy='17' r='1.5'/%3E%3Cpath d='M10 7h8'/%3E%3Cpath d='M10 12h6'/%3E%3Cpath d='M10 17h8'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-line-horizontal{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12h14' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}.line-icon-rectangle{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='6' y='7' width='12' height='10' rx='1.5' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3C/svg%3E")}.line-icon-arrow-line{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18L18 6'/%3E%3Cpath d='M12 6h6v6'/%3E%3C/g%3E%3C/svg%3E")}.line-icon-cursor{--line-icon:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4.5l9 8-4.5 1 2.5 5-2.4 1.1-2.5-5-3 3z'/%3E%3C/g%3E%3C/svg%3E")}:root{--bg-primary:#0d1117;--bg-secondary:#161b22;--bg-tertiary:#1c2129;--border-color:#30363d;--text-primary:#c9d1d9;--text-secondary:#8b949e;--accent:#58a6ff;--gain:#3fb950;--loss:#f85149;--warn:#f0b429}body{background:var(--bg-primary);color:var(--text-primary);margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}#admin-app{box-sizing:border-box;min-height:100dvh;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}.admin-toolbar{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);top:env(safe-area-inset-top);z-index:10;position:sticky}.admin-toolbar-inner{flex-wrap:wrap;align-items:center;gap:24px;max-width:1200px;margin:0 auto;padding:12px 20px;display:flex}.admin-toolbar .logo{align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.admin-toolbar .logo-icon{width:24px;height:24px}.admin-nav{flex-wrap:wrap;gap:4px;display:flex}.admin-nav-link{color:var(--text-secondary);border-radius:6px;padding:6px 12px;font-size:13px;transition:all .15s}.admin-nav-link:hover{background:var(--bg-tertiary);color:var(--text-primary)}.admin-nav-link.active{background:var(--accent);color:#fff}html.admin-embedded,body.admin-embedded{scrollbar-width:none;-ms-overflow-style:none;padding:0}html.admin-embedded::-webkit-scrollbar{display:none}body.admin-embedded::-webkit-scrollbar{display:none}body.admin-embedded .admin-toolbar{display:none}body.admin-embedded .admin-main{max-width:none;padding:0}body.admin-embedded .admin-page-header{display:none}.admin-main{max-width:1200px;margin:0 auto;padding:24px 20px 80px}.admin-page-header{margin-bottom:24px}.admin-page-header h1{align-items:center;gap:8px;margin:0 0 4px;font-size:24px;display:flex}.admin-title-icon{width:26px;height:26px;color:var(--text-primary);flex:0 0 26px;justify-content:center;align-items:center;display:inline-flex}.admin-nav-link .line-icon,.btn .line-icon{--icon-size:16px}.admin-title-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px;display:block}.admin-page-desc{color:var(--text-secondary);margin:0;font-size:13px}.form-group{margin-bottom:12px}.form-group label,.form-row label{color:var(--text-secondary);margin-bottom:4px;font-size:12px;display:block}.form-input{background:var(--bg-tertiary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:6px;padding:8px 12px;font-family:inherit;font-size:14px}.form-input:focus{border-color:var(--accent);outline:none}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-hint{color:var(--text-secondary);margin-top:4px;font-size:11px;display:block}.btn{background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;border:1px solid #0000;border-radius:6px;padding:8px 16px;font-family:inherit;font-size:13px;transition:all .15s}.btn:hover{background:#2a313a}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#4493f8}.btn-secondary{border-color:var(--border-color)}.btn-danger{border-color:var(--loss);color:var(--loss)}.btn-danger:hover{background:#f851491a}.empty-state{text-align:center;color:var(--text-secondary);padding:40px 20px}.empty-icon{margin-bottom:8px;font-size:32px;display:block}.admin-toast{background:var(--bg-secondary);border:1px solid var(--border-color);z-index:999;opacity:0;border-radius:8px;padding:10px 20px;font-size:13px;transition:transform .2s,opacity .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(100px)}.admin-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.admin-toast-success{border-color:var(--gain)}.admin-toast-error{border-color:var(--loss)}.gain{color:var(--gain)}.loss{color:var(--loss)}.warn{color:var(--warn)}.regime-list{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.regime-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:16px}.regime-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.regime-card-header h2{margin:0;font-family:JetBrains Mono,monospace;font-size:18px}.regime-phase-group{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.regime-phase-group select{width:auto;padding:4px 8px;font-size:12px}.point-group{border:1px solid var(--border-color);border-radius:8px;margin:8px 0;padding:10px 12px}.point-group legend{color:var(--text-secondary);padding:0 6px;font-size:12px}.point-row{grid-template-columns:80px 1fr;align-items:center;gap:8px;margin-bottom:6px;display:grid}.point-row:last-child{margin-bottom:0}.point-row label{text-align:right;margin:0}.point-row input{padding:5px 8px;font-size:13px}.regime-card-actions{gap:8px;margin-top:12px;display:flex}.regime-non-ranging-hint{border:1px dashed var(--border-color);color:var(--text-secondary);text-align:center;background:#58a6ff0f;border-radius:8px;margin:8px 0;padding:12px 14px;font-size:12px}.budget-page{grid-template-columns:1fr;gap:16px;max-width:720px;display:grid}.budget-card,.budget-stats{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px}.budget-card h2,.budget-stats h2{margin:0 0 16px;font-size:16px}.budget-actions{gap:8px;margin-top:12px;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:16px;display:grid}.stat-cell{background:var(--bg-tertiary);border-radius:8px;flex-direction:column;gap:4px;padding:12px;display:flex}.stat-label{color:var(--text-secondary);font-size:11px}.stat-value{font-family:JetBrains Mono,monospace;font-size:20px;font-weight:600}.budget-bar-wrapper{margin-top:16px}.budget-bar-label{justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.budget-bar-pct.ok{color:var(--gain)}.budget-bar-pct.warn{color:var(--warn)}.budget-bar-pct.tripped{color:var(--loss)}.budget-bar{background:var(--bg-tertiary);border-radius:4px;width:100%;height:8px;overflow:hidden}.budget-bar-fill{background:var(--gain);height:100%;transition:width .3s}.budget-bar-fill.warn{background:var(--warn)}.budget-bar-fill.tripped{background:var(--loss)}.budget-warn{border-radius:6px;align-items:center;gap:6px;margin-top:12px;padding:10px 12px;font-size:13px;display:flex}.budget-warn.warn{color:var(--warn);background:#f0b4291a;border:1px solid #f0b4294d}.budget-warn.tripped{color:var(--loss);background:#f851491a;border:1px solid #f851494d}.trades-status-tabs{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;gap:4px;margin-bottom:12px;padding:4px;display:inline-flex}.trade-status-tab{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 14px;font-size:13px}.trade-status-tab.active{background:var(--accent);color:#fff;font-weight:600}.trades-filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.trades-filters .form-input{width:auto;min-width:120px}.closed-time-filter{position:relative}.closed-time-popover{z-index:20;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;min-width:300px;padding:10px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 30px #00000059}.closed-time-option{width:100%;color:var(--text-primary);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;margin-bottom:6px;padding:8px 10px;font-size:13px;display:block}.closed-time-option:hover,.closed-time-option.active{background:var(--bg-tertiary)}.closed-time-option.muted{color:var(--text-secondary);margin-bottom:0}.closed-time-date-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0;display:grid}.closed-time-date-row label{color:var(--text-secondary);gap:4px;font-size:11px;display:grid}.closed-time-date-row .form-input{width:100%;min-width:0}.closed-time-date-row .btn{grid-column:1/-1}.trades-summary{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding:12px 16px;font-size:13px;display:flex}.trades-list{flex-direction:column;gap:8px;display:flex}.trade-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;transition:border-color .15s;overflow:hidden}.trade-card:hover{border-color:#3a414a}.trade-card.status-open{border-left:3px solid var(--accent)}.trade-card.status-closed{border-left:3px solid #0000}.trade-card-header{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.trade-card-main{flex-wrap:wrap;flex:1 1 0;align-items:center;gap:12px;min-width:0;font-size:13px;display:flex}.trade-card-tail{align-items:center;gap:8px;font-size:13px;display:flex}.trade-symbol{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600}.trade-direction.long{color:var(--gain)}.trade-direction.short{color:var(--loss)}.trade-time,.trade-duration,.trade-entry-inline{color:var(--text-secondary);font-size:12px}.trade-pnl{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600}.trade-pnl.gain{color:var(--gain)}.trade-pnl.loss{color:var(--loss)}.trade-card-metrics{flex-wrap:wrap;flex-basis:100%;gap:6px 10px;display:flex}.trade-card-metrics.primary{margin-top:2px}.trade-card.status-closed .trade-card-metrics.primary,.trade-card.status-open .trade-card-metrics.primary{grid-template-rows:repeat(2,auto);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-auto-flow:column;gap:6px 18px;display:grid}.trade-card-metrics.secondary{color:var(--text-secondary);font-size:11px}.trade-metric{white-space:nowrap;align-items:baseline;gap:4px;display:inline-flex}.trade-metric .metric-label{color:var(--text-secondary);font-size:11px}.trade-metric .metric-value{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-weight:600}.trade-card.status-closed .trade-metric,.trade-card.status-open .trade-metric{grid-template-columns:58px minmax(0,1fr);align-items:baseline;gap:6px;display:grid}.trade-card.status-open .trade-metric{grid-template-columns:70px minmax(0,1fr)}.trade-card.status-closed .trade-metric .metric-label,.trade-card.status-open .trade-metric .metric-label{text-align:right}.trade-card.status-closed .trade-metric .metric-value,.trade-card.status-open .trade-metric .metric-value{min-width:0}.trade-metric.gain .metric-value{color:var(--gain)}.trade-metric.loss .metric-value{color:var(--loss)}.badge{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;padding:2px 6px;font-size:11px}.badge-warn{border-color:var(--warn);color:var(--warn)}.trade-inline-badge{background:#d2992214;align-items:center;gap:3px;padding:1px 5px;font-size:10px;line-height:1.3;display:inline-flex}.badge-danger{border-color:var(--loss);color:var(--loss)}.trade-expand-icon{color:var(--text-secondary);transition:transform .2s}.trade-card.expanded .trade-expand-icon{transform:rotate(180deg)}.trade-card-body{border-top:1px solid var(--border-color);background:var(--bg-primary);padding:16px;display:none}.trade-card.expanded .trade-card-body{display:block}.trade-section{margin-bottom:16px}.trade-section h3{color:var(--text-secondary);align-items:center;gap:6px;margin:0 0 8px;font-size:13px;font-weight:500;display:flex}.fill-timeline{font-family:JetBrains Mono,monospace;font-size:12px}.fill-row{background:var(--bg-secondary);border-radius:6px;grid-template-columns:80px 140px 80px 110px 1fr auto;align-items:center;gap:8px;margin-bottom:4px;padding:8px 12px;display:grid}.fill-row .fill-snapshot{color:var(--text-secondary);grid-column:1/-1;margin-top:4px;font-size:11px}.fill-action{align-items:center;gap:6px;font-weight:500;display:flex}.fill-action-icon{vertical-align:middle;flex-shrink:0;width:16px;height:16px}.fill-row.dir-long.action-open,.fill-row.dir-long.action-add{background:#3fb95014}.fill-row.dir-long.action-reduce,.fill-row.dir-long.action-close,.fill-row.dir-short.action-open,.fill-row.dir-short.action-add{background:#f8514914}.fill-row.dir-short.action-reduce,.fill-row.dir-short.action-close{background:#3fb95014}.fill-pnl.gain{color:var(--gain)}.fill-pnl.loss{color:var(--loss)}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.summary-grid>div{background:var(--bg-secondary);border-radius:6px;padding:8px 12px}.sum-label{color:var(--text-secondary);margin-bottom:2px;font-size:11px;display:block}.sum-value{font-family:JetBrains Mono,monospace;font-weight:500}.trade-warnings ul{color:var(--warn);margin:0;padding-left:20px;font-size:12px}.trade-warnings li{margin-bottom:4px}.trades-loading,.stats-loading{text-align:center;color:var(--text-secondary);padding:40px}.auth-overlay{z-index:999;background:#0d1117f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:360px;max-width:90vw;padding:32px}.auth-logo{align-items:center;gap:8px;margin-bottom:8px;font-size:18px;font-weight:600;display:flex}.auth-logo .logo-icon{width:28px;height:28px}.auth-subtitle{color:var(--text-secondary);margin:0 0 16px;font-size:13px}.auth-input{background:var(--bg-tertiary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:6px;margin-bottom:8px;padding:10px 12px;font-family:inherit;font-size:14px}.auth-input:focus{border-color:var(--accent);outline:none}.auth-error{color:var(--loss);min-height:16px;margin-bottom:8px;font-size:12px}.auth-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;padding:10px;font-family:inherit;font-size:14px}.auth-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=768px){.admin-toolbar-inner{gap:12px;padding:10px 12px}.admin-nav{display:none}.admin-nav-link{flex-shrink:0}.admin-main{padding:16px 12px 60px}.form-row{grid-template-columns:1fr}.point-row{grid-template-columns:60px 1fr}.regime-list{grid-template-columns:1fr}.trades-filters .form-input{flex:auto;min-width:0}.closed-time-filter{flex:100%}#closed-time-toggle{width:100%}.closed-time-popover{min-width:0;left:0;right:0}.trades-status-tabs{box-sizing:border-box;width:100%;display:flex}.trade-status-tab{flex:1 1 0}.fill-row{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:5px 12px;padding:10px 12px;font-size:11px}.fill-row>*{min-width:0}.fill-row .fill-action,.fill-row .fill-qty,.fill-row .fill-fee{grid-column:1}.fill-row .fill-time,.fill-row .fill-price,.fill-row .fill-pnl{grid-column:2}.fill-row .fill-action{grid-row:auto;align-self:center}.fill-row .fill-time,.fill-row .fill-price,.fill-row .fill-pnl{text-align:right;justify-self:end}.fill-row .fill-snapshot{grid-column:1/-1;margin-top:2px}}
