:root{font-family:system-ui,sans-serif;color:#2b2440}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#fce4ff,#e4f0ff);min-height:100vh}.login{display:flex;align-items:center;justify-content:center;min-height:100vh}.login form{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 8px 30px #7850c833;display:flex;flex-direction:column;gap:.75rem;width:280px}.login h1{text-align:center;margin:0 0 .5rem}input,button{padding:.6rem .8rem;border-radius:8px;border:1px solid #d8cdf0;font-size:1rem}button{cursor:pointer;background:#7c5cff;color:#fff;border:none}button:disabled{opacity:.6}.error{color:#c0392b}.app{max-width:920px;margin:0 auto;padding:1.5rem}header{display:flex;align-items:center;justify-content:space-between}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-top:1rem}.card{background:#fff;color:#2b2440;border:none;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.2rem;border-radius:14px;box-shadow:0 4px 16px #7850c826}.swatch{width:36px;height:36px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #ddd}.name{font-weight:600}.count{font-size:.85rem;color:#6b6485}.panel{background:#fff;margin-top:1.5rem;padding:1rem 1.2rem;border-radius:14px;box-shadow:0 4px 16px #7850c826}.panel-head{display:flex;align-items:center;justify-content:space-between}table{width:100%;border-collapse:collapse;margin-top:.5rem}th,td{text-align:left;padding:.4rem .6rem;border-bottom:1px solid #eee}.state{padding:.1rem .5rem;border-radius:999px;font-size:.8rem}.state-pending{background:#fff3cd}.state-finished{background:#d4edda}.state-canceled{background:#f8d7da}
