*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--bg-sidebar: #161821;--bg-card: #1a1d2b;--bg-card-hover: #1f2335;--bg-surface: #141620;--bg-input: #1e2030;--accent: #3b82f6;--accent-hover: #2563eb;--green: #22c55e;--green-bg: rgba(34,197,94,.12);--red: #ef4444;--red-bg: rgba(239,68,68,.12);--orange: #f59e0b;--orange-bg: rgba(245,158,11,.12);--purple: #a855f7;--purple-bg: rgba(168,85,247,.12);--cyan: #06b6d4;--cyan-bg: rgba(6,182,212,.12);--slate: #64748b;--slate-bg: rgba(100,116,139,.12);--text: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #64748b;--border: #1e293b;--border-light: #334155;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 3px rgba(0,0,0,.3), 0 1px 2px rgba(0,0,0,.2);--shadow-lg: 0 4px 12px rgba(0,0,0,.4);--transition: .2s ease;--sidebar-w: 240px;--header-h: 60px}html{font-size:14px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}table{border-collapse:collapse;width:100%}th,td{text-align:left}.layout{display:flex;min-height:100vh;max-width:100vw;overflow-x:hidden}.sidebar{width:var(--sidebar-w);background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform var(--transition)}.sidebar-brand{height:var(--header-h);display:flex;align-items:center;padding:0 20px;border-bottom:1px solid var(--border);gap:10px;font-weight:700;font-size:15px;letter-spacing:-.3px;white-space:nowrap}.sidebar-brand .brand-tag{color:var(--text-secondary);font-weight:400;font-size:12px;margin-left:auto}.sidebar-nav{flex:1;padding:12px 8px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition);border:none;background:none;width:100%;text-align:left;text-decoration:none}.nav-item:hover{background:#ffffff0a;color:var(--text);text-decoration:none}.nav-item.active{background:#3b82f61f;color:var(--accent)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99;display:none}.sidebar-backdrop.open{display:block}.main{flex:1;margin-left:var(--sidebar-w);min-width:0;overflow-x:hidden}.header{height:var(--header-h);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 28px;gap:16px;background:var(--bg);position:sticky;top:0;z-index:50}.header-title{font-size:16px;font-weight:700}.hamburger{display:none;background:none;border:none;color:var(--text);padding:4px;align-items:center}.hamburger svg{width:22px;height:22px}.content{padding:24px 28px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.card-title{font-size:15px;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);transition:transform var(--transition),box-shadow var(--transition)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px}.stat-value{font-size:30px;font-weight:800;letter-spacing:-1px;line-height:1}.filter-bar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.filter-bar select,.filter-bar input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 12px;font-size:13px;color:var(--text);outline:none;transition:border-color var(--transition)}.filter-bar select:focus,.filter-bar input:focus{border-color:var(--accent)}.filter-bar select{min-width:140px}.filter-bar input{width:200px}.filter-count{font-size:12px;color:var(--text-muted);margin-left:auto}.filter-bar .filter-label{font-size:13px;color:var(--text-secondary)}.table-wrap{overflow-x:auto;margin:0 -20px;padding:0 20px}table th{padding:10px 14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}table th.sortable:hover{color:var(--text-secondary)}table th.th-action{width:1px;padding:10px 8px}table td{padding:11px 14px;font-size:13px;border-bottom:1px solid var(--border);white-space:nowrap;color:var(--text-secondary)}table tbody tr{transition:background var(--transition)}table tbody tr:hover{background:#ffffff05}table tbody tr.clickable-row{cursor:pointer}table tbody tr.clickable-row:hover{background:#ffffff0a}.mono{font-family:SF Mono,SFMono-Regular,ui-monospace,Menlo,monospace;font-size:12px;color:var(--text-muted)}td.td-action{width:1px;padding:11px 8px}td.td-truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;text-transform:capitalize}.badge-pending{background:var(--orange-bg);color:var(--orange)}.badge-approved{background:var(--green-bg);color:var(--green)}.badge-rejected{background:var(--red-bg);color:var(--red)}.badge-expired{background:var(--slate-bg);color:var(--slate)}.badge-escalated{background:var(--purple-bg);color:var(--purple)}.badge-sent{background:var(--cyan-bg);color:var(--cyan)}.badge-delivered{background:var(--green-bg);color:var(--green)}.badge-failed{background:var(--red-bg);color:var(--red)}.badge-bounced{background:var(--orange-bg);color:var(--orange)}.badge-email{background:var(--cyan-bg);color:var(--cyan)}.badge-sms{background:var(--green-bg);color:var(--green)}.badge-slack{background:var(--purple-bg);color:var(--purple)}.badge-phone{background:var(--orange-bg);color:var(--orange)}.badge-active{background:var(--green-bg);color:var(--green)}.badge-suspended{background:var(--red-bg);color:var(--red)}.badge-archived{background:var(--slate-bg);color:var(--slate)}.badge-pending_approval{background:var(--orange-bg);color:var(--orange)}.badge-approval{background:var(--green-bg);color:var(--green)}.badge-rejection{background:var(--red-bg);color:var(--red)}.badge-enforcement{background:var(--cyan-bg);color:var(--cyan)}.badge-escalation{background:var(--purple-bg);color:var(--purple)}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.page-btn{padding:5px 11px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-secondary);font-size:12px;font-weight:600;transition:all var(--transition)}.page-btn:hover{border-color:var(--accent);color:var(--accent)}.page-btn:disabled{opacity:.35;cursor:not-allowed}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;border:1px solid transparent;transition:all var(--transition)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-outline{background:transparent;border-color:var(--border);color:var(--text-secondary)}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.btn-danger{background:transparent;border-color:var(--red);color:var(--red)}.btn-danger:hover{background:var(--red-bg)}.btn-sm{padding:4px 10px;font-size:12px}.btn-success{background:transparent;border-color:var(--green);color:var(--green)}.btn-success:hover{background:var(--green-bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 14px}.detail-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:4px}.detail-value{font-size:14px;color:var(--text);word-break:break-all}.detail-value.mono{font-family:SF Mono,SFMono-Regular,ui-monospace,Menlo,monospace;font-size:12px;color:var(--text-muted)}.expanded-row{background:var(--bg-surface)}.expanded-row td{padding:0;border-bottom:2px solid var(--border)}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;color:var(--text);outline:none;transition:border-color var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent)}.form-inline{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.form-inline input,.form-inline select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;color:var(--text);outline:none;transition:border-color var(--transition);flex:1;min-width:150px}.form-inline input:focus,.form-inline select:focus{border-color:var(--accent)}.chain-step{display:flex;gap:8px;align-items:center;margin-bottom:8px;padding:10px;background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border);flex-wrap:wrap}.chain-step select,.chain-step input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;font-size:12px;color:var(--text);outline:none}.chain-step select:focus,.chain-step input:focus{border-color:var(--accent)}.chain-step .step-num{font-size:11px;font-weight:700;color:var(--text-muted);width:22px;flex-shrink:0}.receipt-box{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;margin-top:12px}.receipt-pre{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;font-size:13px;font-family:SF Mono,SFMono-Regular,ui-monospace,Menlo,monospace;overflow:auto;max-height:500px;white-space:pre-wrap;word-break:break-word;color:var(--text-secondary)}.receipt-detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.receipt-detail-label{color:var(--text-muted);font-size:14px}.receipt-detail-value{font-size:14px;color:var(--text);font-weight:500;word-break:break-all}.receipt-detail-value.mono{font-family:SF Mono,SFMono-Regular,ui-monospace,Menlo,monospace}.receipt-detail-value.highlight{color:var(--red);font-weight:700}.alert{padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:14px;display:flex;align-items:center;gap:12px}.alert-error{background:var(--red-bg);color:var(--red);border:1px solid rgba(239,68,68,.25)}.alert-success{background:var(--green-bg);color:var(--green);border:1px solid rgba(34,197,94,.25)}.alert .alert-dismiss{background:none;border:none;color:inherit;cursor:pointer;font-weight:600;margin-left:auto}.alert .btn{margin-left:auto}.welcome-card{background:#3b82f614;border-color:#3b82f633;text-align:center;margin-bottom:24px}.welcome-card h2{font-size:20px;font-weight:700;color:var(--text);margin-bottom:8px}.welcome-card p{color:var(--text-secondary);font-size:14px;margin-bottom:16px}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-error{color:var(--red)}.text-orange{color:var(--orange)}.text-green{color:var(--green)}.text-red{color:var(--red)}.text-purple{color:var(--purple)}.text-cyan{color:var(--cyan)}.text-slate{color:var(--slate)}.text-sm{font-size:13px}.text-xs{font-size:12px}.description-text{color:var(--text-secondary);font-size:14px;margin-bottom:16px}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-gap{display:flex;gap:8px;align-items:center}.mb-16{margin-bottom:16px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.overflow-auto{overflow-x:auto}.error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.error-page .error-content{text-align:center;max-width:400px}.error-page h1{font-size:24px;margin-bottom:8px;color:var(--text)}.error-page p{color:var(--text-muted);margin-bottom:16px}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main{margin-left:0}.hamburger{display:flex}.content{padding:16px}.stats-grid{grid-template-columns:repeat(2,1fr)}.filter-bar{flex-direction:column}.filter-bar select,.filter-bar input{width:100%}.detail-grid{grid-template-columns:1fr}.header-title{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-inline{flex-direction:column}.form-inline input,.form-inline select{width:100%}.chain-step{flex-wrap:wrap}.chain-step select,.chain-step input{flex:1;min-width:100px}.receipt-detail-row{flex-direction:column;gap:4px}.receipt-detail-value{text-align:left}.btn-sm,.page-btn,.nav-item{min-height:44px;display:flex;align-items:center}.table-wrap{position:relative}.table-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;width:24px;background:linear-gradient(to right,transparent,var(--bg-card));pointer-events:none;z-index:1}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}}.form-field{display:flex;flex-direction:column;gap:4px}.form-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.form-section{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px}.form-section[open]{border-color:var(--border-light)}.form-section-title{padding:10px 14px;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.form-section-title::-webkit-details-marker{display:none}.form-section-title:before{content:"▶";display:inline-block;margin-right:8px;font-size:10px;transition:transform var(--transition)}.form-section[open]>.form-section-title:before{transform:rotate(90deg)}.form-section[open]>.form-section-title{border-bottom:1px solid var(--border);color:var(--text)}.form-section>.form-grid,.form-section>div:not(.form-section-title){padding:12px 14px}@media(max-width:768px){.form-grid{grid-template-columns:1fr!important}}
