*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5;color:#1e293b;background:#f4f6f8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.landing{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(160deg,#f4f6f8,#e8edf2)}.landing-card{max-width:520px;width:100%;background:#fff;border:1px solid #d8e0e8;border-radius:10px;padding:2.5rem;box-shadow:0 4px 24px rgba(15,23,42,.06)}.landing-card h1{margin:0 0 .5rem;font-size:1.625rem;font-weight:600;color:#0f172a;letter-spacing:-.02em}.landing-card p{margin:0 0 1.75rem;color:#64748b}.landing-links{display:flex;flex-direction:column;gap:.75rem}.landing-link{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border:1px solid #d8e0e8;border-radius:8px;background:#fafbfc;color:#0f172a;font-weight:500;transition:border-color .15s,background .15s}.landing-link:hover{border-color:#0d9488;background:#f0fdfa}.landing-link span{color:#64748b;font-weight:400;font-size:.875rem}.admin-shell{display:flex;min-height:100vh}.admin-sidebar{width:240px;flex-shrink:0;background:#141c27;color:#94a3b8;display:flex;flex-direction:column}.admin-sidebar-brand{padding:1.25rem 1.25rem 1rem;border-bottom:1px solid #1e2a3a}.admin-sidebar-brand strong{display:block;color:#f1f5f9;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.admin-sidebar-brand span{display:block;margin-top:.25rem;font-size:.75rem;color:#64748b}.admin-nav{padding:1rem .75rem;display:flex;flex-direction:column;gap:.25rem;flex:1 1}.admin-nav a{display:block;padding:.625rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;color:#94a3b8;border-left:3px solid transparent;transition:background .15s,color .15s,border-color .15s}.admin-nav a:hover{background:#1a2535;color:#e2e8f0}.admin-nav a.active{background:#1a2535;color:#f1f5f9;border-left-color:#0d9488}.admin-main{flex:1 1;display:flex;flex-direction:column;min-width:0}.admin-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}.admin-header h1{margin:0;font-size:1.125rem;font-weight:600;color:#0f172a}.admin-header-meta{font-size:.8125rem;color:#64748b}.admin-content{padding:2rem;flex:1 1}.page-title{margin:0 0 .375rem;font-size:1.5rem;font-weight:600;color:#0f172a;letter-spacing:-.02em}.page-subtitle{margin:0 0 1.75rem;color:#64748b;font-size:.9375rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.25rem 1.5rem}.stat-card-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:.5rem}.stat-card-value{font-size:2rem;font-weight:600;color:#0f172a;line-height:1}.action-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.action-card p{margin:0;color:#64748b;font-size:.875rem}.btn-primary{display:inline-block;padding:.5rem 1rem;background:#0d9488;color:#fff;border-radius:6px;font-size:.875rem;font-weight:500;transition:background .15s}.btn-primary:hover{background:#0f766e}.data-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{text-align:left;padding:.75rem 1rem;background:#f8fafc;color:#475569;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0}.data-table td{padding:.875rem 1rem;border-bottom:1px solid #f1f5f9;color:#334155}.data-table tr:last-child td{border-bottom:none}.status-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:capitalize}.status-badge--draft{background:#f1f5f9;color:#475569}.status-badge--published{background:#ecfdf5;color:#047857}.status-badge--archived{background:#fef2f2;color:#b91c1c}.empty-state{padding:3rem 2rem;text-align:center;color:#64748b;font-size:.9375rem}