:root{--brand:#087a50;--brand-dark:#075b3d;--brand-soft:#e8f5ee;--ink:#172b24;--muted:#718078;--line:#e7eee9;--paper:#f5f8f6;--white:#fff;--shadow:0 12px 36px rgba(19,55,39,.07);--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--paper);font-size:14px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,b,strong{font-family:Manrope,"DM Sans",sans-serif}
.login-page{min-height:100vh;background:#f4f8f5}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(430px,46%) 1fr}.login-panel{position:relative;display:flex;flex-direction:column;padding:38px clamp(28px,6vw,94px);background:#fff;z-index:2}.brand{display:inline-flex;align-items:center;gap:12px}.brand-symbol{width:43px;height:43px;border-radius:14px;background:var(--brand);color:white;display:grid;place-items:center;font-size:22px;box-shadow:0 8px 18px #087a5033}.brand b{display:block;font:800 16px Manrope,sans-serif;letter-spacing:-.5px}.brand small{display:block;color:#87958d;font-size:11px;margin-top:2px}.login-content{width:100%;max-width:430px;margin:auto}.eyebrow,.section-eyebrow{font-size:10px;font-weight:800;letter-spacing:1.45px;color:var(--brand)}.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow span,.live-pill>span,.stat-dot{width:7px;height:7px;border-radius:50%;background:#26b879;box-shadow:0 0 0 4px #26b87920}.login-content h1{font-size:clamp(38px,4.4vw,57px);line-height:1.08;letter-spacing:-2.8px;margin:22px 0 15px}.login-content h1 em{font-style:normal;color:var(--brand)}.login-intro{font-size:15px;line-height:1.8;color:#7a8981;max-width:380px;margin-bottom:35px}.login-form label{display:block;font-size:12px;font-weight:700;margin:18px 0 8px}.field-wrap{height:55px;border:1px solid #e2eae4;border-radius:13px;display:flex;align-items:center;padding:0 15px;gap:11px;background:#fbfdfb;transition:.25s}.field-wrap:focus-within{border-color:#49a67d;box-shadow:0 0 0 4px #087a5012;background:#fff}.field-wrap>i{font-size:17px;color:#94a39a}.field-wrap input{border:0;outline:0;background:transparent;flex:1;min-width:0;color:var(--ink)}.field-wrap input::placeholder{color:#aab5ae}.field-wrap button{border:0;background:none;color:#87958d;cursor:pointer;font-size:17px}.login-submit{margin-top:27px;width:100%;height:56px;border:0;border-radius:13px;color:white;background:linear-gradient(110deg,#087a50,#0b9562);font-weight:700;cursor:pointer;box-shadow:0 12px 25px #087a5030;transition:transform .25s,box-shadow .25s}.login-submit:hover{transform:translateY(-2px);box-shadow:0 16px 30px #087a5040}.login-submit:disabled{opacity:.7;cursor:wait}
.login-submit i{margin-left:8px}

.login-spinner{display:none;width:19px;height:19px;border:2px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.login-foot{margin-top:35px;color:#9aa69f;font-size:11px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.login-foot i{color:var(--brand)}
.login-spinner.is-visible {
    display: inline-block;
}
.login-error{padding:12px 14px;border-radius:10px;background:#fff0ef;color:#b43f35;font-size:12px}.login-art{position:relative;overflow:hidden;min-height:100vh;background:radial-gradient(ellipse at 75% 15%,#1c9c6b 0,transparent 37%),linear-gradient(145deg,#075d3d 0%,#087a50 47%,#064a36 100%);color:#fff;padding:clamp(40px,6vw,90px);display:flex;flex-direction:column;justify-content:space-between}.login-art:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#ffffff20 1px,transparent 1px);background-size:24px 24px;opacity:.24}.art-orbit{position:absolute;border:1px solid #ffffff20;border-radius:50%;pointer-events:none}.orbit-one{width:680px;height:680px;right:-180px;top:8%}.orbit-two{width:500px;height:500px;right:-90px;top:18%}.art-copy,.art-scene,.art-caption{position:relative;z-index:1}.art-kicker{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#b9e9d1;font-weight:700}.art-copy h2{font:600 clamp(42px,5vw,68px)/1.08 Manrope,sans-serif;letter-spacing:-3px;margin:22px 0}.art-copy h2 strong{color:#b8f0d4}.art-copy p{color:#d1eadc;line-height:1.8;max-width:400px;font-size:15px}.art-scene{height:310px;max-width:560px;width:100%;margin:0 auto;position:relative}.sun-disc{position:absolute;width:175px;height:175px;border-radius:50%;background:linear-gradient(145deg,#c6f2a9,#79d69c);top:12px;left:40%;box-shadow:0 0 70px #b5efb477}.ground{position:absolute;bottom:20px;border-radius:50% 50% 0 0}.ground-a{height:150px;width:115%;left:-8%;background:linear-gradient(130deg,#0d9a68,#056344);transform:rotate(-5deg)}.ground-b{height:115px;width:115%;left:-5%;bottom:0;background:linear-gradient(130deg,#064d37,#053d2d);transform:rotate(5deg)}.leaf{position:absolute;z-index:2;width:85px;height:145px;background:linear-gradient(145deg,#d3f4b3,#50bd82);border-radius:100% 0 100% 0;transform-origin:bottom center;box-shadow:inset -10px -8px 18px #087a5030}.leaf:after{content:"";position:absolute;width:1px;height:100%;background:#087a5066;left:50%;transform:rotate(-20deg)}.leaf-a{left:35%;bottom:70px;transform:rotate(-35deg)}.leaf-b{left:48%;bottom:66px;transform:rotate(30deg) scale(.8)}.leaf-c{left:56%;bottom:64px;transform:rotate(55deg) scale(.58)}.art-stat{position:absolute;z-index:4;bottom:26px;left:14%;display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid #ffffff38;background:#ffffff19;backdrop-filter:blur(14px);border-radius:15px;box-shadow:0 12px 40px #002f2040}.art-stat b,.art-stat small{display:block}.art-stat b{font-size:12px}.art-stat small{font-size:10px;color:#c4e5d3;margin-top:3px}.art-stat>i{margin-left:20px}.art-caption{display:flex;justify-content:space-between;color:#b4d9c5;font-size:9px;letter-spacing:1.3px}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
/* Application shell */
.admin-app{min-height:100vh;background:var(--paper)}.admin-app>.d-flex{min-height:100vh}#sidebar{width:252px;flex:0 0 252px;background:linear-gradient(180deg,#073f2d,#064d36)!important;color:white;min-height:100vh;padding:24px 15px;position:sticky;top:0;align-self:flex-start;z-index:30;box-shadow:8px 0 30px #073f2d0b}#sidebar .position-sticky{position:static!important;padding-top:0!important}.sidebar-brand{padding:4px 10px 26px;color:#fff}.sidebar-brand .brand-symbol{background:#ffffff1b;box-shadow:none;border:1px solid #ffffff25}.sidebar-brand b{color:#fff}.sidebar-brand small{color:#a8c9b8}.sidebar-caption{padding:12px 12px 9px;color:#7fb19a;font-size:9px;letter-spacing:1.5px;font-weight:800}#sidebar .nav{display:flex;flex-direction:column;gap:5px;padding:0;margin:0;list-style:none}#sidebar .nav-link,#sidebar .logout{display:flex;align-items:center;gap:13px;padding:12px 13px;border-radius:11px;color:#c0d8cb;font-size:13px;font-weight:600;transition:all .2s}#sidebar .nav-link i,#sidebar .logout i{font-size:17px;width:20px;text-align:center}#sidebar .nav-link:hover{background:#ffffff13;color:#fff;transform:translateX(2px)}#sidebar .nav-link.active{background:#ffffff1c;color:#fff;box-shadow:inset 3px 0 #65d49b}#sidebar .logout{margin-top:18px;color:#ffc4b9!important;border-top:1px solid #ffffff18;border-radius:0;padding-top:22px}
.admin-app>.d-flex>div.flex-grow-1{min-width:0;min-height:100vh}#topbar{height:82px;padding:0 34px!important;background:#fff!important;border:0!important;border-bottom:1px solid var(--line)!important;display:flex;align-items:center;gap:18px;position:sticky;top:0;z-index:20;box-shadow:0 4px 18px #143e2a05}.topbar-heading{margin-right:auto}.topbar-kicker{font-size:9px;letter-spacing:1.3px;color:#8c9b92;font-weight:800}.topbar-heading h4{font-size:18px;font-weight:800;letter-spacing:-.5px;margin-top:4px}.admin-user{display:flex;align-items:center;gap:10px}.admin-avatar{width:39px;height:39px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);border-radius:13px;font-weight:800;font-size:15px}.admin-user b,.admin-user small{display:block}.admin-user b{font-size:12px}.admin-user small{font-size:10px;color:#8b9991;margin-top:2px}#main-area{padding:32px 36px 55px!important;overflow:visible!important;min-width:0;animation:rise .35s ease both}.page-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px}.page-intro h1{font-size:clamp(25px,3vw,34px);letter-spacing:-1.3px;margin:9px 0 5px;font-weight:800}.page-intro p{margin:0;color:#829087;font-size:13px}.live-pill{display:inline-flex;align-items:center;gap:9px;padding:9px 13px;background:#fff;border:1px solid var(--line);border-radius:30px;color:#53665b;font-size:11px;font-weight:700;white-space:nowrap}.live-pill small{color:#97a39c;font-weight:500;margin-left:4px}.live-pill>span{width:6px;height:6px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.metric-card{position:relative;overflow:hidden;background:#fff;border:1px solid #edf1ee;border-radius:17px;padding:20px 21px 18px;box-shadow:0 7px 25px #163d2907;transition:transform .25s,box-shadow .25s}.metric-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px #163d2912}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#78877e;font-size:11px;font-weight:700}.metric-icon{width:39px;height:39px;border-radius:13px;display:grid;place-items:center;font-size:18px}.metric-icon.green,.action-icon.green{background:#e6f6ed;color:#098252}.metric-icon.blue,.action-icon.blue{background:#eaf1ff;color:#5876cf}.metric-icon.violet,.action-icon.violet{background:#f0ecff;color:#8565c7}.metric-icon.amber,.action-icon.amber{background:#fff4df;color:#c18a2f}.metric-card>strong{display:block;font:800 30px Manrope,sans-serif;letter-spacing:-1px;margin:12px 0 3px}.metric-card>small{color:#9aa69f;font-size:10px}.metric-accent{position:absolute;width:80px;height:80px;border-radius:50%;right:-35px;bottom:-51px;opacity:.09}.metric-accent.green{background:#087a50}.metric-accent.blue{background:#5876cf}.metric-accent.violet{background:#8565c7}.metric-accent.amber{background:#c18a2f}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,1fr);gap:18px;margin-bottom:19px}.surface{background:#fff;border:1px solid #eaf0ec;border-radius:18px;box-shadow:0 8px 28px #163d2906}.chart-surface,.today-surface,.activity-surface,.section-surface{padding:22px 23px}.surface-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.surface-heading h2,.table-toolbar h2{font-size:16px;letter-spacing:-.45px;margin:6px 0 4px;font-weight:800}.surface-heading p,.table-toolbar p{margin:0;color:#97a39c;font-size:11px}.chart-tag,.timeline-count,.today-date{font-size:10px;color:#74847a;background:#f5f8f6;border:1px solid #edf1ee;padding:7px 10px;border-radius:9px;white-space:nowrap}.chart-tag i{color:var(--brand);margin-right:5px}.chart-wrap{height:260px;margin-top:15px;position:relative}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-foot{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #edf2ee;color:#8b9990;font-size:10px}.analysis-foot strong{color:#263b30;font:800 12px Manrope,sans-serif;margin-right:12px}.action-list{margin-top:19px}.action-row{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #f0f3f1}.action-row:last-child{border-bottom:0}.action-icon{width:35px;height:35px;flex:0 0 35px;border-radius:11px;display:grid;place-items:center;font-size:15px}.action-row>span:nth-child(2){flex:1;min-width:0}.action-row b,.action-row small{display:block}.action-row b{font-size:11px}.action-row small{font-size:9px;color:#9aa69f;margin-top:3px}.action-row>strong{font:800 15px Manrope,sans-serif}.funding-highlight{display:flex;align-items:center;justify-content:space-between;margin-top:11px;padding:13px 14px;border-radius:12px;background:linear-gradient(100deg,#eaf7ef,#f5fbf7);color:#607568;font-size:10px}.funding-highlight b{font:800 15px Manrope;color:var(--brand)}.activity-surface{margin-top:18px}.table-wrap{width:100%;overflow-x:auto;overscroll-behavior-x:contain;margin-top:17px;border-radius:11px}.data-table{width:100%;border-collapse:separate;border-spacing:0;min-width:690px;font-size:11px}.data-table th{padding:12px 13px;text-align:left;color:#829087;background:#f7faf8;font-size:9px;letter-spacing:.6px;text-transform:uppercase;font-weight:800;border-bottom:1px solid #eaf0ec;white-space:nowrap}.data-table td{padding:13px;border-bottom:1px solid #f0f3f1;color:#5d6d63;vertical-align:middle}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:#fbfdfb}.data-table td b{color:#263b30;font-weight:700}.cell-sub{display:block;color:#99a59e;font-size:9px;margin-top:3px}.status-chip{display:inline-block;padding:5px 9px;border-radius:20px;background:#eef5f0;color:#47715a;font-size:9px;font-weight:700;text-transform:capitalize;white-space:nowrap}.empty-cell{text-align:center!important;color:#9aa69f!important;padding:28px!important}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.table-search{width:min(260px,100%);height:39px;border:1px solid #e4ece6;border-radius:10px;padding:0 12px;outline:none;background:#fbfdfb;font-size:11px}.table-search:focus{border-color:#5ab28a;box-shadow:0 0 0 3px #087a5012}
.compact-metrics{margin-top:0}.section-surface{margin-bottom:18px}.section-surface .table-wrap{margin-top:18px}
/* Existing section components compatibility layer */
.admin-app .row{display:flex;flex-wrap:wrap;margin:0 -9px}.admin-app [class*="col-"]{padding:0 9px;min-width:0;flex:1 0 0}.admin-app .col-md-3{flex:0 0 25%;max-width:25%}.admin-app .col-md-4{flex:0 0 33.333%;max-width:33.333%}.admin-app .col-md-6{flex:0 0 50%;max-width:50%}.admin-app .col-md-8{flex:0 0 66.667%;max-width:66.667%}.admin-app .col-md-12{flex:0 0 100%;max-width:100%}.admin-app .card,.admin-app .modal-content{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.admin-app .card-body{padding:20px}.admin-app .card-header,.admin-app .modal-header{padding:16px 20px;background:#f8fbf9;border-bottom:1px solid var(--line)}.admin-app .card-footer,.admin-app .modal-footer{padding:15px 20px;border-top:1px solid var(--line)}.admin-app .form-control,.admin-app .form-select,.admin-app input[type=text],.admin-app input[type=email],.admin-app input[type=tel],.admin-app input[type=password],.admin-app input[type=date],.admin-app select,.admin-app textarea{max-width:100%;min-height:40px;border:1px solid #e1eae4;border-radius:9px;padding:9px 11px;background:#fff;color:var(--ink);outline:none}.admin-app .form-control:focus,.admin-app .form-select:focus,.admin-app input:focus,.admin-app select:focus,.admin-app textarea:focus{border-color:#59ae86;box-shadow:0 0 0 3px #087a5012}.admin-app .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;padding:9px 14px;font-size:11px;font-weight:700;cursor:pointer;transition:.2s}.admin-app .btn:hover{transform:translateY(-1px);filter:brightness(.97)}.admin-app .btn-success,.admin-app .btn-primary{background:var(--brand);color:#fff}.admin-app .btn-danger{background:#c94b43;color:#fff}.admin-app .btn-secondary,.admin-app .btn-outline-secondary{background:#eef3ef;color:#53645a}.admin-app .btn-info{background:#e8f2ff;color:#4166a6}.admin-app .btn-warning{background:#fff3dc;color:#966c1e}.admin-app .btn-sm{padding:6px 10px;font-size:10px}.admin-app .table{width:100%;border-collapse:collapse;min-width:650px;font-size:11px}.admin-app .table th{background:#f6f9f7;color:#75847b;text-transform:uppercase;font-size:9px;letter-spacing:.5px}.admin-app .table th,.admin-app .table td{padding:11px 12px;border-bottom:1px solid #edf1ee;text-align:left}.admin-app .table-responsive{width:100%;overflow-x:auto}.admin-app .text-muted{color:#849188!important}.admin-app .text-success{color:var(--brand)!important}.admin-app .text-danger{color:#c94b43!important}.admin-app .text-warning{color:#b17c20!important}.admin-app .bg-dark{background:#073f2d!important}.admin-app .bg-white{background:#fff!important}.admin-app .shadow-sm{box-shadow:var(--shadow)!important}.admin-app .border-0{border:0!important}.admin-app .rounded{border-radius:12px!important}.admin-app .w-100{width:100%}.admin-app .d-none{display:none!important}.admin-app .d-flex{display:flex}.admin-app .flex-column{flex-direction:column}.admin-app .flex-grow-1{flex:1}.admin-app .align-items-center{align-items:center}.admin-app .justify-content-between{justify-content:space-between}.admin-app .justify-content-center{justify-content:center}.admin-app .text-center{text-align:center}.admin-app .fw-bold{font-weight:800}.admin-app .mb-0{margin-bottom:0}.admin-app .mb-3{margin-bottom:16px}.admin-app .mb-4{margin-bottom:22px}.admin-app .mt-2{margin-top:8px}.admin-app .mt-3{margin-top:16px}.admin-app .p-3{padding:16px}.admin-app .gap-2{gap:8px}.admin-app .nav{list-style:none;padding:0}.admin-app .nav-link{cursor:pointer}.admin-app .modal{display:none;position:fixed;inset:0;z-index:1000;overflow:auto;background:#10271c80;padding:30px 14px}.admin-app .modal.show{display:block}.admin-app .modal-dialog{max-width:560px;margin:4vh auto}.admin-app .modal-dialog.modal-lg{max-width:850px}.admin-app .modal-content{box-shadow:0 25px 90px #061b1270}.admin-app .modal-body{padding:20px}.admin-app .modal-title{font-size:16px}.admin-app .btn-close{border:0;background:transparent;font-size:22px;cursor:pointer}.admin-app .modal-backdrop{display:none}.admin-app .spinner-border{width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:spin .7s linear infinite}.admin-app .form-check{display:flex;align-items:center;gap:8px;margin:8px 0}.admin-app .form-check-input{accent-color:var(--brand)}.admin-app .alert{padding:12px 15px;border-radius:10px;background:#eef7f1;color:#286747;margin:10px 0}.admin-app .alert-danger{background:#fff0ef;color:#b43f35}.admin-app .alert-success{background:#eaf7ef;color:#286747}.admin-app .badge{display:inline-block;padding:5px 8px;border-radius:20px;background:#eaf5ee;color:#26724e}.admin-app hr{border:0;border-top:1px solid var(--line);margin:20px 0}.admin-app .collapse{display:block}.admin-app .sidebar-overlay{display:none}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.today-surface{display:block}}
@media(max-width:767px){.login-shell{grid-template-columns:1fr}.login-panel{min-height:100vh;padding:25px 25px 30px}.login-content{margin:75px auto 45px}.login-art{display:none}#sidebar{position:fixed;left:0;top:0;bottom:0;width:270px;min-height:100vh;transform:translateX(-105%);transition:transform .28s ease;overflow-y:auto}#sidebar.show{transform:translateX(0)}.admin-app>.d-flex>div.flex-grow-1{width:100%}#topbar{height:70px;padding:0 16px!important}.topbar-heading h4{font-size:15px}.topbar-kicker{font-size:8px}.admin-user>span:last-child{display:none}#main-area{padding:23px 15px 40px!important}.page-intro{align-items:flex-start;flex-direction:column;gap:13px}.page-intro h1{font-size:27px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-card{padding:15px}.metric-card>strong{font-size:25px}.metric-top{font-size:10px}.metric-icon{width:34px;height:34px}.dashboard-grid,.analytics-grid{grid-template-columns:minmax(0,1fr)}.chart-surface,.today-surface,.activity-surface,.section-surface{padding:17px 14px}.chart-wrap{height:225px}.table-toolbar{align-items:flex-start;flex-direction:column}.table-search{width:100%}.admin-app .col-md-3,.admin-app .col-md-4,.admin-app .col-md-6,.admin-app .col-md-8,.admin-app .col-md-12{flex:0 0 100%;max-width:100%}.admin-app .modal{padding:12px}.admin-app .modal-dialog,.admin-app .modal-dialog.modal-lg{margin:3vh auto;max-width:100%}.admin-app .table{min-width:700px}.admin-app .row{gap:12px}.admin-app .card-body{padding:15px}.admin-app .table-responsive{margin:0}.sidebar-overlay.show{display:block;position:fixed;inset:0;background:#071b1277;z-index:25}}
@media(max-width:420px){.metric-grid{grid-template-columns:1fr 1fr}.metric-card>strong{font-size:22px}.metric-top{align-items:flex-start}.metric-icon{width:31px;height:31px;font-size:15px}.page-intro h1{font-size:24px}.login-content h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

.section-loading{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#607268}.section-loading b{font:700 13px Manrope}.section-loading small{font-size:10px;color:#9aa69f}.loading-orbit{width:36px;height:36px;border:3px solid #dcefe4;border-top-color:#087a50;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:8px}
