:root{--brand-blue:#1565c0;--brand-orange:#f57c00;--brand-dark:#0f1e2e;--bg-cream:#f8f4ec}
body{font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;min-height:100vh;background:var(--bg-cream)}
.body-login{background-color:var(--brand-dark)}
.bg-layer{position:fixed;inset:0;background:linear-gradient(135deg,rgba(21,101,192,.35),rgba(245,124,0,.35)),url('/img/background.png') center center no-repeat fixed;background-size:cover;filter:blur(8px);transform:scale(1.06);z-index:-1}
.login-card{max-width:460px;border-radius:16px;background-color:rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25)}
.card{border-radius:16px;background-color:#fff;border:1px solid rgba(0,0,0,.08)}
.logo-img{height:60px}
.brand-text{color:var(--brand-blue);font-weight:700;letter-spacing:.3px}
.brand-heading{color:var(--brand-orange);font-weight:700;letter-spacing:.3px}
.btn-brand{background:var(--brand-orange);color:#fff!important;border:none;border-radius:10px;padding:.6rem 1rem;box-shadow:0 4px 12px rgba(245,124,0,0.2);transition:all 0.2s ease}
.btn-brand:hover, .btn-brand:focus, .btn-brand:active{color:#fff!important;box-shadow:0 6px 16px rgba(245,124,0,0.3);transform:translateY(-1px)}
.btn-brand.btn-sm, .btn-outline-brand.btn-sm{padding:0.25rem 0.75rem;font-size:0.8rem;border-radius:8px;min-height:unset}
.btn-outline-brand{background:var(--brand-blue);color:#fff!important;border:none;border-radius:10px;transition:all 0.2s ease}
.btn-outline-brand:hover, .btn-outline-brand:focus, .btn-outline-brand:active{color:#fff!important;transform:translateY(-1px)}
.navbar{border-bottom:1px solid rgba(0,0,0,.06);background-color:#fff!important}
.form-control{border-radius:10px;padding:0.6rem 0.8rem}
.form-control:focus{box-shadow:0 0 0 .25rem rgba(21,101,192,.25);border-color:var(--brand-blue)}
.form-label{font-weight:600;color:#334155;margin-bottom:0.5rem}
.project-card{border-radius:14px;overflow:hidden}
.project-card .card-header{background:#f6f8fb}
.link-chip{display:inline-block;background:var(--brand-orange);color:#fff!important;border:none;border-radius:999px;padding:.25rem .6rem;margin:.15rem;box-shadow:0 4px 10px rgba(245,124,0,0.2);text-decoration:none;transition:all 0.2s ease}
.link-chip:hover{color:#fff!important;transform:translateY(-1px);box-shadow:0 6px 14px rgba(245,124,0,0.3)}
.chip{display:inline-flex;align-items:center;background:#f6f8fb;border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:.25rem .6rem;margin:.15rem}
.chip button{margin-left:.35rem}
.project-card .card-body{padding:1.5rem}
.project-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08)}
.welcome{padding-top:2rem;padding-bottom:1rem}
.welcome h2{font-weight:700;color:var(--brand-blue)}
.welcome p{color:#4a5568}
.small-muted{color:#64748b;font-size:.875rem}
.dashboard-grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media (min-width: 992px){.dashboard-grid{grid-template-columns:420px 1fr}}
.admin-grid{display:grid;grid-template-columns:1fr;gap:3rem}
.sidebar{position:relative}
.content-panel{min-height:400px}
.input-label{font-size:.875rem;color:#64748b;margin-bottom:.5rem}
.details-panel{border:1px solid rgba(0,0,0,.08);border-radius:16px;background:#fff;padding:1.5rem}
.details-panel{position:relative;z-index:2;width:100%}
.details-emphasis{box-shadow:0 20px 40px rgba(21,101,192,.18);border:2px solid rgba(21,101,192,.12)}
.details-overlay{position:fixed;inset:0;z-index:1000;padding:16px;overflow:auto}
.details-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1100;display:flex;align-items:center;justify-content:center;padding:16px}
.modal-card{background:#fff;border-radius:16px;box-shadow:0 32px 64px rgba(0,0,0,.35);width:100%;max-width:1000px;border:1px solid rgba(255,255,255,.1)}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(0,0,0,.06)}
.modal-body{padding:1.25rem}
.compact .form-control{min-height:36px;padding:.375rem .6rem;font-size:.9rem}
.compact .btn{padding:.5rem .8rem;font-size:.875rem;border-radius:8px}
.compact .panel-header h4{font-size:1.25rem}
.compact .table{font-size:.9rem}
.compact .small-muted{font-size:.8rem}
.panel-section{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:1rem;margin-top:1rem}
.section-title{font-weight:700;color:var(--brand-dark);display:flex;align-items:center;justify-content:space-between;font-size:1.1rem}
.guide-steps{color:#4a5568;font-size:.9rem;background:rgba(21,101,192,0.05);padding:0.75rem;border-radius:8px;border-left:4px solid var(--brand-blue)}
.panel-section .table thead th{background:#f1f5f9;color:var(--brand-dark);font-weight:600;text-transform:uppercase;font-size:0.75rem;letter-spacing:0.5px}
.details-form .form-control{min-height:38px}
.details-form .row{margin-bottom:.25rem}
.details-panel .panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.details-panel .panel-header h4{margin:0;color:var(--brand-blue);font-weight:700;font-size:1.35rem}
.form-label{font-weight:600;color:#334155}
.form-text.small-muted{font-size:.8rem;color:#6b7280}
.details-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media (min-width: 768px){.details-grid{grid-template-columns:1fr 1fr}}
.details-panel{padding:1.5rem}
@media (min-width: 992px){.details-panel{padding:2rem}}
#revisionChips{min-height:120px;display:flex;flex-wrap:wrap;gap:0.5rem;align-content:flex-start}

/* Bootstrap Modal Overrides */
.modal-content{border-radius:16px;border:none;box-shadow:0 32px 64px rgba(0,0,0,.35)}
.modal-backdrop.show{opacity:.65;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.modal-header{border-bottom:1px solid rgba(0,0,0,.06);padding:1.25rem 1.5rem}
.modal-body{padding:1.5rem}
.modal-footer{border-top:1px solid rgba(0,0,0,.06);padding:1.25rem 1.5rem}
.modal-title{font-weight:700;color:var(--brand-dark)}
