@charset "UTF-8";
:root{--green:#153c32;--green-dark:#103027;--lime:#d9ee9a;--paper:#f5f6f1;--card:#fff;--ink:#21352e;--muted:#758078;--line:#e4e9e1;--radius:18px;font-family:Inter,"Segoe UI","Malgun Gothic",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;line-height:1.6}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #88ae52;outline-offset:3px}[hidden]{display:none!important}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:clamp(25px,2.5vw,34px);font-weight:750;letter-spacing:-1.2px;line-height:1.4}h2{font-size:19px;letter-spacing:-.5px}h3{font-size:18px;letter-spacing:-.4px}p{line-height:1.8}.muted{color:var(--muted);font-size:14px}.micro{color:var(--muted);font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.app-shell{min-height:100vh}.sidebar{width:228px;position:fixed;inset:0 auto 0 0;z-index:20;background:var(--green);color:#e8eee6;padding:38px 24px;display:flex;flex-direction:column}.brand{display:flex;gap:9px;align-items:center;text-decoration:none;font-size:22px;font-weight:800;letter-spacing:-.5px;line-height:1.4}.brand-icon{color:var(--lime);font-size:39px;line-height:1}.brand-light{font-weight:350;color:var(--lime)}.brand small{display:block;font-size:7px;letter-spacing:1.7px;font-weight:400;color:#b1c1b4;margin-top:3px}.sidebar-label{font-size:10px;letter-spacing:2px;color:#8fa99c;margin:55px 13px 15px}nav{display:grid;gap:7px}nav button{background:transparent;border:0;color:#b9c9bf;display:flex;align-items:center;gap:14px;padding:14px;min-height:48px;text-align:left;border-radius:10px;font-size:14px}nav button.active{background:#2c5141;color:var(--lime)}nav button:hover{background:#244c3e}.nav-icon{font-size:22px;width:24px;text-align:center;line-height:1}.sidebar-bottom{margin-top:auto;font-size:11px;color:#bccabe}.sidebar-bottom small{display:block;margin:8px 0;color:#91a79c;font-size:10px}.sidebar-bottom .text-button{color:var(--lime)}.online-dot{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;margin-right:5px}
.workspace{margin-left:228px}.topbar{height:82px;border-bottom:1px solid var(--line);padding:0 44px;display:flex;align-items:center;justify-content:space-between;background:#fafbf7}.breadcrumb{font-size:10px;letter-spacing:1.5px;color:#7e8a80;display:flex;gap:15px;align-items:center}.breadcrumb #page-name{letter-spacing:0;color:var(--green);font-size:12px}.mobile-brand{display:none}.header-actions{display:flex;gap:16px;align-items:center}.header-actions>span{font-size:11px;color:var(--muted)}.header-actions .dirty{color:#b8772c}#content{max-width:1300px;margin:auto;padding:38px 44px 30px}.page-footer{max-width:1300px;margin:auto;padding:25px 44px 32px;display:flex;justify-content:space-between;color:#90998f;font-size:10px}.page-footer span{letter-spacing:2px;font-weight:700}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.eyebrow{color:#83916f;letter-spacing:2.1px;font-size:10px;font-weight:700;margin-bottom:8px}.page-heading p{font-size:13px;color:var(--muted);margin-top:8px}
.button{border:1px solid var(--green);background:var(--green);color:#fff;min-height:46px;border-radius:10px;padding:10px 19px;font-size:13px;font-weight:600;white-space:normal;transition:background .15s,transform .15s}.button:hover{background:#275641}.button:active{transform:translateY(1px)}.button.secondary{background:transparent;color:var(--green);border-color:#d6dfd1}.button.secondary:hover{background:#eef2e7}.button.small{min-height:44px;padding:8px 13px;font-size:12px}.button.lime{color:var(--green);background:var(--lime);border-color:var(--lime)}.button.ghost{border-color:#718c6a;background:transparent;color:#e1e8dc}.button.full{width:100%}.text-button{background:transparent;border:0;color:var(--green);min-height:44px;padding:8px 0;font-size:12px;text-decoration:underline;text-underline-offset:4px;text-align:left}.danger{color:#aa604b}.button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.badge{display:inline-flex;align-items:center;background:#edf3e6;color:#627945;border-radius:6px;padding:4px 9px;font-size:10px;font-weight:600;line-height:1.5}.badge.light{color:#dceaaf;background:#3c5743;border:1px solid #586c48;letter-spacing:1px;font-size:9px}.badge.warning{background:#f7eddc;color:#916d31}
.hero{border-radius:22px;min-height:310px;background:#1d4034;position:relative;overflow:hidden;display:grid;grid-template-columns:1.2fr 1fr;margin-bottom:30px}.hero-copy{position:relative;z-index:1;padding:34px 38px 36px}.hero h2{font-size:34px;color:#f6f6e9;font-weight:600;line-height:1.45;letter-spacing:-1.2px;margin:15px 0 12px}.hero p{color:#b5c5b5;font-size:13px;margin-bottom:24px}.course-art{align-self:stretch;position:relative;display:flex;align-items:flex-end;background:radial-gradient(ellipse at 50% 15%,#49604344,transparent 70%)}.course-art svg{width:120%;max-width:none;margin-left:-12%;height:auto;margin-bottom:-8px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0 26px}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:23px 22px}.stat-label{display:block;letter-spacing:1px;color:#7c8879;font-size:10px;font-weight:600}.stat strong{font-size:37px;line-height:1.7;display:block;font-weight:600;letter-spacing:-1px}.stat small{display:block;color:#8a9385;font-size:10px}.stats-grid.compact .stat{padding:16px 20px}.stats-grid.compact .stat strong{font-size:28px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:27px;margin-bottom:20px;min-width:0}.card>p,.card>h3,.card>h2{margin-bottom:13px}.dashboard-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.dashboard-grid .card{margin-bottom:0}.insight-icon{color:#86a769;background:#edf3e3;border-radius:12px;width:47px;height:47px;font-size:32px;text-align:center;margin:20px 0 16px}.dashboard-grid .muted{margin:12px 0 21px}.journey{list-style:none;padding:0;margin:25px 0 16px;display:grid;gap:21px}.journey li{display:flex;gap:16px;align-items:center}.journey li>span{width:34px;height:34px;border:1px solid #dce5d0;background:#f5f8ee;border-radius:50%;display:grid;place-items:center;font-size:10px;color:#839a65}.journey strong{font-size:13px;font-weight:600}.journey small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.trust-strip{display:flex;justify-content:center;gap:28px;font-size:10px;color:#84917d;margin:28px 0 0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font-size:12px;color:#6c7c6d}.field input,.field select,textarea{width:100%;border:1px solid #dbe3d7;border-radius:8px;background:#fcfdf9;color:var(--ink);min-height:44px;padding:9px 12px;font-size:14px}.field input[type=date]{min-width:0}.field textarea{resize:vertical}.hole-table{width:100%;border-collapse:collapse;text-align:center}.hole-table th{font-size:11px;font-weight:500;color:#80907b;padding:13px 6px;border-bottom:1px solid var(--line)}.hole-table td{border-bottom:1px solid #edf0e9;padding:9px 5px}.hole-table tbody th{border-bottom:1px solid #edf0e9}.hole-number{display:inline-grid;place-items:center;width:28px;height:28px;background:#f0f4e9;border-radius:50%;font-size:12px;color:var(--green);font-weight:600}.hole-table input{width:60px;min-height:44px;text-align:center;background:#fafbf7;border:1px solid #e1e7db;border-radius:7px;color:var(--ink);font-size:15px;-moz-appearance:textfield}.hole-table input::-webkit-inner-spin-button{appearance:none}.hole-table select{width:83px;min-height:44px;border:1px solid #e1e7db;background:#fafbf7;border-radius:7px;font-size:12px;color:#64765f}.segmented{display:flex;background:#eff3e9;border-radius:8px;padding:4px;gap:4px}.segmented button{border:0;background:transparent;border-radius:6px;min-height:36px;padding:6px 12px;font-size:11px;color:#75836c}.segmented .selected{background:white;color:var(--green);box-shadow:0 1px 4px #153c3210}.validation{color:#a86934;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.validation:not(:empty){margin-top:15px}.record-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0}.next-step{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#eaf0df;border-radius:14px;padding:22px 26px;margin:25px 0}.next-step strong{font-size:14px}.next-step p{font-size:12px;color:#7b866b}.notice{background:#edf2e7;border-left:3px solid #9eb27f;padding:16px 20px;color:#758367;font-size:12px;border-radius:0 8px 8px 0;margin:18px 0 26px}
.questions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.question{border:0;padding:0;margin:21px 0}.question legend{font-size:13px;font-weight:600;margin-bottom:12px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.choice{min-height:44px;border:1px solid #e1e7db;border-radius:8px;background:#fcfdf9;font-size:11px;padding:9px;text-align:left;color:#718269}.choice.chosen{background:#e8f0d9;border-color:#9bb779;color:#375326}.priority-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.priority-grid .card{padding:24px 21px}.priority-number{font-size:32px;font-weight:400;color:#b8c6a8;display:block;margin-bottom:17px}.priority-grid h3{font-size:17px;margin-bottom:12px}.evidence{padding:0 0 0 16px;font-size:12px;color:#7a8670;line-height:1.9;min-height:72px;margin:20px 0}.evidence li+li{margin-top:8px}.practice{background:#f5f7ef;border-radius:10px;padding:15px;margin-top:19px}.practice strong{font-size:12px}.practice p{font-size:12px;color:#718066;margin:8px 0 12px}.practice small{font-size:10px;color:#889479}.pending-list{display:flex;flex-direction:column;gap:10px;margin:18px 0}.pending-list>div{display:flex;align-items:start;gap:12px;font-size:12px;color:#7d8777}.pending-list .badge{flex-shrink:0}.key-holes{display:flex;flex-wrap:wrap;gap:10px}.sg-summary{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:12px}.sg-summary small{display:block;color:var(--muted)}.sg-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:22px;align-items:start}.sg-layout>section{position:sticky;top:20px}.sg-big{font-size:52px;font-weight:500;letter-spacing:-2px;margin:15px 0}.sg-categories{display:grid;gap:10px;margin-top:24px}.sg-categories>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0;font-size:13px}.sg-categories span{color:var(--muted)}.history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.history-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.history-row>strong{font-size:35px;font-weight:500}.history-row>span{font-size:11px}.history-row button{margin-left:auto}.trend-chart svg{width:100%;max-height:220px}.trend-chart text{font-size:14px;fill:#45683b}
#toast{position:fixed;bottom:28px;left:calc(50% + 80px);transform:translateX(-50%);z-index:100;background:#193d31;color:#f0f4e4;border:1px solid #52734d;border-radius:12px;padding:14px 22px;font-size:13px;box-shadow:0 8px 35px #14352428;max-width:90vw;white-space:pre-line}dialog{background:var(--paper);color:var(--ink);border:1px solid #cedcc0;border-radius:20px;width:min(850px,94vw);max-height:90dvh;padding:27px;overflow:auto}dialog::backdrop{background:#102a23a1;backdrop-filter:blur(3px)}dialog input[type=file]{width:100%;font-size:12px;margin:12px 0}dialog input[type=file]::file-selector-button{min-height:44px;border:1px solid #cdd7c2;border-radius:8px;background:#f7f9f1;padding:10px;color:var(--green);margin-right:10px}.photo-preview{position:relative;width:100%;margin:16px 0;background:#e2e8dc}.photo-preview canvas{width:100%;height:auto;display:block;touch-action:none}.crop-overlay{position:absolute;pointer-events:none;border:2px solid #92b858;background:#c7ef9d25;box-shadow:0 0 0 1px white}.ocr-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.ocr-cell>span{font-size:10px;color:var(--muted);display:block;margin:5px 0}.stepper{display:flex;align-items:center;border:1px solid #d8e3cb;border-radius:8px;background:white;overflow:hidden;min-height:44px}.stepper input{border:0;min-width:0;width:100%;text-align:center;font-size:17px;color:var(--green);appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.step{border:0;background:#edf3e7;font-size:20px;min-width:44px;min-height:44px;color:var(--green)}.confirm-line{display:flex;align-items:center;gap:9px;font-size:12px;margin:20px 0;min-height:44px}.confirm-line input{width:20px;height:20px;accent-color:var(--green)}details{margin-top:24px}summary{cursor:pointer;font-size:12px;color:var(--muted);min-height:44px}textarea{display:block;margin-bottom:12px}.update-banner{padding:12px 30px;background:var(--lime);font-size:12px;color:var(--green)}.update-banner button{margin-left:15px;min-height:44px}
@media(min-width:1550px){.hero{min-height:350px}.hero-copy{padding:42px}.hero h2{font-size:40px}}
@media(max-width:1100px){.sidebar{width:195px;padding:32px 18px}.workspace{margin-left:195px}.topbar{padding:0 28px}#content{padding:30px 28px}.hero-copy{padding:28px}.hero h2{font-size:29px}.priority-grid{grid-template-columns:1fr}.evidence{min-height:0}.questions-grid{grid-template-columns:1fr}.stat{padding:18px}.stat strong{font-size:30px}.sg-layout{grid-template-columns:1fr}.sg-layout>section{position:static}}
@media(max-width:760px){.sidebar{position:static;width:0;height:0;padding:0}.sidebar .brand,.sidebar-label,.sidebar-bottom{display:none}.sidebar nav{position:fixed;bottom:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;background:#fafcf5ee;border-top:1px solid #dae3d0;backdrop-filter:blur(14px);padding:8px 5px calc(7px + env(safe-area-inset-bottom))}.sidebar nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:49px;padding:4px 0;color:#8c9882;border-radius:8px;font-size:10px}.sidebar nav button.active{color:var(--green);background:#e9f0db}.nav-icon{font-size:21px}.workspace{margin:0;padding-bottom:70px}.topbar{height:68px;padding:0 18px}.breadcrumb{display:none}.mobile-brand{display:block;color:var(--green);font-size:15px;font-weight:700;letter-spacing:.3px}.header-actions{gap:8px}.header-actions>span{display:none}.topbar .button{font-size:11px;min-height:40px;padding:8px 12px}#content{padding:26px 18px 15px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:23px;flex-wrap:wrap}.page-heading .button{min-height:44px}.page-heading p{font-size:12px;margin-top:9px}.eyebrow{font-size:8px;letter-spacing:1.7px}h1{font-size:26px;letter-spacing:-1px}.hero{grid-template-columns:1fr;min-height:0;border-radius:17px;margin-bottom:24px}.hero-copy{padding:27px 25px 29px}.hero h2{font-size:30px;margin:15px 0 10px}.hero p{font-size:12px}.hero .button{font-size:11px;padding:10px 12px;min-height:44px}.course-art{position:absolute;right:-55px;bottom:0;width:220px;opacity:.19;pointer-events:none}.course-art svg{width:100%}.section-heading{gap:8px;margin-bottom:16px}.section-heading h2{font-size:16px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 23px}.stat{padding:17px 18px;border-radius:13px}.stat-label{font-size:9px}.stat strong{font-size:32px}.stat small{font-size:9px}.stats-grid.compact .stat{padding:15px 17px}.dashboard-grid,.questions-grid,.priority-grid,.history-list{grid-template-columns:1fr;gap:16px}.card{padding:21px;border-radius:14px;margin-bottom:17px}.dashboard-grid .card{margin-bottom:0}.trust-strip{gap:12px;flex-wrap:wrap;font-size:9px;margin:23px 0 9px}.page-footer{padding:15px 18px 22px;gap:12px;font-size:8px}.form-grid{grid-template-columns:1fr;gap:14px}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.form-grid.four .field span{font-size:9px}.form-grid.four input{padding:7px;font-size:12px}.field input,.field select,textarea{font-size:16px}.hole-table th{padding:10px 2px;font-size:10px}.hole-table td{padding:7px 2px}.hole-table input{width:40px;font-size:15px}.hole-table select{width:60px;font-size:11px;padding:2px}.hole-table-wrap{width:100%;overflow-x:auto}.hole-table-wrap table{min-width:290px}.record-actions{align-items:flex-start;flex-direction:column}.segmented{padding:3px}.segmented button{padding:5px 7px;font-size:9px}.record-actions .text-button{font-size:11px}.next-step{flex-direction:column;align-items:stretch;padding:19px;gap:14px}.next-step .button{width:100%}.notice{padding:14px 16px;font-size:11px}.question{margin:21px 0 0}.question legend{font-size:12px}.choice{font-size:11px}.priority-grid .card{padding:23px}.priority-number{font-size:27px;margin-bottom:10px}.pending-list>div{font-size:11px}.key-holes .button{width:100%}.sg-big{font-size:46px}.sg-layout{gap:18px}#toast{left:50%;bottom:88px;width:max-content;max-width:90vw;font-size:12px;padding:12px 17px}dialog{width:96vw;padding:20px 15px;border-radius:14px;max-height:92dvh}.ocr-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.step{min-width:44px}.confirm-line{font-size:11px}.update-banner{padding:10px 18px}.history-row{gap:12px}.history-row>span{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.segmented button,.topbar .button{min-height:44px}
