:root{
      --bg:#0d1117;--panel:#161b22;--muted:#8b949e;--text:#e6edf3;
      --green:#1f6f43;--green2:#2ea043;--red:#7f1d1d;--red2:#ef4444;--card:#10151b;
      --accent:#f0b429;--border:#263041;--hover:#1f2530;
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,Helvetica,sans-serif}
    .container{max-width:1100px;margin:0 auto;padding:20px}
    header{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}
    .title{font-size:22px;font-weight:700}
    .controls{display:flex;gap:8px;flex-wrap:wrap}
    button,select,input[type="file"]{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:8px 12px;cursor:pointer}
    button:hover{background:var(--hover)}
    .pill{background:#1e293b;border:1px solid var(--border);padding:6px 10px;border-radius:999px;color:#cbd5e1}

    .calendar{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:12px}
    .cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
    .cal-head .month{font-weight:700}
    .grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
    .dow{font-size:12px;color:var(--muted);text-align:center}
    .cell{background:var(--card);border:1px solid var(--border);min-height:100px;border-radius:12px;padding:8px;position:relative;cursor:pointer;transition:transform .05s ease}
    .cell:hover{transform:translateY(-1px)}
    .cell .date{position:absolute;top:8px;left:8px;font-size:12px;color:#9aa4b2}
    .amount{position:absolute;bottom:32px;right:8px;font-weight:700}
    .trades{position:absolute;bottom:8px;right:8px;font-size:12px;color:#9aa4b2}
    .muted{opacity:.5}
    .pos{background:linear-gradient(180deg, rgba(46,160,67,.25), rgba(46,160,67,.05))}
    .neg{background:linear-gradient(180deg, rgba(239,68,68,.22), rgba(239,68,68,.06))}

    .summary{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}
    .stat{background:var(--panel);border:1px solid var(--border);padding:10px 14px;border-radius:12px}
    .stat .label{font-size:12px;color:var(--muted)}
    .stat .value{font-size:18px;font-weight:700}

    /* modal */
    dialog{border:none;border-radius:16px;background:var(--panel);color:var(--text);padding:0;max-width:420px;width:100%}
    dialog::backdrop{background:rgba(0,0,0,.6)}
    .modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border)}
    .modal-body{padding:14px 16px;display:grid;gap:10px}
    .row{display:grid;gap:6px}
    .row label{font-size:12px;color:var(--muted)}
    .row input,.row textarea{background:#0f1520;border:1px solid var(--border);border-radius:10px;color:var(--text);padding:10px}
    .modal-foot{display:flex;gap:8px;justify-content:flex-start;padding:14px 16px;border-top:1px solid var(--border)}
    .danger{border-color:#7f1d1d}

    .badge{font-size:12px;border:1px solid var(--border);padding:4px 8px;border-radius:999px;background:#0f1520;color:#cbd5e1}
    .list{margin-top:12px}
    .list table{width:100%;border-collapse:collapse}
    .list th,.list td{padding:8px;border-bottom:1px solid var(--border);text-align:right}
    .list tr:hover{background:#0f1520}

    .hidden{display:none}
