:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172061;background:#f4f6ff;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0;padding:24px}main{max-width:1480px;margin:auto;background:#fff;padding:32px;border:1px solid #e5e8f7;border-radius:22px}h1,h2,h3,p{margin-top:0}h2{font-size:1.35rem;margin-bottom:24px}h3{font-size:1.1rem}.app-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.brand{display:block;width:172px;height:auto}.app-header button{width:auto;white-space:nowrap}.card{padding:24px;border-radius:16px;background:#f5f6ff;margin-bottom:24px}.card h3{margin-bottom:16px}label{display:block;font-size:.875rem;font-weight:650;margin:0 0 7px}input,select,button{font:inherit;border-radius:9px;min-height:44px}input,select{width:100%;padding:10px 12px;border:1px solid #cbd2ef;background:#fff;color:#172061}button{border:1px solid transparent;padding:10px 18px;background:#303ecc;color:#fff;cursor:pointer;font-weight:650}button:hover:not(:disabled){background:#2330ae}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8da5ff;outline-offset:2px}.secondary{background:#fff;border-color:#cbd2ef;color:#2938bc}.secondary:hover:not(:disabled){background:#eef1ff}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.courtesy{margin-top:20px;padding:20px;background:#fff;border:1px solid #dde2f4;border-radius:12px}.courtesy>label{margin-top:12px}.courtesy>.grid{margin-top:16px}.check-label{display:flex;align-items:center;gap:9px}.check-label input{width:18px;min-height:18px;margin:0}.form-footer{display:flex;align-items:center;gap:16px;margin-top:20px}.form-footer p{margin:0}.toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 190px 190px auto;align-items:end;gap:12px;margin:0 0 20px}.table-scroll{overflow-x:auto;border:1px solid #e1e5f4;border-radius:12px}table{width:100%;border-collapse:collapse;font-size:.875rem;min-width:1030px}th,td{padding:15px 13px;text-align:left;border-bottom:1px solid #e9edf8;vertical-align:middle}th{font-size:.875rem;font-weight:650;background:#f7f8fc;color:#515b85;white-space:nowrap}tbody tr:last-child td{border-bottom:0}.user-cell{min-width:225px;max-width:290px}.user-name{display:block;font-weight:700}.email{display:block;overflow-wrap:anywhere;color:#5b6380;font-size:.8125rem}.date-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.badge{display:inline-flex;padding:4px 9px;border-radius:20px;font-size:.8125rem;font-weight:650;white-space:nowrap}.badge.courtesy{margin:0;border:0;background:#fff0c2;color:#785000;padding:4px 9px}.badge.expired{background:#fff0eb;color:#994327}.badge.paid{background:#e5f5ee;color:#186147}.muted{color:#67718c}.row-actions{display:flex;gap:8px}.icon-button{width:38px;min-height:38px;padding:8px;display:inline-flex;align-items:center;justify-content:center;background:#eef1ff;color:#303ecc;border-color:#dbe0f8}.icon-button:hover:not(:disabled){background:#dde4ff}.icon-button svg{width:19px;height:19px;display:block}.icon-button[aria-expanded=true]{background:#303ecc;color:#fff}.detail-row>td{padding:0;background:#f8f9ff}.user-detail{padding:22px 24px;border-left:3px solid #4654d8}.detail-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.detail-header h3{margin:0}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.detail-grid dt{font-size:.8125rem;color:#68708b}.detail-grid dd{margin:4px 0 0;overflow-wrap:anywhere}.detail-note{font-size:.875rem;color:#606984}.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.pagination p{margin:0;font-size:.875rem;color:#5b6582}.pagination-actions{display:flex;gap:8px}.notice{color:#9b2b3e;font-size:.875rem}.notice:empty{display:none}.empty{text-align:center;padding:32px;color:#65708a}.loading{opacity:.65}#login{max-width:460px;margin:16px auto;padding:20px}#login .brand{margin-bottom:24px}#login label{margin-top:16px}#login button{width:100%;margin-top:24px}[hidden]{display:none!important}@media(max-width:1050px){.toolbar{grid-template-columns:minmax(180px,1fr) 170px 170px}.toolbar button{grid-column:1/-1;justify-self:end}.grid{gap:12px}}@media(max-width:720px){body{padding:10px}main{padding:18px;border-radius:15px}.app-header{gap:12px;margin-bottom:24px}.brand{width:140px}.app-header button{padding:9px 12px;font-size:.875rem}.grid,.toolbar,.detail-grid{grid-template-columns:1fr}.toolbar button{width:100%}.card{padding:18px}.form-footer{align-items:stretch;flex-direction:column}.pagination{align-items:flex-start;flex-direction:column}.pagination-actions{width:100%;justify-content:space-between}.user-detail{padding:18px}}
