:root{--ink:#231942;--pink:#ff6b9f;--mint:#67e8c9;--paper:#fffafc;--line:#eee;--muted:#6b6478}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff7fb,#f7fbff)}a{color:#6d28d9;text-decoration:none}.top{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:14px 5vw;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{font-weight:900;color:var(--ink)}nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}nav form{display:inline}.wrap{max-width:1180px;margin:auto;padding:28px 20px}footer{padding:30px 5vw;display:flex;gap:20px;justify-content:center;flex-wrap:wrap;background:white;border-top:1px solid var(--line)}.hero{padding:70px 24px;border-radius:32px;background:radial-gradient(circle at top left,#ffe1ee,#fff 45%,#defcf4);text-align:center;box-shadow:0 20px 50px #23194214}.hero h1{font-size:clamp(2rem,6vw,4.5rem);line-height:1}.hero form{display:flex;max-width:680px;margin:25px auto;gap:8px}.hero input,.filters input,.filters select,input,textarea,select{width:100%;padding:12px;border:1px solid #ddd;border-radius:14px;background:white}button,.btn{border:0;border-radius:999px;padding:11px 18px;background:var(--ink);color:white;display:inline-block;cursor:pointer}.btn.alt{background:var(--pink)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.card{background:white;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 10px 30px #2319420d}.product{transition:.2s}.product:hover{transform:translateY(-3px)}.thumb,.banner{height:150px;border-radius:18px;background:linear-gradient(135deg,#ffd1e2,#c7fff1);display:grid;place-items:center;color:#6b6478}.big{height:330px}.badge{display:inline-block;border-radius:999px;padding:5px 10px;font-size:.82rem;background:#eee;margin:2px}.badge.ok{background:#dcfce7;color:#166534}.badge.no{background:#fee2e2;color:#991b1b}.badge.ai{background:#e0e7ff;color:#3730a3}.badge.rank{background:#fef3c7;color:#92400e}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:20px 0}.detail{display:grid;grid-template-columns:1fr 330px;gap:24px}.form{display:grid;gap:14px;max-width:760px}.dash{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.adminnav{margin:20px 0}table{width:100%;border-collapse:collapse;background:white;border-radius:16px;overflow:hidden}td,th{padding:12px;border-bottom:1px solid var(--line);text-align:left}.muted{color:var(--muted)}.error{color:#b91c1c}@media(max-width:760px){.top,.detail{display:block}.hero form{display:block}.hero button{margin-top:8px}nav{margin-top:12px}.wrap{padding:18px 12px}}

.notice{padding:14px 18px;border-radius:16px;margin:0 0 18px;background:#eef2ff;border:1px solid #c7d2fe}.notice.success{background:#dcfce7;border-color:#86efac}.notice.warning{background:#fef3c7;border-color:#fcd34d}.notice.error{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.status-card{border-left:8px solid #cbd5e1;margin-bottom:16px}.status-card.status-pending,.status-card.status_pending,.status-card.status-pending_review{border-left-color:#f59e0b}.status-card.status-approved{border-left-color:#22c55e}.status-card.status-denied,.status-card.status-rejected{border-left-color:#ef4444}.badge.pending{background:#fef3c7;color:#92400e}.tabs{margin:16px 0}.application-list{display:grid;gap:16px}.application-intro ul{margin:0;padding-left:20px}.check{display:flex;gap:10px;align-items:flex-start}.check input{width:auto}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 18px}
