body{
    margin:0;
    padding:0;
    background:#f4f7fb;
    font-family:Arial,Helvetica,sans-serif;
    color:#1f2937;
}

.container{
    width:95%;
    max-width:1600px;
    margin:30px auto;
    background:#fff;
    padding:28px;
    border-radius:14px;
    box-shadow:0 8px 24px rgba(0,0,0,0.08);
    overflow-x:auto;
}

h1{
    margin-top:0;
    color:#173a68;
}

h2{
    margin-top:40px;
    color:#173a68;
    border-bottom:1px solid #d7e0ea;
    padding-bottom:10px;
}

label{
    display:block;
    margin-bottom:16px;
    font-weight:bold;
    color:#173a68;
}

input,
select,
textarea{
    width:100%;
    padding:10px 12px;
    border:1px solid #cfd9e6;
    border-radius:8px;
    box-sizing:border-box;
    margin-top:6px;
    font-size:15px;
    background:#fff;
}

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

button{
    background:#173a68;
    color:#fff;
    border:0;
    border-radius:8px;
    padding:10px 16px;
    cursor:pointer;
    font-weight:bold;
}

button:hover{
    opacity:0.92;
}

table{
    width:100%;
    border-collapse:collapse;
    table-layout:auto;
    margin-top:16px;
}

table th{
    text-align:left;
    background:#eef3f8;
    color:#173a68;
    padding:12px;
    border-bottom:1px solid #d7e0ea;
}

table td{
    padding:10px 12px;
    border-bottom:1px solid #e5e7eb;
    vertical-align:top;
}

.actions{
    white-space:nowrap;
}

.notice{
    background:#d9f6df;
    border:1px solid #80c090;
    padding:12px;
    border-radius:8px;
    margin-bottom:18px;
}

.error{
    background:#ffe4e4;
    border:1px solid #c94a4a;
    color:#991b1b;
    padding:12px;
    border-radius:8px;
    margin-bottom:18px;
}

.success{
    background:#d9f6df;
    border:1px solid #80c090;
    padding:12px;
    border-radius:8px;
    margin-bottom:18px;
}

.small-button{
    padding:6px 10px;
    font-size:13px;
    border-radius:6px;
}

.danger{
    background:#991b1b;
    color:#fff;
}

.badge{
    display:inline-block;
    padding:4px 8px;
    border-radius:999px;
    font-size:12px;
    font-weight:bold;
}

.badge.on{
    background:#d9f6df;
    color:#166534;
}

.badge.off{
    background:#ffe4e4;
    color:#991b1b;
}

.admin-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
}

.inline-form{
    display:inline;
}

.info-box{
    background:#f4f7fb;
    border:1px solid #cfd9e6;
    border-left:5px solid #173a68;
    padding:16px;
    border-radius:8px;
    margin:20px 0;
    line-height:1.6;
}

.public-card{
    background:#fff;
    border:1px solid #d7e0ea;
    border-radius:14px;
    padding:24px;
    margin-bottom:24px;
}

.public-card h2{
    margin-top:0;
}

.grid{
    display:grid;
    grid-template-columns:220px 1fr;
    gap:10px 18px;
}

.label{
    font-weight:bold;
    color:#173a68;
}

.status{
    padding:14px;
    border-radius:8px;
    margin-bottom:18px;
    border-left:6px solid #173a68;
    background:#eef6ff;
}

.status.green{
    background:#e7f8ea;
    border-left-color:#166534;
}

.status.red{
    background:#ffe4e4;
    border-left-color:#991b1b;
}

.status.orange{
    background:#fff2d8;
    border-left-color:#d97706;
}

@media(max-width:900px){

    .grid{
        grid-template-columns:1fr;
    }

    table{
        min-width:900px;
    }

    .container{
        width:98%;
        padding:18px;
    }
}