*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:#f4f7fb;color:#222}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.admin-shell{display:flex;min-height:100vh}.sidebar{width:260px;padding:24px;background:#1f2937;color:#fff;display:flex;flex-direction:column;gap:18px}.brand{font-size:1.3rem;font-weight:700}.sidebar nav{display:flex;flex-direction:column;gap:10px}.sidebar a{padding:12px 14px;border-radius:10px;color:#d1d5db}.sidebar a.active{background:#3b82f6;color:#fff}.logout-button{margin-top:auto;padding:12px 14px;border:0;border-radius:10px;cursor:pointer;background:#ef4444;color:#fff}.content{flex:1;padding:32px}.card{max-width:420px;margin:64px auto;padding:32px;border-radius:20px;background:#fff;box-shadow:0 24px 80px #0f172a14}.login-page{min-height:100vh;background:linear-gradient(135deg,#eff6ff,#f8fafc);display:flex;align-items:center;justify-content:center}h1,h2{margin:0 0 18px}label{display:block;margin-bottom:16px}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:10px;outline:none}button{padding:12px 18px;border:none;border-radius:10px;cursor:pointer;background:#2563eb;color:#fff}button:disabled{opacity:.65;cursor:not-allowed}.primary,button.primary{background:#2563eb;color:#fff}.secondary,button.secondary{background:#e5e7eb;color:#111827}.page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.page-header h2{margin:0}.page-actions{display:flex;gap:12px;flex-wrap:wrap}.page-filters{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:18px}.page-filters label{display:flex;align-items:center;gap:10px;margin-bottom:0;font-weight:500}.page-filters select{width:auto;min-width:180px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.modal-panel{width:min(100%,620px);max-height:calc(100vh - 48px);background:#fff;border-radius:18px;box-shadow:0 24px 80px #0f172a2e;overflow:hidden;display:flex;flex-direction:column}.modal-panel-wide{width:min(100%,1200px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0}.modal-close{border:none;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer}.modal-content{padding:20px 24px 24px;overflow:auto}.modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:12px}.file-hint{margin-top:6px;font-size:.95rem;color:#6b7280}.media-cell{display:grid;gap:8px;min-width:220px}.media-link{display:block;max-width:260px;overflow-wrap:anywhere;font-size:.9rem}.media-preview{width:min(260px,100%);max-height:140px}.media-thumb{display:block;width:min(160px,100%);max-height:100px;border-radius:10px;object-fit:cover}.entity-form{display:grid;gap:12px;margin-bottom:24px}.quick-create-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.quick-create-grid textarea{min-height:260px;resize:vertical}.quick-create-meta{display:grid;gap:12px;margin-bottom:16px}.quick-create-table input,.quick-create-table select{min-width:140px}.quick-create-table td{vertical-align:top}.quick-file-dropzone{position:relative;display:grid;gap:6px;min-width:180px;padding:14px 12px;border:2px dashed #93c5fd;border-radius:12px;background:#eff6ff;cursor:pointer;transition:background .2s ease,border-color .2s ease}.quick-file-dropzone:hover{background:#dbeafe;border-color:#60a5fa}.quick-file-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.quick-file-title{font-weight:600;color:#1e3a8a;overflow-wrap:anywhere}.quick-file-subtitle{font-size:.85rem;color:#475569}.quick-create-note{margin:0 0 16px;color:#4b5563}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;width:100%;background:#fff;border-radius:14px;overflow:hidden}thead{background:#f8fafc}th,td{padding:14px 16px;text-align:left;border-bottom:1px solid #e5e7eb}tr:last-child td{border-bottom:none}tr td button{margin-right:8px;margin-bottom:4px}@media (max-width: 900px){.admin-shell{flex-direction:column}.sidebar{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center}.sidebar nav{flex:1;gap:8px}.quick-create-grid{grid-template-columns:1fr}}
