:root{--cpc-accent: #168eea;--cpc-accent-hover: #1378c8;--cpc-canvas: #f5f7f8;--cpc-surface: #ffffff;--cpc-border: #dce0e4;--cpc-text: #1b1b1b;--cpc-muted: #69727b;--cpc-danger: #d0021b;--cpc-success: #28a745;--cpc-radius: 6px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;color:var(--cpc-text);background:var(--cpc-canvas)}.cpc-admin{padding:20px;min-height:520px}.cpc-muted{color:var(--cpc-muted);font-size:13px}.cpc-storage-row{margin-top:8px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.cpc-storage-badge{border:1px solid var(--cpc-border);background:var(--cpc-surface);border-radius:999px;padding:4px 10px;font-size:12px;color:var(--cpc-muted);cursor:pointer}.cpc-storage-badge--ok{border-color:#b8e0c4;color:var(--cpc-success)}.cpc-storage-badge--warn{border-color:#f5c6cb;color:var(--cpc-danger)}.cpc-storage-detail{display:block;font-size:12px;margin-top:4px}.cpc-storage-webhook-warn{font-size:12px;color:var(--cpc-muted);max-width:420px}.cpc-error{color:var(--cpc-danger)}.cpc-btn{display:inline-flex;align-items:center;gap:6px;border-radius:var(--cpc-radius);border:1px solid var(--cpc-border);background:var(--cpc-surface);color:var(--cpc-text);padding:8px 14px;font-size:14px;cursor:pointer}.cpc-btn:disabled{opacity:.55;cursor:not-allowed}.cpc-btn--primary{background:var(--cpc-accent);border-color:var(--cpc-accent);color:#fff}.cpc-btn--primary:hover:not(:disabled){background:var(--cpc-accent-hover)}.cpc-btn--ghost{border-color:transparent;background:transparent}.cpc-btn--danger{color:var(--cpc-danger)}.cpc-btn--sm{padding:4px 8px;font-size:12px}.cpc-input,.cpc-select,.cpc-textarea{width:100%;border:1px solid var(--cpc-border);border-radius:var(--cpc-radius);padding:8px 10px;font:inherit;background:#fff}.cpc-textarea{resize:vertical;min-height:72px}.cpc-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.cpc-field__label{font-weight:600;font-size:13px}.cpc-field__hint{font-size:12px;color:var(--cpc-muted)}.cpc-panel{background:var(--cpc-surface);border:1px solid var(--cpc-border);border-radius:var(--cpc-radius);padding:16px;margin-bottom:16px}.cpc-panel__title{margin:0 0 12px;font-size:15px}.cpc-stack>*+*{margin-top:0}.cpc-grid{display:grid;gap:12px}.cpc-grid--2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.cpc-segmented{display:flex;flex-wrap:wrap;gap:4px;background:#e8ecef;padding:4px;border-radius:8px;margin-bottom:16px}.cpc-segmented button{border:none;background:transparent;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--cpc-muted);display:inline-flex;align-items:center;gap:6px}.cpc-segmented button.active{background:#fff;color:var(--cpc-accent);font-weight:600;box-shadow:0 1px 2px #0000000f}.cpc-badge{background:var(--cpc-accent);color:#fff;font-size:11px;padding:1px 6px;border-radius:10px}.cpc-list__bar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.cpc-list__bar h1{margin:0 0 4px;font-size:20px}.cpc-list__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.cpc-filters{display:grid;grid-template-columns:1fr 200px;gap:12px;margin-bottom:16px}.cpc-table-wrap{background:var(--cpc-surface);border:1px solid var(--cpc-border);border-radius:var(--cpc-radius);overflow:visible}.cpc-table{width:100%;border-collapse:collapse;background:var(--cpc-surface)}.cpc-table th,.cpc-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--cpc-border)}.cpc-table th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--cpc-muted);background:#fafbfc}.cpc-chip{display:inline-block;padding:2px 8px;border-radius:12px;background:#eef4fb;color:var(--cpc-accent);font-size:12px}.cpc-link-btn{border:none;background:none;color:var(--cpc-accent);cursor:pointer;font:inherit;padding:0;text-align:left}.cpc-empty{text-align:center;padding:48px 16px;background:var(--cpc-surface);border:1px dashed var(--cpc-border);border-radius:var(--cpc-radius)}.cpc-row-menu{position:relative;width:48px}.cpc-icon-btn{border:none;background:transparent;cursor:pointer;padding:4px;border-radius:4px}.cpc-menu{position:absolute;right:0;top:100%;z-index:20;background:#fff;border:1px solid var(--cpc-border);border-radius:var(--cpc-radius);box-shadow:0 8px 24px #00000014;min-width:140px;display:flex;flex-direction:column}.cpc-menu button{border:none;background:none;text-align:left;padding:10px 12px;cursor:pointer;font:inherit}.cpc-menu button:hover{background:#f5f7f8}.cpc-menu button.danger{color:var(--cpc-danger)}.cpc-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.cpc-switch input{position:absolute;opacity:0;width:0;height:0}.cpc-switch__track{width:40px;height:22px;background:#cbd5e1;border-radius:11px;position:relative;transition:background .15s}.cpc-switch__track:after{content:"";position:absolute;width:18px;height:18px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform .15s}.cpc-switch input:checked+.cpc-switch__track{background:var(--cpc-accent)}.cpc-switch input:checked+.cpc-switch__track:after{transform:translate(18px)}.cpc-editor__top{margin-bottom:12px}.cpc-editor__title{margin:8px 0 4px;font-size:18px}.cpc-meta{font-size:12px;color:var(--cpc-muted)}.cpc-savebar{position:sticky;bottom:0;margin-top:20px;padding:12px 16px;background:#fff;border:1px solid var(--cpc-border);border-radius:var(--cpc-radius);display:flex;justify-content:space-between;align-items:center;box-shadow:0 -4px 12px #0000000a}.cpc-savebar__status{font-size:13px;color:var(--cpc-muted)}.cpc-savebar__actions{display:flex;gap:8px}.cpc-tier-table__head,.cpc-tier-table__row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:8px;align-items:center;margin-bottom:8px}.cpc-tier-table__head{font-size:12px;color:var(--cpc-muted);font-weight:600}.cpc-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:100}.cpc-modal{background:#fff;border-radius:8px;width:min(720px,100%);max-height:90vh;overflow:auto;box-shadow:0 16px 40px #00000026}.cpc-modal__head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--cpc-border)}.cpc-modal__head h2{margin:0;font-size:17px}.cpc-modal__close{border:none;background:none;font-size:24px;cursor:pointer;line-height:1}.cpc-modal__body{padding:16px 20px}.cpc-modal__foot{padding:12px 20px 16px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--cpc-border)}.cpc-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.cpc-template-card{text-align:left;border:1px solid var(--cpc-border);border-radius:var(--cpc-radius);padding:12px;background:#fafbfc;cursor:pointer;display:flex;flex-direction:column;gap:6px}.cpc-template-card:hover{border-color:var(--cpc-accent);background:#fff}.cpc-template-card span{font-size:12px;color:var(--cpc-muted)}.cpc-toast{position:fixed;top:16px;right:16px;z-index:200;padding:10px 14px;border-radius:var(--cpc-radius);box-shadow:0 8px 20px #0000001f;font-size:13px;max-width:360px}.cpc-toast--ok{background:#e8f5ec;color:#1e6b34;border:1px solid #b7e1c4}.cpc-toast--error{background:#fdecea;color:#9b1c1c;border:1px solid #f5c2c0}.cpc-appearance-preview{margin-top:16px;padding:16px;border:1px solid var(--cpc-border);display:flex;justify-content:space-between;align-items:center}.cpc-switch--disabled{opacity:.55;cursor:not-allowed}.cpc-switch--disabled input{cursor:not-allowed}.cpc-boot-error{max-width:480px;display:flex;flex-direction:column;gap:12px}.cpc-boot-error__hint{margin:0;line-height:1.45}.cpc-preview-btn{display:inline-block;background:var(--cpc-accent);color:#fff;border:none;border-radius:var(--cpc-radius);padding:8px 16px;font-size:14px;-webkit-user-select:none;user-select:none}.cpc-btn:focus-visible,.cpc-link-btn:focus-visible,.cpc-icon-btn:focus-visible,.cpc-segmented button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cpc-accent);outline-offset:2px}@media(max-width:640px){.cpc-filters{grid-template-columns:1fr}.cpc-tier-table__head{display:none}.cpc-tier-table__row{grid-template-columns:1fr}}
