:root{--navy:#102746;--navy-2:#17385e;--navy-3:#294c75;--ink:#162b47;--muted:#73849b;--paper:#f3f6fb;--white:#fff;--line:#e1e8f1;--blue:#245cba;--blue-soft:#ebf2ff;--green:#1b9d79;--red:#b93848;--shadow:0 8px 30px rgba(27,48,86,.05)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:14px;background:var(--paper)}button,input,textarea,select{font:inherit}a{color:#275bb1;text-decoration:none}a:hover{color:#183e7c}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}input,select,textarea{outline:none}input:focus,select:focus,textarea:focus{border-color:#5385d9!important;box-shadow:0 0 0 3px rgba(70,118,196,.10)}.layout{min-height:100vh;display:flex}.sidebar{width:250px;flex:0 0 250px;background:linear-gradient(165deg,#132d50 0%,#0b203c 100%);color:#fff;padding:27px 15px;display:flex;flex-direction:column;position:sticky;height:100vh;top:0;z-index:20}.brand{display:flex;gap:12px;align-items:center;padding:0 15px 32px}.brand-mark,.mini-logo,.install-logo,.login-symbol{display:grid;place-items:center;color:#fff;background:linear-gradient(140deg,#4587dc,#183c73);font-weight:800;border-radius:13px;letter-spacing:-1px}.brand-mark{width:42px;height:42px;font-size:16px;box-shadow:0 8px 20px #081b354a}.brand strong{display:block;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:18px;letter-spacing:-.7px}.brand small{display:block;margin-top:3px;font-size:9px;color:#95b5dc;letter-spacing:1.6px;font-weight:700}.nav-label{padding:8px 15px 12px;color:#8ba5c4;font-size:10px;font-weight:800;letter-spacing:1.4px}.nav{display:grid;gap:6px}.nav a{color:#b8c8de;padding:13px 15px;display:flex;align-items:center;gap:12px;border-radius:10px;font-weight:600;transition:.16s}.nav a span{font-size:20px;line-height:1;width:22px;text-align:center;color:#85a5d4}.nav a:hover,.nav a.active{background:#ffffff17;color:#fff}.nav a.active{border:1px solid #ffffff23;box-shadow:inset 3px 0 #77aaff}.nav a.active span{color:#b7d1ff}.sidebar-bottom{margin-top:auto;padding:16px 14px;border:1px solid #ffffff1a;border-radius:12px;color:#d0dded;font-size:12px}.sidebar-bottom small{display:block;margin-left:15px;margin-top:7px;color:#9cb3d0}.dot{display:inline-block;width:7px;height:7px;background:#5ac9a9;border-radius:50%;margin-right:6px}.main{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:73px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 35px;gap:15px}.crumb{font-size:10px;font-weight:800;letter-spacing:1.2px;color:#788ca7}.top-actions{display:flex;align-items:center;gap:12px}.avatar{height:35px;width:35px;border-radius:10px;background:#e8effc;color:#244e89;display:grid;place-items:center;font-weight:800}.account strong,.account small{display:block}.account strong{font-size:12px}.account small{color:var(--muted);font-size:10px;margin-top:3px}.logout{margin-left:10px;font-size:12px;color:#607896}.content{width:100%;max-width:1600px;margin:0 auto;padding:32px 35px 52px;flex:1}.footer{padding:17px 35px;font-size:11px;color:#8392a8;border-top:1px solid var(--line);background:#fff}.page-heading{display:flex;justify-content:space-between;margin-bottom:28px}.eyebrow{color:#4e77af;font-weight:800;font-size:10px;letter-spacing:1.65px;margin-bottom:9px}.page-heading h1,.toolbar h1{font:800 clamp(23px,2.25vw,31px)/1.3 system-ui,-apple-system,'Segoe UI',Arial,sans-serif;letter-spacing:-1.1px;margin:0 0 8px}.page-heading p,.toolbar p{color:var(--muted);margin:0;line-height:1.7}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.metric{border:1px solid var(--line);background:#fff;border-radius:15px;padding:20px 21px 18px;box-shadow:var(--shadow);min-width:0;display:flex;flex-direction:column}.metric-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;background:#eaf1fe;color:#3b6da9;margin-bottom:19px;font-size:21px}.metric small{font-size:12px;font-weight:600;color:#7d90a8}.metric strong{font:800 30px/1.6 system-ui,-apple-system,'Segoe UI',Arial,sans-serif;letter-spacing:-1.5px;overflow-wrap:anywhere}.metric .money-stat{font-size:clamp(16px,1.7vw,22px);letter-spacing:-.5px;margin:9px 0}.metric span{color:#8ca0b6;font-size:11px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;margin-bottom:20px;box-shadow:var(--shadow);overflow:hidden}.panel.simple{padding:23px;line-height:1.75}.panel.simple h2{margin:0 0 7px}.panel.simple p{margin-top:0;color:#657891}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px 23px;border-bottom:1px solid var(--line);gap:16px}.panel-head h2{margin:0;font-size:16px;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;letter-spacing:-.35px}.panel-head p{color:#899ab0;font-size:12px;margin:5px 0 0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:690px;text-align:left}th{background:#f6f8fc;color:#7c8ba3;font-size:11px;letter-spacing:.1px;font-weight:700;white-space:nowrap}th,td{padding:14px 17px;border-bottom:1px solid #edf1f7;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafdff}.table-title{font-weight:800;color:#183b6a;line-height:1.45}.subtext{font-size:11px;color:#8b9bb0;margin-top:5px;overflow-wrap:anywhere}.excerpt{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uuid-name{font:10px/1.7 ui-monospace,SFMono-Regular,monospace;color:#99a7ba;margin-top:3px;overflow-wrap:anywhere}.chip{display:inline-block;background:#eaf1fc;color:#3e6394;border:1px solid #dce7f6;padding:5px 8px;font-size:10px;font-weight:800;border-radius:7px;line-height:1.25;white-space:normal}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:9px;padding:11px 15px;font-size:12px;font-weight:800;line-height:1.4;text-decoration:none;transition:.16s;white-space:nowrap}.btn.primary{color:#fff;background:linear-gradient(120deg,#2b67bc,#1c4e96);border-color:#23569c;box-shadow:0 6px 14px #245ab21c}.btn.primary:hover{background:#173f7b;color:#fff;transform:translateY(-1px)}.btn.secondary{background:#fff;color:#2d4d78;border-color:#d7e1ef}.btn.secondary:hover{background:#eef4fe}.btn.danger{background:#fff4f5;color:#b63847;border-color:#f2d7da}.btn.danger:hover{background:#fee9eb}.btn.xs{padding:7px 11px;font-size:10px;border-radius:7px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 19px}.toolbar h2{font-size:18px;margin:0 0 4px;letter-spacing:-.4px}.toolbar h1{margin-bottom:4px}.toolbar .muted{font-size:12px}.muted{color:#8495ab;line-height:1.7}.searchbox{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;padding-left:13px;max-width:420px;width:100%;color:#7188aa}.searchbox span{font-size:22px}.searchbox input{padding:12px;border:0!important;width:100%;box-shadow:none!important;color:var(--ink)}.small-toolbar{margin-bottom:13px}.right-note{font-size:12px;color:var(--muted)}.row-actions,.stack-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-actions form,.stack-actions form{display:inline-flex;margin:0}.empty{padding:40px 20px;text-align:center}.empty-icon{font-size:42px;color:#bfd1eb}.empty h3{font-size:17px;margin:7px 0}.empty p{color:var(--muted)}.two-panel{display:grid;grid-template-columns:1fr 1fr;gap:18px}.backline{font-size:12px;color:#8ba0b8;margin:-12px 0 22px;display:flex;gap:10px}.project-banner{padding:25px 29px;background:linear-gradient(110deg,#152f52,#264e79);border-radius:16px;color:white;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;box-shadow:0 12px 24px rgba(21,45,84,.13)}.banner-kicker{display:flex;align-items:center;gap:14px;font-weight:800;font-size:10px;letter-spacing:1px;color:#c7d9ee}.banner-kicker .chip{background:#ffffff23;color:#e6f0ff;border:1px solid #ffffff35}.project-banner h1{font:800 clamp(19px,2.1vw,27px)/1.4 system-ui,-apple-system,'Segoe UI',Arial,sans-serif;margin:10px 0;letter-spacing:-.6px}.project-banner p{margin:0;color:#c7d8eb}.mid-dot{padding:0 6px}.banner-amount{text-align:right;flex-shrink:0}.banner-amount small{color:#b9cde5;font-size:10px;letter-spacing:1px}.banner-amount strong{display:block;font:800 clamp(17px,1.85vw,25px) system-ui,-apple-system,'Segoe UI',Arial,sans-serif;letter-spacing:-.6px;margin-top:8px}.project-tabs{display:flex;gap:4px;overflow:auto;margin-bottom:20px;border-bottom:1px solid #d8e1ef;scrollbar-width:thin}.project-tabs a{padding:13px 15px;flex-shrink:0;color:#7287a0;font-size:12px;font-weight:700;border-bottom:3px solid transparent}.project-tabs a:hover{color:#295dab}.project-tabs .selected{color:#1c4e92;border-bottom-color:#2b68bb}.project-metrics{margin-top:4px}.project-metrics .metric{padding:20px}.project-metrics strong{font-size:24px}.detail-list{margin:0;padding:16px 24px 24px}.detail-list>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #edf1f7;align-items:baseline}.detail-list>div:last-child{border-bottom:0}.detail-list dt{font-size:12px;color:#8798ad;flex:0 0 35%}.detail-list dd{margin:0;flex:1;font-weight:700;overflow-wrap:anywhere}.two-cols{display:grid;grid-template-columns:1fr 1fr;column-gap:26px}.two-cols>div{align-items:flex-start}.two-panel>.panel>p{padding:0 23px;color:#6a7e97;line-height:1.75}.two-panel .stack-actions{padding:0 23px 22px}.notice{padding:14px 16px;margin:14px 0;background:#edf4fe;border:1px solid #dbe8fa;color:#3e638d;border-radius:9px;font-size:12px;line-height:1.7}.two-panel .notice{margin:0 23px 20px}.progress{height:6px;background:#e7edf7;border-radius:9px;min-width:65px;margin-bottom:7px;overflow:hidden}.progress i{height:100%;display:block;background:#3977c2;border-radius:9px}tfoot th{background:#eaf1fb;color:#1e466e;font-size:12px}.mini-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-metrics .metric strong{font-size:24px}.mini-metrics .metric small{margin-bottom:6px}.alert{padding:13px 16px;border-radius:9px;margin-bottom:18px;line-height:1.6}.alert.success{background:#e6f6f0;border:1px solid #b9e8d8;color:#196a53}.alert.error{background:#fff0f1;border:1px solid #ffced5;color:#9f283c}.center{text-align:center}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field>span{font-size:12px;font-weight:700;color:#526682}.field em{color:#bf334f;font-style:normal}.field input,.field textarea,.field select{width:100%;min-height:41px;background:#fff;border:1px solid #d9e2ef;border-radius:8px;color:#223b5b;padding:10px 12px}.field textarea{resize:vertical;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkline{display:flex;gap:21px;flex-wrap:wrap;padding:10px 0}.checkline label{display:flex;align-items:center;gap:8px;color:#5e7392;font-size:12px}.checkline input{accent-color:#3266ac}.modal{border:0;padding:0;width:min(700px,calc(100vw - 24px));max-height:min(92vh,900px);overflow:hidden;border-radius:15px;box-shadow:0 25px 75px #14294155;color:var(--ink)}.modal::backdrop{background:#0a1937aa;backdrop-filter:blur(3px)}.modal form{display:flex;flex-direction:column;max-height:92vh}.modal-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:20px 24px}.modal-head h2{margin:0;font:800 18px system-ui,-apple-system,'Segoe UI',Arial,sans-serif}.xbtn{background:#edf2f9;color:#617c9d;border:0;border-radius:7px;padding:7px 11px}.modal-body{padding:22px 24px;display:grid;gap:17px;overflow:auto}.modal-foot{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding:16px 24px;background:#fafcff}.report-page{padding:0 0 19px}.report-page h3{margin:23px 24px 8px;font-size:13px;color:#2f506f}.report-paragraph{margin:0 24px;color:#526985;line-height:1.85;white-space:normal}.fact-grid{margin:25px 24px 8px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fact-grid>div{padding:15px;background:#f2f6fb;border-radius:9px}.fact-grid span,.fact-grid strong{display:block}.fact-grid span{color:#8495aa;font-size:11px}.fact-grid strong{margin-top:7px}.report-delete{margin-bottom:16px;display:flex;justify-content:flex-end}.chips{padding:20px;display:flex;gap:8px;flex-wrap:wrap}.steps{display:grid;gap:13px;margin-bottom:20px}.step{background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px 24px;display:flex;gap:25px;align-items:flex-start}.step-number{font:800 24px system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:#88a6d0;min-width:44px}.step h2{font-size:16px;margin:0 0 7px}.step p{margin:0;color:#75869b;line-height:1.75}.install-body{min-height:100vh;background:radial-gradient(circle at 5% 10%,#e5eefa 0,transparent 37%),#f4f7fc}.install-shell{max-width:920px;margin:45px auto;padding:35px;background:#fff;border:1px solid var(--line);border-radius:19px;box-shadow:0 25px 65px #17345b16}.install-logo{height:52px;width:52px;font-size:21px;margin-bottom:23px}.install-shell h1{font:800 30px system-ui,-apple-system,'Segoe UI',Arial,sans-serif;letter-spacing:-1px;margin:0 0 6px}.install-shell>p{color:#73849b;line-height:1.7}.install-shell h3{padding-top:18px;border-top:1px solid var(--line);margin:29px 0 18px;font-size:15px}.install-form .btn{margin-top:15px}.install-form p{font-size:12px}.install-form .field{margin-bottom:4px}.login-screen{display:grid;grid-template-columns:1.08fr .92fr;min-height:100vh;background:#fff}.login-hero{padding:clamp(30px,7vw,105px);background:radial-gradient(circle at 95% 90%,#356eb6bb,transparent 35%),linear-gradient(135deg,#112c50,#091c34);color:#fff;display:flex;flex-direction:column;justify-content:center}.login-symbol{width:58px;height:58px;font-size:22px;margin-bottom:55px}.login-hero .eyebrow{color:#a3c9f7}.login-hero h1{font:800 clamp(32px,4vw,60px)/1.19 system-ui,-apple-system,'Segoe UI',Arial,sans-serif;letter-spacing:-2.5px;margin:0 0 24px}.login-hero h1 span{color:#98c4ff}.login-hero p{max-width:480px;font-size:15px;line-height:1.9;color:#bbcee5;margin:0 0 30px}.login-feature{font-size:12px;color:#d7e7f8;margin:11px 0}.login-panel{display:grid;place-items:center;padding:40px}.login-card{max-width:380px;width:100%}.mini-logo{height:45px;width:45px;margin-bottom:29px}.login-card h2{font:800 27px system-ui,-apple-system,'Segoe UI',Arial,sans-serif;letter-spacing:-1px;margin:0 0 10px}.login-card>p{line-height:1.8;color:#75859d}.google-btn{display:flex;width:100%;background:#fff;border:1px solid #cbd8e8;color:#264767;padding:13px;margin-top:27px;font-size:13px}.google-btn:hover{background:#f4f8fe}.google-letter{font-size:20px;color:#4285f4;font-weight:800;line-height:1}.login-note{font-size:11px;text-align:center;margin-top:20px}.mobile-menu{display:none}.icon-btn{border:0;background:#ecf2fc;padding:8px 11px;border-radius:8px;color:#2b558a}
@media(max-width:1240px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:27px 23px}.topbar{padding:0 23px}.project-banner{align-items:flex-start}.banner-amount strong{font-size:20px}}
@media(max-width:880px){.sidebar{position:fixed;transform:translateX(-102%);transition:transform .2s;width:250px;box-shadow:0 0 30px #0b183a15}.sidebar.opened{transform:translateX(0)}.mobile-menu{display:block}.crumb{flex:1}.two-panel{grid-template-columns:1fr}.project-banner{flex-direction:column}.banner-amount{text-align:left}.login-screen{grid-template-columns:1fr}.login-hero{padding:35px}.login-hero .login-symbol{margin-bottom:24px}.login-hero h1{font-size:30px;letter-spacing:-1px}.login-hero p{font-size:13px}.login-panel{padding:50px 30px}}
@media(max-width:580px){.content{padding:20px 13px 40px}.topbar{padding:0 13px;height:62px}.crumb{font-size:9px}.account{display:none}.logout{margin-left:1px}.page-heading{margin-bottom:20px}.metrics{gap:10px}.metric{padding:14px}.metric strong{font-size:23px}.metric-icon{margin-bottom:13px}.metric .money-stat{font-size:15px}.panel-head{padding:16px}.toolbar{align-items:flex-start;flex-direction:column}.toolbar .btn{align-self:flex-start}.two-cols,.form-grid{grid-template-columns:1fr}.modal-body{padding:17px}.modal-head,.modal-foot{padding:16px}.fact-grid{grid-template-columns:1fr}.project-banner{padding:20px}.project-tabs a{padding:12px 10px}.step{padding:17px}.detail-list{padding:12px 15px}.footer{padding:15px}.install-shell{margin:12px;padding:20px}.metrics .money-stat{overflow-wrap:anywhere}}
@media print{.sidebar,.topbar,.footer,.backline,.project-tabs,.btn,.report-delete{display:none!important}.layout,.main{display:block!important}.content{max-width:none;padding:0}.panel{box-shadow:none;border-color:#cdd6e4;break-inside:avoid}.report-page{border:0}.toolbar h1{font-size:22px}body{background:white}}

/* v4: aligned Drive settings and compact accessible action confirmation */
.logout-form{margin:0;display:inline-flex;align-items:center}
.logout-form .logout{margin-left:9px;background:transparent;border:0;padding:7px 4px;line-height:1.4;color:#607896;font-weight:600}
.logout-form .logout:hover{color:#1b4c8e;text-decoration:underline}
.settings-card{display:flex;flex-direction:column;min-width:0}
.settings-card-body{padding:21px 23px 24px;display:flex;flex-direction:column;align-items:stretch;gap:15px}
.two-panel .settings-card-body>p{padding:0;margin:0;font-size:13px;line-height:1.8;color:#596d89;overflow-wrap:anywhere}
.two-panel .settings-card-body .notice{margin:0;padding:13px 15px}
.drive-actions{display:flex;justify-content:flex-start;align-items:center;margin-top:1px}
.drive-actions .btn{max-width:100%;white-space:normal;text-align:center;min-height:39px}
.two-panel .settings-card-body .drive-footnote{font-size:11px;color:#7f90a8;line-height:1.7}
.settings-card>.detail-list{padding-top:16px}
.action-confirm{border:1px solid #dce5f2;border-radius:18px;padding:0;max-width:min(430px,calc(100vw - 28px));width:100%;background:#fff;color:#1d3656;box-shadow:0 25px 90px rgba(9,27,54,.28)}
.action-confirm::backdrop{background:rgba(7,20,38,.60);backdrop-filter:blur(3px)}
.confirm-inner{padding:28px 26px 23px;text-align:center}
.confirm-symbol{height:48px;width:48px;border-radius:15px;display:grid;place-items:center;background:#eaf2ff;color:#275b9e;border:1px solid #d7e5f8;font-size:24px;font-weight:800;margin:0 auto 16px}
.confirm-inner h2{font-size:19px;line-height:1.4;letter-spacing:-.4px;margin:0 0 9px;color:#17314f}
.confirm-inner p{font-size:13px;line-height:1.75;color:#61758f;margin:0 0 22px;overflow-wrap:anywhere}
.confirm-actions{display:flex;justify-content:center;gap:11px;flex-wrap:wrap}
.confirm-actions .btn{min-width:116px}
.update-content{padding:23px}
.update-content h3{font-size:15px;margin:22px 0 12px}
.update-form{border-top:1px solid #e3eaf3;margin-top:18px;padding-top:19px;display:flex;flex-direction:column;align-items:flex-start;gap:17px}
.update-check{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.75;color:#3a5272}
.update-check input{margin-top:5px;flex-shrink:0}
@media(max-width:580px){.settings-card-body{padding:17px}.confirm-inner{padding:23px 19px}.drive-actions .btn{width:100%}}

/* v5 — pelaporan bertahap; garis pemisah tiap tahap dan aktivitas */
.stage-card{border:1px solid #dce6f3;background:#fff;border-radius:16px;overflow:hidden;margin:0 0 24px;box-shadow:var(--shadow)}
.stage-top{display:flex;gap:17px;align-items:center;padding:22px 24px;background:linear-gradient(110deg,#153251,#214970);color:#fff}
.stage-order,.stage-group-index{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;background:#ffffff20;border:1px solid #ffffff36;border-radius:12px;font-weight:800;font-size:17px;color:#fff}
.stage-top-text{flex:1;min-width:0}.stage-kicker{font-size:10px;letter-spacing:1.45px;font-weight:800;color:#adc6e6}.stage-top h2{margin:4px 0 0;font-size:20px;letter-spacing:-.5px;line-height:1.4}.stage-top p{font-size:12px;margin:7px 0 0;color:#d1e2f5;line-height:1.6}.stage-summary{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.stage-summary small{font-size:11px;color:#c0d5ee}.stage-summary strong{font-size:18px;letter-spacing:-.3px}
.stage-content{padding:13px 23px 19px}.stage-empty{background:#f2f6fc;border:1px dashed #d7e3f3;border-radius:9px;margin:9px 0;padding:18px;color:#617c98;font-size:12px}.activity-card{display:flex;gap:17px;padding:17px 0;border-bottom:1px solid #dce6f3;align-items:flex-start}.activity-card:last-of-type{border-bottom:0}.activity-rail{font-size:11px;font-weight:800;color:#275790;background:#e8f1ff;border-radius:9px;border:1px solid #dce8f8;padding:9px 10px;white-space:nowrap}.activity-info{flex:1;min-width:0}.activity-name{font-size:15px;color:#1b3b60;font-weight:800}.activity-description{font-size:12px;color:#70859e;line-height:1.7;margin:7px 0}.activity-stats{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.activity-stats span{background:#f1f5fb;color:#466788;padding:6px 9px;border-radius:7px;font-size:11px}.stage-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:11px}.stage-links a{font-size:11px;font-weight:700;color:#2b5da0;text-decoration:underline;text-decoration-color:#aac1e2;text-underline-offset:3px}.stage-bottom{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding-top:14px;flex-wrap:wrap}.stage-delete{margin:0}.stage-group{margin:0 0 25px;border:1px solid #d6e2f1;border-radius:14px;background:#fff;overflow:hidden;box-shadow:var(--shadow)}.stage-group-heading{background:#183a5f;color:#fff;padding:17px 21px;display:flex;align-items:center;gap:15px;border-bottom:3px solid #75a5e2}.stage-group-heading .stage-group-index{width:39px;height:39px;flex-basis:39px;border-radius:9px;font-size:13px}.stage-group-heading h2{margin:3px 0 0;font-size:17px;color:#fff;letter-spacing:-.3px}.stage-group-total{margin-left:auto;font-size:12px;color:#cee1f5;text-align:right;line-height:1.6;max-width:45%}.activity-group{margin:15px 17px 20px;border:1px solid #dce7f5;border-left:4px solid #3b79c7;border-radius:10px;overflow:hidden;background:#fff;scroll-margin-top:16px}.activity-group-title{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:13px 15px;background:#edf4fd;border-bottom:1px solid #d7e5f5;color:#23496e}.activity-group-title>div{display:flex;align-items:center;gap:10px}.activity-group-title strong{font-size:14px}.activity-group-title>span{font-size:11px;color:#496f9b;text-align:right}.activity-group-index{font-size:10px;background:#d8e9fc;color:#1c528b;font-weight:800;border-radius:6px;padding:6px 7px}.activity-group .table-wrap{background:white}.activity-group table{min-width:760px}.activity-group th{background:#fafcff;font-size:10px}.activity-group th,.activity-group td{padding:12px 11px}.activity-group td{font-size:12px;line-height:1.55}.activity-group tbody tr:last-child td{border-bottom:0}.grouping-move{display:flex;gap:6px;align-items:center;margin-top:8px;min-width:190px;max-width:285px}.grouping-move select{min-width:0;max-width:220px;width:100%;height:31px;border:1px solid #d6e3f2;color:#355775;background:#fff;border-radius:6px;font-size:10px;padding:4px 6px}.grouping-move button{flex-shrink:0}.grouping-move .btn{padding:6px 8px}.legacy-group .stage-group-heading{background:#506780;border-bottom-color:#a7bbd3}.legacy-hint{font-size:12px;color:#657d98;margin:13px 19px 6px;line-height:1.7}.legacy-group>div.table-wrap{padding:0 16px 16px}.legacy-group table{border:1px solid #edf1f7;min-width:760px}.stage-links a:hover{color:#143b74}.stage-card:target,.activity-card:target,.activity-group:target{outline:2px solid #7aa8e8;outline-offset:2px}
@media(max-width:880px){.stage-top{align-items:flex-start}.stage-summary{align-items:flex-end}}
@media(max-width:580px){.stage-top{padding:18px 15px;flex-wrap:wrap;gap:12px}.stage-order{width:38px;height:38px;flex-basis:38px}.stage-top h2{font-size:17px}.stage-summary{width:100%;align-items:flex-start;padding-left:50px}.stage-content{padding:9px 13px 15px}.activity-card{gap:9px;flex-wrap:wrap}.activity-info{flex:1 1 60%}.stage-delete{width:100%}.stage-group-heading{padding:13px 12px;flex-wrap:wrap;gap:10px}.stage-group-heading h2{font-size:15px}.stage-group-total{max-width:100%;width:100%;margin-left:0;text-align:left;padding-left:50px}.activity-group{margin:11px 8px 15px}.activity-group-title{align-items:flex-start;flex-direction:column;gap:6px}.legacy-hint{margin:11px 12px}}
@media print{.grouping-move,.stage-delete,.stage-bottom,.stage-links{display:none!important}.stage-group,.stage-card{break-inside:avoid}}
.activity-details{border:1px solid #e0e9f5;border-radius:10px;background:#fbfdff;margin-top:15px;overflow:hidden}.activity-details summary{display:list-item;cursor:pointer;padding:12px 14px;font-size:11px;font-weight:800;color:#325d8d;user-select:none}.activity-details[open] summary{background:#edf4fe;border-bottom:1px solid #d8e7f9}.activity-details>h4{font-size:12px;margin:16px 14px 8px;color:#355575}.activity-details>.table-wrap{padding:0 13px 14px}.activity-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px}.activity-detail-grid>div{min-width:0;background:#fff;border:1px solid #e6edf7;border-radius:9px;padding:12px}.activity-detail-grid h4{font-size:12px;margin:0 0 7px}.activity-detail-grid .muted{font-size:11px}.detail-entry{display:block;border-bottom:1px dashed #e3ebf6;padding:10px 2px;overflow-wrap:anywhere}.detail-entry:last-child{border:0}.detail-entry strong,.detail-entry small{display:block;font-size:11px}.detail-entry small{margin-top:3px;color:#8598ac}.activity-finance-table{min-width:530px;border:1px solid #e7eef7}.activity-finance-table th,.activity-finance-table td{padding:9px 11px;font-size:11px}.activity-finance-table th{background:#eef4fb}
@media(max-width:580px){.activity-detail-grid{grid-template-columns:1fr;padding:10px}.activity-details>.table-wrap{padding:0 7px 10px}}
.report-finance-block{padding:0 20px 22px}.report-finance-block h3{font-size:13px;color:#355575;margin:23px 0 10px}.report-finance-block .table-wrap{border:1px solid #e3eaf4;border-radius:8px}.report-finance-block table{min-width:640px}.report-finance-block th,.report-finance-block td{padding:11px 13px;font-size:12px}

/* v6 — Import RAB */
.rab-import-intro,.rab-import-panel,.rab-import-history{margin-bottom:20px}
.rab-import-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:22px 24px}
.rab-import-steps>div{min-width:0;display:grid;grid-template-columns:36px 1fr;column-gap:12px;align-items:center}
.rab-import-steps span{grid-row:span 2;display:grid;place-items:center;border-radius:10px;background:#eaf0fb;color:#17487c;font-weight:800;height:36px}
.rab-import-steps strong{color:#1c3554;font-size:13px}.rab-import-steps small{color:#687d98;font-size:11px;margin-top:2px}
.rab-downloads{display:flex;gap:10px;padding:0 24px 24px;flex-wrap:wrap}
.rab-upload-form{padding:0 24px 16px}.rab-upload-target{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;border:1.5px dashed #9db4d4;border-radius:14px;background:#f6f9fd;padding:28px;cursor:pointer;color:#28486a}
.rab-upload-target>span:not(.rab-upload-icon){font-size:12px;color:#5e718a}.rab-upload-target input{margin-top:10px;max-width:100%;color:#274468}
.rab-upload-icon{width:48px;height:48px;border-radius:14px;background:#e3ebf9;display:grid;place-items:center;font-size:26px;color:#16518d}
.rab-import-panel>.notice{margin:0 24px 24px}.rab-import-actions{display:flex;justify-content:flex-end;gap:12px;padding:18px 24px;flex-wrap:wrap}
.rab-import-actions form{margin:0}.rab-import-panel>.metrics{padding:12px 24px}.rab-preview-table{max-height:520px;overflow:auto;margin:10px 20px}.rab-preview-table table{min-width:1050px}.rab-preview-table td{vertical-align:top;font-size:12px}.rab-wrap{min-width:180px;max-width:350px;white-space:normal;line-height:1.45}
.rab-row-error{background:#fff1f1}.rab-row-skip{background:#f8fafc;opacity:.75}
.rab-stage-recap{margin:12px 24px 20px;border:1px solid #dce6f3;border-radius:11px;overflow:hidden}.rab-stage-recap>strong{display:block;background:#ecf3fc;color:#19395f;padding:12px 16px;font-size:13px}
.rab-stage-recap>div{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:9px 16px;border-top:1px solid #e6edf5;font-size:13px}.rab-stage-recap b{font-variant-numeric:tabular-nums}
.rab-commit-note{margin:12px 24px;padding:13px 16px;border-left:3px solid #3261a0;background:#f0f5fc;color:#2c4a6d;font-size:12px;line-height:1.55}
.rab-import-history .table-wrap{padding:0 12px 12px}
@media(max-width:780px){.rab-import-steps{grid-template-columns:1fr;gap:16px;padding:16px}.rab-downloads{padding:0 16px 18px}.rab-upload-form{padding:0 16px 16px}.rab-import-panel>.notice{margin:0 16px 16px}.rab-import-panel>.metrics{padding:12px 16px}.rab-stage-recap,.rab-commit-note{margin:12px 16px}}
