.requests-content{max-width:1180px;padding-block:32px 100px}.requests-page .requests-content{max-width:1500px}.requests-page .requests-grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1.7fr)}.request-submit{position:sticky;top:110px}.request-board{min-width:0}.request-board h2{font-size:24px;font-weight:700}.request-board .requests-list-heading p{color:var(--muted-foreground);margin-top:8px}.request-board-filters{grid-template-columns:1fr 1fr;gap:14px;margin:22px 0;display:grid}.request-board-filters label{gap:8px;font-size:14px;display:grid}.request-board-filters select{border:1px solid var(--border);background:var(--card);width:100%;min-width:0;min-height:44px;color:var(--foreground);font:inherit;border-radius:8px;padding:10px}.public-request-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.public-request-card{padding:22px}.public-request-card h3{overflow-wrap:anywhere;margin:16px 0 10px;font-size:20px;font-weight:700}.public-request-card .request-details{max-height:300px;overflow:auto}.public-request-card time{color:var(--muted-foreground);margin-top:16px;font-size:12px;display:block}.request-response{background:#9b75c418;border-left:3px solid #b592d5;border-radius:4px;padding:15px}.request-response strong{align-items:center;gap:8px;font-size:14px;display:flex}.request-response p{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0;font-size:15px;line-height:1.6}.request-status[data-status=declined]{color:var(--foreground);background:#af526522;border-color:#bd8290}@media (max-width:1100px){.public-request-grid{grid-template-columns:1fr}}@media (max-width:767px){.requests-page .requests-grid{grid-template-columns:1fr}.request-submit{position:static}}.requests-heading{align-items:center;gap:20px;margin-bottom:26px;display:flex}.requests-heading h1{letter-spacing:-.04em;margin:4px 0 8px;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800}.requests-heading p{margin:0}.requests-heading .eyebrow{font-size:.7rem}.requests-emblem{background:var(--primary);width:64px;height:64px;color:var(--primary-foreground);box-shadow:5px 5px 0 var(--accent);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.requests-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.request-card{background:var(--card);border:1px solid var(--border);border-radius:16px;min-width:0;padding:26px;box-shadow:0 10px 35px #08090c22}.request-card h2{margin:0;font-size:1.25rem;font-weight:700}.request-card>p{color:var(--muted-foreground);margin:12px 0 22px;line-height:1.6}.request-card fieldset{border:0;gap:10px;min-width:0;padding:0;display:grid}.request-card label{margin-top:12px;font-weight:600}.request-card input,.request-card textarea{border:1px solid var(--input);background:var(--background);width:100%;min-width:0;color:var(--foreground);font:inherit;border-radius:9px;padding:12px}.request-card textarea{resize:vertical;min-height:140px}.request-card small{color:var(--muted-foreground);text-align:right;font-size:.75rem}.request-card .button{margin-top:10px}.requests-list-heading,.request-meta,.request-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.requests-list{margin:0;padding:0;list-style:none}.requests-list>li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;min-width:0;padding:20px 0}.requests-list>li:first-child{padding-top:0}.requests-list h3{margin:12px 0 6px;font-size:1.1rem;font-weight:700}.request-details{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 16px;line-height:1.65}.request-meta{color:var(--muted-foreground);font-size:.78rem}.request-meta strong{color:var(--foreground)}.request-status{border:1px solid var(--border);color:var(--foreground);border-radius:20px;padding:4px 10px;font-weight:600}.request-status[data-status=planned],.request-status[data-status=completed]{background:var(--primary);color:var(--primary-foreground)}.request-status[data-status=reviewing]{background:var(--accent);color:var(--accent-foreground)}.requests-list-heading button,.request-pagination button,.request-controls button{font:inherit;border:1px solid var(--border);background:var(--secondary);min-height:42px;color:var(--foreground);cursor:pointer;border-radius:8px;padding:8px 12px}.request-pagination{margin-top:20px;font-size:.8rem}.requests-page button:disabled,.admin-requests-panel button:disabled{opacity:.5;cursor:default}:is(.requests-page :is(input,textarea,button):focus-visible,.admin-requests-panel :is(select,button):focus-visible){outline:3px solid var(--ring);outline-offset:3px}.requests-error{color:var(--destructive);margin-bottom:16px}.requests-notice:not(:empty){border:1px solid var(--accent);background:var(--card);border-radius:10px;margin-bottom:20px;padding:14px;display:block}.requests-empty{color:var(--muted-foreground);text-align:center;padding:28px 10px}.requests-empty svg{margin:auto auto 14px}.request-controls{flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:20px;display:flex}.admin-requests-panel label{gap:6px;font-size:.85rem;display:grid}.admin-requests-panel select{background:var(--background);width:min(100%,260px);color:var(--foreground);border:1px solid var(--border);font:inherit;border-radius:8px;min-height:44px;padding:10px}.admin-requests-panel .requests-list>li{padding:18px 0}.admin-token-notify{gap:6px;margin:12px 0;display:grid}.admin-token-adjustment .admin-token-notify label{align-items:center;gap:10px;display:flex}.admin-token-adjustment .admin-token-notify input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);margin:0}.admin-token-notify small{color:var(--muted-foreground);max-width:440px;line-height:1.5}@media (max-width:767px){.requests-content{padding-top:24px}.requests-grid{grid-template-columns:minmax(0,1fr);gap:20px}.requests-heading{align-items:start;gap:14px}.requests-emblem{border-radius:10px;width:44px;height:44px;margin-top:6px}.requests-heading .eyebrow{display:none}.requests-heading p{font-size:.9rem;line-height:1.5}.request-card{padding:20px}.request-card input,.request-card textarea{font-size:16px}.request-card fieldset .button{width:100%}}
