

:root{
    --admin-bg:#0b0f17;
    --admin-panel:#101722;
    --admin-panel-2:#0d141e;
    --admin-card:#111822;
    --admin-card-2:#0c121b;
    --admin-border:rgba(255,255,255,0.08);
    --admin-border-soft:rgba(255,255,255,0.05);
    --admin-text:#ffffff;
    --admin-text-soft:rgba(255,255,255,0.74);
    --admin-text-muted:#9aa4b2;
    --admin-accent:#ff8c32;
    --admin-accent-2:#ffb347;
    --admin-danger:#ff6b6b;
    --admin-success:#46ae34;
    --admin-shadow:0 20px 50px rgba(0,0,0,0.38);
    --admin-radius-xl:18px;
    --admin-radius-lg:14px;
    --admin-radius-md:10px;
    --admin-radius-sm:8px;
    --admin-sidebar-width:250px;
    --admin-transition:.25s ease;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:Arial, sans-serif;
    background:
        radial-gradient(circle at top left, rgba(255,140,50,0.14), transparent 24%),
        linear-gradient(180deg, #0a0f16 0%, var(--admin-bg) 100%);
    color:var(--admin-text);
}

a{
    color:inherit;
}

img{
    max-width:100%;
}

button,
input,
textarea,
select{
    font:inherit;
}

.admin-layout,
.admin{
    display:flex;
    min-height:100vh;
}

.sidebar{
    width:var(--admin-sidebar-width);
    flex:0 0 var(--admin-sidebar-width);
    background:linear-gradient(180deg, rgba(5,7,12,0.96) 0%, rgba(8,12,18,0.98) 100%);
    border-right:1px solid var(--admin-border-soft);
    padding:24px 18px;
    position:sticky;
    top:0;
    height:100vh;
}

.sidebar h2,
.sidebar h3{
    margin:0 0 18px;
    font-size:18px;
    line-height:1.2;
    color:var(--admin-accent);
    letter-spacing:.04em;
}

.sidebar-nav,
.sidebar-links{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.sidebar a{
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 14px;
    border-radius:var(--admin-radius-md);
    color:var(--admin-text);
    text-decoration:none;
    background:rgba(255,255,255,0.03);
    border:1px solid transparent;
    transition:background var(--admin-transition), border-color var(--admin-transition), transform var(--admin-transition);
}

.sidebar a:hover,
.sidebar a.is-active{
    background:rgba(255,140,50,0.12);
    border-color:rgba(255,140,50,0.24);
    transform:translateY(-1px);
}

.content,
.admin-content{
    flex:1;
    min-width:0;
    padding:32px;
}

.page-title,
.content h1,
.admin-content h1{
    margin:0 0 10px;
    font-size:34px;
    line-height:1.06;
    letter-spacing:-.02em;
}

.page-subtitle,
.content > p,
.admin-content > p{
    margin:0 0 24px;
    color:var(--admin-text-soft);
    line-height:1.55;
}

.cards,
.stats-grid,
.admin-stats{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:18px;
}

.card,
.stat-card,
.form-card,
.table-card,
.panel-card{
    background:linear-gradient(180deg, var(--admin-card) 0%, var(--admin-card-2) 100%);
    border:1px solid var(--admin-border-soft);
    border-radius:var(--admin-radius-lg);
    box-shadow:var(--admin-shadow);
}

.card,
.stat-card,
.form-card,
.table-card,
.panel-card,
.notice,
.empty-state{
    padding:20px;
}

.card h2,
.card h3,
.form-card h2,
.form-card h3,
.table-card h2,
.table-card h3,
.panel-card h2,
.panel-card h3,
.section-title,
.list-title{
    margin:0 0 14px;
    font-size:22px;
    line-height:1.15;
}

.card p,
.form-card p,
.table-card p,
.panel-card p,
.small,
.meta,
.helper-text{
    color:var(--admin-text-soft);
    line-height:1.55;
}

.small,
.helper-text{
    font-size:13px;
}

.stat-card .num,
.card .num,
.metric-number{
    font-size:42px;
    font-weight:800;
    line-height:1;
    color:var(--admin-accent);
    margin-top:8px;
}

.notice,
.notice-success,
.notice-error,
.success,
.error{
    border-radius:var(--admin-radius-md);
    margin-bottom:16px;
    font-size:14px;
    line-height:1.5;
}

.notice-success,
.success{
    background:rgba(44,119,76,0.18);
    border:1px solid rgba(70,174,52,0.24);
    color:#d8ffe8;
}

.notice-error,
.error{
    background:rgba(170,54,54,0.18);
    border:1px solid rgba(255,91,91,0.24);
    color:#ffd5d5;
}

.notice-warning{
    background:rgba(255,140,50,0.14);
    border:1px solid rgba(255,140,50,0.24);
    color:#ffd7b5;
}

form{
    margin:0;
}

.form-grid,
.form-row{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px;
}

.form-row + .form-row,
.form-grid + .form-grid{
    margin-top:14px;
}

label{
    display:block;
    margin:0 0 8px;
    font-size:14px;
    font-weight:700;
    color:var(--admin-text);
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="file"],
textarea,
select,
.form-text,
.form-control{
    width:100%;
    padding:12px 13px;
    border-radius:var(--admin-radius-sm);
    border:1px solid var(--admin-border);
    background:#151d29;
    color:var(--admin-text);
    outline:none;
    transition:border-color var(--admin-transition), box-shadow var(--admin-transition), background var(--admin-transition);
}

input[type="file"]{
    padding:10px 12px;
}

textarea{
    min-height:140px;
    resize:vertical;
}

input:focus,
textarea:focus,
select:focus,
.form-control:focus,
.form-text:focus{
    border-color:rgba(255,140,50,0.55);
    box-shadow:0 0 0 3px rgba(255,140,50,0.10);
    background:#182231;
}

::placeholder{
    color:rgba(255,255,255,0.42);
}

button,
.btn,
.btn-primary,
.btn-secondary,
.btn-danger,
.btn-outline{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 18px;
    border:none;
    border-radius:var(--admin-radius-sm);
    text-decoration:none;
    cursor:pointer;
    transition:transform var(--admin-transition), box-shadow var(--admin-transition), background var(--admin-transition), border-color var(--admin-transition);
}

button,
.btn-primary,
.btn-accent{
    background:linear-gradient(180deg, var(--admin-accent-2) 0%, var(--admin-accent) 100%);
    color:#fff;
    font-weight:700;
    box-shadow:0 10px 22px rgba(255,140,50,0.22);
}

button:hover,
.btn-primary:hover,
.btn-accent:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 26px rgba(255,140,50,0.28);
}

.btn-secondary,
.btn-outline{
    background:rgba(255,255,255,0.04);
    color:var(--admin-text);
    border:1px solid var(--admin-border);
}

.btn-secondary:hover,
.btn-outline:hover{
    background:rgba(255,255,255,0.07);
}

.btn-danger,
.delete-link{
    color:#ff7a7a;
    text-decoration:none;
    font-weight:700;
}

.delete-link:hover,
.btn-danger:hover{
    text-decoration:underline;
}

.actions,
.card-actions,
.toolbar{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-top:14px;
}

.grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:18px;
}

.image-grid,
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:18px;
}

.card img,
.gallery-card img,
.image-card img{
    width:100%;
    height:220px;
    object-fit:cover;
    border-radius:10px;
    display:block;
}

.card-body{
    padding:12px 2px 4px;
}

.card-title,
.item-title{
    margin:0 0 6px;
    font-size:15px;
    font-weight:700;
    color:var(--admin-text);
}

.card-location,
.item-location,
.item-meta,
.meta{
    margin:0;
    font-size:13px;
    color:var(--admin-text-muted);
}

.table-wrap{
    overflow-x:auto;
}

table{
    width:100%;
    border-collapse:collapse;
}

th,
td{
    text-align:left;
    padding:14px 12px;
    border-bottom:1px solid rgba(255,255,255,0.06);
    vertical-align:top;
}

th{
    color:var(--admin-text);
    font-size:13px;
    letter-spacing:.03em;
    text-transform:uppercase;
}

td{
    color:var(--admin-text-soft);
    font-size:14px;
}

.badge,
.status-badge{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid transparent;
}

.badge-success,
.status-success{
    background:rgba(44,119,76,0.16);
    border-color:rgba(70,174,52,0.24);
    color:#d8ffe8;
}

.badge-warning,
.status-warning{
    background:rgba(255,140,50,0.14);
    border-color:rgba(255,140,50,0.24);
    color:#ffd7b5;
}

.badge-danger,
.status-danger{
    background:rgba(170,54,54,0.16);
    border-color:rgba(255,91,91,0.24);
    color:#ffd5d5;
}

.empty-state{
    text-align:center;
    background:linear-gradient(180deg, rgba(16,23,34,0.9) 0%, rgba(11,15,23,0.95) 100%);
    border:1px dashed rgba(255,255,255,0.12);
    border-radius:var(--admin-radius-lg);
}

.empty-state h2,
.empty-state h3{
    margin:0 0 10px;
}

.empty-state p{
    margin:0;
    color:var(--admin-text-soft);
}

.login-page{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.login-box{
    width:100%;
    max-width:430px;
    padding:38px 34px;
    border-radius:18px;
    background:linear-gradient(180deg, rgba(16,22,32,0.92) 0%, rgba(10,14,22,0.96) 100%);
    border:1px solid var(--admin-border);
    box-shadow:0 24px 60px rgba(0,0,0,0.45), 0 0 24px rgba(255,140,50,0.08);
}

.login-kicker{
    display:inline-block;
    margin-bottom:10px;
    font-size:12px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--admin-accent);
}

.login-box h1{
    margin:0 0 10px;
    font-size:32px;
    line-height:1.05;
}

.login-text{
    margin:0 0 22px;
    color:var(--admin-text-soft);
    font-size:14px;
    line-height:1.55;
}

.login-hint{
    margin-top:16px;
    font-size:12px;
    color:rgba(255,255,255,0.42);
    text-align:center;
}

@media (max-width:1100px){
    .cards,
    .stats-grid,
    .grid,
    .image-grid,
    .gallery-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }
}

@media (max-width:860px){
    .admin-layout,
    .admin{
        flex-direction:column;
    }

    .sidebar{
        width:100%;
        height:auto;
        position:relative;
        padding:16px;
        border-right:none;
        border-bottom:1px solid var(--admin-border-soft);
    }

    .sidebar-nav,
    .sidebar-links{
        display:grid;
        grid-template-columns:repeat(2, minmax(0,1fr));
    }

    .content,
    .admin-content{
        padding:22px 16px;
    }

    .page-title,
    .content h1,
    .admin-content h1{
        font-size:30px;
    }
}

@media (max-width:640px){
    .cards,
    .stats-grid,
    .grid,
    .image-grid,
    .gallery-grid,
    .form-grid,
    .form-row,
    .sidebar-nav,
    .sidebar-links{
        grid-template-columns:1fr;
    }

    .content,
    .admin-content{
        padding:18px 12px;
    }

    .card,
    .stat-card,
    .form-card,
    .table-card,
    .panel-card,
    .notice,
    .empty-state{
        padding:16px;
    }

    .page-title,
    .content h1,
    .admin-content h1{
        font-size:26px;
    }

    .card h2,
    .card h3,
    .form-card h2,
    .form-card h3,
    .table-card h2,
    .table-card h3,
    .panel-card h2,
    .panel-card h3,
    .section-title,
    .list-title{
        font-size:19px;
    }

    .stat-card .num,
    .card .num,
    .metric-number{
        font-size:34px;
    }

    .card img,
    .gallery-card img,
    .image-card img{
        height:190px;
    }

    th,
    td{
        padding:12px 10px;
    }
}