:root{--bg:#0f1115;--surface:#191c22;--surface-2:#21252e;--border:#313743;--text:#f2f4f8;--muted:#9aa4b2;--red:#ef4444;--red-dark:#b91c1c;--green:#22c55e;--amber:#f59e0b;--blue:#3b82f6}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%}a{color:inherit}.container{max-width:760px;margin:0 auto;padding:16px 16px 96px}header.top{display:flex;align-items:center;gap:12px;padding:16px 0 8px}header.top .logo{width:40px;height:40px;border-radius:10px;background:var(--red-dark);display:grid;place-items:center;font-size:22px;flex:none}header.top h1{font-size:19px;margin:0;line-height:1.2}header.top p{margin:2px 0 0;font-size:13px;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.how-btn{margin-left:auto;flex:none;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:600}.modal-overlay{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.65);display:grid;place-items:center;padding:16px}.modal{width:100%;max-width:440px;max-height:85vh;overflow-y:auto}.modal h2{margin:0 0 14px;font-size:18px}.intro-item{display:flex;gap:10px;margin-bottom:14px}.intro-item .intro-emoji{font-size:20px;flex:none;line-height:1.3}.intro-item p{margin:0;font-size:14px;line-height:1.5;color:var(--text)}.section-title{text-transform:uppercase;letter-spacing:.06em;margin:24px 4px 10px}.section-title,label{font-size:13px;color:var(--muted)}label{display:block;margin:0 0 6px}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue)}textarea{min-height:70px;resize:vertical}.field{margin-bottom:12px}.row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:480px){.row{grid-template-columns:1fr}}.type-picker{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px}.type-option{padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);text-align:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:14px}.type-option.active{border-color:var(--red);background:rgba(239,68,68,.14);color:#fff}button{cursor:pointer;border:none;border-radius:10px;padding:12px 14px;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--red);color:#fff;width:100%}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-green{background:var(--green);color:#06210f}.btn-wa{background:#25d366;color:#06210f;text-decoration:none;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;font-weight:600}.list{display:flex;flex-direction:column;gap:12px}.request{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--red);border-radius:12px;padding:14px}.request.claimed{border-left-color:var(--amber)}.request-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.badge{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:rgba(239,68,68,.16);color:#fca5a5;text-transform:uppercase;letter-spacing:.03em}.badge.claimed{background:rgba(245,158,11,.16);color:#fcd34d}.time{font-size:12px;color:var(--muted);margin-left:auto}.request p.desc{margin:0 0 8px;font-size:16px;line-height:1.4}.meta{font-size:14px;color:var(--muted);margin:2px 0}.meta strong{color:var(--text);font-weight:600}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.claimed-note{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);border-radius:10px;font-size:13px;color:#fcd34d}.claimed-note,.done-note{margin-top:10px;padding:10px 12px}.done-note{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);border-radius:10px;font-size:14px;color:#86efac}.vol{margin-top:10px;padding:10px 12px;background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.25);border-radius:10px}.vol-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;margin-bottom:8px}.vol-head strong{color:#93c5fd;font-size:16px}.vol-full{font-size:12px;font-weight:700;color:#86efac}.vol-bar{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.vol-bar-fill{height:100%;background:var(--blue);border-radius:999px;transition:width .4s ease}.vol-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.vol-chip{font-size:13px;padding:5px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);text-decoration:none;color:var(--text)}.request.resolved .desc{text-decoration:line-through;-webkit-text-decoration-color:hsla(0,0%,100%,.25);text-decoration-color:hsla(0,0%,100%,.25)}.request.missing{border-left-color:var(--amber)}.person-main{display:flex;gap:12px;align-items:flex-start}.person-photo{width:92px;height:92px;object-fit:cover;flex:none}.person-photo,.person-photo-preview{border-radius:10px;border:1px solid var(--border)}.person-photo-preview{display:block;margin-top:10px;max-width:140px}.person-name{font-size:18px;font-weight:700;margin:0 0 6px}.tips{margin-top:10px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px}.tips-title{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px}.tip{display:flex;flex-direction:column;gap:2px;padding:6px 0;border-top:1px solid var(--border)}.tip:first-of-type{border-top:none}.tip-info{font-size:14px}.tip-contact{font-size:13px;color:#86efac;text-decoration:none}.person-link{display:block;margin:0 0 12px;padding:14px;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.35);border-radius:12px;text-decoration:none;color:var(--text);font-weight:600;text-align:center}.empty{text-align:center;color:var(--muted);padding:40px 16px}.error{background:rgba(239,68,68,.14);border:1px solid rgba(239,68,68,.4);color:#fca5a5;padding:10px 12px;border-radius:10px;font-size:14px;margin-bottom:12px}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 4px 12px}.chip{font-size:13px;padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer}.chip.active{border-color:var(--red);color:#fff;background:rgba(239,68,68,.14)}.live{margin-left:auto;font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.dot{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.kind-switch{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin:8px 0 14px}.kind-btn{padding:14px 10px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-weight:700;font-size:15px}.kind-btn.active{border-color:var(--red);background:rgba(239,68,68,.16);color:#fff}.kind-btn.active.offer{border-color:var(--green);background:rgba(34,197,94,.16)}.toggle-form{width:100%;margin-bottom:8px}.load-more{width:100%;margin-top:12px}.admin-summary{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin:12px 0 4px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 8px;text-align:center;display:flex;flex-direction:column;gap:2px}.stat-num{font-size:24px;font-weight:700;line-height:1}.stat-label{font-size:12px;color:var(--muted)}.request.open{border-left-color:var(--red)}.request.resolved{border-left-color:var(--green);opacity:.85}.badge.open{background:rgba(239,68,68,.16);color:#fca5a5}.badge.kind-offer,.badge.resolved{background:rgba(34,197,94,.16);color:#86efac}.badge.kind-need{background:rgba(59,130,246,.16);color:#93c5fd}.track{margin-top:10px;border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:6px}.track-row{display:grid;grid-template-columns:110px 1fr;grid-gap:10px;gap:10px;font-size:14px}.track-label{color:var(--muted);font-size:13px}.admin-actions{margin-top:10px;display:flex;justify-content:flex-end}.btn-del{background:transparent;border:1px solid rgba(239,68,68,.5);color:#fca5a5;padding:7px 12px;font-size:13px;font-weight:600}.btn-del:hover{background:rgba(239,68,68,.14)}.track-val{color:var(--text)}@media (max-width:480px){.track-row{grid-template-columns:1fr;gap:0}}