:root{--navy: #0b2e4f;--orange: #f37021;--bg: #f5f6f8;--card: #ffffff;--border: #e2e5ea;--text: #1c2330;--muted: #6b7280;font-family:system-ui,Segoe UI,Malgun Gothic,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.app{min-height:100vh}.app-header{display:flex;align-items:center;gap:20px;padding:12px 24px;background:var(--navy);color:#fff}.app-header .brand{font-weight:700;font-size:18px;color:#fff;text-decoration:none}.app-header nav{display:flex;gap:16px;flex:1}.app-header nav a{color:#cdd7e2;text-decoration:none;font-size:14px;padding:6px 10px;border-radius:6px;transition:background .15s,color .15s}.app-header nav a:hover{color:#fff}.app-header nav a.active{color:#fff;font-weight:700;background:#f3702140;box-shadow:inset 0 -2px 0 var(--orange)}.header-right{display:flex;align-items:center;gap:12px}.header-right a{color:#fff;text-decoration:none;font-size:14px}.user-badge{font-size:13px;color:#cdd7e2}.page-banner{background:#fff;border-bottom:1px solid var(--border);padding:14px 24px}.page-banner-title{max-width:1080px;margin:0 auto;display:block;font-size:18px;font-weight:700;color:var(--navy);border-left:4px solid var(--orange);padding-left:12px}.app-main{max-width:1080px;margin:24px auto;padding:0 24px}h2{margin-top:0}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px;box-shadow:0 1px 2px #0000000a}.form-card{max-width:420px;margin:40px auto}.form-card form{display:flex;flex-direction:column;gap:14px}label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}input{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px}button{background:var(--orange);color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer}button:hover{filter:brightness(.95)}button:disabled{opacity:.6;cursor:not-allowed}button.secondary{background:#e8eef5;color:var(--navy)}button.danger{background:#c0392b;color:#fff}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.grid h3{margin:0 0 6px}.muted{color:var(--muted);font-size:13px;margin:2px 0 12px}.hint{color:var(--muted);font-size:14px}.error{color:#c0392b;font-size:14px}.addr{font-size:11px;color:var(--muted);word-break:break-all;margin-top:10px}.kv{margin:0}.kv>div{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dashed var(--border)}.kv dt{color:var(--muted);font-size:13px}.kv dd{margin:0;font-weight:600;font-size:13px}.buy-box{display:flex;gap:8px;margin-top:12px}.buy-box input{width:90px}.tiny-hint{font-size:12px;color:var(--muted);margin:8px 0 0}.success{color:#1e874b;font-size:13px;margin:8px 0 0}.summary{display:flex;gap:40px;margin-bottom:24px}.summary>div{display:flex;flex-direction:column;gap:4px}.summary strong{font-size:20px}.table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden;font-size:14px}.table th,.table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border)}.table th{background:#f0f3f7;color:var(--muted);font-weight:600}.table tbody tr:last-child td{border-bottom:none}.status-approved{color:#1e874b}.status-pending{color:#b7791f}.status-rejected{color:#c0392b}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.stack{display:flex;flex-direction:column;gap:12px}.stack select{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px}.btn-row{display:flex;gap:10px;margin-top:12px}button.sm{padding:5px 10px;font-size:12px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:6px}.stat-card.stat-alert{border-color:var(--orange);background:#fff7f1}.stat-label{font-size:12px;color:var(--muted)}.stat-value{font-size:22px}.sev-high{color:#c0392b;font-weight:700}.sev-medium{color:#b7791f;font-weight:700}.sev-low{color:#6b7280;font-weight:700}@media (max-width: 860px){.two-col{grid-template-columns:1fr}}.toast{position:fixed;top:76px;right:24px;z-index:1000;display:flex;align-items:center;gap:12px;background:#1e874b;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:0 6px 20px #0003;font-size:14px;font-weight:600;animation:toast-in .2s ease-out}.toast-close{background:transparent;color:#fff;border:none;padding:0 4px;font-size:14px;cursor:pointer}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
