:root{--bg:#0a0a0a;--bg-card:#141414;--bg-sidebar:#0d0d0d;--text:#e8e8e8;--text-muted:#9ca3a8;--accent:#3dd68c;--accent-hover:#5ee8a8;--danger:#ff5c5c;--success:#4ade80;--warning:#fbbf24;--border:#2d2d2d;--radius:8px}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background-image:url(/chaos-manager-bg2.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.app-layout{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);z-index:10;background-color:#0000;background-image:linear-gradient(#0a0a0ac7,#0a0a0ac7),url(/chaos-manager-sidebar.jpg);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;width:280px;padding:1rem;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{margin-bottom:1.5rem}.sidebar-logo{width:100%;max-width:270px;height:auto}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex}.nav-link{color:var(--text-muted);border-radius:var(--radius);padding:.6rem .8rem;font-size:.9rem;text-decoration:none;transition:all .15s;display:block}.nav-link:hover{color:var(--text);background:#3dd68c1a}.nav-link.active{color:var(--accent);background:#3dd68c26;font-weight:600}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:1rem}.main-content{background:#0a0a0ad9;flex:1;max-width:1400px;margin-left:280px;padding:2rem}.login-page{background:0 0;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{border:1px solid var(--border);text-align:center;-webkit-backdrop-filter:blur(8px);background:#0e0e0eeb;border-radius:12px;width:400px;max-width:90vw;padding:2.5rem;box-shadow:0 8px 32px #0009}.login-logo{width:300px;max-width:100%;margin-bottom:1rem}.login-subtitle{color:var(--text-muted);margin-bottom:1.5rem}.login-form{text-align:left;flex-direction:column;gap:1rem;display:flex}.login-fields{border-radius:var(--radius);background:#232323;border:1px solid #3a3a3a;flex-direction:column;gap:1rem;padding:1rem;display:flex}.login-fields label{color:#e0e6ec}.login-form label{color:#c8d0d8;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:500;display:flex}.login-form input{border-radius:var(--radius);color:#f4f4f4;background:#1f1f1f;border:1px solid #3a3a3a;padding:.6rem;font-size:.95rem}.login-form input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #3dd68c33}.login-card h2{color:#f0f0f0;margin-bottom:1.5rem;font-size:1.4rem}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.page-header h1{font-size:1.5rem}.page-description{color:var(--text-muted);margin-bottom:1rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1.25rem}.section{margin:1.5rem 0}.section h2{margin-bottom:.75rem;font-size:1.1rem}.dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.dashboard-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=900px){.dashboard-grid{grid-template-columns:1fr}}.card h3{color:var(--text-muted);text-transform:uppercase;margin-bottom:.5rem;font-size:.85rem}.amount{font-size:1.4rem;font-weight:700}.positive{color:var(--success)}.negative{color:var(--danger)}.bill-summary{flex-wrap:wrap;gap:.5rem;font-size:.8rem;display:flex}.month-selector{align-items:center;gap:1rem;display:flex}.month-selector button{background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);cursor:pointer;padding:.3rem .7rem}.month-selector span{font-size:1.1rem;font-weight:600}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .8rem;font-size:.9rem}th{color:var(--text-muted);text-transform:uppercase;font-size:.8rem;font-weight:600}tr:hover{background:#3dd68c0d}.desc-cell{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.actions-cell{gap:4px;display:flex}.btn-primary{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:background .15s}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:.6rem 1.2rem;font-size:.9rem}.btn-secondary:hover{background:var(--border)}.btn-danger{color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.6rem 1.2rem;font-size:.9rem}.btn-danger:hover{background:#ff5c5c1a}.btn-logout{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;width:100%;padding:.5rem 1rem;font-size:.85rem}.btn-logout:hover{color:var(--danger);border-color:var(--danger)}.btn-small{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:.2rem .5rem;font-size:.8rem}.button-group{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.form{flex-direction:column;gap:1rem;display:flex}.form label{color:var(--text-muted);flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.form input,.form select,.form textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);padding:.6rem;font-size:.9rem}.form select option{background:var(--bg-card)}.form-row{flex-wrap:wrap;gap:1rem;display:flex}select{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);padding:.6rem;font-size:.9rem}select:disabled{opacity:.6;color:var(--text-muted);cursor:not-allowed}select option{background:var(--bg-card);color:var(--text)}.form-row label{flex:1;min-width:150px}.file-upload input{display:none}.file-upload .btn-secondary{cursor:pointer;display:inline-block}.badge{border-radius:4px;padding:.15rem .5rem;font-size:.8rem;font-weight:600;display:inline-block}.badge-green{color:var(--success);background:#4ade8026}.badge-blue{color:var(--accent);background:#3dd68c26}.badge-orange{color:var(--warning);background:#fbbf2426}.badge-red{color:var(--danger);background:#ff5c5c26}.badge-gray{color:var(--text-muted);background:#9ca3a826}.badge-yellow{color:var(--warning);background:#fbbf2426}.status-badge{border-radius:var(--radius);padding:.3rem .8rem;font-size:.9rem}.status-badge.connected{color:var(--success);background:#4ade8026}.status-badge.disconnected{color:var(--text-muted);background:#9ca3a826}.error-msg{border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius);background:#ff5c5c1a;margin-bottom:1rem;padding:.6rem 1rem;font-size:.9rem}.success-msg{border:1px solid var(--success);color:var(--success);border-radius:var(--radius);background:#4ade801a;margin-bottom:1rem;padding:.6rem 1rem;font-size:.9rem}.warning-box{border:1px solid var(--warning);color:var(--warning);border-radius:var(--radius);background:#fbbf241a;margin-bottom:1rem;padding:.6rem 1rem;font-size:.9rem}.empty{color:var(--text-muted);padding:1rem 0;font-style:italic}.loading{color:var(--text-muted);padding:1rem 0}.security-notice{color:var(--text-muted);border-top:1px solid var(--border);margin-top:1rem;padding:.5rem;font-size:.8rem}.status-card p{margin-bottom:.25rem}.status-card strong{color:var(--text-muted);margin-right:.5rem}.settings-table td{border:none;padding:.5rem 0}.settings-table td:first-child{color:var(--text-muted);width:200px}.safety-status{flex-direction:column;gap:.75rem;display:flex}.safety-item{align-items:flex-start;gap:.75rem;display:flex}.safety-icon{font-size:1.2rem}.safety-item strong{display:block}.safety-item p{color:var(--text-muted);font-size:.85rem}.mapping-grid{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.mapping-row{align-items:center;gap:.5rem;display:flex}.col-name{min-width:180px;font-size:.9rem;font-weight:500}.mapped{color:var(--accent);font-size:.7rem;font-weight:400}.preview-table-wrapper{border:1px solid var(--border);border-radius:var(--radius);max-height:400px;overflow:auto}.preview-table{font-size:.8rem}.preview-table th{background:var(--bg-card);z-index:1;position:sticky;top:0}.event.card{margin-bottom:.5rem}.event-header{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.event-type{font-size:.9rem;font-weight:600}.event-source{color:var(--text-muted);font-size:.8rem}.event-time{color:var(--text-muted);margin-left:auto;font-size:.8rem}.event-text{margin:.5rem 0}.event-sender{color:var(--text-muted);font-size:.85rem}.event-payload{background:var(--bg);border-radius:var(--radius);padding:.5rem;font-size:.8rem;overflow-x:auto}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1rem;display:flex}.pagination button{background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);cursor:pointer;padding:.4rem .8rem}.pagination button:disabled{opacity:.3;cursor:not-allowed}.category-select{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:.2rem;font-size:.8rem}.checkbox-label{cursor:pointer;align-items:center;gap:.4rem;font-size:.9rem;display:flex}details summary{cursor:pointer;color:var(--accent);font-size:.85rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.toolbar select,.toolbar input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);padding:.4rem .6rem;font-size:.85rem}.search-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);min-width:180px;padding:.4rem .6rem;font-size:.85rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.card.dimmed{opacity:.65}.card.inactive{border-color:#ff5c5c4d}.card-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.card-badges{flex-wrap:wrap;gap:.3rem;display:flex}.env-badge{text-transform:uppercase;border-radius:4px;padding:.1rem .4rem;font-size:.7rem;font-weight:600;display:inline-block}.env-badge.env-production{color:var(--success);background:#4ade8026}.env-badge.env-sandbox{color:var(--warning);background:#fbbf2426}.provider-tag{color:var(--text-muted);background:var(--bg);border-radius:4px;padding:.1rem .4rem;font-size:.75rem}.badge-sm{color:var(--accent);background:#3dd68c1a;border-radius:4px;padding:.1rem .4rem;font-size:.7rem;font-weight:600;display:inline-block}.card-actions{flex-wrap:wrap;gap:.3rem;margin-top:.75rem;display:flex}.balance{margin:.3rem 0;font-size:1.2rem;font-weight:700}.iban{color:var(--text-muted);font-family:monospace;font-size:.85rem}.tech-details{background:var(--bg);border-radius:var(--radius);border:1px solid var(--border);margin-top:.75rem;padding:.75rem}.tech-row{align-items:center;gap:.5rem;padding:.3rem 0;font-size:.8rem;display:flex}.tech-row span{color:var(--text-muted);min-width:140px}.tech-row code{color:var(--accent);word-break:break-all;font-size:.75rem}.btn-copy{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:.1rem .4rem;font-size:.7rem}.btn-copy:hover{background:var(--border)}.modal-overlay{z-index:100;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:90vw;max-width:600px;max-height:80vh;padding:2rem;overflow-y:auto}.modal h2{margin-bottom:1rem}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.impact-counts{margin:1rem 0}.impact-counts table{margin-top:.5rem}.impact-counts td{border-bottom:none}.impact-counts td:first-child{color:var(--text-muted);text-transform:capitalize}.impact-counts td:last-child{text-align:right;font-weight:600}.confirm-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--text);margin-top:.25rem;padding:.5rem;font-family:monospace}.tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:1.5rem;display:flex}.tabs button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.6rem 1rem;font-size:.85rem}.tabs button:hover{color:var(--text)}.tabs button.tab-active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.action-menu{display:inline-block;position:relative}.dropdown-menu{z-index:50;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);min-width:200px;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #0006}.dropdown-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;padding:.5rem .75rem;font-size:.85rem;display:block}.dropdown-item:hover{background:#3dd68c1a}.btn-danger-text{color:var(--danger)}.btn-danger-text:hover{background:#ff5c5c1a}.drag-handle{color:var(--text-muted);cursor:grab;font-size:1rem;position:absolute;top:.5rem;right:.5rem}.dragging{opacity:.5;outline:2px dashed var(--accent)}.breakdown{flex-direction:column;gap:.2rem;margin-top:.5rem;display:flex}.breakdown .small{color:var(--text-muted);font-size:.8rem}.total-count{color:var(--text-muted);font-size:.9rem;font-weight:500}.btn-small.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-small.btn-danger:hover{background:#ff5c5c1a}.quick-transfer.card{border-color:var(--accent)}.quick-transfer-card{margin-bottom:.75rem;padding:.6rem 1rem}.quick-transfer-title{color:var(--text);margin:0;font-size:1.1rem;font-weight:600}.quick-transfer-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.quick-transfer-row label{color:var(--text-muted);flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.quick-transfer-row input,.quick-transfer-row select{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);padding:.6rem;font-size:.9rem}.quick-transfer-row select option{background:var(--bg-card)}.quick-transfer-row select:disabled{opacity:.6;color:var(--text-muted);cursor:not-allowed}.btn-swap{background:var(--bg-card);border:1px solid var(--border);color:var(--accent);cursor:pointer;border-radius:50%;justify-content:center;align-self:flex-end;align-items:center;width:36px;height:36px;margin-bottom:2px;font-size:1.1rem;font-weight:700;transition:all .15s;display:flex}.btn-swap:hover{border-color:var(--accent);background:#3dd68c26}.amount-eye{cursor:pointer;opacity:.5;vertical-align:middle;background:0 0;border:none;border-radius:4px;padding:2px 3px;font-size:.85rem;line-height:1;transition:opacity .15s,background .15s}.amount-eye:hover{opacity:1;background:#3dd68c26}.amount-eye.eye-open{opacity:.85}.checkbox-col{text-align:center;width:32px;padding:.6rem .4rem}.row-checkbox{accent-color:var(--accent);cursor:pointer;width:16px;height:16px}.row-selected{background:#3dd68c14}.row-selected:hover{background:#3dd68c1f}.card-production{border-left:4px solid var(--success)}.card-sandbox{border-left:4px solid var(--warning)}.status-badge.status-error{color:var(--error);background:#ef444426}.status-badge.status-disconnected{color:var(--text-muted);background:#9ca3a826}.info-box{border-radius:var(--radius);background:#3b82f614;border:1px solid #3b82f633;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.sync-run-row{cursor:pointer;transition:background-color .15s}.sync-run-row:hover{background-color:#3dd68c14!important}.sync-run-row:active{background-color:#3dd68c26!important}.event-card{cursor:pointer;transition:border-color .15s,box-shadow .15s}.event-card:hover{border-color:var(--accent);box-shadow:0 0 0 1px #3dd68c40}.event-card:active{background:#3dd68c0d}
