:root{
    --pino-green:#1f4d3a;
    --pino-green-2:#2f6b4f;
    --pino-gold:#c8a45d;
    --pino-bg:#f5f2eb;
    --pino-text:#26302b;
    --pino-muted:#6b756f;
    --white:#ffffff;
    --danger:#b43b3b;
    --border:#e7e0d3;
    --shadow:0 18px 50px rgba(31,77,58,.15);
}

*{box-sizing:border-box}

body{
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    color:var(--pino-text);
    background:linear-gradient(135deg,#f8f5ef 0%,#eef5ee 100%);
    min-height:100vh;
}

a{color:inherit}

.pino-page{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

.pino-hero{
    background:
        linear-gradient(135deg,rgba(31,77,58,.94),rgba(47,107,79,.86)),
        url('https://images.unsplash.com/photo-1448375240586-882707db888b?auto=format&fit=crop&w=1600&q=80') center/cover;
    padding:34px 18px 70px;
    color:#fff;
    text-align:center;
}

.logo-box{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border-radius:22px;
    padding:14px 22px;
    box-shadow:0 12px 30px rgba(0,0,0,.18);
    margin-bottom:22px;
}

.logo-box img{
    max-width:170px;
    height:auto;
    display:block;
}

.pino-hero h1{
    margin:0;
    font-size:34px;
    line-height:1.16;
    font-weight:800;
}

.pino-hero p{
    margin:12px auto 0;
    max-width:760px;
    font-size:16px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}

.main-wrap{
    width:min(1080px,94%);
    margin:-42px auto 34px;
    position:relative;
    z-index:2;
    flex:1;
}

.card{
    background:rgba(255,255,255,.96);
    border:1px solid rgba(231,224,211,.8);
    border-radius:26px;
    box-shadow:var(--shadow);
    overflow:visible;
}

.card-head{
    padding:24px 28px;
    border-bottom:1px solid var(--border);
    display:flex;
    align-items:center;
    gap:13px;
    background:#fffaf2;
    border-radius:26px 26px 0 0;
}

.card-head i{
    color:var(--pino-gold);
    font-size:24px;
}

.card-head h2{
    font-size:22px;
    margin:0;
    color:var(--pino-green);
}

.form-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px 24px;
    padding:28px;
}

.form-group{
    display:flex;
    flex-direction:column;
    gap:8px;
    width:100%;
    max-width:none;
    margin:0;
}

.form-group.full{
    grid-column:1/-1;
}

label{
    font-size:14px;
    font-weight:700;
    color:var(--pino-green);
}

input,
select,
textarea{
    width:100%;
    border:1px solid #ddd3c2;
    border-radius:15px;
    background:#fff;
    padding:14px 15px;
    font-size:15px;
    outline:none;
    transition:.2s;
    color:var(--pino-text);
}

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

input:focus,
select:focus,
textarea:focus{
    border-color:var(--pino-gold);
    box-shadow:0 0 0 4px rgba(200,164,93,.16);
}

.hint{
    margin-top:4px;
    font-size:12px;
    color:var(--pino-muted);
    line-height:1.4;
}

.file-input{
    width:100%;
    height:64px;
    padding:16px;
    border:1px solid #ddd3c2;
    border-radius:18px;
    background:#fbf8f1;
    box-sizing:border-box;
}

/* Pozicija + CV 50/50 */
.form-row{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    width:100%;
    margin:0;
}

.form-row .form-group{
    width:100%;
    min-width:0;
}

/* Custom multi select */
.custom-select-container{
    position:relative;
    width:100%;
    user-select:none;
}

.select-box{
    width:100%;
    min-height:64px;
    padding:10px 14px;
    border:1px solid #ddd3c2;
    border-radius:18px;
    background:#fff;
    cursor:pointer;
    transition:all .2s ease;
    display:flex;
    align-items:center;
    justify-content:space-between;
    box-sizing:border-box;
}

.select-box:hover{
    border-color:#cbbf9f;
}

.select-box.active{
    border-color:var(--pino-gold);
    box-shadow:0 0 0 4px rgba(200,164,93,.16);
}

.placeholder{
    color:#777;
    font-size:15px;
}

.arrow{
    font-size:12px;
    color:var(--pino-green);
    transition:.2s;
    flex-shrink:0;
    margin-left:8px;
}

.select-box.active .arrow{
    transform:rotate(180deg);
}

.dropdown-list{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    right:0;
    background:#fff;
    border:1px solid #ddd3c2;
    border-radius:16px;
    max-height:260px;
    overflow-y:auto;
    box-shadow:0 14px 30px rgba(0,0,0,.12);
    z-index:9999;
    display:none;
}

.dropdown-list.show{
    display:block;
}

.dropdown-item{
    display:flex;
    align-items:center;
    padding:12px 16px;
    cursor:pointer;
    font-size:14px;
    color:#2f3828;
    transition:.15s;
}

.dropdown-item:hover{
    background:#f5f7f2;
}

.dropdown-item input[type="checkbox"]{
    width:16px;
    height:16px;
    margin-right:12px;
    accent-color:var(--pino-green);
    cursor:pointer;
}

.dropdown-item input:checked + span{
    color:var(--pino-green);
    font-weight:700;
}

.selected-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    flex:1;
}

.tag{
    background:#eef3e7;
    color:var(--pino-green);
    border-radius:6px;
    padding:4px 8px;
    font-size:13px;
    font-weight:600;
}

/* Actions */
.actions{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding-top:5px;
    flex-wrap:wrap;
}

.btn{
    border:none;
    border-radius:999px;
    padding:15px 26px;
    font-size:15px;
    font-weight:800;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-decoration:none;
    transition:.2s;
}

.btn-primary{
    background:linear-gradient(135deg,var(--pino-green),var(--pino-green-2));
    color:#fff;
    box-shadow:0 10px 22px rgba(31,77,58,.22);
}

.btn-primary:hover{
    transform:translateY(-1px);
    box-shadow:0 14px 28px rgba(31,77,58,.26);
}

.btn-gold{
    background:var(--pino-gold);
    color:#fff;
}

.btn-light{
    background:#f3eee4;
    color:var(--pino-green);
}

.alert{
    border-radius:18px;
    padding:15px 18px;
    margin:0 28px 20px;
    font-weight:700;
}

.alert-error{
    background:#fff0f0;
    color:#8d2626;
    border:1px solid #f0caca;
}

.alert-success{
    background:#eef8f1;
    color:#1f6b3d;
    border:1px solid #cfe8d5;
}

/* Footer */
.footer{
    background:#163629;
    color:#fff;
    padding:28px 18px;
    text-align:center;
    margin-top:auto;
}

.footer-inner{
    width:min(1080px,94%);
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
}

.footer-brand{
    font-weight:800;
    color:#fff;
}

.footer-contact{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
    justify-content:center;
    color:rgba(255,255,255,.88);
}

.footer-contact span,
.footer-contact a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    text-decoration:none;
}

.footer i{
    color:var(--pino-gold);
}

/* Thank you */
.thank-you{
    padding:44px 28px;
    text-align:center;
}

.thank-you img{
    max-width:180px;
    background:#fff;
    border-radius:20px;
    padding:12px;
    margin-bottom:22px;
}

.thank-you h2{
    font-size:30px;
    color:var(--pino-green);
    margin:0 0 12px;
}

.thank-you p{
    font-size:17px;
    color:var(--pino-muted);
    margin:0 0 24px;
}

/* =========================
   ADMIN
========================= */

.main-wrap{
    width:min(1800px,98%);
}

.pino-index{
    width:60%;
    max-width:1080px;
}

/* Login */
.admin-login{
    max-width:480px;
    margin:auto;
}

/* Toolbar */
.admin-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:20px;
    flex-wrap:wrap;
}

/* Sve prijave toolbar */
.applications-toolbar{
    display:grid;
    grid-template-columns:1fr auto;
    gap:20px;
    align-items:start;
}

.admin-filter-form{
    width:100%;
}

/* FILTERS */
.filter-grid{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:18px;
    width:100%;
}

.filter-grid .form-group{
    margin:0;
}

.filter-grid input,
.filter-grid select{
    width:100%;
}

.filter-buttons{
    grid-column:1 / 4;
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}

.filter-buttons .btn{
    width:220px;
}

.filter-buttons .badge{
    margin-left:auto;
}
.admin-actions-right{
    display:flex;
    align-items:center;
    gap:12px;
    white-space:nowrap;
}

/* TABLE */
.admin-table-wrap{
    width:100%;
    overflow-x:auto;
    border:1px solid var(--border);
    border-radius:18px;
}

.admin-table{
    width:100%;
    min-width:1450px;
    border-collapse:collapse;
    background:#fff;
}

.admin-table th,
.admin-table td{
    padding:8px 10px;
    border-bottom:1px solid var(--border);
    text-align:left;
    font-size:13px;
    line-height:1.3;
    vertical-align:top;
}

.admin-table th{
    background:#fff7e8;
    color:var(--pino-green);
    font-weight:800;
    white-space:nowrap;
}

.admin-table td a{
    color:var(--pino-green);
}

/* Column widths */
.admin-table th:nth-child(1),
.admin-table td:nth-child(1){width:50px;}

.admin-table th:nth-child(2),
.admin-table td:nth-child(2){width:140px;}

.admin-table th:nth-child(3),
.admin-table td:nth-child(3){width:120px;}

.admin-table th:nth-child(4),
.admin-table td:nth-child(4){width:180px;}

.admin-table th:nth-child(5),
.admin-table td:nth-child(5){width:180px;}

.admin-table th:nth-child(6),
.admin-table td:nth-child(6){width:260px;}

.admin-table th:nth-child(7),
.admin-table td:nth-child(7){width:180px;}

.admin-table th:nth-child(8),
.admin-table td:nth-child(8){width:180px;}

.admin-table th:nth-child(9),
.admin-table td:nth-child(9){width:120px;}

.admin-table th:nth-child(10),
.admin-table td:nth-child(10){width:300px;}

/* Status */
.status-cell{
    min-width:250px;
}

.status-form{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.status-form select,
.status-form textarea{
    font-size:13px;
    padding:10px;
    border-radius:12px;
}

.small-btn{
    width:100%;
}

/* Helpers */
.badge,
.status-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:#edf6ef;
    color:#1f6b3d;
    border-radius:999px;
    padding:6px 10px;
    font-size:12px;
    font-weight:800;
}

.status-pozvan-na-intervju{
    background:#fff7e8;
    color:#9a6a11;
}

.status-primljen{
    background:#eaf7ee;
    color:#1d6b37;
}

.status-odbijen{
    background:#fff0f0;
    color:#9a2c2c;
}

.cv-link{
    color:var(--pino-green);
    font-weight:800;
    text-decoration:none;
}

.cv-link:hover{
    text-decoration:underline;
}

.small-muted{
    color:var(--pino-muted);
    font-size:12px;
}

.positions-list{
    white-space:normal;
}

.logout-link{
    color:var(--pino-green);
    font-weight:800;
    text-decoration:none;
}

/* Calendar */
.calendar-box{
    padding:20px 28px 28px;
}

.day-title{
    font-size:18px;
    font-weight:800;
    color:var(--pino-green);
    margin:0 0 12px;
}

.slots-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(155px,1fr));
    gap:12px;
}

.slot-card{
    border:1px solid var(--border);
    border-radius:16px;
    padding:12px;
    background:#fff;
}

.slot-card.booked{
    background:#fff7e8;
    border-color:#ead6ad;
}

.slot-time{
    font-weight:900;
    color:var(--pino-green);
    margin-bottom:5px;
}

.slot-person{
    font-size:13px;
    color:var(--pino-muted);
    line-height:1.45;
}

/* Mobile */
@media(max-width:900px){

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

    .admin-actions-right{
        justify-content:flex-start;
    }

}

@media(max-width:768px){

    .pino-index{
        width:94%;
    }

    .pino-index .form-grid,
    .pino-index .form-row{
        grid-template-columns:1fr;
    }

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

    .filter-buttons{
        grid-column:auto;
        flex-direction:column;
    }

    .filter-buttons .btn{
        width:100%;
    }

    .admin-table-wrap{
        overflow-x:visible;
        border:none;
        border-radius:0;
    }

    .admin-table,
    .admin-table tbody,
    .admin-table tr,
    .admin-table td{
        display:block;
        width:100%;
        min-width:0;
    }

    .admin-table{
        border-collapse:separate;
        background:transparent;
    }

    .admin-table thead{
        display:none;
    }

    .admin-table tr{
        border:1px solid var(--border);
        border-radius:18px;
        background:#fff;
        margin-bottom:14px;
        overflow:hidden;
    }

    .admin-table td{
        display:flex;
        align-items:flex-start;
        gap:12px;
        padding:12px 14px;
        border-bottom:1px solid var(--border);
        font-size:14px;
        word-break:normal;
        overflow-wrap:anywhere;
        white-space:normal;
    }

    .admin-table td:nth-child(n){
        width:100%;
    }

    .admin-table td:last-child{
        border-bottom:none;
    }

    .admin-table td::before{
        color:var(--pino-green);
        flex:0 0 120px;
        font-weight:800;
    }

    .admin-table td:nth-child(1)::before{content:"ID:";}
    .admin-table td:nth-child(2)::before{content:"Datum unosa:";}
    .admin-table td:nth-child(3)::before{content:"Termin:";}
    .admin-table td:nth-child(4)::before{content:"Prezime i ime:";}
    .admin-table td:nth-child(5)::before{content:"Rođenje / Opština:";}
    .admin-table td:nth-child(6)::before{content:"Telefon / Email:";}
    .admin-table td:nth-child(7)::before{content:"Pozicija:";}
    .admin-table td:nth-child(8)::before{content:"Ukratko o meni:";}
    .admin-table td:nth-child(9)::before{content:"CV:";}
    .admin-table td:nth-child(10)::before{content:"Status / napomena:";}

    .status-cell{
        min-width:0;
    }

    .calendar-box{
        padding:18px;
    }

}
/* KALENDAR TERMINA */
.calendar-box .admin-toolbar{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:15px;
    flex-wrap:nowrap;
}

.calendar-filter-row{
    display:flex;
    align-items:flex-end;
    gap:12px;
}

.calendar-filter-row .compact-field{
    min-width:320px;
}

.calendar-filter-row .form-group{
    margin:0;
}

.calendar-filter-row input{
    height:48px;
    min-width:280px;
}

.calendar-filter-btn .btn{
    height:48px;
    min-width:140px;
    padding:0 24px;
}

.calendar-box .btn-light{
    height:48px;
    padding:0 24px;
    display:flex;
    align-items:center;
}

@media(max-width:768px){

    .calendar-box .admin-toolbar{
        flex-direction:column;
        align-items:stretch;
    }

    .calendar-filter-row{
        flex-direction:column;
    }

    .calendar-filter-row .compact-field,
    .calendar-filter-row input,
    .calendar-filter-btn .btn,
    .calendar-box .btn-light{
        width:100%;
        min-width:100%;
    }
}
