:root{--brand: #14532d;--brand-light: #dcfce7;--ink: #1c1c1c;--muted: #6b7280;--border: #e5e7eb;--bg: #f9fafb;--danger: #b91c1c;--radius: 8px}*{box-sizing:border-box}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.85)}70%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes checkPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}button{font-family:inherit;cursor:pointer;transition:transform .1s ease,background-color .15s ease,border-color .15s ease,opacity .15s ease}button:active{transform:scale(.96)}input,select{font-family:inherit;font-size:16px}a{color:var(--brand)}.admin-shell{display:flex;min-height:100vh}.admin-sidebar{width:220px;background:#0f2e1c;color:#fff;padding:20px 12px;flex-shrink:0;transition:width .18s ease,padding .18s ease}.admin-sidebar.collapsed{width:56px;padding:20px 8px}.admin-sidebar.collapsed a{text-align:center;padding:10px 4px;font-size:18px}.admin-sidebar h1{font-size:18px;margin:0 0 24px 8px}.admin-sidebar a{display:block;color:#d1fae5;text-decoration:none;padding:10px 8px;border-radius:var(--radius);font-size:14px;margin-bottom:2px;transition:background-color .15s ease,padding-left .15s ease}.admin-sidebar a.active,.admin-sidebar a:hover{background:#ffffff1f;color:#fff;padding-left:12px}.admin-main{flex:1;padding:28px 32px;max-width:1100px}.admin-main h2{margin-top:0}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-bottom:16px;animation:fadeInUp .25s ease both}table.data tbody tr{transition:background-color .15s ease}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data th,table.data td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border)}table.data th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.btn{display:inline-block;background:var(--brand);color:#fff;border:none;padding:9px 16px;border-radius:var(--radius);font-size:14px;font-weight:600}.btn.secondary{background:#fff;color:var(--brand);border:1.5px solid var(--brand)}.btn.danger{background:var(--danger)}.form-row{margin-bottom:12px;display:flex;flex-direction:column;gap:4px}.form-row label{font-size:13px;color:var(--muted);font-weight:600}.form-row input,.form-row select{padding:9px 10px;border:1.5px solid var(--border);border-radius:var(--radius)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--brand-light);color:var(--brand)}.segmented{display:inline-flex;border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden}.segmented button{border:none;background:#fff;color:var(--ink);padding:8px 14px;font-size:13px;font-weight:600}.segmented button+button{border-left:1.5px solid var(--border)}.segmented button.active.fixed{background:var(--brand);color:#fff}.rep-shell{max-width:480px;margin:0 auto;min-height:100vh;background:#fff;display:flex;flex-direction:column}.rep-header{background:var(--brand);color:#fff;padding:16px 18px}.rep-header h1{margin:0;font-size:16px}.rep-header .sub{font-size:12.5px;opacity:.85;margin-top:2px}.rep-body{padding:16px;flex:1}.shop-card{border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:10px;animation:fadeInUp .25s ease both;transition:box-shadow .15s ease}.shop-card:active{box-shadow:inset 0 0 0 1.5px var(--brand)}.shop-card .name{font-weight:700;font-size:15px}.shop-card .place{color:var(--muted);font-size:13px;margin-top:2px}.shop-card .actions{margin-top:10px;display:flex;gap:8px}.target-bar{background:var(--border);border-radius:999px;height:8px;overflow:hidden;margin-top:6px}.target-bar-fill{background:var(--brand);height:100%;transition:width .6s cubic-bezier(.22,.9,.32,1)}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:260px;margin:20px auto 0}.pin-pad button{padding:16px 0;font-size:20px;border-radius:var(--radius);border:1.5px solid var(--border);background:#fff}.pin-dots{display:flex;gap:10px;justify-content:center;margin:18px 0}.pin-dot{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--brand);transition:background-color .15s ease,transform .15s ease}.pin-dot.filled{background:var(--brand);animation:popIn .2s ease}.empty-state{text-align:center;color:var(--muted);padding:40px 20px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;margin-right:8px}.success h3{animation:checkPop .35s ease both}@media print{.admin-sidebar,.no-print{display:none!important}.admin-main{padding:0;max-width:none}.admin-shell{display:block}}
