:root{color-scheme:light;--background:#f7f8fa;--panel:#ffffff;--border:#d8dee8;--text:#172033;--muted:#647084;--primary:#126f66;--danger:#b42318}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--text);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:6px;padding:5px 8px;background:#fff;color:var(--text)}.admin-shell{width:min(1440px,100%);margin:0 auto;padding:24px}.admin-login{display:grid;min-height:100vh;align-content:center;justify-items:center;grid-gap:16px;gap:16px}.access-denied{max-width:480px}.access-denied p{color:var(--muted)}.spinner{animation:spin .8s linear infinite;border:3px solid var(--border);border-top-color:var(--primary);border-radius:999px;height:36px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}.admin-header,.admin-user,.filters,.panel-heading{display:flex;align-items:center;gap:12px}.admin-header{justify-content:space-between;margin-bottom:20px}.admin-brand{align-items:center;display:flex;gap:14px}.admin-brand img{height:54px;width:54px}.admin-brand strong{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:1rem;font-weight:800;letter-spacing:0;line-height:1.1}.admin-tabs{border-bottom:1px solid var(--border);display:flex;gap:4px;margin-bottom:16px}.admin-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;padding:12px 16px}.admin-tabs button.active,.admin-tabs button[aria-current=page]{border-bottom-color:var(--primary);color:var(--text);font-weight:700}h1,h2,h3,h4,p{margin-top:0}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px}.panel-heading{justify-content:space-between;align-items:flex-start;margin-bottom:12px}.panel-title-actions{align-items:center;display:flex;gap:10px}.panel-title-actions h2{margin:0}.filters{align-items:stretch}.filters input{min-width:260px}.button{border:1px solid var(--border);border-radius:6px;padding:6px 10px;background:#fff;color:var(--text);cursor:pointer;font-size:14px;line-height:1.2;white-space:nowrap}.button.primary{border-color:var(--primary);background:var(--primary);color:#fff}.button.danger{border-color:#f3b5ae;color:var(--danger)}.button.danger:hover{background:#fff1ef}.button.danger.solid{background:var(--danger);border-color:var(--danger);color:#fff}.button.danger.solid:hover{background:#8f1d14}.button:disabled{cursor:not-allowed;opacity:.5}.row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.stack{display:grid;grid-gap:6px;gap:6px}.data-table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table td,.data-table th{border-bottom:1px solid var(--border);padding:10px;text-align:left;vertical-align:middle}.data-table th{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.pager{align-items:center;display:flex;justify-content:space-between;gap:12px;padding-top:14px}.pager div span,.pager>span{color:var(--muted)}.pager div{align-items:center;display:flex;gap:10px}.note,small{color:var(--muted)}.pill{border-radius:999px;padding:4px 8px;background:#eaf4f2;color:var(--primary);font-size:12px}.notice{border:1px solid #b9d8d4;border-radius:6px;padding:10px 12px;background:#eef9f7}.notice.error{border-color:#f3b5ae;background:#fff1ef;color:var(--danger)}.drawer{align-content:start;background:var(--panel);border-left:1px solid var(--border);box-shadow:-18px 0 60px rgba(23,32,51,.18);display:grid;grid-gap:12px;gap:12px;height:100vh;overflow:auto;padding:18px;position:fixed;right:0;top:0;width:min(440px,100%);z-index:40}.drawer input,.drawer select,.drawer textarea{font-size:14px}.drawer textarea{min-height:84px;resize:vertical}.floating-field{display:block;position:relative}.floating-field input,.floating-field textarea{padding-top:14px}.floating-field span{color:var(--muted);font-size:14px;left:9px;line-height:1;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:font-size .12s ease,top .12s ease}.floating-field input:focus+span,.floating-field input:not(:placeholder-shown)+span,.floating-field textarea:focus+span,.floating-field textarea:not(:placeholder-shown)+span{font-size:10px;top:5px;transform:none}.select-field{display:grid;grid-gap:3px;gap:3px}.select-field span{color:var(--muted);font-size:10px;font-weight:700}.role-checks{border:1px solid var(--border);border-radius:6px;display:grid;grid-gap:6px;gap:6px;padding:8px}.role-checks label{align-items:center;display:flex;gap:8px}.role-checks input{width:auto}.role-checks span{color:var(--text);font-size:14px;font-weight:400}.drawer-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.drawer-header p{color:var(--muted);font-size:14px;margin:0 0 4px}.drawer-header h2{overflow-wrap:anywhere;margin:0}.drawer-tabs{border-bottom:1px solid var(--border);display:flex;gap:4px}.drawer-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;padding:8px 10px}.drawer-tabs button[aria-selected=true]{border-bottom-color:var(--primary);color:var(--text);font-weight:700}.meta-list{display:grid;grid-gap:4px 10px;gap:4px 10px;grid-template-columns:auto minmax(0,1fr);margin:0}.meta-list dt{color:var(--muted);font-size:12px;font-weight:700}.meta-list dd{font-size:12px;margin:0;overflow-wrap:anywhere}.related-list{display:grid;grid-gap:6px;gap:6px}.related-list h3,.related-list p{font-size:13px;margin:0}.related-list p{color:var(--muted)}.related-list>div{display:grid;grid-gap:6px;gap:6px}.related-link{align-items:center;background:#f8fafc;border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;display:flex;gap:10px;justify-content:space-between;padding:7px 9px;text-align:left}.related-link span{font-weight:700;overflow-wrap:anywhere}.verification-panel{background:#f8fafc;border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:10px}.verification-panel div{display:grid;grid-gap:3px;gap:3px}.verification-panel span{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase}.verification-panel strong{font-size:13px}.verification-panel code{background:#ffffff;border:1px solid var(--border);border-radius:6px;display:block;font-size:12px;overflow-wrap:anywhere;padding:6px 8px;white-space:normal;word-break:break-all}.verification-panel p{color:var(--muted);font-size:13px;line-height:1.45;margin:0}.modal-backdrop{align-items:center;background:rgba(23,32,51,.54);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:50}.modal{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 24px 80px rgba(23,32,51,.28);display:grid;grid-gap:16px;gap:16px;max-height:min(90vh,760px);max-width:760px;overflow:auto;padding:20px;width:min(100%,760px)}.confirm-modal{max-width:460px}.danger-copy{color:var(--danger);font-weight:700;margin:0}.confirm-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end}.modal-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.modal-header p{color:var(--muted);font-size:14px;margin:0 0 4px}.modal-header h2{margin:0}.modal-close{background:#fff;border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-weight:800;height:32px;width:32px}.timeline{display:grid;grid-gap:10px;gap:10px}.audit-event{background:#f8fafc;border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:12px}.audit-event header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.audit-event strong{font-size:14px}.audit-event time{color:var(--muted);font-size:12px;white-space:nowrap}.audit-event p{color:var(--text);font-size:13px;line-height:1.45;margin:0}.audit-state{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.audit-state span{color:var(--muted);font-size:12px}.audit-state span:first-child,.audit-state span:last-child{background:#ffffff;border:1px solid var(--border);border-radius:999px;color:var(--text);padding:3px 8px}@media (max-width:900px){.admin-header,.filters,.pager,.panel-heading{align-items:stretch;flex-direction:column}.admin-brand{align-items:center}.admin-tabs{overflow-x:auto}.filters input{min-width:0}.panel-title-actions{align-items:stretch;flex-direction:column}}