:root{--ink:#172224;--muted:#627070;--paper:#fbfaf4;--surface:#fff;--line:#dbe3dc;--green:#2f6f5e;--green-dark:#1d4f44;--blue:#315f7d;--gold:#b8792a;--red:#a33a35;--shadow:0 16px 40px #1722241f;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#edf3ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}#root,.splash,.auth{min-height:100vh}.splash{color:var(--green-dark);place-items:center;gap:14px;display:grid}.auth{background-position:50%;background-size:cover;grid-template-columns:minmax(0,1.1fr) 430px;align-items:center;gap:32px;padding:36px;display:grid}.auth-copy{color:#fff;max-width:840px}.auth-copy p,.page-head span,.book-body>span{text-transform:uppercase;letter-spacing:0;font-size:12px;font-weight:800}.auth-copy h1{letter-spacing:0;max-width:780px;margin:22px 0 0;font-size:clamp(38px,7vw,78px);line-height:1}.brand-mark{align-items:center;gap:10px;font-weight:900;display:inline-flex}.public-home{background:#f5f6ef;min-height:100vh}.public-hero{color:#fff;background-position:50%;background-size:cover;grid-template-rows:auto 1fr;min-height:min(760px,82vh);padding:24px clamp(18px,5vw,72px) clamp(34px,7vw,78px);display:grid}.public-nav{justify-content:space-between;align-items:center;gap:18px;display:flex}.public-nav nav,.public-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.public-nav nav a:not(.ghost-on-dark){color:#ffffffd1;font-weight:800}.ghost-on-dark{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border:1px solid #ffffff5c;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:9px 13px;display:inline-flex}.ghost-on-dark:hover{background:#fff3}.public-hero-copy{align-self:end;max-width:1040px;padding-top:90px}.public-hero-copy>span,.public-section-head>span{text-transform:uppercase;letter-spacing:0;font-size:12px;font-weight:900}.public-hero-copy h1{letter-spacing:0;max-width:980px;margin:16px 0 24px;font-size:clamp(40px,7vw,82px);line-height:.98}.public-section{gap:24px;width:min(1240px,100%);margin:0 auto;padding:clamp(34px,6vw,72px) 24px;display:grid}.public-section-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;display:grid}.public-section-head span{color:var(--green-dark)}.public-section-head h2,.public-band h2{letter-spacing:0;margin:6px 0 0;font-size:clamp(30px,4vw,50px);line-height:1.02}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.feature-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;align-content:start;gap:12px;min-height:210px;padding:20px;display:grid;box-shadow:0 10px 28px #1722240f}.feature-card svg{color:var(--gold)}.feature-card h3{letter-spacing:0;margin:0;font-size:22px}.feature-card p,.public-band p,.muted{color:var(--muted);margin:0}.public-band{width:min(1240px,100% - 48px);color:var(--ink);border:1px solid var(--line);border-left:6px solid var(--blue);box-shadow:var(--shadow);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:22px;margin:0 auto 56px;padding:clamp(24px,4vw,42px);display:flex}.public-band>div{gap:10px;max-width:820px;display:grid}.public-band svg{color:var(--blue)}.auth-panel{box-shadow:var(--shadow);background:#fffffff0;border:1px solid #ffffffbf;border-radius:8px;gap:16px;padding:28px;display:grid}.auth-panel h2,.panel-head h2,.page h1,.book-card h3,.hero-band h2{letter-spacing:0;margin:0}.auth-panel h2{font-size:30px}.app-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#f9fbf7;background:#173d3a;height:100vh;padding:22px;position:sticky;top:0}.sidebar .brand-mark{margin-bottom:28px}.sidebar nav{gap:6px;display:grid}.sidebar a{color:#ffffffc7;border-radius:8px;align-items:center;gap:10px;min-height:42px;padding:10px 12px;display:flex}.sidebar a.active,.sidebar a:hover{color:#fff;background:#ffffff1f}.workspace{background:linear-gradient(#f3f7f1 0,#edf3ee 42%,#f8f6ee 100%);min-width:0}.topbar{z-index:4;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfaf4e6;justify-content:flex-end;align-items:center;gap:16px;min-height:68px;padding:14px 28px;display:flex;position:sticky;top:0}.topbar div{text-align:right;display:grid}.topbar span{color:var(--muted);text-transform:capitalize;font-size:13px}.page{gap:22px;width:min(1480px,100%);margin:0 auto;padding:28px;display:grid}.page-head{justify-content:space-between;align-items:end;gap:18px;display:flex}.page-head h1{margin-top:4px;font-size:clamp(32px,4vw,52px);line-height:1.02}.page-visual{pointer-events:none;background-position:50%;background-size:cover;border:1px solid #ffffffb3;border-radius:8px;min-height:clamp(160px,18vw,260px);overflow:hidden;box-shadow:0 16px 42px #1722241f}.toolbar,.button-row,.card-actions,.pill-row,.export-grid{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hero-band{color:#fff;background-position:50%;background-size:cover;border-radius:8px;align-items:end;min-height:280px;padding:28px;display:flex;overflow:hidden}.hero-band h2{max-width:780px;margin-top:8px;font-size:clamp(30px,5vw,58px);line-height:1}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;display:grid}.metric-card,.data-panel,.book-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px #1722240f}.metric-card{gap:8px;padding:18px;display:grid}.metric-card span{color:var(--muted);text-transform:capitalize;font-size:13px}.metric-card strong{font-size:30px}.data-panel{padding:18px}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-head h2{font-size:21px}.split{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.book-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;display:grid}.book-card{grid-template-columns:112px minmax(0,1fr);display:grid;overflow:hidden}.cover{object-fit:cover;background:#dfe8dd;width:112px;height:100%;min-height:178px}.placeholder-cover{color:#fff;background:linear-gradient(135deg, var(--green), var(--blue));place-items:center;gap:8px;display:grid}.book-body{align-content:start;gap:10px;padding:16px;display:grid}.book-body h3{font-size:20px;line-height:1.18}.book-body p{color:var(--muted);margin:0}.badge{border-radius:999px;align-items:center;min-height:24px;padding:4px 8px;font-size:12px;font-weight:800;display:inline-flex}.badge.green{color:#174d37;background:#dcefe2}.badge.blue{color:#254f68;background:#deedf4}.badge.gold{color:#7a4b14;background:#f5ead5}.badge.red{color:#87312b;background:#f6dedc}.field{gap:7px;display:grid}.field span{color:var(--muted);font-size:13px;font-weight:800}input,select,textarea{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #cfdad1;border-radius:8px;outline:none;padding:10px 12px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #2f6f5e29}.search-box{background:#fff;border:1px solid #cfdad1;border-radius:8px;align-items:center;gap:8px;min-width:260px;padding:0 12px;display:flex}.search-box input{box-shadow:none;border:0;padding-inline:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.stack-form{gap:14px;display:grid}.mini-form,.number-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.inline-control,.action-row{align-items:center;gap:10px;display:flex}.inline-control input{min-width:0}.toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.tabs button{min-height:38px;color:var(--green-dark);cursor:pointer;background:#fff;border:1px solid #cfdad1;border-radius:8px;padding:8px 12px;font-weight:800}.tabs button.active{color:#fff;background:var(--green);border-color:var(--green)}.mapping-grid,.candidate-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.candidate-card{text-align:left;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#f7faf4;border-radius:8px;gap:4px;padding:12px;display:grid}.candidate-card span,.success-box small{color:var(--muted)}.scan-video{object-fit:cover;background:#102227;border-radius:8px;width:100%;max-height:280px;display:none}.scan-video.active{display:block}.toggle-card{border:1px solid var(--line);cursor:pointer;background:#f7faf4;border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:12px;padding:14px;display:grid}.toggle-card.disabled{cursor:not-allowed;opacity:.64}.toggle-card input{width:18px;min-height:18px;margin-top:2px}.toggle-card span,.action-row div{gap:4px;display:grid}.toggle-card small,.action-row small{color:var(--muted)}.action-row{border:1px solid var(--line);background:#f7faf4;border-radius:8px;justify-content:space-between;padding:14px}.span-2,.form-grid .primary-button,.form-grid .error,.form-grid .button-row{grid-column:1/-1}.align-end{align-self:end}.primary-button,.ghost-button,.primary-link,.icon-button,.text-button{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;display:inline-flex}.primary-button,.primary-link{color:#fff;background:var(--green);padding:10px 14px}.primary-button:hover,.primary-link:hover{background:var(--green-dark)}.ghost-button{color:var(--green-dark);background:#fff;border-color:#cfdad1;padding:9px 12px}.icon-button{width:40px;color:var(--green-dark);background:#fff;border-color:#cfdad1;padding:0}.text-button{min-height:28px;color:var(--green-dark);background:0 0;padding:0}button:disabled{cursor:progress;opacity:.62}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 10px}th{color:var(--muted);text-transform:uppercase;font-size:12px}td strong,td small{display:block}td small{color:var(--muted);margin-top:3px}.activity-list{gap:10px;display:grid}.activity-list>div{border:1px solid var(--line);background:#f7faf4;border-radius:8px;gap:4px;padding:12px;display:grid}.activity-list small{color:var(--muted)}.empty-state,.success-box{min-height:180px;color:var(--muted);text-align:center;background:#f7faf4;border:1px dashed #cfdad1;border-radius:8px;place-items:center;gap:8px;padding:22px;display:grid}.success-box{text-align:left;border-style:solid;place-items:start;min-height:0}.bar-list{gap:10px;display:grid}.bar-list>div{grid-template-columns:105px 1fr 32px;align-items:center;gap:10px;display:grid}.bar-list div div{background:#e6eee7;border-radius:999px;height:12px;overflow:hidden}.bar-list i{background:linear-gradient(90deg, var(--green), var(--gold));height:100%;display:block}.error,.success{border-radius:8px;margin:0;padding:10px 12px}.error{color:#7e2f2b;background:#f7dedc}.success{color:#174d37;background:#dcefe2}.mobile-only{display:none}@media (width<=980px){.auth{grid-template-columns:1fr;padding:20px}.app-shell{grid-template-columns:1fr}.sidebar{z-index:10;width:280px;transition:transform .16s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-only{margin-right:auto;display:inline-flex}.topbar{justify-content:flex-end}.page{padding:18px}.page-head,.split,.public-section-head,.feature-grid,.toggle-grid,.mapping-grid,.candidate-list{grid-template-columns:1fr;align-items:stretch;display:grid}.public-band,.action-row{align-items:stretch;display:grid}.toolbar{align-items:stretch}.search-box{min-width:0}.form-grid{grid-template-columns:1fr}}@media (width<=640px){.public-hero{min-height:84vh}.public-nav{align-items:flex-start}.public-nav nav{justify-content:flex-end}.public-nav nav a[href^=\#]{display:none}.public-hero-copy h1{font-size:40px}.public-band{width:calc(100% - 32px);margin-bottom:34px}.auth-copy h1{font-size:38px}.book-card{grid-template-columns:92px minmax(0,1fr)}.cover{width:92px}.metric-grid{grid-template-columns:1fr 1fr}.hero-band{min-height:220px}.page-visual{min-height:150px}}
