:root{--primary:#2563eb;--secondary:#7c3aed;--ink:#152033;--muted:#667085;--line:#e2e8f2;--bg:#f5f7fb}*{box-sizing:border-box}body{margin:0;font-family:'Manrope',system-ui,sans-serif;color:var(--ink);background:var(--bg)}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.admin-brand{display:flex;align-items:center;gap:10px}.admin-brand>span{width:42px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--secondary))}.admin-brand b{font-size:17px}.admin-brand small{font-size:11px;color:#8b96a8;margin-left:3px}.admin-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.admin-header nav{display:flex;gap:12px}.admin-header nav a{font-size:12px;font-weight:700;padding:9px 12px;border:1px solid var(--line);border-radius:10px}.admin-layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 72px)}.admin-sidebar{padding:22px 14px;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:5px}.tab-link{border:0;background:transparent;text-align:left;padding:12px 14px;border-radius:10px;font-weight:700;font-size:13px;color:#637083;cursor:pointer}.tab-link.active,.tab-link:hover{background:#eef3ff;color:var(--primary)}.admin-main{padding:28px;max-width:1500px;width:100%}.tab-panel{display:none}.tab-panel.active{display:block}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.panel-head h1{font-size:27px;margin:0 0 4px;letter-spacing:-.03em}.panel-head p{margin:0;color:var(--muted);font-size:12px}.admin-button,.mini-button,.upload-button{border:0;border-radius:11px;padding:11px 16px;font-weight:800;font-size:12px;cursor:pointer;display:inline-flex;justify-content:center;align-items:center}.admin-button.primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 10px 25px rgba(37,99,235,.2)}.admin-button.ghost,.mini-button{background:#eef3ff;color:var(--primary);border:1px solid #dce6ff}.form-card,.edit-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:21px;margin-bottom:16px;box-shadow:0 8px 28px rgba(31,49,88,.045)}.form-card h2{font-size:15px;margin:0 0 17px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.wide{grid-column:1/-1}label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#435066}input,textarea,select{width:100%;border:1px solid #dce3ee;border-radius:10px;background:#fff;padding:10px 11px;color:#172033;outline:none;font-size:12px;transition:.15s}input:focus,textarea:focus,select:focus{border-color:#7c9df7;box-shadow:0 0 0 3px #edf2ff}textarea{resize:vertical}.card-title-row,.edit-card-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.card-title-row h2{margin:0}.repeater{display:grid;gap:10px;margin-top:16px}.repeat-row{display:flex;align-items:end;gap:10px;padding:11px;background:#f8f9fc;border:1px solid #edf0f5;border-radius:12px}.repeat-row label{min-width:180px}.repeat-row .grow{flex:1}.drag-handle{align-self:center;color:#a6afbd}.row-actions{display:flex;gap:5px}.row-actions button{border:1px solid #dce3ee;background:#fff;border-radius:8px;min-width:32px;height:32px;padding:0 8px;cursor:pointer;color:#536077;font-weight:800}.row-actions button:hover{color:#d52d4a;border-color:#efb5c0}.card-repeater{display:grid;gap:15px}.grid-repeater{grid-template-columns:repeat(3,minmax(0,1fr))}.edit-card{margin:0}.edit-card-top{margin-bottom:15px}.edit-card-top b{font-size:13px}.project-edit-grid{display:grid;grid-template-columns:250px 1fr;gap:20px}.image-editor{height:220px;border:1px dashed #cfd8e8;border-radius:14px;background:#f5f7fb;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.image-editor img{width:100%;height:100%;object-fit:cover}.image-editor.placeholder span{color:#9ba6b8;font-weight:800}.upload-button{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(255,255,255,.94);border:1px solid #dce3ee;color:#334155}.upload-button input{display:none}.compact{display:grid;gap:12px}.check-label{display:flex;align-items:center;gap:8px;align-self:end;height:40px}.check-label input{width:17px;height:17px}.alert{padding:13px 15px;border-radius:12px;font-size:12px;margin-bottom:17px;border:1px solid}.alert.success{background:#ecfbf5;color:#08795b;border-color:#b9eedc}.alert.error{background:#fff0f2;color:#b4233d;border-color:#f4c0ca}.alert.warning{background:#fff8e8;color:#8a5b00;border-color:#f1dba5}.password-form{max-width:580px;display:grid;gap:15px}.password-form small{color:#8c98a9}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 80% 10%,#e8edff,transparent 35%),radial-gradient(circle at 10% 90%,#f1eaff,transparent 35%),#f7f9fc}.login-card{width:min(430px,calc(100% - 30px));background:#fff;border:1px solid var(--line);border-radius:23px;padding:34px;box-shadow:0 28px 80px rgba(34,54,105,.14)}.login-card h1{font-size:25px;margin:28px 0 6px}.login-card>p{font-size:12px;color:var(--muted);margin:0 0 23px}.login-card form{display:grid;gap:15px}.login-card .admin-button{width:100%}.back-link{display:block;text-align:center;margin-top:20px;color:#667085;font-size:11px}.login-card .admin-brand small{display:none}
@media(max-width:1050px){.grid-repeater{grid-template-columns:repeat(2,1fr)}.form-grid.cols-3{grid-template-columns:repeat(2,1fr)}.project-edit-grid{grid-template-columns:200px 1fr}}
@media(max-width:760px){.admin-header{padding:0 12px}.admin-brand small,.admin-header nav a:first-child{display:none}.admin-layout{display:block}.admin-sidebar{position:sticky;top:72px;z-index:15;flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px}.tab-link{white-space:nowrap}.admin-main{padding:16px}.panel-head{align-items:flex-start;flex-direction:column}.form-grid,.form-grid.cols-3,.grid-repeater,.project-edit-grid{grid-template-columns:1fr}.repeat-row{align-items:stretch;flex-wrap:wrap}.repeat-row label{min-width:0;flex:1 1 160px}.row-actions{margin-left:auto}.image-editor{height:240px}.wide{grid-column:auto}.admin-button{padding:10px 13px}}
