:root{--color-bg: #f8f9fa;--color-surface: #ffffff;--color-text: #1a1d21;--color-text-secondary: #5f6368;--color-border: #dadce0;--color-primary: #2563eb;--color-primary-text: #ffffff;--color-danger: #dc2626;--color-warning: #d97706;--color-success: #16a34a;--color-env-local: #6b7280;--color-env-dev: #d97706;--color-env-prod: #dc2626;--radius: 6px;--shadow: 0 1px 3px rgba(0, 0, 0, .08);--nav-width: 260px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.5}button{font:inherit;cursor:pointer}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875em;background:#eef2f7;padding:.125em .375em;border-radius:4px}.config-error{max-width:720px;margin:4rem auto;padding:2rem;background:var(--color-surface);border:1px solid var(--color-danger);border-radius:var(--radius);box-shadow:var(--shadow)}.config-error h1{margin-top:0;color:var(--color-danger)}.config-error-meta{color:var(--color-text-secondary)}.admin-shell{display:flex;min-height:100vh}.admin-nav{width:var(--nav-width);flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:1rem 0}.admin-nav-header{padding:0 1rem 1rem;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.admin-nav-header h1{margin:0;font-size:1.125rem}.env-badge{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;border-radius:999px;color:var(--color-primary-text);background:var(--color-env-local)}.env-badge--dev{background:var(--color-env-dev)}.env-badge--prod{background:var(--color-env-prod)}.admin-nav nav{flex:1;padding:.5rem 0}.admin-nav ul{list-style:none;margin:0;padding:0}.admin-nav button{width:100%;text-align:left;padding:.75rem 1rem;border:none;background:transparent;color:var(--color-text);font-weight:500}.admin-nav button:hover{background:var(--color-bg)}.admin-nav button.active{background:#eff6ff;color:var(--color-primary);border-left:3px solid var(--color-primary)}.admin-nav-footer{padding:1rem;border-top:1px solid var(--color-border);font-size:.75rem;color:var(--color-text-secondary);word-break:break-all}.admin-main{flex:1;overflow:auto;padding:1.5rem}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.panel h2{margin-top:0;font-size:1.25rem}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.workspace{display:grid;grid-template-columns:360px 1fr;gap:1rem;align-items:start}@media (max-width: 1024px){.workspace{grid-template-columns:1fr}}.empty-state{text-align:center;padding:3rem 1rem;color:var(--color-text-secondary)}.empty-state h3{margin-top:0;color:var(--color-text)}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.list-item{border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;cursor:pointer;transition:border-color .15s,background .15s}.list-item:hover,.list-item.selected{border-color:var(--color-primary);background:#eff6ff}.list-item-meta{font-size:.875rem;color:var(--color-text-secondary);margin-top:.25rem}.status-tag{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.25rem .5rem;border-radius:4px;background:#e5e7eb;color:var(--color-text-secondary)}.status-tag--paid_active{background:#dcfce7;color:var(--color-success)}.status-tag--pending_approval{background:#fef3c7;color:var(--color-warning)}.status-tag--awaiting_payment{background:#fee2e2;color:var(--color-danger)}.form{display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;flex-direction:column;gap:.375rem}.form-row label{font-weight:500;font-size:.875rem}.form-row input,.form-row select,.form-row textarea{font:inherit;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb26}.form-row input[type=checkbox]{width:auto}.checkbox-row{flex-direction:row;align-items:center;gap:.5rem}.actions{display:flex;gap:.75rem;margin-top:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border:1px solid transparent;border-radius:var(--radius);font-weight:500;background:var(--color-primary);color:var(--color-primary-text)}.btn:hover:not(:disabled){background:#1d4ed8}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-bg)}.btn--danger{background:var(--color-danger);color:var(--color-primary-text)}.btn--danger:hover:not(:disabled){background:#b91c1c}.error-banner{background:#fee2e2;border:1px solid var(--color-danger);color:#7f1d1d;padding:1rem;border-radius:var(--radius);margin-bottom:1rem}.error-banner button{margin-top:.75rem;padding:.375rem .75rem;border:1px solid var(--color-danger);background:var(--color-surface);color:var(--color-danger);border-radius:var(--radius)}.loading{padding:2rem;text-align:center;color:var(--color-text-secondary)}.one-time-panel{background:#f0fdf4;border:1px solid var(--color-success);border-radius:var(--radius);padding:1.25rem;margin-top:1rem}.one-time-panel h3{margin-top:0;color:#14532d}.one-time-warning{color:var(--color-danger);font-weight:600;margin-bottom:.75rem}.link-field{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem}.link-field input{flex:1;font-family:ui-monospace,monospace;font-size:.875rem}.link-field .btn{flex-shrink:0}.copy-fallback{font-size:.875rem;color:var(--color-text-secondary);margin-top:.25rem}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1rem 0}.status-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem}.status-card h4{margin:0 0 .5rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary)}.status-card p{margin:0;font-weight:600}.pagination{display:flex;gap:.75rem;align-items:center;justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.pagination span{font-size:.875rem;color:var(--color-text-secondary)}.not-found{padding:2rem;text-align:center;color:var(--color-text-secondary)}.approve-form{border-top:1px solid var(--color-border);padding-top:1rem;margin-top:1rem}
