/* =========================================================
   CORPORA Admin Panel
   ========================================================= */

:root {
    --a-primary: #7c3aed;
    --a-primary-hover: #6d28d9;
    --a-accent: #0ea5e9;
    --a-accent-hover: #0284c7;
    --a-sidebar: #0f172a;
    --a-sidebar-2: #1e293b;
    --a-sidebar-hover: #7c3aed;
    --a-sidebar-active: #7c3aed;
    --a-bg: #f0f2f5;
    --a-white: #ffffff;
    --a-dark: #1a1a1a;
    --a-text: #444;
    --a-text-light: #888;
    --a-border: #e0e0e0;
    --a-shadow: 0 2px 20px rgba(0,0,0,0.07);
    --a-radius: 12px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    font-family:'DM Sans',system-ui,sans-serif;
    background:var(--a-bg);
    color:var(--a-text);
    line-height:1.6;
    margin:0;
}
img{max-width:100%;height:auto}
a{text-decoration:none;transition:all .25s}
h1,h2,h3,h4,h5,h6{font-weight:700;color:var(--a-dark);line-height:1.25}

/* ---- LAYOUT ---- */
.admin-wrapper{display:flex;min-height:100vh}

/* ---- SIDEBAR ---- */
.admin-sidebar{
    width:260px;flex-shrink:0;
    background:var(--a-sidebar);
    display:flex;flex-direction:column;
    position:fixed;top:0;left:0;bottom:0;
    overflow-y:auto;overflow-x:hidden;
    z-index:200;
    transition:transform .3s ease;
}
.sidebar-logo{
    padding:24px 20px 20px;
    border-bottom:1px solid rgba(255,255,255,0.07);
    display:flex;align-items:center;gap:12px;
    flex-shrink:0;
}
.sidebar-logo-icon{
    width:40px;height:40px;background:var(--a-primary);border-radius:10px;
    display:flex;align-items:center;justify-content:center;color:white;font-size:1.1rem;flex-shrink:0;
}
.sidebar-logo-text{color:white;font-weight:700;font-size:1rem;line-height:1.2}
.sidebar-logo-sub{color:rgba(255,255,255,.45);font-size:.72rem;font-weight:400}

.sidebar-nav{padding:12px 0;flex:1}
.sidebar-section-label{
    font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
    color:rgba(255,255,255,.5);padding:16px 20px 6px;
}
.sidebar-link{
    display:flex;align-items:center;gap:11px;
    padding:11px 20px;color:#ffffff;font-size:.88rem;font-weight:500;
    border-radius:0;transition:all .2s;margin:1px 8px;border-radius:8px;
}
.sidebar-link i{font-size:1rem;width:18px;text-align:center;flex-shrink:0}
.sidebar-link:hover{background:var(--a-sidebar-hover);color:white}
.sidebar-link.active{background:var(--a-sidebar-active);color:white;box-shadow:0 4px 14px rgba(124,58,237,.3)}
.sidebar-link .badge-count{
    margin-left:auto;background:rgba(255,255,255,.15);color:rgba(255,255,255,.85);
    font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:50px;
}
.sidebar-link.active .badge-count{background:rgba(255,255,255,.25)}

.sidebar-footer{
    padding:16px 20px;border-top:1px solid rgba(255,255,255,.07);
    display:flex;align-items:center;justify-content:space-between;
}
.sidebar-footer-text{color:rgba(255,255,255,.5);font-size:.8rem}
.sidebar-footer a{color:rgba(255,255,255,.6);font-size:.8rem}
.sidebar-footer a:hover{color:white}

/* ---- MAIN CONTENT ---- */
.admin-main{
    margin-left:260px;flex:1;min-height:100vh;
    display:flex;flex-direction:column;
}

/* ---- TOP BAR ---- */
.admin-topbar{
    background:var(--a-white);
    padding:14px 28px;
    display:flex;align-items:center;justify-content:space-between;
    border-bottom:1px solid var(--a-border);
    position:sticky;top:0;z-index:100;
    box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.topbar-left{display:flex;align-items:center;gap:12px}
.topbar-title{font-size:1.1rem;font-weight:700;color:var(--a-dark)}
.topbar-subtitle{font-size:.8rem;color:var(--a-text-light);margin-top:1px}
.topbar-right{display:flex;align-items:center;gap:10px}
.topbar-btn{
    padding:8px 18px;border-radius:50px;font-size:.82rem;font-weight:600;
    display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:none;
    transition:all .2s;
}
.topbar-btn-primary{background:var(--a-primary);color:white}
.topbar-btn-primary:hover{background:var(--a-primary-hover);color:white;transform:translateY(-1px)}
.topbar-btn-outline{background:transparent;border:2px solid var(--a-border);color:var(--a-text)}
.topbar-btn-outline:hover{border-color:var(--a-primary);color:var(--a-primary)}
.topbar-view-btn{
    padding:8px 14px;border-radius:8px;font-size:.82rem;font-weight:600;
    display:inline-flex;align-items:center;gap:5px;
    background:rgba(14,165,233,.1);color:var(--a-accent);cursor:pointer;
    border:none;transition:all .2s;
}
.topbar-view-btn:hover{background:var(--a-accent);color:white}

/* ---- PAGE CONTENT ---- */
.admin-content{padding:28px;flex:1}

/* ---- CARDS ---- */
.a-card{
    background:var(--a-white);border-radius:var(--a-radius);
    box-shadow:var(--a-shadow);padding:24px;margin-bottom:24px;
}
.a-card-header{
    display:flex;align-items:center;justify-content:space-between;
    padding-bottom:18px;margin-bottom:22px;
    border-bottom:2px solid var(--a-bg);
}
.a-card-title{font-size:1rem;font-weight:700;color:var(--a-dark);margin:0;display:flex;align-items:center;gap:8px}
.a-card-title i{color:var(--a-primary)}

/* ---- STATS CARDS ---- */
.stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px;margin-bottom:26px}
.stat-card{
    background:var(--a-white);border-radius:var(--a-radius);
    padding:22px 20px;box-shadow:var(--a-shadow);
    display:flex;align-items:center;gap:16px;
    border-left:4px solid var(--a-primary);
}
.stat-card-icon{
    width:50px;height:50px;border-radius:12px;
    background:rgba(14,165,233,.1);color:var(--a-accent);
    display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;
}
.stat-card-num{font-size:1.8rem;font-weight:800;color:var(--a-dark);line-height:1}
.stat-card-label{font-size:.8rem;color:var(--a-text-light);margin-top:2px}

/* ---- TABLES ---- */
.a-table-wrap{overflow-x:auto;border-radius:var(--a-radius)}
.a-table{width:100%;border-collapse:collapse}
.a-table th{
    background:var(--a-bg);padding:11px 14px;font-size:.78rem;font-weight:700;
    color:var(--a-text-light);text-transform:uppercase;letter-spacing:.08em;
    text-align:left;white-space:nowrap;
}
.a-table td{
    padding:13px 14px;border-bottom:1px solid var(--a-border);
    font-size:.88rem;color:var(--a-text);vertical-align:middle;
}
.a-table tr:last-child td{border-bottom:none}
.a-table tr:hover td{background:rgba(0,0,0,.018)}
.a-table .actions{display:flex;gap:6px;align-items:center}
.btn-action{
    padding:6px 12px;border-radius:7px;font-size:.78rem;font-weight:600;
    display:inline-flex;align-items:center;gap:4px;cursor:pointer;border:none;
    transition:all .2s;
}
.btn-edit{background:rgba(124,58,237,.12);color:var(--a-primary)}
.btn-edit:hover{background:var(--a-primary);color:white}
.btn-view{background:rgba(14,165,233,.12);color:var(--a-accent)}
.btn-view:hover{background:var(--a-accent);color:white}
.btn-toggle{background:rgba(25,135,84,.1);color:#198754;padding:5px 10px}
.btn-toggle:hover{background:#198754;color:white}
.btn-toggle.inactive{background:rgba(220,53,69,.1);color:#dc3545}
.btn-toggle.inactive:hover{background:#dc3545;color:white}

/* Thumb */
.a-thumb{
    width:52px;height:40px;object-fit:cover;border-radius:7px;
    border:2px solid var(--a-border);background:var(--a-bg);
}
.a-thumb-placeholder{
    width:52px;height:40px;border-radius:7px;
    background:var(--a-bg);border:2px dashed var(--a-border);
    display:flex;align-items:center;justify-content:center;color:var(--a-text-light);font-size:.9rem;
}

/* Status badge */
.status-badge{
    display:inline-block;padding:3px 12px;border-radius:50px;font-size:.75rem;font-weight:700;
}
.status-active{background:rgba(25,135,84,.12);color:#198754}
.status-inactive{background:rgba(220,53,69,.1);color:#dc3545}

/* ---- FORMS ---- */
.form-section{margin-bottom:28px}
.form-section-title{
    font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
    color:var(--a-text-light);margin-bottom:16px;padding-bottom:10px;
    border-bottom:1px solid var(--a-border);display:flex;align-items:center;gap:8px;
    margin-top:48px;padding-top:12px;
}
.form-section-title:first-child { margin-top: 0; padding-top: 0; border-top: none; }
.form-section-title i{color:var(--a-primary)}
.form-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.form-group{margin-bottom:0}
.form-label-a{display:block;font-size:.82rem;font-weight:700;color:var(--a-dark);margin-bottom:6px}
.form-label-a span.req{color:#dc3545;margin-left:2px}
.form-ctrl{
    width:100%;padding:11px 14px;border:2px solid var(--a-border);border-radius:9px;
    font-family:inherit;font-size:.9rem;color:var(--a-dark);
    transition:border-color .25s,box-shadow .25s;background:#fafafa;outline:none;
}
.form-ctrl:focus{border-color:var(--a-primary);box-shadow:0 0 0 3px rgba(124,58,237,.15);background:white}
.form-ctrl::placeholder{color:#bbb}
textarea.form-ctrl{resize:vertical;min-height:100px}
select.form-ctrl{cursor:pointer}
.form-hint{font-size:.77rem;color:var(--a-text-light);margin-top:5px}
.form-ctrl-color{height:46px;padding:6px 10px;cursor:pointer}

/* Upload preview */
.upload-area{
    border:2px dashed var(--a-border);border-radius:10px;padding:20px;
    text-align:center;cursor:pointer;transition:all .25s;background:#fafafa;
}
.upload-area:hover{border-color:var(--a-primary);background:rgba(124,58,237,.04)}
.upload-preview{
    width:100%;max-height:200px;object-fit:cover;border-radius:8px;
    margin-top:12px;border:2px solid var(--a-border);
}
.upload-preview-video{width:100%;border-radius:8px;margin-top:12px;max-height:200px}
.upload-label{
    width:100%;padding:11px 14px;border:2px solid var(--a-border);border-radius:9px;
    font-size:.9rem;color:var(--a-text);background:#fafafa;cursor:pointer;
    display:flex;align-items:center;gap:8px;transition:all .25s;
}
.upload-label:hover{border-color:var(--a-primary);color:var(--a-primary)}
.upload-label input{display:none}

/* Inline file preview */
.current-file{
    display:flex;align-items:center;gap:10px;padding:10px 14px;
    background:var(--a-bg);border-radius:8px;margin-bottom:8px;font-size:.85rem;
}
.current-file img{height:40px;width:60px;object-fit:cover;border-radius:6px}
.current-file-name{color:var(--a-text);font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Form actions */
.form-actions{
    display:flex;align-items:center;gap:12px;flex-wrap:wrap;
    padding-top:20px;border-top:2px solid var(--a-bg);margin-top:8px;
}
.btn-save{
    padding:12px 28px;background:var(--a-primary);color:white;
    border-radius:50px;font-weight:700;font-size:.9rem;border:none;cursor:pointer;
    display:inline-flex;align-items:center;gap:8px;transition:all .25s;
}
.btn-save:hover{background:var(--a-primary-hover);transform:translateY(-1px);box-shadow:0 6px 20px rgba(124,58,237,.3)}
.btn-cancel{
    padding:12px 24px;background:transparent;color:var(--a-text);
    border-radius:50px;font-weight:600;font-size:.9rem;cursor:pointer;
    border:2px solid var(--a-border);display:inline-flex;align-items:center;gap:6px;
    transition:all .25s;
}
.btn-cancel:hover{border-color:var(--a-text);color:var(--a-dark)}

/* ---- COLOR SWATCHES ---- */
.color-row{display:flex;align-items:center;gap:10px}
.color-swatch{
    width:42px;height:42px;border-radius:9px;cursor:pointer;
    border:3px solid white;box-shadow:0 2px 8px rgba(0,0,0,.15);flex-shrink:0;
    position:relative;overflow:hidden;
}
.color-swatch input[type="color"]{
    position:absolute;inset:-4px;width:calc(100%+8px);height:calc(100%+8px);
    opacity:0;cursor:pointer;
}

/* ---- ALERT ---- */
.a-alert{
    padding:13px 16px;border-radius:10px;font-size:.88rem;font-weight:500;
    display:flex;align-items:center;gap:10px;margin-bottom:20px;
}
.a-alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}
.a-alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}
.a-alert-info{background:#cce5ff;color:#004085;border:1px solid #b8daff}

/* ---- DRAG ORDER handles ---- */
.drag-handle{cursor:grab;color:var(--a-text-light);padding:2px 6px;font-size:1rem}
.drag-handle:active{cursor:grabbing}

/* ---- TAGS / FEATURES LIST ---- */
.features-list{display:flex;flex-direction:column;gap:6px}
.feature-row{display:flex;align-items:center;gap:8px}
.feature-row input{flex:1}
.btn-remove-feature{
    width:32px;height:32px;background:rgba(220,53,69,.1);color:#dc3545;
    border:none;border-radius:7px;cursor:pointer;display:flex;align-items:center;
    justify-content:center;font-size:.9rem;flex-shrink:0;
}
.btn-remove-feature:hover{background:#dc3545;color:white}
.btn-add-feature{
    padding:8px 16px;background:rgba(124,58,237,.1);color:var(--a-primary);
    border:none;border-radius:7px;cursor:pointer;font-size:.82rem;font-weight:600;
    display:inline-flex;align-items:center;gap:6px;margin-top:6px;
}
.btn-add-feature:hover{background:var(--a-primary);color:white}

/* ---- PORTFOLIO IMAGES multi-upload ---- */
.portfolio-images-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;
}
.portfolio-img-item{
    position:relative;border-radius:9px;overflow:hidden;
    border:2px solid var(--a-border);background:var(--a-bg);
    aspect-ratio:4/3;
}
.portfolio-img-item img{width:100%;height:100%;object-fit:cover}
.portfolio-img-remove{
    position:absolute;top:6px;right:6px;
    width:26px;height:26px;background:rgba(220,53,69,.85);color:white;
    border:none;border-radius:50%;cursor:pointer;font-size:.75rem;
    display:flex;align-items:center;justify-content:center;
}
.portfolio-img-remove:hover{background:#dc3545}

/* ---- NAV MOBILE TOGGLE ---- */
.sidebar-toggle{display:none}
@media(max-width:991.98px){
    .admin-sidebar{transform:translateX(-100%)}
    .admin-sidebar.open{transform:translateX(0)}
    .admin-main{margin-left:0}
    .sidebar-toggle{
        display:flex;align-items:center;justify-content:center;
        width:38px;height:38px;border:none;background:var(--a-bg);
        border-radius:9px;cursor:pointer;color:var(--a-dark);font-size:1.2rem;
    }
    .sidebar-overlay{
        display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:199;
    }
    .sidebar-overlay.open{display:block}
}

/* ---- LOGIN PAGE ---- */
.login-page{
    min-height:100vh;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);
    padding:20px;
}
.login-card{
    background:white;border-radius:20px;padding:48px 40px;
    width:100%;max-width:420px;box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.login-logo{text-align:center;margin-bottom:32px}
.login-logo-icon{
    width:64px;height:64px;background:var(--a-primary);border-radius:16px;
    display:flex;align-items:center;justify-content:center;
    color:white;font-size:1.8rem;margin:0 auto 14px;
    box-shadow:0 8px 24px rgba(124,58,237,.4);
}
.login-title{font-size:1.5rem;font-weight:800;color:var(--a-dark);margin-bottom:4px}
.login-sub{font-size:.88rem;color:var(--a-text-light)}
.login-btn{
    width:100%;padding:14px;background:var(--a-primary);color:white;
    border:none;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;
    transition:all .25s;margin-top:8px;
}
.login-btn:hover{background:var(--a-primary-hover);transform:translateY(-2px);box-shadow:0 8px 24px rgba(124,58,237,.4)}

/* Responsive table */
@media(max-width:767.98px){
    .admin-content{padding:16px}
    .topbar-title{font-size:.95rem}
    .a-table th:nth-child(n+4),.a-table td:nth-child(n+4){display:none}
    .stat-cards{grid-template-columns:repeat(2,1fr)}
    .form-row{grid-template-columns:1fr}
}

/* File delete button in forms */
.btn-delete-file {
    width: 28px;
    height: 28px;
    background: rgba(220,53,69,0.1);
    color: #dc3545;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    font-size: 0.85rem;
    border: none;
    cursor: pointer;
}
.btn-delete-file:hover {
    background: #dc3545;
    color: white;
    transform: scale(1.1);
}
.current-file {
    position: relative;
    overflow: hidden;
}

/* Alignment Toggle Group (WordPress Style) */
.align-btn-group {
    display: inline-flex;
    background: #eaebed;
    padding: 3px;
    border-radius: 8px;
    gap: 2px;
}
.align-btn {
    width: 34px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    border-radius: 6px;
    color: #666;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 1.1rem;
    padding: 0;
}
.align-btn:hover {
    background: rgba(255,255,255,0.6);
    color: var(--a-primary);
}
.align-btn.active {
    background: white;
    color: var(--a-primary);
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
.align-btn i { line-height: 1; }

/* Limpieza de brillos o sombras laterales no deseadas */
body::after, .admin-wrapper::after, .admin-main::after,
body::before, .admin-wrapper::before, .admin-main::before {
    display: none !important;
    content: none !important;
}
.admin-main {
    background: var(--a-bg) !important;
}
