:root{font-family:Inter,system-ui,sans-serif;color:#172033;background:#f4f7fb}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:start center;padding:48px 18px}main{width:min(860px,100%)}h1{margin:0 0 8px;font-size:clamp(1.8rem,4vw,2.6rem)}.intro{color:#657087;margin:0 0 26px}.panel{background:#fff;border:1px solid #e1e7f0;border-radius:18px;padding:24px;box-shadow:0 10px 30px #263b5d0d}.drop{border:2px dashed #a9b8d0;border-radius:13px;padding:30px 20px;text-align:center;cursor:pointer;display:block;transition:.2s}.drop:hover,.drop.over{border-color:#3767e8;background:#f5f8ff}.drop strong{display:block;font-size:1.05rem;margin-bottom:6px}.drop span{color:#6c7890;font-size:.92rem}input[type=file]{display:none}.message{margin:18px 0 0;color:#59677f;min-height:1.3em}.error{color:#b4233d}.summary{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:30px 0 14px}.summary h2{margin:0;font-size:1.2rem}.total{font-size:1.8rem;font-weight:750;color:#3767e8}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid #e9edf4}th{color:#6c7890;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}td:last-child,th:last-child{text-align:right}tr:last-child td{border-bottom:0}.empty{text-align:center;color:#77839a;padding:25px}
    .month-row{cursor:pointer}.month-row:hover{background:#f5f8ff}.month-row td:first-child:before{content:'›';display:inline-block;width:18px;color:#3767e8;font-size:1.3rem;transition:.2s}.month-row.open td:first-child:before{transform:rotate(90deg)}.details-row{display:none;background:#fafbfe}.details-row.open{display:table-row}.details-row td{padding:4px 12px 15px 30px}.details-list{margin:0;padding:0;list-style:none}.details-list li{display:flex;justify-content:space-between;gap:15px;padding:8px 0;color:#59677f;font-size:.92rem}.details-list time{white-space:nowrap;color:#172033;font-variant-numeric:tabular-nums}.url-form{margin-top:22px}.url-form label{display:block;margin-bottom:8px;font-weight:600;font-size:.92rem}.url-line{display:flex;gap:10px}.url-line input{min-width:0;flex:1;border:1px solid #cbd5e4;border-radius:8px;padding:11px 12px;font:inherit}.url-line button{border:0;border-radius:8px;padding:0 18px;background:#3767e8;color:#fff;font:inherit;font-weight:650;cursor:pointer}.url-line button:hover{background:#2854ca}
