:root{--color-ink: #37352f;--color-brand-primary: #37352f;--color-brand-secondary: #fffcf5;--color-brand-accent: #5f7d63;--color-brand-accent-dark: #4b6650;--color-brand-soft: #dfeae1;--color-sage: #c2d7c4;--color-sage-strong: #a9c4ac;--color-beige: #f3ede4;--color-cream-alt: #fffced;--color-pink-pastel: #f6d9ea;--color-yellow-pastel: #ede7a3;--color-white: #ffffff;--color-gray-50: #fafaf9;--color-gray-100: #f5f5f4;--color-gray-200: #e7e5e4;--color-gray-300: #d6d3d1;--color-gray-400: #a8a29e;--color-gray-500: #78716c;--color-gray-600: #57534e;--color-gray-700: #44403c;--color-gray-800: #292524;--color-gray-900: #1c1917;--success-fg: var(--color-brand-accent-dark);--success-bg: var(--color-brand-soft);--success-border: var(--color-sage);--danger-fg: #a63d2d;--danger-bg: #fbebe7;--danger-border: #f1cdc5;--danger-strong: #8f3424;--warning-fg: #9a3412;--warning-bg: #ffedd5;--warning-border: #fed7aa;--info-fg: var(--color-gray-700);--info-bg: var(--color-beige);--info-border: var(--color-gray-200);--highlight-fg: #6b6423;--highlight-bg: #f6f2cc;--rose-fg: #7d3f62;--rose-bg: var(--color-pink-pastel);--primary-color: var(--color-brand-accent);--primary-dark: var(--color-brand-accent-dark);--primary-light: var(--color-brand-soft);--bg-color: var(--color-brand-secondary);--surface: var(--color-white);--surface-muted: var(--color-gray-50);--text-primary: var(--color-ink);--text-body: var(--color-gray-800);--text-secondary: var(--color-gray-500);--border-color: var(--color-gray-200);--danger-color: var(--danger-fg);--success-color: var(--success-fg);--focus-ring: 0 0 0 3px rgb(95 125 99 / 18%);--overlay: rgb(55 53 47 / 45%);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-serif: "DM Sans", var(--font-sans);--shadow-sm: 0 1px 2px rgb(0 0 0 / 5%);--shadow-md: 0 4px 6px rgb(0 0 0 / 7%);--shadow-lg: 0 10px 15px rgb(0 0 0 / 10%);--shadow-xl: 0 20px 25px rgb(0 0 0 / 15%);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 999px;--transition-fast: .15s ease;--transition-normal: .3s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-color);color:var(--text-body);font-size:15px;line-height:1.6}h1,h2,h3{font-family:var(--font-serif);color:var(--text-primary);line-height:1.2;font-weight:600}a{color:inherit}button,input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}input[type=checkbox],input[type=radio]{accent-color:var(--primary-color)}.eyebrow{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--primary-color);margin-bottom:10px}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid rgb(55 53 47 / 20%);border-radius:var(--radius-full);background-color:#fffcf5b3;color:var(--text-primary);font-size:13px;font-weight:600;letter-spacing:.02em}.card,.panel{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel{overflow:hidden}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.form-group input,.form-group select,.form-group textarea,.search-input{width:100%;padding:11px 14px;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:15px;color:var(--text-body);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background:var(--surface)}.form-group input::placeholder,.search-input::placeholder{color:var(--color-gray-400)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.search-input:focus{border-color:var(--primary-color);box-shadow:var(--focus-ring)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--color-gray-100);cursor:not-allowed}.form-group input[type=checkbox],.form-group input[type=radio]{width:18px;height:18px;padding:0}.form-hint{display:block;font-size:12px;color:var(--text-secondary);margin-top:4px}.checkbox-label,.form-group .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:0}.checkbox-label input[type=checkbox]{width:18px;height:18px;margin:0;flex-shrink:0;cursor:pointer}.input-disabled{background:var(--color-gray-100)!important;color:var(--text-secondary)!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:1px solid transparent;border-radius:var(--radius-full);font-size:15px;font-weight:600;line-height:1.2;cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-brand-accent);color:var(--color-brand-secondary)}.btn-primary:hover:not(:disabled){background-color:var(--color-brand-accent-dark)}.btn-accent{background-color:var(--color-sage);color:var(--color-ink)}.btn-accent:hover:not(:disabled){background-color:var(--color-sage-strong)}.btn-outline{background-color:transparent;border-color:var(--color-brand-accent);color:var(--color-brand-accent)}.btn-outline:hover:not(:disabled){background-color:var(--color-brand-accent);color:var(--color-brand-secondary)}.btn-secondary{background-color:var(--surface);color:var(--text-primary);border-color:var(--color-gray-300)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-100)}.btn-danger{background-color:var(--danger-fg);color:var(--color-brand-secondary)}.btn-danger:hover:not(:disabled){background-color:var(--danger-strong)}.btn-full{width:100%}.action-buttons{display:flex;gap:6px;flex-wrap:wrap}.btn-action{padding:5px 14px;border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:12px;font-weight:600;cursor:pointer;background:var(--surface);transition:all var(--transition-fast);white-space:nowrap}.btn-edit{color:var(--color-gray-700);border-color:var(--color-gray-300)}.btn-edit:hover{background:var(--color-gray-100)}.btn-reset{color:var(--warning-fg);border-color:var(--warning-border)}.btn-reset:hover{background:var(--warning-bg)}.btn-impersonate{color:var(--rose-fg);border-color:var(--color-pink-pastel)}.btn-impersonate:hover{background:var(--rose-bg)}.btn-enable{color:var(--success-fg);border-color:var(--success-border)}.btn-enable:hover{background:var(--success-bg)}.btn-disable,.btn-delete{color:var(--danger-fg);border-color:var(--danger-border)}.btn-disable:hover,.btn-delete:hover{background:var(--danger-bg)}.no-actions{color:var(--text-secondary)}.error-message,.success-message{padding:10px 14px;border-radius:var(--radius-md);font-size:13px;margin-bottom:16px;border:1px solid transparent}.error-message,.error-banner{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-border)}.success-message,.success-banner{background:var(--success-bg);color:var(--success-fg);border-color:var(--success-border)}.success-banner,.error-banner,.info-banner{padding:12px 20px;border-radius:var(--radius-md);border:1px solid transparent;margin-bottom:16px;font-size:14px}.success-banner{border-color:var(--success-border)}.error-banner{border-color:var(--danger-border)}.info-banner{background:var(--info-bg);color:var(--info-fg);border-color:var(--info-border);padding:10px 14px;font-size:13px;margin-bottom:12px}.panel-header,.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.header-left{display:flex;align-items:center;gap:12px}.panel-header h1,.page-header h1{font-size:28px;margin:0}.menu-toggle-btn{background:var(--surface);border:1px solid var(--border-color);width:42px;height:42px;border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-primary);transition:all var(--transition-fast)}.menu-toggle-btn:hover{background:var(--color-gray-100)}.loading,.no-data{padding:40px;text-align:center;color:var(--text-secondary)}.tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border-color)}.tab{background:none;border:none;padding:12px 20px;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--transition-fast)}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.table-container{overflow-x:auto}.data-table,.users-table{width:100%;border-collapse:collapse}.data-table th,.users-table th{padding:12px 20px;text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border-color);background:var(--color-cream-alt)}.data-table td,.users-table td{padding:14px 20px;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.data-table tbody tr:hover,.users-table tbody tr:hover{background:var(--color-gray-50)}.disabled-row{opacity:.6}.question-row.cdk-drag-preview{display:table;table-layout:fixed;background:var(--surface);border-radius:var(--radius-md);box-shadow:0 10px 28px #00000029;cursor:grabbing}.question-row.cdk-drag-preview td{padding:14px 20px;font-size:14px;color:var(--text-primary);vertical-align:middle}.role-badge,.status-badge,.password-badge{display:inline-block;padding:3px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600}.role-client,.status-active,.password-set{background:var(--success-bg);color:var(--success-fg)}.role-admin{background:var(--highlight-bg);color:var(--highlight-fg)}.role-superadmin{background:var(--rose-bg);color:var(--rose-fg)}.status-disabled{background:var(--danger-bg);color:var(--danger-fg)}.password-provisional{background:var(--warning-bg);color:var(--warning-fg)}.modal-overlay{position:fixed;inset:0;background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:center;padding:16px;z-index:1000}.modal-content{background:var(--surface);border-radius:var(--radius-xl);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-small{max-width:420px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:20px;margin:0}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);padding:0;line-height:1;transition:color var(--transition-fast)}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color);background:var(--color-cream-alt)}.delete-warning{font-size:15px;color:var(--text-primary);margin:0 0 8px}.delete-info{font-size:13px;color:var(--text-secondary);margin:0}.history-list{display:flex;flex-direction:column;gap:10px}.history-item{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow var(--transition-fast)}.history-item.expanded{box-shadow:var(--shadow-md)}.history-header{width:100%;background:var(--surface);border:none;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:14px;color:var(--text-primary);transition:background var(--transition-fast)}.history-header:hover{background:var(--color-gray-50)}.history-summary{display:flex;gap:16px;align-items:baseline}.history-date{font-weight:600}.history-weight{color:var(--primary-color);font-weight:600}.history-toggle{color:var(--text-secondary);font-size:12px}.history-details{padding:16px 18px 18px;border-top:1px solid var(--border-color);background:var(--color-cream-alt)}.answer-list{margin:0;display:flex;flex-direction:column;gap:8px}.answer-group-title{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--primary-color)}.answer-list+.answer-group-title{margin-top:16px}.answer-row{display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.answer-row dt{font-size:12px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.answer-row dd{margin:0;font-size:14px;color:var(--text-primary);font-weight:500;white-space:pre-line}.answer-row dd.answer-comment{margin-top:4px;font-size:13px;font-style:italic;font-weight:400;color:var(--text-secondary)}@media (max-width: 768px){.panel-header h1,.page-header h1{font-size:24px}}.status-pill{display:inline-block;padding:3px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600;white-space:nowrap}.status-pill.status-submitted{background:var(--success-bg);color:var(--success-fg)}.status-pill.status-pending{background:var(--warning-bg);color:var(--warning-fg)}.status-pill.status-missed,.status-pill.status-urgent{background:var(--danger-bg);color:var(--danger-fg)}.history-header.not-expandable{cursor:default}
