:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.admin-layout{display:flex;min-height:100vh;background:#f5f7fa}.admin-sidebar{width:260px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;position:fixed;height:100vh;overflow-y:auto;z-index:100}.sidebar-header{padding:1.5rem 1.25rem;border-bottom:1px solid #e5e7eb}.sidebar-brand{font-size:1.25rem;font-weight:700;color:#b07d5b;margin-bottom:.25rem}.sidebar-subtitle{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.nav-section{margin-bottom:1.5rem}.nav-section-title{padding:.5rem 1.25rem;font-size:.7rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 1.25rem;color:#4b5563;text-decoration:none;font-size:.875rem;transition:all .15s ease;border-left:3px solid transparent}.nav-item:hover{background:#f9fafb;color:#111827}.nav-item.active{background:#fef3e7;color:#b07d5b;border-left-color:#b07d5b;font-weight:500}.nav-icon{font-size:1.125rem;width:20px;text-align:center}.sidebar-footer{padding:1rem;border-top:1px solid #e5e7eb}.logout-btn{width:100%;display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;background:transparent;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:.875rem;cursor:pointer;transition:all .15s ease}.logout-btn:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.admin-main{flex:1;margin-left:260px;min-height:100vh}.admin-content{max-width:1400px;margin:0 auto;padding:2rem}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#9ca3af}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f5f7fa;color:#111827;line-height:1.5}#root{min-height:100vh}.page-header{margin-bottom:2rem}.page-title{font-size:1.875rem;font-weight:700;color:#111827;margin:0 0 .5rem}.page-subtitle{font-size:.875rem;color:#6b7280;margin:0}.page-actions{display:flex;gap:.75rem;margin-bottom:1.5rem}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000000d}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.card-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:all .15s ease;text-decoration:none}.btn-primary{background:linear-gradient(135deg,#d4a373,#b07d5b);color:#fff}.btn-primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #b07d5b4d}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.form-input,.form-select,.form-textarea{width:100%;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#111827;background:#fff;transition:all .15s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#b07d5b;box-shadow:0 0 0 3px #b07d5b1a}.form-textarea{min-height:100px;resize:vertical;font-family:inherit}.form-error{margin-top:.5rem;font-size:.8125rem;color:#dc2626}.table-container{overflow-x:auto;border-radius:12px;border:1px solid #e5e7eb;background:#fff}.table{width:100%;border-collapse:collapse}.table thead{background:#f9fafb}.table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.table td{padding:1rem;font-size:.875rem;color:#111827;border-bottom:1px solid #f3f4f6}.table tbody tr:hover{background:#f9fafb}.table tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:500}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-info{background:#dbeafe;color:#1e40af}.page-loading,.page-error{padding:3rem;text-align:center;color:#6b7280}.page-error{color:#dc2626}.empty-state{padding:3rem;text-align:center;color:#6b7280}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state-title{font-size:1.125rem;font-weight:600;color:#374151;margin-bottom:.5rem}.empty-state-text{font-size:.875rem;margin-bottom:1.5rem}.data-readiness-page h1{margin:0 0 .5rem;font-size:1.5rem;color:#333}.summary-p{margin:0 0 1.5rem;color:#555;font-size:.95rem}.readiness-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e8e4e0;border-radius:10px;overflow:hidden}.readiness-table th,.readiness-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #eee}.readiness-table th{background:#f8f6f4;font-weight:600;font-size:.8rem;text-transform:uppercase;color:#555}.readiness-table td{font-size:.9rem;color:#333}.readiness-table tbody tr:last-child td{border-bottom:none}.readiness-table tbody tr:hover{background:#faf9f8}.badge{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.badge-complete{background:#e6f4ea;color:#137333}.badge-partial{background:#fef7e0;color:#b06000}.badge-missing{background:#fce8e6;color:#c5221f}.expected-data-notes{background:#fff;border:1px solid #e8e4e0;border-radius:10px;padding:1.25rem;margin-bottom:1.5rem}.expected-data-notes h2{margin:0 0 .5rem;font-size:1.1rem;color:#333}.notes-desc{margin:0 0 .75rem;color:#666;font-size:.875rem}.expected-data-notes textarea{width:100%;padding:.75rem;border:1px solid #ccc;border-radius:8px;font-size:.9rem;font-family:inherit;resize:vertical;box-sizing:border-box}.expected-data-notes button{margin-top:.5rem;padding:.5rem 1rem;background:#b07d5b;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.expected-data-notes button:disabled{opacity:.7;cursor:not-allowed}.shared-page h1{margin:0 0 1rem;font-size:1.5rem;color:#333}.shared-page h2{margin:2rem 0 .75rem;font-size:1.1rem;color:#555}.toolbar{margin-bottom:1rem}.toolbar input{padding:.5rem .75rem;border:1px solid #ccc;border-radius:6px;font-size:.9rem;min-width:200px}.data-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e8e4e0;border-radius:10px;overflow:hidden}.data-table th,.data-table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid #eee;font-size:.875rem}.data-table th{background:#f8f6f4;font-weight:600;color:#555}.data-table code{font-size:.8rem;background:#f0eeeb;padding:.15rem .35rem;border-radius:4px}.id-cell,.json-cell{max-width:120px;overflow:hidden;text-overflow:ellipsis;display:inline-block}.pagination{display:flex;align-items:center;gap:1rem;margin-top:1rem}.pagination button{padding:.4rem .75rem;border:1px solid #ccc;border-radius:6px;background:#fff;cursor:pointer}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination button:not(:disabled):hover{background:#f5f2ef}.page-loading,.page-error{padding:2rem;text-align:center;color:#666}.page-error{color:#c00}.link-dashboard{color:#b07d5b;font-weight:500}.page-desc{margin:0 0 1.25rem;color:#555;font-size:.9rem}.app-settings-message{padding:.5rem .75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.app-settings-message.ok{background:#e8f5e9;color:#2e7d32}.app-settings-message.err{background:#ffebee;color:#c62828}.app-settings-table .label-cell{font-weight:500;color:#333}.app-settings-table .key-cell{font-size:.75rem;max-width:220px;display:inline-block;overflow:hidden;text-overflow:ellipsis}.app-settings-input{width:100%;max-width:140px;padding:.4rem .5rem;border:1px solid #ccc;border-radius:6px;font-size:.875rem}.app-settings-table .default-cell{color:#888;font-size:.85rem}.btn-save{padding:.4rem .75rem;border:1px solid #b07d5b;border-radius:6px;background:#b07d5b;color:#fff;font-size:.85rem;cursor:pointer}.btn-save:hover:not(:disabled){background:#9a6b4a}.btn-save:disabled{opacity:.7;cursor:not-allowed}
