:root { --blue: #186eae; --navy: #062d5b; --sky: #eaf6fb; --green: #00a96b; --ink: #17324d; --warm: #fff9f1; --line: #d9e5eb; }
a { color: var(--blue); }
.admin-navigation { background:#f5fbfc; padding:1.5rem 0 0; }
.admin-tabs { display:flex; flex-wrap:wrap; gap:.5rem; list-style:none; margin:0; padding:0 0 1rem; border-bottom:1px solid var(--line); }
.admin-tab { display:block; padding:.75rem 1.15rem; border-radius:6px; color:var(--blue); font-weight:800; text-decoration:none; transition:background-color .15s ease,color .15s ease; }
.admin-tab:hover { background:var(--sky); color:var(--blue); }
.admin-tab.active { background:var(--blue); color:#fff; }
.admin-tab:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.admin-navigation + .page-shell { padding-top:2rem; }
@media(max-width:575px) { .admin-tabs { gap:.4rem; } .admin-tab { padding:.7rem .85rem; font-size:.9rem; } }
.btn-link-mahana { border: 1px solid var(--blue); border-radius: 0; padding: .8rem 1.35rem; }
.btn-link-mahana:hover { background: var(--blue); color: #fff; }
.alert ul { margin-bottom: 0; }
.page-shell .lead { max-width: none; }
.day-tile.current { cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.day-tile.current:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 9px 19px rgba(24,110,174,.38); }
.workbook-week { padding: 1.5rem; border-top: 5px solid var(--green); background: var(--warm); }
.workbook-week { background: transparent; }
.workbook-week h3 { font-size: 1.65rem; }
.score-input { flex-wrap: nowrap; min-width: 145px; }
* { box-sizing: border-box; }
body { min-height:100vh; display:flex; flex-direction:column; color:var(--ink); background:#fff; font-family:'Nunito Sans',sans-serif; }
h1,h2,h3,h4 { font-family:'Playfair Display',serif; color:var(--blue); font-weight:700; }
.mahana-navbar { background:#186eae; border-bottom:1px solid #fff; box-shadow:0 5px 5px rgba(0,0,0,.5); min-height:78px; }
.navbar-brand img { height:64px; width:auto; object-fit:contain; }
.mahana-navbar .nav-link { color:#fff; font-weight:800; padding:.6rem .8rem!important; }
.mahana-navbar .nav-link:hover,.mahana-navbar .nav-link.active { color:#fff; background:rgba(3,38,92,.62); border-radius:4px; }
.btn-nav-outline { border:1px solid #fff; color:#fff; font-weight:800; border-radius:0; }.btn-nav-outline:hover { background:#fff;color:var(--blue); }
.rainbow-banner { height:145px; background:url('../img/arc-en-ciel.jpg') center/cover; border-bottom:1px solid #fff; box-shadow:0 5px 5px rgba(0,0,0,.45); }
.hero-section { padding:5.5rem 0; background:linear-gradient(120deg,#fff 0%,#f5fcfc 54%,#e8f6fb 100%); }
.eyebrow { color:var(--green); font-weight:900; letter-spacing:.12em; font-size:.78rem; }.hero-section h1 { font-size:clamp(2.6rem,5vw,4.65rem); line-height:1.04; }.lead { font-size:1.23rem; max-width:680px; }
.btn-mahana { background:var(--green); color:#fff; border:1px solid var(--blue); border-radius:0; font-weight:900; padding:.8rem 1.35rem; }.btn-mahana:hover { background:#008d5a;color:#fff; }.btn-link-mahana { color:var(--blue);font-weight:800; }
.hero-card { background:var(--blue); color:#fff; padding:2.7rem; min-height:330px; box-shadow:12px 12px 0 #9fd4df; }.hero-card h2{color:#fff;font-size:2rem;}.day-orb { display:inline-grid; place-items:center; width:80px;height:80px;border:3px solid #fff;border-radius:50%;font-family:'Playfair Display',serif;font-size:2.25rem;font-weight:700;margin-bottom:1.5rem; }
.feature-card { height:100%; background:var(--warm); padding:2.2rem 1.6rem; border-top:5px solid var(--green); }.feature-card span { font-weight:900; color:var(--green); }.feature-card h2 { font-size:1.8rem; }.disclaimer-section { background:#eaf6fb; color:#31556b; padding:1.3rem 0; font-size:.94rem; }
.paypal-loading { display:flex; min-height:170px; align-items:center; justify-content:center; flex-direction:column; gap:.75rem; color:var(--blue); font-weight:800; }.paypal-loading img { width:62px; height:62px; object-fit:contain; }
.mahana-footer { margin-top:auto; color:#fff; background:#062d5b url('../img/bg-footer.png') center/cover; border-top:1px solid #fff; }
.mahana-footer a { color:#fff; }
.mahana-footer a:hover { text-decoration: none; }
.page-shell { padding:3.5rem 0 5rem; background:linear-gradient(180deg,#f5fbfc,#fff); flex:1; }.page-heading { font-size:clamp(2.2rem,4vw,3.3rem); }.surface-card { background:#fff; padding:2rem; box-shadow:0 10px 30px rgba(15,67,99,.10); border:1px solid #e4eef1; }.soft-card { background:var(--warm); border:1px solid #f1dfbf; padding:1.5rem; }
.progress { height:12px; border-radius:99px; background:#dbeaf0; }.progress-bar { background:linear-gradient(90deg,var(--green),#38bfa3); }.day-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(125px,1fr)); gap:.65rem; }.day-tile { text-decoration:none; padding:.85rem .6rem; border:1px solid var(--line); color:#557080; background:#fff; font-weight:800; }.day-tile:hover{color:var(--blue);}.day-tile.completed{background:#e8f8f1;border-color:#8bd7ba;color:#08794e;}.day-tile.current{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 5px 14px rgba(24,110,174,.3);}.day-tile.locked{background:#f4f6f7;color:#a6b2ba;cursor:not-allowed;}
.workbook-copy h3 { margin-top:2rem; }.workbook-copy p,.workbook-copy li { line-height:1.7; }.response-label { font-weight:900;color:var(--blue); }.form-control,.form-check-input { border-radius:0; }.form-control:focus { border-color:var(--green); box-shadow:0 0 0 .25rem rgba(0,169,107,.15); }.admin-hero { background:linear-gradient(115deg,#062d5b,#186eae); color:#fff; padding:3rem; }.admin-hero h1{color:#fff;}.metric-card { background:#fff;padding:1.5rem;border-left:5px solid var(--green);box-shadow:0 7px 20px rgba(12,56,89,.08);height:100%; }.metric-card .metric { display:block;font-size:2.1rem;color:var(--blue);font-weight:900;line-height:1.1; }.data-table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:#557080;white-space:nowrap;}.badge-soft{background:#e8f8f1;color:#08794e;}.badge-current{background:#eaf3fb;color:#186eae;}.empty-state{padding:3rem;text-align:center;background:#fff;border:1px dashed #b9ccd4;}
@media(max-width:991px){.rainbow-banner{height:96px}.navbar-brand img{height:54px}.hero-section{padding:3.5rem 0}.mahana-navbar .nav-link{padding:.75rem 0!important}.hero-card{min-height:auto}.page-shell{padding:2.5rem 0 4rem}}
