.admin-shell{min-height:100vh;padding:32px;background:#f6f6f4;color:#202020;font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.admin-centered{display:grid;place-items:center}.admin-actions,.admin-footer-actions,.admin-header,.admin-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-header{max-width:920px;margin:0 auto 24px}.admin-card h1,.admin-card h2,.admin-card p,.admin-header h1,.admin-header p{margin:0}.admin-card p,.admin-header p{color:#6c6c6c}.admin-card{max-width:920px;margin:0 auto 16px;padding:24px;border:1px solid #e4e4df;border-radius:16px;background:#fff;box-shadow:0 8px 28px rgb(0 0 0/4%)}.admin-login{width:min(360px,100%);display:grid;gap:18px}.admin-grid,.admin-list-row{display:grid;gap:12px}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.admin-list-row{grid-template-columns:1fr 2fr auto;margin-top:12px}.admin-project-row{grid-template-columns:1fr 1fr 2fr auto}.admin-shell label{display:grid;gap:6px;font-weight:600}.admin-shell input{min-width:0;padding:10px 12px}.admin-file-button,.admin-shell button,.admin-shell input{border:1px solid #d8d8d2;border-radius:9px;background:#fff;color:inherit;font:inherit}.admin-file-button,.admin-shell button{padding:9px 14px;font-weight:600;cursor:pointer}.admin-shell button:disabled{cursor:not-allowed;opacity:.45}.admin-shell .admin-primary{border-color:#1f1f1f;background:#1f1f1f;color:#fff}.admin-shell .admin-danger{color:#a12c2c}.admin-file-button{display:inline-flex}.admin-file-button input{display:none}.admin-error,.admin-message,.admin-warning{max-width:920px;margin:0 auto 16px;padding:12px 16px;border-radius:10px}.admin-message{background:#e9f7ed;color:#246636}.admin-warning{background:#fff3d6;color:#79580b}.admin-error{background:#fdeaea;color:#922c2c}@media (max-width:700px){.admin-shell{padding:20px 14px}.admin-footer-actions,.admin-header,.admin-section-title{align-items:stretch;flex-direction:column}.admin-grid,.admin-list-row{grid-template-columns:1fr}.admin-actions{align-self:flex-start}}