
:root{--wine:#8d2339;--wine-dark:#491726;--wine-soft:#f7edf0;--ink:#253143;--muted:#788291;--bg:#f5f6f8;--line:#e7e9ee;--green:#15806a;--gold:#a37323;--red:#b32b46;--shadow:0 8px 32px #24304708}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 'Segoe UI',Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;padding:10px 17px;background:var(--wine);color:white;font-weight:600;transition:.15s}button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:wait}button.secondary{background:white;border-color:var(--line);color:var(--ink)}button.ghost{background:transparent;color:var(--muted)}button.small{padding:6px 10px;font-size:12px}button.danger{background:#fff0f3;color:var(--red)}button.icon{padding:8px;min-width:34px}input,select,textarea{width:100%;border:1px solid #dfe3e9;border-radius:7px;background:white;padding:10px 12px;min-height:43px;color:var(--ink)}textarea{min-height:85px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid #8d23391a;border-color:var(--wine)}input[type=checkbox]{width:17px;height:17px;min-height:0;accent-color:var(--wine)}label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}label.check{display:flex;align-items:center;gap:9px;min-height:40px}h1,h2,h3,p{margin-top:0}h1{font-size:27px;font-weight:650;letter-spacing:-.65px;margin-bottom:6px}h2{font-size:18px;letter-spacing:-.3px}h3{font-size:14px}p{margin-bottom:15px}a{color:var(--wine)}svg.ico{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.muted{color:var(--muted)}.hidden{display:none!important}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700}.brandbar{height:108px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:18px 42px;gap:22px}.brandbar .ministry{width:77px;height:77px;object-fit:contain}.brandbar .decade{width:139px;height:70px;object-fit:contain}.brandbar .hierarchy{text-align:center;line-height:1.65;font-size:12px;font-weight:600;letter-spacing:.3px}.brandbar .hierarchy b{display:block;color:var(--wine);font-size:13px}.login-layout{min-height:calc(100vh - 108px);display:grid;grid-template-columns:1.05fr 1fr}.login-story{background:var(--wine-dark);color:white;padding:65px 12%;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-story:after{content:'';position:absolute;width:440px;height:440px;border:1px solid #ffffff12;border-radius:50%;right:-190px;top:140px;box-shadow:0 0 0 65px #ffffff03,0 0 0 130px #ffffff03;pointer-events:none}.wordmark{display:flex;align-items:center;gap:13px;font-size:28px;letter-spacing:2px;font-weight:700}.mark{width:43px;height:43px;border:1px solid #ffffff55;border-radius:10px;display:grid;place-items:center}.login-story h1{font-size:42px;line-height:1.19;max-width:400px;letter-spacing:-1.4px;margin:46px 0 20px}.login-story .description{color:#d6bcc4;max-width:380px;font-size:15px;line-height:1.8}.story-features{display:grid;gap:16px;margin:38px 0}.story-features div{display:flex;align-items:center;gap:13px;color:#ead9df;font-size:13px}.story-features svg{color:#d8aeb9}.login-story footer{font-size:11px;color:#b797a1;border-top:1px solid #ffffff15;padding-top:22px}.login-side{display:flex;align-items:center;justify-content:center;padding:45px}.login-card{width:370px;max-width:100%}.login-card h2{font-size:26px;margin:12px 0 8px;letter-spacing:-.7px}.field{margin-bottom:17px}.login-card button.primary{width:100%;margin-top:10px;padding:12px}.login-note{display:flex;align-items:flex-start;gap:9px;margin-top:26px;font-size:11px;line-height:1.7;color:var(--muted);padding:15px 0;border-top:1px solid var(--line)}.login-card .eyebrow{color:var(--wine)}.helper{font-size:11px;color:var(--muted);margin-top:5px}.error{padding:12px 15px;background:#fff0f3;color:#a72942;border:1px solid #f4d1d9;border-radius:7px;font-size:12px;margin:12px 0;white-space:pre-wrap}.notice{padding:13px 16px;border-radius:7px;background:#fff9ec;color:#8d692d;border:1px solid #f1e4c6;font-size:12px;margin:14px 0}.info{background:#eef4fa;border-color:#d9e6f2;color:#466582}.success{background:#ebf7f2;border-color:#cce9df;color:#20765e}.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{height:100vh;position:sticky;top:0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:26px 15px 16px}.sidebar .wordmark{color:var(--wine);padding:0 12px;font-size:24px;letter-spacing:1px}.sidebar .mark{border-color:#e7cdd4;background:var(--wine-soft);width:37px;height:37px}.sidebar .sub{font-size:10px;color:var(--muted);padding:10px 12px 23px;line-height:1.6}.nav-label{font-size:9px;letter-spacing:1.6px;color:#a2a8b0;padding:19px 13px 7px;font-weight:700}.nav{overflow:auto;flex:1}.nav button{width:100%;justify-content:flex-start;background:transparent;color:#717b8b;font-weight:500;font-size:12px;padding:11px 13px;margin-bottom:3px;border-radius:7px}.nav button.active{background:var(--wine-soft);color:var(--wine);font-weight:650}.nav button:hover{background:#f7f8fa}.nav button.active:hover{background:var(--wine-soft)}.sidebar-bottom{border-top:1px solid var(--line);padding:17px 10px 0;font-size:10px;color:var(--muted)}.live-dot{height:6px;width:6px;display:inline-block;border-radius:50%;background:#209a78;margin-right:6px}.main{min-width:0}.topbar{height:87px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px 31px;gap:20px}.top-brand{display:flex;gap:14px;align-items:center}.top-brand img{height:54px;width:54px;object-fit:contain}.top-brand p{font-size:10px;margin:0;color:var(--muted)}.top-brand b{font-size:11px;font-weight:650}.top-right{display:flex;gap:20px;align-items:center}.top-right .decade{width:92px;height:52px;object-fit:contain}.userbox{border-left:1px solid var(--line);padding-left:20px;display:flex;gap:10px;align-items:center;font-size:11px}.avatar{width:32px;height:32px;background:var(--wine-soft);color:var(--wine);border-radius:50%;display:grid;place-items:center;font-weight:700}.userbox small{display:block;font-size:9px;color:var(--muted)}.workspace-bar{display:flex;align-items:center;justify-content:space-between;padding:15px 33px;border-bottom:1px solid var(--line);gap:12px;background:#fbfcfd}.workspace-bar select{min-height:34px;padding:6px 10px;font-size:11px;width:250px}.sync{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:6px}.content{padding:28px 33px 45px;max-width:1700px;margin:auto}.breadcrumb{font-size:10px;color:#9aa2ad;margin-bottom:14px;display:flex;gap:6px;align-items:center}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.pagehead p{font-size:12px;color:var(--muted);margin:0}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:23px}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:19px 20px;box-shadow:var(--shadow)}.stat-top{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}.stat-icon{background:#f6f2f4;color:var(--wine);padding:7px;border-radius:8px;display:flex}.stat strong{font-size:30px;font-weight:650;letter-spacing:-1px;display:block;margin:4px 0 2px}.stat small{font-size:10px;color:#98a0aa}.grid-two{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:21px}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:21px;box-shadow:var(--shadow);overflow:hidden}.panel-header{padding:18px 21px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #eef0f4}.panel-header h2{font-size:14px;margin:0}.panel-header p{font-size:10px;color:var(--muted);margin:3px 0 0}.panel-body{padding:20px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:11px}th{font-size:9px;letter-spacing:.4px;color:#8a94a3;text-align:left;background:#fbfcfd;padding:11px 17px;font-weight:650;border-bottom:1px solid #eff1f4}td{padding:13px 17px;border-bottom:1px solid #f0f2f5;max-width:400px;white-space:normal;word-break:break-word}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfcfd}td .sub{font-size:9px;color:var(--muted);margin-top:3px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:9px;line-height:1.6;padding:3px 8px;border-radius:5px;background:#eff2f6;color:#6b7789;white-space:nowrap}.badge.green{background:#eaf6f0;color:#298261}.badge.gold{background:#fcf4e6;color:#a4762d}.badge.red{background:#fbeef1;color:#ad3b52}.badge.wine{background:var(--wine-soft);color:var(--wine)}.org-name{font-weight:600;font-size:11px}.capacity{height:4px;border-radius:4px;background:#eff1f4;overflow:hidden;width:100px;margin-top:5px}.capacity span{display:block;height:100%;background:var(--wine);max-width:100%}.activity{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid #f0f1f4}.activity:last-child{border:0}.activity .activity-icon{width:30px;height:30px;flex-shrink:0;border-radius:8px;background:#f6f2f4;display:grid;place-items:center;color:var(--wine)}.activity p{font-size:11px;margin:0}.activity small{font-size:9px;color:var(--muted)}.bottom-note{font-size:10px;color:#9ba3ae;display:flex;justify-content:space-between;margin-top:28px}.empty{text-align:center;padding:42px 20px;color:var(--muted);font-size:12px}.empty svg{width:30px;height:30px;color:#bdc5cf;display:block;margin:0 auto 12px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.toolbar input{max-width:300px;font-size:12px;min-height:38px}.toolbar input[type=month]{max-width:170px}.toolbar select{width:auto;min-height:38px;font-size:12px}.modal-backdrop{position:fixed;inset:0;background:#16233366;z-index:100;display:flex;align-items:center;justify-content:center;padding:25px;backdrop-filter:blur(3px)}.modal{background:white;border-radius:13px;width:780px;max-width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 100px #13203035}.modal.small-modal{width:470px}.modal-header{padding:20px 25px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-header h2{margin:0;font-size:18px}.modal-body{padding:24px 25px;overflow:auto}.modal-footer{padding:17px 25px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px;background:#fcfcfd;border-radius:0 0 13px 13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form-grid .wide{grid-column:1/-1}.grant-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px 10px}.grant-grid label{font-size:11px}.grant-org{padding:12px 0;border-top:1px solid var(--line);margin-top:12px}.grant-org h3{margin:6px 0}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#243647;color:white;padding:12px 23px;border-radius:9px;z-index:300;box-shadow:0 6px 25px #0002;font-size:12px;max-width:90%}.loader{display:inline-block;width:16px;height:16px;border:2px solid #ddd;border-top-color:var(--wine);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{height:100vh;display:grid;place-items:center}.loading-screen p{margin:12px 0 0;font-size:12px;color:var(--muted)}.source-note{font-size:11px;color:var(--muted);line-height:1.8}.metric-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0;font-size:12px}.metric-row.total{font-weight:700;color:var(--wine);font-size:16px}.secret{font:17px/1.7 Consolas,monospace;word-break:break-all;background:#f6f7f9;padding:15px;border-radius:7px;letter-spacing:2px}.preview-banner{padding:9px 20px;background:#fff3d8;color:#8c692a;font-size:11px;text-align:center}.mobile-menu{display:none}.print-header{display:none}@media(max-width:1100px){.shell{grid-template-columns:205px minmax(0,1fr)}.content{padding:23px}.topbar{padding:12px 22px}.workspace-bar{padding:13px 22px}.stats{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.top-right .decade{display:none}.login-story{padding:50px 10%}.login-story h1{font-size:34px}}@media(max-width:760px){.brandbar{padding:12px 18px;height:90px}.brandbar .ministry{width:57px;height:57px}.brandbar .decade{width:84px;height:50px}.brandbar .hierarchy{font-size:8px}.brandbar .hierarchy b{font-size:9px}.login-layout{display:block;min-height:calc(100vh - 90px)}.login-story{padding:25px 30px}.login-story h1{font-size:27px;margin:20px 0 12px}.login-story .description{font-size:12px;margin-bottom:0}.story-features,.login-story footer{display:none}.login-side{padding:32px 24px}.shell{display:block}.sidebar{display:none;position:fixed;z-index:50;width:238px;box-shadow:0 0 0 100vmax #0005}.sidebar.open{display:flex}.mobile-menu{display:inline-flex}.topbar{height:76px;padding:10px 16px}.top-brand img{width:38px;height:38px}.top-brand b{font-size:9px}.top-brand p{font-size:8px}.userbox{padding-left:10px}.userbox .usertext{display:none}.top-right{gap:6px}.workspace-bar{padding:10px 16px;flex-wrap:wrap}.workspace-bar select{width:205px}.content{padding:23px 16px}.pagehead{align-items:flex-start;flex-wrap:wrap}h1{font-size:24px}.stats{gap:11px}.stat{padding:15px}.stat strong{font-size:26px}.stat-top{font-size:10px}.form-grid{grid-template-columns:1fr}.modal-backdrop{padding:10px}.modal-body{padding:20px}.grant-grid{grid-template-columns:1fr 1fr}.bottom-note{display:block}.userbox{border:0}}@media print{body{background:white}.sidebar,.topbar,.workspace-bar,.pagehead .actions,.toolbar,button,.bottom-note,.preview-banner{display:none!important}.shell{display:block}.content{padding:0}.panel{border:1px solid #ddd;box-shadow:none;break-inside:avoid}.print-header{display:block;text-align:center;margin-bottom:20px}.stats{grid-template-columns:repeat(4,1fr)}table{font-size:9px}th,td{padding:6px}.table-scroll{overflow:visible}.notice{font-size:9px}.modal-backdrop{position:static;display:block;background:white;padding:0}.modal{width:100%;max-height:none;box-shadow:none}.modal-body{overflow:visible}.modal-footer,.modal-header button{display:none}}
