:root{--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#667085;--blue:#2563eb;--line:#d9e1ec;--green:#13a06f}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}header{background:linear-gradient(135deg,#ffffff,#eaf1ff);border-bottom:1px solid var(--line);padding:28px 36px}h1{margin:0;font-size:34px}p{color:var(--muted)}main{padding:28px}.upload-card,.pages-panel,.groups-panel{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 24px rgba(30,44,70,.06)}.upload-card{padding:24px;max-width:720px}.upload-card button,.group-create button,#newGroupBtn,.export{background:var(--blue);color:#fff;border:0;border-radius:12px;padding:11px 16px;font-weight:700;cursor:pointer}input{border:1px solid var(--line);border-radius:12px;padding:11px;width:100%;background:#fff}.workspace{display:grid;grid-template-columns:1fr 360px;gap:22px;margin-top:22px}.hidden{display:none!important}.pages-panel{padding:20px;min-height:600px}.groups-panel{padding:20px;align-self:start;position:sticky;top:20px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.hint{font-size:14px}.pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px;margin-top:18px}.page{border:2px solid transparent;border-radius:14px;background:#f8fafc;padding:10px;text-align:center;cursor:pointer}.page.selected{border-color:var(--blue);background:#edf4ff}.page.assigned{opacity:.55}.page img{width:100%;height:150px;object-fit:contain;background:#fff;border-radius:10px;border:1px solid var(--line)}.page span{display:block;margin-top:8px;font-weight:700}.group-create{display:grid;grid-template-columns:1fr;gap:10px;margin:12px 0 18px}.group{border:1px solid var(--line);border-radius:14px;padding:14px;margin:12px 0;background:#fbfcff}.group input{font-weight:700;margin-bottom:8px}.group small{display:block;color:var(--muted);line-height:1.4}.group button{margin-top:10px;background:#eef2ff;color:#2446a8;border:0;border-radius:10px;padding:8px 10px;cursor:pointer}.export{width:100%;margin-top:20px;background:var(--green);font-size:16px}.download{display:block;text-align:center;margin-top:12px;color:var(--blue);font-weight:800}@media(max-width:900px){.workspace{grid-template-columns:1fr}.groups-panel{position:static}}
