:root{--green:#163f2f;--mint:#e7f6ee;--sand:#f8f5ef;--line:#e8e2d8;--text:#1b1b1b;--muted:#6f716d;--red:#b91c1c;--blue:#1d4ed8;--orange:#b45309}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--sand)}a{color:inherit}.topbar{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:14px 22px}.brand{font-weight:900;font-size:22px;letter-spacing:-.04em}.brand span{color:var(--green)}nav{display:flex;gap:14px;flex-wrap:wrap}nav a{text-decoration:none;color:var(--muted);font-weight:700}.wrap{max-width:1160px;margin:auto;padding:30px 18px}h1{font-size:clamp(30px,5vw,54px);letter-spacing:-.06em;margin:0 0 8px}h2{margin:0 0 12px;letter-spacing:-.035em}.muted{color:var(--muted)}.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 10px 30px rgba(0,0,0,.04)}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.club-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:18px 0}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}.toolbar.compact{margin:14px 0 0}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:white;border:0;border-radius:999px;padding:12px 18px;text-decoration:none;font-weight:900;cursor:pointer}.btn.secondary,button.secondary{background:#fff;color:var(--green);border:1px solid var(--line)}button.red,.btn.red{background:var(--red)}button.gray,.btn.gray{background:#6b7280}.btn.small{padding:8px 12px;font-size:13px}.input,input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 13px;background:#fff;font:inherit}textarea{min-height:100px}label{display:block;font-weight:900;font-size:13px;margin:12px 0 6px}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:.08em;border-bottom:1px solid var(--line);padding:12px 8px}.table td{border-bottom:1px solid var(--line);padding:14px 8px;vertical-align:top}.status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;white-space:nowrap}.status-new{background:#dbeafe;color:#1d4ed8}.status-registered{background:#ddfae9;color:#00945d}.status-accepted{background:#dcfce7;color:#166534}.status-checked_in{background:#14532d;color:#fff}.status-rejected{background:#fee2e2;color:#991b1b}.status-no_show{background:#e5e7eb;color:#374151}.status-expired{background:#ffedd5;color:#9a3412}.metric span,.mini-metrics span{display:block;color:var(--muted);font-size:13px;font-weight:800}.metric strong{font-size:42px;letter-spacing:-.06em}.mini-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mini-metrics div{background:#f7f7f4;border:1px solid var(--line);border-radius:16px;padding:12px}.mini-metrics strong{font-size:26px}.club-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.detail{display:grid;grid-template-columns:1fr 1fr;gap:16px}.actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.logitem{border-bottom:1px solid var(--line);padding:12px 0}.notice{background:#fff7ed;border:1px solid #fed7aa;border-radius:18px;padding:14px;margin:12px 0}.notice.success{background:#ecfdf5;border-color:#bbf7d0}.notice.bad{background:#fef2f2;border-color:#fecaca}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:min(100%,440px);background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:0 20px 60px rgba(0,0,0,.08)}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;white-space:pre-wrap}@media(max-width:760px){.topbar{align-items:flex-start;gap:10px;flex-direction:column}.grid-2,.grid-4,.detail{grid-template-columns:1fr}.mini-metrics{grid-template-columns:repeat(2,1fr)}.table thead{display:none}.table tr{display:block;border-bottom:1px solid var(--line);padding:12px 0}.table td{display:flex;justify-content:space-between;gap:16px;border:0;padding:7px 0}.table td:before{content:attr(data-label);font-weight:900;color:var(--muted)}}

/* v2.1 club request board */
.club-requests-head{max-width:1180px;margin:0 auto 12px;display:grid;grid-template-columns:1fr auto;gap:12px 20px;align-items:center}
.club-title-row{display:flex;align-items:center;gap:12px;min-width:0}.checkin-logo{font-size:25px;font-weight:800;letter-spacing:-.03em;color:#5e6468}.checkin-logo span{color:#ff6c4a}.club-badge{display:inline-flex;align-items:center;border:2px solid #4d5b8f;color:#27335f;background:#fff;border-radius:999px;padding:5px 14px;font-weight:900;text-transform:uppercase}
.request-tabs{display:flex;gap:7px;align-items:center}.tab{border-radius:999px;padding:7px 13px;font-weight:800;text-decoration:none;border:1px solid transparent;font-size:14px}.tab-expired{background:#ffe4e4;color:#d44839}.tab-new{background:#dcebff;color:#0b75df}.tab-registered{background:#ddfae9;color:#00945d}.tab-all{background:#fff;color:#102f28;border-color:#dcd5c9}.tab.active{box-shadow:0 3px 0 #12bf77}
.requests-tools{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.count-pill{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 18px;text-transform:uppercase;font-weight:900}.request-search{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.request-search input{width:min(360px,55vw);border-radius:999px;padding:13px 18px}.request-search select{width:auto;border-radius:999px}.request-search button{padding:10px 14px}.requests-card{max-width:1180px;margin:0 auto;background:#fff;border:1px solid #dde8e4;border-radius:20px;overflow:hidden;box-shadow:0 12px 35px rgba(20,45,40,.05)}
.request-table{width:100%;border-collapse:collapse;font-size:14px}.request-table th{background:#ddf2ea;color:#102f28;text-align:left;font-size:13px;text-transform:uppercase;padding:13px 18px;font-weight:900}.request-table td{border-bottom:1px solid #e6efed;padding:14px 18px;vertical-align:top}.request-table tr.is-today{background:#edf7ff}.date-main{font-weight:500}.time-main{margin-left:7px;color:#32514b}.invite-code{font-weight:700;text-decoration:none;color:#123e36}.visitor-cell div{font-weight:800;margin-bottom:9px}.visitor-cell div:last-child{margin-bottom:0}.lang-mini{font-weight:700}.ip-flag{font-size:24px;line-height:1}.comment-link{font-size:26px;color:#b9c5c2;text-decoration:none}.comment-link:hover{color:#00b779}.empty-state{text-align:center;color:var(--muted);padding:30px!important}.request-table .status{font-size:13px;padding:6px 12px}.status-new{background:#dcedff;color:#0074e8;border:1px solid #c4ddff}.status-registered{background:#ddfae9;color:#00945d;border:1px solid #bdf5d1}.status-accepted{background:#dcfce7;color:#108455;border:1px solid #bdf5d1}.status-checked_in{background:#ccf6df;color:#064e3b;border:1px solid #86efac}.status-rejected{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.status-no_show{background:#e5e7eb;color:#374151;border:1px solid #d1d5db}.status-expired{background:#ffedd5;color:#c2410c;border:1px solid #fed7aa}
@media(max-width:760px){.club-requests-head{grid-template-columns:1fr}.requests-tools{display:block}.request-search{margin-top:12px;margin-left:0}.request-search input,.request-search select{width:100%}.request-tabs{overflow:auto;padding-bottom:4px}.request-table thead{display:none}.request-table tr{display:block;padding:12px 16px;border-bottom:1px solid var(--line)}.request-table td{display:flex;justify-content:space-between;gap:16px;border:0;padding:7px 0}.request-table td:before{content:attr(data-label);font-weight:900;color:var(--muted);text-transform:uppercase;font-size:12px}.visitor-cell{display:block!important}.visitor-cell:before{display:block;margin-bottom:6px}.comment-link{font-size:22px}.ip-flag{font-size:20px}}

/* v2.2 request board polish - spacing, flags, reference-style table */
body{background:#eee9df;color:#102f28}.wrap{max-width:1240px;padding:24px 22px 56px}.topbar{background:#f7f3eb;border-bottom:0;box-shadow:0 1px 0 rgba(0,0,0,.04)}.topbar .brand{font-size:24px;color:#555}.topbar nav a{color:#102f28;font-weight:900}.club-requests-head{max-width:1180px;margin:0 auto 16px;grid-template-columns:1fr auto;gap:12px 18px}.club-title-row{gap:14px}.checkin-logo{font-size:26px;letter-spacing:-.04em;color:#565b60}.checkin-logo strong{color:#565b60}.checkin-logo span{color:#ff6c4a}.club-badge{font-size:15px;padding:6px 16px;border-color:#52629b;color:#263263;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.04)}.request-tabs{justify-content:flex-start}.tab{font-size:14px;padding:8px 14px;border:1px solid rgba(0,0,0,.04)}.tab.active{box-shadow:0 4px 0 #00bf7a}.requests-tools{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px 12px}.count-pill{height:38px;background:#f7f4ee;border-color:#dcd5c9;font-size:14px;padding:0 18px}.request-search{justify-self:end;margin-left:0;display:flex;align-items:center;gap:10px}.request-search input{width:340px;height:42px;border-radius:999px;background:#fff;border:0;box-shadow:inset 0 0 0 1px #ddd7ce;padding:0 18px}.request-search select{height:42px;border-radius:999px;border:0;background:#fff;box-shadow:inset 0 0 0 1px #ddd7ce;padding:0 16px}.request-search button,.request-search .btn{height:38px;padding:0 16px}.requests-card{max-width:1180px;border-radius:18px;border:1px solid #d9e8e3;background:#fff;box-shadow:none;overflow:hidden}.request-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font-size:14px;color:#173b33}.request-table col.col-created{width:155px}.request-table col.col-code{width:120px}.request-table col.col-visitors{width:270px}.request-table col.col-status{width:170px}.request-table col.col-date{width:160px}.request-table col.col-lang{width:80px}.request-table col.col-ip{width:95px}.request-table col.col-comment{width:90px}.request-table th{background:#dff3ed;color:#102f28;padding:13px 18px;font-size:13px;font-weight:900;text-transform:uppercase;white-space:nowrap;border-bottom:0}.request-table td{padding:15px 18px;border-bottom:1px solid #e1eae7;vertical-align:top;line-height:1.25}.request-table tbody tr:last-child td{border-bottom:0}.request-table tr.is-today{background:#edf7ff}.request-table tbody tr:hover{background:#f7fbfa}.request-table tr.is-today:hover{background:#e9f5ff}.created-cell{white-space:nowrap}.date-main{font-weight:500;color:#173b33}.time-main{margin-left:8px;color:#3c6159}.invite-code{font-weight:700;color:#143e37;text-decoration:none}.invite-code:hover{text-decoration:underline}.visitor-cell div{font-weight:850;margin:0 0 9px;line-height:1.25}.visitor-cell div:last-child{margin-bottom:0}.status-cell{text-align:left}.request-table .status{min-width:82px;font-size:13px;padding:6px 12px;justify-content:center}.visit-cell{white-space:nowrap}.lang-cell{text-align:center}.lang-mini{font-weight:750;color:#173b33}.ip-cell{text-align:center}.ip-flag{display:inline-flex;align-items:center;justify-content:center;font-size:24px;line-height:1;min-width:32px;height:30px}.comment-cell{text-align:center}.comment-link{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:24px;color:#c7d2cf;text-decoration:none;border-radius:50%}.comment-link:hover{color:#00b779;background:#e9fbf3}.empty-state{text-align:center;color:#6f716d;padding:34px!important}.status-new{background:#dcedff;color:#0074e8;border:1px solid #c4ddff}.status-registered{background:#ddfae9;color:#00945d;border:1px solid #bdf5d1}.status-accepted{background:#dcfce7;color:#108455;border:1px solid #bdf5d1}.status-checked_in{background:#ccf6df;color:#064e3b;border:1px solid #86efac}.status-rejected{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.status-no_show{background:#e5e7eb;color:#374151;border:1px solid #d1d5db}.status-expired{background:#ffedd5;color:#c2410c;border:1px solid #fed7aa}
@media(max-width:900px){.wrap{padding:18px 12px 40px}.club-requests-head{grid-template-columns:1fr}.requests-tools{display:flex;align-items:center;justify-content:flex-start}.request-search{width:100%;justify-self:auto}.request-search input{width:100%}.requests-card{overflow-x:auto}.request-table{min-width:980px}.request-table thead{display:table-header-group}.request-table tr{display:table-row;padding:0;border-bottom:0}.request-table td{display:table-cell;border-bottom:1px solid #e1eae7;padding:13px 14px}.request-table td:before{content:none!important}.visitor-cell{display:table-cell!important}.visitor-cell:before{display:none!important}}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:13px}.codebox{white-space:pre-wrap;background:#0f172a;color:#e2e8f0;border-radius:14px;padding:14px;overflow:auto;font-size:12px}.steps-list{padding-left:20px;line-height:1.8}.success-card{border-color:#bbf7d0;background:#f0fdf4;color:#166534}

/* v2.5 manager board as home + clean status dropdown */
.status-registered{background:#ddfae9;color:#00945d;border:1px solid #bdf5d1}
.status-dropdown-form{margin:0;display:inline-block}
.status-select{appearance:none;-webkit-appearance:none;border-radius:999px;border:1px solid transparent;font-weight:900;font-size:14px;padding:8px 34px 8px 18px;min-width:118px;cursor:pointer;text-align:left;background-repeat:no-repeat;background-position:right 13px center;background-size:10px;color:#0f3f34;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%2360716b' d='M1 0l4 4 4-4 1 1-5 5-5-5z'/%3E%3C/svg%3E")}
.status-select.status-new{background-color:#dcedff;color:#0074e8;border-color:#c4ddff}
.status-select.status-registered{background-color:#ddfae9;color:#00945d;border-color:#bdf5d1}
.status-select:focus{outline:2px solid rgba(0,183,121,.28);outline-offset:2px}.delete-inline{display:inline;margin-left:6px}.delete-link{width:26px;height:26px;min-width:26px;padding:0;border-radius:50%;background:#fff;color:#b91c1c;border:1px solid #fecaca;font-size:16px;line-height:1}.delete-link:hover{background:#fee2e2}.topbar nav a:first-child:last-child{margin-left:auto}
@media(max-width:900px){.status-select{min-width:132px}.comment-cell{gap:8px;align-items:center}}

/* v2.7 manager UI + clean board polish */
.mini-metrics div span{text-transform:uppercase;letter-spacing:.04em}
.request-table .col-status{width:155px}.request-table .col-ip{width:82px}.request-table .col-comment{width:105px}
.status-dropdown-form{margin:0;display:inline-flex;align-items:center}
.status-select{appearance:none;-webkit-appearance:none;border-radius:999px;border:1px solid transparent;font-weight:900;font-size:14px;line-height:1;padding:8px 34px 8px 16px;min-width:128px;cursor:pointer;text-align:left;background-repeat:no-repeat;background-position:right 13px center;background-size:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%2360716b' d='M1 0l4 4 4-4 1 1-5 5-5-5z'/%3E%3C/svg%3E")}
.status-select.status-new{background-color:#dcedff;color:#0074e8;border-color:#c4ddff}.status-select.status-registered{background-color:#ddfae9;color:#00945d;border-color:#bdf5d1}.status-select:focus{outline:2px solid rgba(0,183,121,.26);outline-offset:2px}
.ip-cell{text-align:center}.ip-flag{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#f8f5ef;border:1px solid #dcd5c9;font-size:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.comment-cell{white-space:nowrap}.comment-link{vertical-align:middle}.delete-inline{display:inline-flex;margin-left:7px;vertical-align:middle}.delete-link{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;padding:0;border-radius:999px;background:#fff;color:#b91c1c;border:1px solid #fecaca;font-size:17px;font-weight:900;line-height:1;cursor:pointer}.delete-link:hover{background:#fee2e2}
.request-tabs .tab-accepted,.request-tabs .tab-checked_in{display:none!important}
@media(max-width:900px){.request-table{min-width:930px}.status-select{min-width:126px}.ip-flag{width:30px;height:30px;font-size:18px}}


/* v2.7.1: use real flag images so Windows/Chrome never renders flags as "GB" text */
.ip-flag{
  overflow:hidden;
  background:#fff;
  border:1px solid #dcd5c9;
}
.ip-flag img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:999px;
}


/* v2.7.2: IP privacy + reliable flag display */
.ip-cell{white-space:nowrap}
.ip-address{display:block;margin-top:5px;font-size:11px;line-height:1.15;color:#7b8581;font-weight:700;letter-spacing:.01em}
.ip-flag{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#fff;border:1px solid #dcd5c9;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);font-size:20px}
.ip-flag img{width:100%;height:100%;object-fit:cover;display:block;border-radius:999px}
@media(max-width:900px){.ip-address{font-size:10px}.ip-flag{width:30px;height:30px}}

/* v2.12 reports + monthly commission - reports page only */
.report-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 auto 18px;max-width:1180px}
.report-head h1{margin:0 0 6px;font-size:38px;letter-spacing:-.04em;color:#123b33}
.report-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.report-filter select{height:42px;border-radius:999px;border:1px solid #dcd5c9;background:#fff;padding:0 16px;font-weight:800;color:#123b33}
.report-filter button{height:42px;border-radius:999px;padding:0 18px}
.month-grid{max-width:1180px;margin:0 auto 18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.month-card{display:block;text-decoration:none;background:#fff;border:1px solid #d9e8e3;border-radius:18px;padding:18px;color:#123b33;box-shadow:0 1px 0 rgba(0,0,0,.03)}
.month-card.active{outline:3px solid rgba(0,191,122,.25);border-color:#00bf7a}
.month-card .month-name{display:block;font-weight:950;text-transform:uppercase;letter-spacing:.04em;font-size:13px;color:#68756f;margin-bottom:10px}
.month-card strong{font-size:38px;line-height:1;letter-spacing:-.05em;display:block}
.month-card em{display:block;font-style:normal;color:#68756f;margin:3px 0 14px;font-weight:750}
.month-card b{display:block;font-size:24px;letter-spacing:-.04em;color:#00945d;margin-bottom:6px}
.month-card small{display:block;color:#68756f;font-weight:800}
.archive-box{max-width:1180px;margin:0 auto 18px;background:#fff;border:1px solid #d9e8e3;border-radius:16px;padding:12px 16px}
.archive-box summary{cursor:pointer;font-weight:950;color:#123b33}
.archive-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.archive-links a{display:inline-flex;border-radius:999px;background:#f3efe7;border:1px solid #ded8ce;padding:8px 12px;color:#123b33;text-decoration:none;font-weight:850}
.report-detail{max-width:1180px;margin:0 auto}.report-table th,.report-table td{white-space:nowrap}.report-table td:nth-child(3),.report-table td:nth-child(5),.report-table td:nth-child(6){text-align:right}
@media(max-width:900px){.report-head{display:block}.report-filter{margin-top:12px}.month-grid{grid-template-columns:1fr}.report-detail{overflow-x:auto}.report-table{min-width:760px}}


/* ---- Phase 2: Removed invites, commission voiding, staff deactivation ---- */
.tab-removed{color:#7c2d12}
.tab-removed.active{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.removed-intro{margin:0 0 12px}
.removed-table th,.removed-table td{vertical-align:top}
.removal-note{font-size:12px;margin-top:2px}
.revenue-flag{display:inline-block;margin-left:6px;font-weight:900;color:#0f766e}
.badge-removed{display:inline-block;padding:2px 8px;border-radius:999px;background:#ffedd5;color:#9a3412;font-size:11px;font-weight:800;vertical-align:middle}
.badge-voided{display:inline-block;padding:2px 8px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:11px;font-weight:800}
.badge-counting{display:inline-block;padding:2px 8px;border-radius:999px;background:#dcfce7;color:#15803d;font-size:11px;font-weight:800}
.is-voided{text-decoration:line-through;opacity:.65}
.removed-banner{border:1px solid #fed7aa;background:#fff7ed;color:#7c2d12;border-radius:12px;padding:14px 16px;margin-bottom:16px}
.removed-meta{margin-top:6px;font-size:13px;opacity:.9}
.remove-pop{position:relative;display:inline-block}
.remove-pop>summary{list-style:none;cursor:pointer}
.remove-pop>summary::-webkit-details-marker{display:none}
.remove-pop[open]>summary{outline:2px solid rgba(185,28,28,.25);outline-offset:2px}
.remove-form{position:absolute;right:0;z-index:40;width:260px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;
  box-shadow:0 12px 32px rgba(0,0,0,.16);padding:12px;text-align:left}
.remove-pop.inline .remove-form{position:static;width:auto;box-shadow:none;border-color:#f1f5f9}
.remove-form label{display:block;font-size:12px;font-weight:700;margin:6px 0 3px}
.remove-form select,.remove-form input[type=text]{width:100%;padding:7px 9px;border:1px solid #d5dbe3;border-radius:8px;font-size:13px}
.remove-form .void-opt{margin:9px 0;font-size:12px;line-height:1.35}
.remove-form .void-opt label{display:inline;font-weight:600}
.remove-form button{margin-top:9px;width:100%}
.btn.danger,button.danger{background:#b91c1c;border-color:#b91c1c;color:#fff}
.btn.danger:hover,button.danger:hover{background:#991b1b}
.restore-inline{display:inline-block}
.user-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}
tr.is-deactivated{opacity:.72}
.small{font-size:12px}

/* ---- Phase 3: club hub (grants, media manager) ---- */
.club-grants{display:flex;flex-direction:column;gap:6px;border:1px solid #e5e7eb;border-radius:10px;padding:10px;max-height:320px;overflow:auto;background:#fff}
.grant-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:4px 2px;border-bottom:1px solid #f1f5f9}
.grant-row:last-child{border-bottom:0}
.grant-check{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}
.grant-check .muted{font-weight:400;font-size:12px}
.grant-sort{font-size:12px;color:#64748b;white-space:nowrap}
.grant-sort input{width:64px;padding:4px 6px;border:1px solid #d5dbe3;border-radius:6px;margin-left:4px}
.grant-name{font-size:12px;color:#64748b;white-space:nowrap}
.grant-name input{width:160px;padding:4px 6px;border:1px solid #d5dbe3;border-radius:6px;margin-left:4px}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.media-item{border:1px solid #e5e7eb;border-radius:12px;padding:10px;background:#fff}
.media-item img{width:100%;height:140px;object-fit:cover;border-radius:8px;background:#f8fafc}
.media-meta{display:flex;align-items:center;gap:8px;margin:8px 0 4px;flex-wrap:wrap;font-size:12px}
.media-item label{display:block;font-size:12px;font-weight:700;margin-top:6px}
.media-item .input{font-size:12px;padding:5px 7px}
.table-scroll{overflow-x:auto}
h3{margin:18px 0 6px;font-size:15px;letter-spacing:.01em}
