:root{--bg:#0b0e14;--panel:#111623;--text:#e6e9ef;--muted:#96a0b5;--brand:#7dd3fc;--accent:#a78bfa;--border:#1f2a44}
*{box-sizing:border-box}html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(180deg,#0b0e14 0,#0b0e14 60%,#0a1329 100%);color:var(--text)}
.container{max-width:1200px;margin:0 auto;padding:20px}
header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}
.brand{display:flex;gap:12px;align-items:center}.logo{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--brand),var(--accent));display:grid;place-items:center;font-weight:700;color:#0b0e14}
.subtitle{margin-top:4px;color:var(--muted);font-size:12px}
.link{color:var(--muted);text-decoration:none;border:1px solid transparent;padding:8px 10px;border-radius:10px}
.btn{background:#1a2237;color:var(--text);border:1px solid var(--border);padding:10px 14px;border-radius:12px;font-weight:600;cursor:pointer;transition:transform .05s ease,background .2s ease}
.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--brand),var(--accent));color:#0b0e14;border:none}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:18px}
.panel{background:rgba(17,22,35,.85);border:1px solid var(--border);border-radius:16px;padding:18px}
.row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.two{flex-direction:row;gap:12px}.two>div{flex:1;display:flex;flex-direction:column;gap:6px}
.tabs{display:flex;gap:8px}.tab{background:#0d1324;border:1px solid var(--border);color:#dbe3ff;border-radius:10px;padding:8px 12px;cursor:pointer}.tab.active{background:linear-gradient(135deg,var(--brand),var(--accent));color:#0b0e14;border:none}
.status{color:var(--muted);font-size:12px}
#result{background:#0d1324;border:1px solid var(--border);color:#e6e9ef;border-radius:12px;padding:12px;width:100%;height:100%}
.fu-list table{width:100%;border-collapse:collapse;margin-top:10px}.fu-list th,.fu-list td{border-bottom:1px solid var(--border);padding:8px;text-align:left;font-size:13px}
.fu-list tr.due td{background:#111b33}.fu-list tr.overdue td{background:#2a1422}
