:root{--primary: #8B7BA8;--primary-on: #FFFFFF;--background: #FDF8F3;--surface: #FFFFFF;--text-primary: #2D2A32;--text-secondary: #6B6572;--error: #C45C4A;--border: #E5DFE8;--input-bg: #FFFFFF;--input-border: #D4CED9;--nav-bg: #FFFFFF;--nav-border: #E5DFE8;--nav-active: #8B7BA8;--brand-mint: #B8E6D5;--brand-lavender: #E8DCFC;--brand-peach: #FED7AA}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--background);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;background:var(--primary);color:var(--primary-on);border:none;border-radius:8px;padding:8px 16px}button:hover:not(:disabled){filter:brightness(1.05)}button:disabled{background:#e8e5eb;color:#9e99a6;cursor:not-allowed}button.secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}button.danger{background:var(--error);color:#fff}input,textarea,select{font:inherit;color:var(--text-primary);background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;padding:8px 12px}input::placeholder,textarea::placeholder{color:var(--text-secondary)}label{color:var(--text-primary);font-weight:500}.app-layout{display:flex;min-height:100vh;width:100%}.app-nav{position:fixed;left:0;top:0;bottom:0;width:220px;background:var(--nav-bg);border-right:1px solid var(--nav-border);padding:24px 16px;flex-shrink:0;overflow-y:auto}.app-nav .brand{font-weight:700;font-size:1.125rem;color:var(--text-primary);margin-bottom:24px;padding:0 8px}.app-nav ul{list-style:none;padding:0;margin:0}.app-nav li{margin-bottom:4px}.app-nav a{display:block;padding:10px 12px;border-radius:8px;color:var(--text-secondary);font-weight:500}.app-nav a:hover{background:var(--brand-lavender);color:var(--text-primary);text-decoration:none}.app-nav a.active{background:var(--nav-active);color:var(--primary-on)}.nav-group{margin-bottom:4px}.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-weight:500;font-size:inherit;font-family:inherit;cursor:pointer;text-align:left}.nav-group-toggle:hover{background:var(--brand-lavender);color:var(--text-primary)}.nav-group-toggle.active{background:var(--nav-active);color:var(--primary-on)}.nav-chevron{font-size:.7rem;opacity:.8}.nav-sub{list-style:none;margin:4px 0 4px 12px;border-left:1px solid var(--border);padding:0 0 0 8px}.nav-sub li{margin-bottom:2px}.nav-sub a{padding:6px 10px;font-size:.9rem}.nav-errors-link{display:flex;align-items:center;gap:6px}.nav-badge{background:#ef5350;color:#fff;border-radius:10px;font-size:.7rem;font-weight:700;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;line-height:1}.api-config-block{margin-top:16px}.api-config-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--input-bg)}.api-config-toggle .api-config-segment{padding:6px 12px;border:none;background:transparent;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.api-config-toggle .api-config-segment:not(:last-child){border-right:1px solid var(--border)}.api-config-toggle .api-config-segment:hover{color:var(--text-primary);background:var(--brand-lavender)}.api-config-toggle .api-config-segment.active,.api-config-toggle .api-config-segment.active:hover{background:var(--primary);color:var(--primary-on)}.login-api-toggle{margin-top:12px}.app-nav .user-block{margin-top:auto;padding-top:24px;border-top:1px solid var(--border);font-size:.875rem;color:var(--text-secondary)}.app-nav .user-block button{margin-top:8px;width:100%}.app-main{flex:1;margin-left:220px;padding:24px 32px;min-width:0}.page-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 8px}.page-subtitle{font-size:.9375rem;color:var(--text-secondary);margin:0 0 24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:.875rem}.form-group input,.form-group textarea,.form-group select{width:100%}.error-msg{color:var(--error);font-size:.875rem;margin-top:8px}.login-error{padding:12px;margin-top:12px;margin-bottom:4px;background:#fde8e6;border:1px solid var(--error);border-radius:8px;font-weight:500}.parity-pairs{display:flex;flex-direction:column;gap:24px;margin-top:16px}.parity-card-header{display:flex;align-items:center;gap:8px;width:100%;padding:0 0 8px;margin:0 0 8px;border:none;border-bottom:1px solid var(--border);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.parity-card-header:hover{color:var(--primary)}.parity-card-chevron{font-size:.75rem;color:var(--text-secondary);flex-shrink:0}.parity-label{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.parity-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.parity-column{min-width:0}.parity-column-label{font-size:12px;margin-bottom:4px;color:var(--text-secondary)}.parity-image{max-width:50%;border:1px solid var(--border);border-radius:8px;display:block}.parity-placeholder{padding:24px;background:var(--background);border-radius:8px;color:var(--text-secondary);font-size:.875rem}.parity-uploaded{font-size:11px;color:var(--text-secondary);margin-top:4px}.parity-comment{font-size:.875rem;color:var(--text-secondary);margin-top:8px;padding:8px;background:var(--background);border-radius:6px;white-space:pre-wrap}.parity-edit-pair{margin-top:16px;padding:12px;border:1px solid var(--border);border-radius:8px}.parity-edit-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.parity-edit-label{min-width:200px;width:100%;max-width:320px;padding:8px 10px}.parity-remove-pair{margin-left:auto;padding:6px 12px;font-size:.875rem}.parity-edit-grid{margin-bottom:8px}.parity-edit-upload-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.parity-file-input{display:none}.parity-upload-btn{flex-shrink:0;width:32px;height:32px;min-width:32px;padding:0;font-size:1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.parity-url-input{flex:1;min-width:0;padding:6px 8px;font-size:.875rem}.parity-edit-preview{margin-top:4px;max-height:100px;object-fit:contain}.parity-comment-input{width:100%;margin-top:8px;padding:8px;font-size:.875rem;resize:vertical;min-height:56px}.parity-comment-inline{min-height:48px}.parity-export-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.parity-export-modal{max-width:560px;width:100%;max-height:90vh;display:flex;flex-direction:column}.parity-export-textarea{width:100%;min-height:200px;font-family:inherit;font-size:.875rem;resize:vertical}@media(max-width:768px){.parity-grid{grid-template-columns:1fr}.parity-edit-label{max-width:none}}@media(max-width:768px){.app-nav{width:100%;min-height:auto;height:auto;bottom:auto;left:0;right:0;padding:12px 16px;border-right:none;border-bottom:1px solid var(--nav-border);display:flex;flex-wrap:wrap;align-items:center;gap:8px;overflow:visible;z-index:200}.app-nav .app-nav-toggle{order:-1;flex-shrink:0}.app-nav .brand{margin-bottom:0;margin-right:auto;flex-shrink:0;order:0}.app-nav ul{display:none;position:absolute;top:100%;left:0;right:0;background:var(--nav-bg);border-bottom:1px solid var(--nav-border);padding:12px;max-height:70vh;overflow-y:auto;z-index:1000;margin:0;list-style:none;box-shadow:0 4px 12px #0000001a}.app-nav.nav-open ul{display:block;width:100%;min-width:100%}.app-nav .nav-group,.app-nav .nav-sub{margin:0;padding:0;border:none}.app-nav .api-config-block{order:10;width:100%;margin-top:0;flex-basis:100%}.app-nav .user-block{margin-top:0;padding-top:0;border-top:none;order:0;display:flex;align-items:center;gap:8px}.app-nav .user-block button{margin-top:0;width:auto}.app-main{margin-left:0;margin-top:52px;padding:16px}}.app-nav-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);border-radius:8px}@media(max-width:768px){.app-nav-toggle{display:inline-flex}}
