:root{
    --green-dark:#1B5E20;
    --green-main:#2E7D32;
    --green-soft:#E8F5E9;
    --green-accent:#43A047;
    --page-bg:#F8FAF8;
    --text-dark:#263238;
    --border:#e9ecef;
}

*{box-sizing:border-box;}

body{
    background:var(--page-bg);
    font-family:'Segoe UI', Arial, sans-serif;
    color:var(--text-dark);
}

.sidebar{
    background:linear-gradient(180deg,var(--green-dark),var(--green-main));
    min-height:100vh;
    color:#fff;
    position:sticky;
    top:0;
}

.sidebar-logo{
    font-size:21px;
    font-weight:800;
    line-height:1.1;
}

.sidebar-logo small{
    display:block;
    font-size:11px;
    font-weight:500;
    opacity:.9;
}

.sidebar a{
    color:#fff;
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 16px;
    border-radius:12px;
    margin-bottom:6px;
    transition:.25s;
    font-size:15px;
}

.sidebar a:hover,
.sidebar a.active{
    background:rgba(255,255,255,.18);
}

.topbar{
    background:#fff;
    border-bottom:1px solid var(--border);
    padding:15px 25px;
    position:sticky;
    top:0;
    z-index:10;
}

.notification-bell{
    position:relative;
    line-height:1;
    text-decoration:none;
}

.notification-bell:hover{
    color:var(--green-main) !important;
}

.notification-badge{
    position:absolute;
    top:-6px;
    right:-8px;
    min-width:18px;
    height:18px;
    padding:0 5px;
    border-radius:999px;
    background:#dc3545;
    color:#fff;
    font-size:10px;
    font-weight:700;
    line-height:18px;
    text-align:center;
}

.notification-dropdown{
    width:min(360px, 92vw);
    max-height:420px;
    overflow:hidden;
}

.notification-dropdown-body{
    max-height:320px;
    overflow-y:auto;
}

.notification-item{
    display:flex;
    align-items:flex-start;
    gap:10px;
    white-space:normal;
    padding:.85rem 1rem;
}

.notification-item.unread{
    background:#f8fbff;
}

.notification-item.unread:hover,
.notification-item.unread:focus{
    background:#eef6ff;
}

.notification-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#0d6efd;
    margin-top:6px;
    flex-shrink:0;
}

.notification-content{
    min-width:0;
    flex:1;
}

.notification-dropdown-footer{
    background:#fafafa;
}

.content-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    box-shadow:0 2px 14px rgba(0,0,0,.045);
}

.btn-green{
    background:var(--green-main);
    color:#fff;
    border:none;
}

.btn-green:hover{
    background:var(--green-dark);
    color:#fff;
}

.btn-outline-green{
    color:var(--green-main);
    border:1px solid var(--green-main);
    background:#fff;
}

.btn-outline-green:hover{
    background:var(--green-main);
    color:#fff;
}

.badge-green{
    background:var(--green-soft);
    color:var(--green-main);
}

.stat-icon,
.action-icon{
    width:54px;
    height:54px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:21px;
}

.bg-green-gradient{
    background:linear-gradient(135deg,var(--green-dark),var(--green-accent));
}

.conference-cover{
    background:linear-gradient(135deg,var(--green-dark),var(--green-accent));
    color:#fff;
    border-radius:16px;
    padding:24px;
}

.mini-muted{font-size:13px;color:#6c757d;}

.timeline-item{
    display:flex;
    gap:12px;
    margin-bottom:18px;
}

.timeline-dot{
    width:14px;
    height:14px;
    background:var(--green-main);
    border-radius:50%;
    margin-top:4px;
}

.quick-action{
    background:#fff;
    border:1px solid var(--border);
    border-radius:15px;
    padding:20px;
    text-align:center;
    height:100%;
    transition:.25s;
}

.quick-action:hover{
    transform:translateY(-3px);
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}

.quick-action i{
    font-size:28px;
    color:var(--green-main);
    margin-bottom:10px;
}

.table thead th{
    color:#6c757d;
    font-size:13px;
    font-weight:700;
}

.form-control:focus,
.form-select:focus{
    border-color:var(--green-main);
    box-shadow:0 0 0 .2rem rgba(46,125,50,.12);
}

.certificate-box{
    border:8px double #c9a227;
    background:#fffdf3;
    min-height:520px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:40px;
}

.tag-card{
    max-width:330px;
    margin:auto;
    border-radius:18px;
    overflow:hidden;
    border:1px solid var(--border);
    background:#fff;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.tag-header{
    background:linear-gradient(135deg,var(--green-dark),var(--green-accent));
    color:#fff;
    padding:18px;
    text-align:center;
}

.avatar-lg{
    width:88px;
    height:88px;
    object-fit:cover;
    border-radius:50%;
}

@media(max-width:991px){
    .sidebar{min-height:auto;position:relative;}
    .topbar{position:relative;}
}
