*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#f6f8fc;color:#111827}#root{min-height:100vh}.page{padding:20px}.layout{display:grid;grid-template-columns:1fr 360px;gap:16px;align-items:start}.panel,.drawer{background:#fff;border:1px solid #d6dceb;border-radius:10px;padding:14px}.header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.header h1{margin:0;font-size:33px}.add-row,.add-extra-row{display:flex;gap:8px}input{border:1px solid #cfd7e8;border-radius:8px;padding:10px 12px;font-size:14px}.search{width:100%;margin-bottom:12px}button{border:1px solid #d1d7e3;border-radius:8px;background:#fff;cursor:pointer}.primary{background:#0e1b3d;color:#fff;border:none;padding:10px 14px;font-weight:600}.primary.full{width:100%;margin:16px 0}.list{display:flex;flex-direction:column;gap:10px}.row{display:grid;grid-template-columns:1.2fr auto 1fr auto;gap:10px;align-items:center;border:1px solid #d6dceb;border-radius:8px;padding:10px}.row.selected{border-color:#93a7d8;background:#f4f7ff}.row.archived{opacity:.6}.name{font-weight:700}.count{color:#476199}.circles{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start}.circle{width:16px;height:16px;border-radius:50%;border:1px solid #f07a7a;background:#ffdede}.circle.done{background:#27c46a;border-color:#27c46a}.icon{background:transparent;border:none;font-size:16px;padding:4px}.section-title{margin:18px 0 4px;font-size:13px;color:#5e739f}.drawer{min-height:360px}.drawer:not(.open){opacity:.85}.drawer-header{display:flex;justify-content:space-between;align-items:center}.drawer-header h2{margin:0}.summary{border:1px solid #d6dceb;border-radius:8px;padding:14px;margin:12px 0;display:flex;flex-direction:column;align-items:center;gap:4px}.summary strong{font-size:30px}.extra label{display:block;margin-bottom:8px;font-weight:600}.history{margin-top:20px}.history h3{margin:0 0 8px}.history-item{border:1px solid #d6dceb;border-radius:8px;padding:10px 12px;margin-bottom:8px;display:flex;justify-content:space-between}.loading,.empty,.error{margin-top:12px}.error{color:#b82222}@media(max-width:1024px){.layout{grid-template-columns:1fr}}
