:root { --ink:#18231f; --muted:#60706a; --line:#dbe3dd; --paper:#f6f8f4; --mint:#c9fbc9; --green:#163e31; --lime:#c7ff5f; --cream:#fffefa; --orange:#ffb861; }
* { box-sizing:border-box } [hidden] { display:none !important } html { scroll-behavior:smooth } body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,"Noto Sans SC",sans-serif; -webkit-font-smoothing:antialiased } body.auth-locked #appShell { display:none !important } .noise { position:fixed; inset:0; opacity:.035; pointer-events:none; z-index:20; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E") } .shell { max-width:1240px; margin:auto; padding:0 34px } .nav { height:88px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line) } .brand { color:var(--ink); text-decoration:none; font-size:19px; letter-spacing:-.7px; font-weight:800; display:flex; align-items:center; gap:10px } .brand-mark { display:grid; grid-template-columns:repeat(3,5px); gap:3px; height:18px; align-items:end }.brand-mark i { display:block; background:var(--green); border-radius:3px; height:100% }.brand-mark i:nth-child(2){height:65%}.brand-mark i:nth-child(3){height:36%; background:#66a87d}.nav-links { display:flex; gap:28px; margin-left:100px }.nav-links a { font-size:13px; color:var(--muted); text-decoration:none; font-weight:600 }.nav-links a:hover { color:var(--ink) }.avatar { border:0; width:34px; height:34px; border-radius:50%; background:var(--ink); color:white; font:500 10px "DM Mono"; display:grid; place-items:center }
.auth-gate { min-height:100vh; display:grid; grid-template-columns:1.06fr .94fr; position:relative; z-index:1 }.auth-aside { background:var(--green); color:#fff; padding:48px clamp(34px,7vw,108px); display:flex; flex-direction:column; min-height:100vh; position:relative; overflow:hidden }.auth-aside::before { content:""; position:absolute; width:470px; height:470px; right:-200px; bottom:-145px; border:1px solid rgba(199,255,95,.27); border-radius:50%; box-shadow:0 0 0 60px rgba(199,255,95,.035),0 0 0 120px rgba(199,255,95,.025) }.brand.light { color:white; position:relative; z-index:1 }.brand.light .brand-mark i { background:var(--lime) }.brand.light .brand-mark i:nth-child(3) { background:#8bc69b }.auth-message { max-width:500px; margin:auto 0; padding:110px 0 65px; position:relative; z-index:1 }.inverse { color:#b4d1ba }.inverse span { box-shadow:0 0 0 4px rgba(199,255,95,.1) }.auth-message h1 { margin:18px 0; font-size:clamp(42px,5.2vw,70px); letter-spacing:-3.5px; line-height:1.03 }.auth-message h1 em { color:var(--lime); font-style:normal }.auth-message>p:last-child { margin:0; color:#b8d0bf; max-width:440px; font-size:13px; line-height:1.95 }.trust-points { display:flex; flex-wrap:wrap; gap:9px 19px; position:relative; z-index:1; color:#a6c7ae; font:400 9px "DM Mono"; letter-spacing:.3px }.auth-form-wrap { display:flex; flex-direction:column; justify-content:center; align-items:center; padding:48px 28px; background:#f7f9f6; min-height:100vh; position:relative; z-index:1 }.auth-form { width:min(390px,100%); display:flex; flex-direction:column; gap:17px }.auth-form-head { margin-bottom:11px }.auth-form-head h2 { letter-spacing:-1.2px; font-size:28px; margin:13px 0 8px }.auth-form-head>p:last-child { color:var(--muted); font-size:12px; line-height:1.7; margin:0 }.auth-form>label { display:flex; flex-direction:column; gap:7px; color:#51645a; font-size:11px; font-weight:700 }.auth-form input:not([type="checkbox"]) { width:100%; padding:13px 12px; border-radius:5px; border:1px solid #d9e2db; background:#fff; outline:0; color:var(--ink); font:500 12px Manrope,"Noto Sans SC"; transition:border .2s,box-shadow .2s }.auth-form input:focus { border-color:#6f9c7d; box-shadow:0 0 0 3px #e1efdf }.form-row { display:flex; align-items:center; justify-content:space-between; margin-top:-3px }.remember { display:flex; align-items:center; gap:6px; font-size:10px; color:#637369; cursor:pointer }.remember input { accent-color:var(--green); margin:0 }.link-button { border:0; padding:0; color:#396b50; background:transparent; font:700 10px Manrope,"Noto Sans SC"; cursor:pointer }.auth-error { min-height:12px; margin:-6px 0 -4px; color:#b14f4f; font-size:10px }.signup-copy { text-align:center; margin:3px 0 0; color:#718077; font-size:11px }.auth-legal { margin:42px 0 0; text-align:center; color:#8d9a92; font-size:9px; line-height:1.7 }.app-shell[hidden] { display:none }.account-wrap { position:relative }.account-button { display:flex; align-items:center; gap:8px; border:0; background:transparent; cursor:pointer; color:var(--ink); padding:2px }.account-name { font-size:11px; font-weight:700 }.account-chevron { color:#7c8982; font-size:14px; margin-top:-3px }.account-menu { position:absolute; z-index:5; top:45px; right:0; width:200px; padding:13px; border:1px solid var(--line); border-radius:7px; background:var(--cream); box-shadow:0 15px 30px rgba(36,53,44,.12) }.account-menu p { display:flex; flex-direction:column; gap:4px; margin:0 0 11px; padding-bottom:11px; border-bottom:1px solid #e6ebe7; font-size:10px; color:#7a8981 }.account-menu p b { color:var(--ink); font-size:11px }.account-menu button { width:100%; border:0; background:transparent; display:flex; justify-content:space-between; color:#375f4b; font:700 10px Manrope,"Noto Sans SC"; cursor:pointer; padding:2px }
.hero { padding:93px 0 70px; max-width:780px }.eyebrow { font:500 10px "DM Mono","Noto Sans SC"; letter-spacing:1.2px; color:#537267; display:flex; align-items:center; gap:9px }.eyebrow span { width:7px; height:7px; background:var(--lime); border-radius:50%; display:inline-block; box-shadow:0 0 0 4px #e9f7d7 }.eyebrow b { font-weight:400; opacity:.5 }.tight { margin:0; font-size:9px }.hero h1 { font-size:clamp(47px,6vw,78px); letter-spacing:-4px; line-height:1.03; margin:20px 0 18px; font-weight:700 }.hero h1 em { font-style:normal; color:#53856c }.hero>p { max-width:610px; font-size:16px; line-height:1.85; color:var(--muted); margin:0 }.hero-actions { display:flex; gap:12px; margin-top:30px }.button { border:1px solid var(--ink); border-radius:5px; padding:13px 16px; font:700 12px Manrope,"Noto Sans SC"; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:18px; cursor:pointer; transition:.2s }.button:hover { transform:translateY(-2px) }.button.primary { background:var(--ink); color:white }.button.primary span,.text-button span { font-size:18px; line-height:10px }.button.ghost { color:var(--ink); background:transparent; border-color:var(--line) }.button.small { margin-top:auto; padding:10px 14px; font-size:11px; align-self:flex-start }.button.dark { background:var(--green); color:#fff; border-color:var(--green) }.button.wide { width:100%; margin-top:6px; padding:14px }.hero-data { display:flex; align-items:center; gap:10px; margin-top:42px; color:#798780; font:400 10px "DM Mono"; text-transform:uppercase; letter-spacing:.5px }.hero-data i { height:3px; width:3px; background:#9baaa3; border-radius:50% }
.case-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:15px; margin-bottom:112px }.case-main { background:var(--cream); border:1px solid var(--line); border-radius:8px; padding:24px 25px 19px; min-height:370px; display:flex; flex-direction:column }.case-topline { display:flex; align-items:center; justify-content:space-between }.more { background:transparent; border:0; letter-spacing:2px; color:#718078; cursor:pointer }.case-heading { display:flex; align-items:center; gap:13px; margin:21px 0 21px }.flag { width:41px; height:41px; background:#f1ead8; color:#5b5144; border-radius:50%; display:grid; place-items:center; font:500 10px "DM Mono"; letter-spacing:-.4px; flex:none }.flag-us { background:linear-gradient(145deg,#ddeee2,#f5f1e8); color:#356d56 }.flag-gb { background:#e6e1f3; color:#514882 }.flag-au { background:#f3e4d6; color:#95643e }.case-heading h2 { font-size:20px; letter-spacing:-.7px; margin:2px 0 0 }.muted { font-size:11px; color:var(--muted); margin:0; line-height:1.5 }.status { margin-left:auto; border-radius:15px; padding:5px 9px; font:500 9px "DM Mono" }.amber { background:#fff0cf; color:#9c6e26 }.progress-row { margin:0 0 20px }.progress-label { display:flex; justify-content:space-between; font-size:11px; color:#65746d; margin-bottom:8px }.progress-label strong { font:500 10px "DM Mono"; color:var(--ink) }.progress { height:5px; background:#e6ece7; border-radius:8px; overflow:hidden }.progress i { height:100%; display:block; border-radius:8px; background:#7aaf88; transition:width .3s }.checklist { border-top:1px solid #edf0ed }.check { min-height:38px; display:grid; grid-template-columns:17px 1fr auto; gap:8px; align-items:center; border-bottom:1px solid #edf0ed; font-size:11px; cursor:pointer }.check input { position:absolute; opacity:0 }.box { width:14px; height:14px; border-radius:3px; border:1px solid #bfcac3; display:grid; place-items:center; color:white; font-size:10px }.done .box { background:#639a70; border-color:#639a70 }.check small { font-size:9px; color:#8a9790 }.case-footer { margin-top:auto; display:flex; justify-content:space-between; align-items:center; padding-top:17px; font-size:10px; color:#8a9790 }.text-button { border:0; background:transparent; padding:0; color:var(--green); font:700 11px Manrope,"Noto Sans SC"; cursor:pointer; display:inline-flex; align-items:center; gap:7px }.action-card { border-radius:8px; min-height:370px; padding:24px; display:flex; flex-direction:column }.upload-card { background:var(--mint) }.profile-card { background:#e8eee9 }.card-icon { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; margin-bottom:25px; font:600 13px "DM Mono" }.upload-icon { background:#183e32; color:var(--lime); font-size:22px }.profile-icon { background:#fffdfa; color:#5d7268; font-size:11px }.action-card h3 { font-size:18px; letter-spacing:-.6px; margin:5px 0 10px }.action-card>p:not(.muted) { font-size:11px; color:#587064; line-height:1.75; margin:0 }.profile-card>p:not(.muted){ color:#6f7e76 }.action-card .text-button { margin-top:auto; align-self:flex-start }.upload-result { min-height:13px; margin-top:13px; color:#28523b; font-size:10px; line-height:1.4 }
.generator-section { padding:0 0 110px; border-top:1px solid var(--line) }.generator-head { padding-top:76px }.template-alert { display:flex; align-items:flex-start; gap:11px; padding:12px 14px; margin:0 0 16px; border:1px solid #d7e5d8; border-radius:6px; background:#f1f7ef; color:#516754; font-size:10px; line-height:1.65 }.template-alert span { flex:none; padding:3px 6px; border-radius:3px; background:#dff0d9; color:#356441; font:600 8px "DM Mono"; letter-spacing:.3px }.template-alert p { margin:0 }.template-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px }.template-card { min-height:270px; padding:20px; border:1px solid var(--line); border-radius:8px; background:var(--cream); display:flex; flex-direction:column; position:relative; transition:.18s }.template-card.primary-official { order:-2; background:#f8fbf5; border-color:#83ad70 }.template-card.entry-official { order:-1; background:#f7f8f5 }.template-card.entry-official .template-icon { background:#edf0e9; color:#5f6b62 }.template-card.recommended { border-color:#83ad70; box-shadow:0 0 0 2px rgba(131,173,112,.12) }.template-card.recommended::after { content:"当前案件建议"; position:absolute; right:12px; top:12px; padding:4px 6px; border-radius:10px; background:#e1f2dc; color:#376849; font:600 7px "DM Mono"; letter-spacing:.25px }.template-icon { width:31px; height:31px; display:grid; place-items:center; border-radius:50%; background:#e8f2e8; color:#426d52; font:500 9px "DM Mono" }.template-type { margin:21px 0 7px; color:#6c9275; font:500 8px "DM Mono"; letter-spacing:.8px }.template-card h3 { margin:0 0 8px; font-size:15px; letter-spacing:-.5px }.template-card>p:not(.template-type) { margin:0; color:#66766d; font-size:10px; line-height:1.7 }.template-footer { margin-top:auto; padding-top:17px; display:flex; flex-direction:column; align-items:flex-start; gap:9px; border-top:1px solid #edf1ed }.template-footer>span { color:#89958e; font-size:9px }.template-coverage { margin-top:28px; padding:22px; border:1px solid var(--line); border-radius:8px; background:#eef4ed }.coverage-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:16px }.coverage-heading h3 { margin:10px 0 0; font-size:18px; letter-spacing:-.6px }.coverage-heading>p { max-width:430px; margin:0; color:#718077; font-size:10px; line-height:1.65 }.coverage-table { overflow:hidden; border:1px solid #dce6dd; border-radius:6px; background:#fffefa }.coverage-row { display:grid; grid-template-columns:.75fr 1.2fr 1fr 1.45fr; border-top:1px solid #e6ece7 }.coverage-row:first-child { border-top:0 }.coverage-row>* { padding:11px 12px; border-left:1px solid #e6ece7; color:#56665d; font-size:9px; line-height:1.55 }.coverage-row>*:first-child { border-left:0; color:#315e45; font-weight:700 }.coverage-head { background:#f7faf6 }.coverage-head b { color:#73827a; font:600 8px "DM Mono"; letter-spacing:.3px }.template-dialog { gap:15px; max-height:min(760px,calc(100vh - 34px)); overflow:auto }.template-dialog-head { display:flex; justify-content:space-between; gap:15px; padding-right:29px }.template-dialog-head h2 { margin-top:10px }.template-dialog-head>div>p:not(.eyebrow) { margin:0; color:#718077; font-size:10px; line-height:1.55 }.draft-badge { align-self:flex-start; white-space:nowrap; padding:5px 7px; background:#fff0cf; color:#896523; border-radius:4px; font:500 8px "DM Mono" }.template-form-note { padding:10px 12px; background:#f0f6ee; border-left:3px solid #83ad70; color:#526957; font-size:10px; line-height:1.65 }.template-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px }.template-fields label { min-width:0 }.template-fields label.wide { grid-column:1/-1 }.template-fields textarea { width:100%; min-height:82px; resize:vertical; border:1px solid #dce4de; background:#fff; border-radius:5px; padding:11px; font:500 12px Manrope,"Noto Sans SC"; color:var(--ink); line-height:1.55 }.translation-tools { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-top:1px }.translate-button,.restore-translation { border:1px solid #bad0bd; border-radius:4px; padding:5px 8px; background:#edf7ea; color:#326647; font:700 9px Manrope,"Noto Sans SC"; cursor:pointer }.restore-translation { background:#fff; color:#6a7b71 }.translate-button:disabled { opacity:.55; cursor:wait }.translation-tools small { color:#829087; font-size:8px; font-weight:500; line-height:1.45 }.template-actions { display:flex; justify-content:flex-end; gap:9px; padding-top:2px }.template-actions .ghost { margin-right:auto }
.pack-section { margin:-61px 0 112px; padding:27px 28px 17px; border-radius:8px; border:1px solid var(--line); background:#f2f6f0 }.pack-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:30px; padding-bottom:21px }.pack-heading h2 { margin:10px 0 5px; font-size:21px; letter-spacing:-.8px }.pack-heading>div>p:not(.eyebrow) { color:#718077; margin:0; font-size:10px }.snapshot { display:grid; grid-template-columns:auto auto; gap:3px 12px; padding:9px 11px; border-radius:5px; background:#fffefa; min-width:190px }.snapshot span { font:500 9px "DM Mono"; color:#71907b }.snapshot b { font:500 10px "DM Mono"; color:#315b42; text-align:right }.snapshot small { grid-column:1/-1; color:#8a9790; font-size:8px }.pack-grid { display:grid; grid-template-columns:repeat(2,1fr); border:1px solid #dfe7df; border-radius:6px; overflow:hidden; background:#fffefa }.pack-group { padding:15px; border-right:1px solid #e3e9e3 }.pack-group:nth-child(2n) { border-right:0 }.pack-group:nth-child(n+3) { border-top:1px solid #e3e9e3 }.pack-group h3 { margin:0 0 10px; font-size:11px; color:#436d53 }.pack-group h3 span { color:#83a18b; font:500 9px "DM Mono"; margin-left:4px }.pack-item { padding:7px 0; display:flex; gap:8px; align-items:flex-start; border-top:1px solid #eff2ef; color:#53645a; font-size:10px; line-height:1.5 }.pack-item:first-of-type { border-top:0 }.pack-item i { display:block; width:7px; height:7px; margin-top:4px; border:1px solid #b7c8bc; border-radius:2px; flex:none }.pack-item.done i { background:#6ea27a; border-color:#6ea27a }.pack-item.done i::after { content:"✓"; display:block; color:#fff; font-size:6px; line-height:6px; text-align:center }.pack-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:14px }.pack-footer p { margin:0; color:#7f8d85; font-size:9px }.pack-footer a { color:#3c7253; font-size:10px; font-weight:700; text-decoration:none }
.completeness-gate { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:12px; padding:14px 16px; border:1px solid #e3cfa0; border-radius:6px; background:#fffaf0 }.completeness-gate>div { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:2px 10px }.completeness-gate span { padding:3px 6px; border-radius:99px; color:#866116; background:#f3dfad; font:600 8px "DM Mono" }.completeness-gate b { color:#725214; font-size:11px }.completeness-gate p { grid-column:1/-1; margin:4px 0 0; color:#806f4d; font-size:9px; line-height:1.6 }.completeness-gate a { color:#765610; font-size:9px; font-weight:700; white-space:nowrap; text-decoration:none }
.rule-section { padding:0 0 114px; border-top:1px solid var(--line) }.section-head { display:flex; justify-content:space-between; gap:30px; padding:84px 0 35px; align-items:end }.section-head h2,.workflow h2,.review-panel h2 { font-size:30px; letter-spacing:-1.5px; line-height:1.2; margin:13px 0 0 }.section-copy { width:350px; color:var(--muted); font-size:12px; line-height:1.85; margin:0 }.destination-tabs { display:flex; gap:8px; flex-wrap:wrap; border-bottom:1px solid var(--line); padding-bottom:17px }.destination-tabs button { background:transparent; border:1px solid transparent; padding:8px 11px; border-radius:17px; color:#6c7b73; font:600 11px Manrope,"Noto Sans SC"; cursor:pointer }.destination-tabs button.active { color:var(--green); background:#e4f1e4; border-color:#d3e4d4 }.rule-card { margin-top:20px; background:var(--cream); border:1px solid var(--line); border-radius:8px; padding:26px 28px 18px; display:grid; grid-template-columns:1.35fr 1fr; gap:16px 40px }.rule-location { display:flex; gap:14px; align-items:center }.rule-location h3 { font-size:18px; letter-spacing:-.6px; margin:3px 0 0 }.rule-location span { font-size:10px; color:var(--muted) }.rule-meta { display:flex; justify-content:flex-end; align-items:center; gap:7px; font:400 9px "DM Mono"; color:#617268 }.verified-dot { background:#82bf89; height:7px; width:7px; border-radius:50%; box-shadow:0 0 0 3px #e0f2df }.rule-meta b { color:#aab5af; font-weight:400 }.rule-list { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:19px 0; border-top:1px solid #e9eeea; border-bottom:1px solid #e9eeea }.requirement { display:flex; align-items:flex-start; gap:9px; font-size:11px; line-height:1.45; color:#45574e }.requirement i { display:block; margin-top:3px; width:5px; height:5px; border-radius:50%; background:#85ad8b; flex:none }.rule-bottom { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center }.rule-bottom a { color:#5c7066; font-size:10px; text-decoration:none; border-bottom:1px solid #b8cbbd; padding-bottom:2px }
.official-form-links { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px; margin-top:-5px }.official-form { flex:1 1 235px; display:flex; flex-direction:column; gap:3px; padding:10px 11px; border:1px solid #e0e7e1; border-radius:5px; background:#f8faf7; color:#3b684b; text-decoration:none }.official-form b { font-size:10px }.official-form span { color:#7a8b80; font-size:9px; line-height:1.45 }.official-form:hover { border-color:#a8c5ac; background:#f0f7ef }
.workflow { padding-bottom:110px }.workflow-header { border-top:1px solid var(--line); padding-top:84px; max-width:670px }.workflow-steps { display:grid; grid-template-columns:repeat(3,1fr); margin-top:46px; border-top:1px solid var(--line) }.workflow-steps article { padding:22px 28px 10px 0; border-right:1px solid var(--line); min-height:180px }.workflow-steps article+article { padding-left:28px }.workflow-steps article:last-child { border:0 }.step-no { font:500 10px "DM Mono"; color:#6c9580; margin-bottom:31px }.workflow-steps h3 { font-size:14px; letter-spacing:-.3px; margin:0 0 8px }.workflow-steps p { font-size:11px; line-height:1.75; color:var(--muted); margin:0 }.review-panel { background:var(--green); color:#fff; border-radius:8px; padding:35px 37px; display:grid; grid-template-columns:1fr 1fr; gap:65px; margin-bottom:70px }.review-panel .eyebrow { color:#a2c6ad }.review-panel .eyebrow span { background:var(--lime); box-shadow:0 0 0 4px rgba(199,255,95,.12) }.review-panel h2 { margin:12px 0 14px }.review-panel>div>p:not(.eyebrow) { max-width:390px; font-size:12px; color:#bdd1c2; line-height:1.8; margin:0 }.review-list { align-self:end }.review-list>div { display:grid; grid-template-columns:25px 1fr auto; align-items:center; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.14); gap:10px }.review-list>div:first-child { border-top:1px solid rgba(255,255,255,.14) }.flag.mini { width:22px; height:22px; font-size:7px }.review-list p { font-size:11px; margin:0; color:#eff8f0 }.review-list strong { font:400 10px "DM Mono"; color:#a2c6ad } footer { border-top:1px solid var(--line); min-height:70px; display:flex; justify-content:space-between; align-items:center; font:400 9px "DM Mono"; color:#829088; letter-spacing:.2px }
dialog { border:0; padding:0; background:transparent; width:min(540px,calc(100% - 30px)); border-radius:10px; box-shadow:0 22px 60px rgba(27,43,35,.25) } dialog::backdrop { background:rgba(19,35,28,.42); backdrop-filter:blur(3px) } body.dialog-open::before { content:""; position:fixed; inset:0; z-index:40; background:rgba(19,35,28,.42); backdrop-filter:blur(3px) }.dialog-fallback[open] { display:block; position:fixed; z-index:50; inset:50% auto auto 50%; margin:0; translate:-50% -50%; max-height:calc(100vh - 30px); overflow:auto }.dialog-card { background:var(--cream); padding:31px; display:flex; flex-direction:column; gap:16px; position:relative }.dialog-card h2 { margin:0 0 6px; font-size:25px; letter-spacing:-1px }.dialog-card label { display:flex; flex-direction:column; gap:7px; color:#5c6d63; font-size:11px; font-weight:600 }.dialog-card select,.dialog-card input { border:1px solid #dce4de; background:#fff; border-radius:5px; padding:11px; font:500 12px Manrope,"Noto Sans SC"; color:var(--ink) }.dialog-close { position:absolute; right:15px; top:13px; border:0; background:transparent; color:#69786f; cursor:pointer; font-size:23px }.wizard-card { gap:14px }.wizard-top { display:flex; justify-content:space-between; align-items:flex-start; padding-right:28px }.wizard-top h2 { margin-top:10px }.wizard-count { color:#547466; font:500 10px "DM Mono"; padding-top:5px }.wizard-progress { height:4px; border-radius:3px; background:#e7eee8; overflow:hidden }.wizard-progress i { display:block; height:100%; background:#8fbc78; border-radius:3px; transition:width .25s }.wizard-step { display:flex; flex-direction:column; gap:14px; min-height:275px; padding-top:4px }.wizard-kicker { color:#547265; margin:0 0 2px; font-size:12px; font-weight:600 }.field-note { margin:0; color:#89968f; font-size:10px; line-height:1.65 }.switch-row { flex-direction:row !important; align-items:center; gap:12px !important; padding:12px 0; border-bottom:1px solid #e8ede9; cursor:pointer; color:var(--ink) !important }.switch-row input { position:absolute; opacity:0 }.switch-row>span { display:flex; flex-direction:column; gap:3px; flex:1 }.switch-row b { font-size:11px }.switch-row small { font-size:9px; font-weight:500; color:#809087 }.switch-row i { width:29px; height:17px; border-radius:12px; background:#d5dfd8; position:relative; transition:.2s }.switch-row i::after { content:""; position:absolute; width:13px; height:13px; top:2px; left:2px; background:#fff; border-radius:50%; transition:.2s; box-shadow:0 1px 3px #9daaa2 }.switch-row input:checked + span + i { background:#5f9671 }.switch-row input:checked + span + i::after { translate:12px 0 }.wizard-actions { display:flex; justify-content:flex-end; gap:9px; padding-top:4px }.wizard-actions .ghost { margin-right:auto }.eligibility-note { border-left:3px solid #86b36f; padding:9px 11px; background:#f0f7eb; color:#49614d; font-size:10px; line-height:1.65 }.wizard-result { border:1px solid #e1e8e2; border-radius:6px; overflow:hidden }.result-group { padding:10px 12px; border-bottom:1px solid #e8ede8 }.result-group:last-child { border-bottom:0 }.result-group h4 { margin:0 0 6px; color:#46705a; font:600 9px "DM Mono"; letter-spacing:.4px }.result-group ul { padding:0; margin:0; list-style:none; display:grid; gap:5px }.result-group li { display:flex; gap:7px; color:#46584e; font-size:10px; line-height:1.45 }.result-group li::before { content:""; width:5px; height:5px; border-radius:50%; background:#87ac8c; margin-top:4px; flex:none }.result-disclaimer { color:#8b978f; font-size:9px; line-height:1.65; margin:0 }.toast { position:fixed; z-index:60; bottom:25px; left:50%; translate:-50% 20px; background:var(--ink); color:white; padding:12px 16px; font-size:11px; border-radius:5px; opacity:0; pointer-events:none; transition:.25s; box-shadow:0 10px 25px rgba(0,0,0,.15) }.toast.show { opacity:1; translate:-50% 0 }
@media (max-width:820px) { .auth-gate { grid-template-columns:1fr }.auth-aside { min-height:360px; padding:34px 45px }.auth-message { padding:65px 0 25px; margin:auto 0 0 }.auth-message h1 { font-size:42px }.auth-message>p:last-child { max-width:580px }.auth-form-wrap { min-height:auto; padding:58px 28px }.shell { padding:0 20px }.nav { height:70px }.nav-links { display:none }.hero { padding:62px 0 48px }.hero h1 { letter-spacing:-2.5px }.case-grid { grid-template-columns:1fr 1fr; margin-bottom:75px }.case-main { grid-column:1/-1; min-height:345px }.action-card { min-height:270px }.pack-section { margin:-32px 0 75px }.pack-grid { grid-template-columns:1fr 1fr }.pack-group:nth-child(2) { border-right:0 }.pack-group:last-child { grid-column:1/-1; border-top:1px solid #e3e9e3 }.section-head { padding-top:64px; flex-direction:column; align-items:flex-start }.section-copy { width:auto }.rule-card { grid-template-columns:1fr }.rule-meta { justify-content:flex-start }.rule-list { grid-template-columns:1fr 1fr }.workflow { padding-bottom:75px }.workflow-header { padding-top:64px }.review-panel { grid-template-columns:1fr; gap:35px }.review-list { align-self:auto } }
@media (max-width:520px) { .auth-aside { min-height:330px; padding:28px 24px }.auth-message { padding:53px 0 20px }.auth-message h1 { font-size:38px; letter-spacing:-2.5px }.auth-message>p:last-child { font-size:11px; line-height:1.75 }.trust-points { font-size:8px; gap:7px 12px }.auth-form-wrap { padding:40px 24px }.auth-form-head h2 { font-size:25px }.account-name,.account-chevron { display:none }.hero-actions { flex-direction:column; align-items:flex-start }.hero-data { display:none }.case-grid { grid-template-columns:1fr }.case-main { grid-column:auto }.action-card { min-height:230px }.case-footer { gap:13px }.status { font-size:8px }.pack-section { margin:0 0 70px; padding:21px 17px 15px }.pack-heading { flex-direction:column; gap:13px }.snapshot { min-width:0; width:100% }.pack-grid { grid-template-columns:1fr }.pack-group,.pack-group:nth-child(2),.pack-group:last-child { grid-column:auto; border-right:0; border-top:1px solid #e3e9e3 }.pack-group:first-child { border-top:0 }.completeness-gate { align-items:flex-start; flex-direction:column; gap:10px }.pack-footer { align-items:flex-start; flex-direction:column }.rule-list { grid-template-columns:1fr }.rule-bottom { gap:12px }.workflow-steps { grid-template-columns:1fr }.workflow-steps article,.workflow-steps article+article { border-right:0; border-bottom:1px solid var(--line); padding:18px 0; min-height:auto }.workflow-steps article:last-child { border-bottom:0 }.step-no { margin-bottom:15px }.review-panel { padding:28px 23px } footer { gap:12px; flex-direction:column; align-items:flex-start; padding:20px 0 }.rule-meta { flex-wrap:wrap } }
@media (min-width:521px) and (max-width:820px) { .pack-group:last-child { grid-column:auto } }
.eligibility-note a { color:#326644; font-weight:700; text-decoration:none; border-bottom:1px solid #9ebda2 }
.destination-picker { margin-top:34px; max-width:740px; padding:17px; border:1px solid #dbe5dc; border-radius:8px; background:#fbfdfa }.destination-picker>p { margin:0 0 12px; color:#557365; font:600 10px "DM Mono"; letter-spacing:.35px }.destination-choice-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px }.destination-choice { display:flex; align-items:center; gap:9px; text-align:left; padding:10px; border:1px solid #e0e8e1; border-radius:6px; background:#fff; color:var(--ink); cursor:pointer; transition:.18s }.destination-choice:hover { transform:translateY(-2px); border-color:#9ec2a4; box-shadow:0 6px 14px rgba(31,63,45,.07) }.destination-choice b { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#edf5eb; color:#417054; font:500 8px "DM Mono" }.destination-choice span { display:flex; flex-direction:column; gap:2px; min-width:0; font-size:11px; font-weight:700 }.destination-choice small { color:#819087; font-size:8px; font-weight:500; white-space:nowrap }.destination-choice i { margin-left:auto; color:#6e9777; font-style:normal }.wizard-upload-panel { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; padding:16px; border:1px dashed #b9cdbd; border-radius:6px; background:#f6faf5 }.wizard-upload-panel b { font-size:12px }.wizard-upload-panel p { max-width:300px; margin:5px 0 0; color:#718078; font-size:10px; line-height:1.65 }.wizard-upload-list { min-height:92px; padding:5px 0; color:#5f7166; font-size:10px; line-height:1.75 }.wizard-upload-file { display:flex; justify-content:space-between; gap:15px; padding:7px 0; border-bottom:1px solid #ebf0eb }.wizard-upload-file small { color:#8b978f }
.destination-dialog { width:min(650px,calc(100% - 30px)); padding:30px }.destination-dialog h2 { margin:12px 0 8px }.destination-dialog-copy { margin:0 0 20px; color:#718077; font-size:11px; line-height:1.7 }.destination-dialog-grid { grid-template-columns:1fr 1fr }.destination-dialog-grid .destination-choice { padding:13px }
@media (max-width:820px) { .template-grid,.destination-choice-grid { grid-template-columns:1fr 1fr }.coverage-heading { align-items:flex-start; flex-direction:column; gap:9px }.coverage-row { grid-template-columns:.75fr 1fr 1fr }.coverage-row>*:last-child { grid-column:1/-1; border-left:0; border-top:1px dashed #e6ece7 }.coverage-head>*:last-child { display:none } }
@media (max-width:520px) { .template-grid,.template-fields,.destination-choice-grid { grid-template-columns:1fr }.template-card { min-height:225px }.template-dialog-head { flex-direction:column; gap:8px }.template-fields label.wide { grid-column:auto }.template-actions { flex-direction:column-reverse }.template-actions .ghost { margin-right:0 }.wizard-upload-panel { flex-direction:column }.wizard-upload-panel .button { margin-top:0 }.template-coverage { padding:15px }.coverage-row { grid-template-columns:1fr }.coverage-row>* { border-left:0; border-top:1px dashed #e6ece7 }.coverage-row>*:first-child { border-top:0 }.coverage-row>*:last-child { grid-column:auto }.coverage-head { display:none } }

/* v0.2 — task-first private workspace */
.application-home { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:26px; padding:66px 0 48px; border-bottom:1px solid var(--line) }
.home-intro { padding:22px 0 10px }
.home-intro h1 { max-width:760px; margin:22px 0 18px; font-size:clamp(45px,6vw,76px); letter-spacing:-4.4px; line-height:.98 }
.home-intro h1 em { color:#477f5b; font-style:normal }
.home-intro>p { max-width:670px; margin:0; color:var(--muted); font-size:14px; line-height:1.9 }
.home-intro .hero-actions { margin-top:30px }
.home-trust { display:flex; flex-wrap:wrap; gap:9px; margin-top:28px }
.home-trust span { display:flex; align-items:center; gap:6px; padding:7px 10px; border:1px solid #dce5de; border-radius:99px; background:rgba(255,255,255,.58); color:#697970; font-size:9px }
.home-trust b { color:#38674a; font:600 9px "DM Mono" }
.process-card { align-self:start; padding:23px; border:1px solid #d9e3da; border-radius:12px; background:#fffefa; box-shadow:0 12px 36px rgba(26,60,42,.06) }
.process-head { display:flex; justify-content:space-between; align-items:center; padding-bottom:17px; border-bottom:1px solid #e5ebe6 }
.process-head span { color:#315e45; font-size:11px; font-weight:800 }
.process-head b { color:#88a18f; font:500 8px "DM Mono"; letter-spacing:.7px }
.process-list { list-style:none; margin:0; padding:4px 0 }
.process-list li { display:grid; grid-template-columns:28px 1fr; gap:11px; position:relative; padding:13px 0 }
.process-list li:not(:last-child)::after { content:""; position:absolute; left:13px; top:38px; bottom:-3px; width:1px; background:#dfe8e0 }
.process-list i { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; background:#eef3ee; color:#7f9086; font:500 8px "DM Mono"; font-style:normal }
.process-list li.active i { background:var(--green); color:var(--lime); box-shadow:0 0 0 4px #e7efe8 }
.process-list div { display:flex; flex-direction:column; gap:3px }
.process-list b { color:#35483e; font-size:10px }
.process-list small { color:#87948c; font-size:8px; line-height:1.5 }
.official-boundary { margin-top:7px; padding:12px 13px; border-radius:6px; background:#eef5ed }
.official-boundary span { color:#477357; font:600 8px "DM Mono"; letter-spacing:.4px }
.official-boundary p { margin:5px 0 0; color:#64766a; font-size:9px; line-height:1.65 }
.application-home>.destination-picker { grid-column:1/-1; max-width:none; margin:3px 0 0; padding:23px; border-radius:10px; background:#f1f5ef }
.picker-head { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:17px }
.picker-head p { margin:0 0 5px; color:#4f745e; font:600 9px "DM Mono"; letter-spacing:.5px; text-transform:uppercase }
.picker-head h2 { margin:0; font-size:20px; letter-spacing:-.7px }
.picker-head>span { max-width:290px; color:#7c8b82; font-size:9px; line-height:1.6; text-align:right }
.application-home .destination-choice { min-height:91px; padding:14px 13px; border-radius:8px }
.application-home .destination-choice b { width:34px; height:34px; font-size:9px }
.application-home .destination-choice span { gap:3px; font-size:12px }
.application-home .destination-choice small { font-size:8px }
.destination-choice em { margin-top:4px; color:#4c785b; font:600 7px "DM Mono"; font-style:normal; letter-spacing:.2px; white-space:nowrap }
.workspace-section-head { grid-column:1/-1; display:flex; justify-content:space-between; align-items:end; margin-bottom:-3px }
.workspace-section-head h2 { margin:8px 0 0; font-size:24px; letter-spacing:-1px }
.case-grid { margin-top:55px }
.responsibility-section { padding:0 0 105px }
.responsibility-head { max-width:680px; padding:83px 0 34px; border-top:1px solid var(--line) }
.responsibility-head h2 { margin:12px 0 0; font-size:30px; letter-spacing:-1.5px; line-height:1.2 }
.responsibility-grid { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); border-radius:9px; overflow:hidden }
.responsibility-grid article { min-height:275px; padding:28px 30px }
.responsibility-grid article+article { border-left:1px solid var(--line) }
.responsibility-grid span { font:600 8px "DM Mono"; letter-spacing:.8px }
.responsibility-grid h3 { margin:14px 0 20px; font-size:18px; letter-spacing:-.5px }
.responsibility-grid ul { list-style:none; display:grid; gap:11px; margin:0; padding:0 }
.responsibility-grid li { display:flex; gap:9px; color:#53665b; font-size:11px; line-height:1.65 }
.responsibility-grid li::before { content:"✓"; flex:none; color:#548361; font-weight:800 }
.system-side { background:#f0f6ed }
.system-side span { color:#477858 }
.official-side { background:#fffefa }
.official-side span { color:#9a7137 }
.official-side li::before { content:"→"; color:#9a7137 }

@media (max-width:820px) {
  .application-home { grid-template-columns:1fr; padding-top:42px }
  .home-intro { padding-top:10px }
  .home-intro h1 { letter-spacing:-3px }
  .process-card { width:100% }
  .application-home>.destination-picker { grid-column:auto }
  .workspace-section-head { align-items:flex-start }
}
@media (max-width:520px) {
  .application-home { gap:18px; padding:34px 0 38px }
  .home-intro h1 { font-size:43px; letter-spacing:-2.8px; margin-top:17px }
  .home-intro>p { font-size:12px; line-height:1.8 }
  .home-intro .hero-actions { margin-top:23px }
  .home-trust { margin-top:20px }
  .process-card { padding:19px }
  .application-home>.destination-picker { padding:17px }
  .picker-head { align-items:flex-start; flex-direction:column; gap:8px }
  .picker-head>span { text-align:left }
  .application-home .destination-choice { min-height:82px }
  .workspace-section-head { align-items:flex-start; flex-direction:column; gap:15px }
  .workspace-section-head .button { width:100% }
  .responsibility-section { padding-bottom:70px }
  .responsibility-head { padding-top:62px }
  .responsibility-grid { grid-template-columns:1fr }
  .responsibility-grid article { min-height:auto; padding:24px 22px }
  .responsibility-grid article+article { border-left:0; border-top:1px solid var(--line) }
}

.official-document-studio { margin:0 0 20px; padding:21px; border:1px solid #cfded2; border-radius:9px; background:#edf5ec }
.official-studio-head { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; margin-bottom:16px }
.official-studio-head h3 { margin:9px 0 0; font-size:18px; letter-spacing:-.6px }
.official-studio-head>p { max-width:480px; margin:0; color:#65776b; font-size:9px; line-height:1.7 }
.official-action-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px }
.official-action-card { min-height:142px; display:flex; flex-direction:column; align-items:flex-start; padding:14px; border:1px solid #d9e5da; border-radius:7px; background:#fffefa }
.official-action-card>span { display:inline-flex; padding:4px 6px; border-radius:4px; background:#e5f1e3; color:#3e704e; font:600 7px "DM Mono"; letter-spacing:.35px }
.official-action-card.online>span { background:#edf0f4; color:#536a79 }
.official-action-card.conditional>span { background:#fff0cf; color:#8a6625 }
.official-action-card h4 { margin:12px 0 6px; color:#293c32; font-size:12px }
.official-action-card p { margin:0 0 13px; color:#708078; font-size:8.5px; line-height:1.6 }
.official-action-card .text-button { margin-top:auto }
.official-action-card button.text-button { border:0; padding:0; background:transparent; cursor:pointer }
@media (max-width:820px) { .official-action-grid { grid-template-columns:1fr 1fr } }
@media (max-width:520px) {
  .official-document-studio { padding:16px }
  .official-studio-head { align-items:flex-start; flex-direction:column; gap:9px }
  .official-action-grid { grid-template-columns:1fr }
  .official-action-card { min-height:125px }
}

.workspace-head-actions { display:flex; gap:8px; align-items:center }
.pack-heading-actions { display:flex; flex-direction:column; align-items:stretch; gap:8px }
.pack-heading-actions .button { justify-content:center }
.package-dialog-shell { width:min(920px,calc(100% - 30px)) }
.package-dialog { max-height:min(900px,calc(100vh - 30px)); overflow:auto; gap:18px }
.package-dialog-head { display:flex; justify-content:space-between; gap:24px; padding-right:28px }
.package-dialog-head h2 { margin-top:10px }
.package-dialog-head>div>p:not(.eyebrow) { margin:0; color:#718077; font-size:10px; line-height:1.6 }
.package-scope { display:flex; flex-wrap:wrap; gap:7px; padding:12px; border:1px solid #d7e4d8; border-radius:6px; background:#f0f6ee }
.package-scope span { padding:5px 7px; border-radius:99px; background:#fff; color:#446a52; font:600 8px "DM Mono" }
.package-fields { display:grid; gap:11px }
.package-document-group { border:1px solid #dfe7e1; border-radius:7px; background:#fffefa; overflow:hidden }
.package-document-group summary { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:11px; padding:14px; cursor:pointer; list-style:none }
.package-document-group summary::-webkit-details-marker { display:none }
.package-document-group summary>i { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#e8f2e8; color:#426d52; font:500 8px "DM Mono"; font-style:normal }
.package-document-group summary div { display:flex; flex-direction:column; gap:3px }
.package-document-group summary b { color:#31453a; font-size:11px }
.package-document-group summary small { color:#859289; font-size:8px }
.package-document-group summary>span { color:#577560; font:600 8px "DM Mono" }
.package-document-group[open] summary { border-bottom:1px solid #e5ebe6; background:#f7faf6 }
.package-document-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:15px }
.package-document-fields label { display:flex; flex-direction:column; gap:7px; color:#5c6d63; font-size:10px; font-weight:600; min-width:0 }
.package-document-fields label.wide { grid-column:1/-1 }
.package-document-fields input,.package-document-fields select,.package-document-fields textarea { width:100%; padding:10px 11px; border:1px solid #dce4de; border-radius:5px; background:#fff; color:var(--ink); font:500 11px Manrope,"Noto Sans SC"; line-height:1.5 }
.package-document-fields textarea { min-height:78px; resize:vertical }
.package-reused-fields { padding:0 15px 13px; color:#7a8980; font-size:8px; line-height:1.6 }
.package-progress { padding:13px 14px; border:1px solid #d8e4d8; border-radius:6px; background:#f2f7f0 }
.package-progress>div { display:flex; justify-content:space-between; gap:12px; color:#526758; font-size:9px }
.package-progress strong { font:500 9px "DM Mono" }
.package-progress>i { display:block; height:4px; margin-top:9px; border-radius:3px; background:#dce7dc; overflow:hidden }
.package-progress>i>b { display:block; height:100%; border-radius:3px; background:#6f9f75; transition:width .2s }
.package-result { padding:14px; border:1px solid #cbdccc; border-radius:6px; background:#edf6eb }
.package-result h3 { margin:0 0 8px; color:#315d42; font-size:12px }
.package-result ul { margin:0; padding:0; list-style:none; display:grid; gap:5px }
.package-result li { color:#5d7063; font-size:9px }
.package-result li::before { content:"✓"; margin-right:7px; color:#4b865b; font-weight:800 }
.package-result p { margin:9px 0 0; color:#65766b; font-size:8px; line-height:1.65 }
.package-actions { display:flex; justify-content:flex-end; gap:9px }
.package-actions .ghost { margin-right:auto }
@media (max-width:820px) {
  .workspace-head-actions { align-items:stretch; flex-direction:column }
  .workspace-head-actions .button { justify-content:center }
}
@media (max-width:520px) {
  .package-dialog-head { flex-direction:column; gap:8px }
  .package-dialog-head .draft-badge { align-self:flex-start }
  .package-document-group summary { grid-template-columns:30px 1fr }
  .package-document-group summary>span { grid-column:2 }
  .package-document-fields { grid-template-columns:1fr; padding:13px }
  .package-document-fields label.wide { grid-column:auto }
  .package-actions { flex-direction:column-reverse }
  .package-actions .ghost { margin-right:0 }
  .pack-heading-actions { width:100% }
}

/* v0.3 — reusable profile and application readiness */
.upload-category-label { display:flex; flex-direction:column; gap:6px; margin:16px 0 2px; color:#45624f; font-size:9px; font-weight:700 }
.upload-category-label select { width:100%; padding:9px 10px; border:1px solid rgba(24,62,49,.22); border-radius:5px; background:rgba(255,255,255,.65); color:#234334; font:600 9px Manrope,"Noto Sans SC"; outline:0 }
.readiness-console { display:grid; grid-template-columns:.85fr 1.15fr 1fr; margin-bottom:16px; border:1px solid #d9e4da; border-radius:8px; overflow:hidden; background:#fffefa }
.readiness-score-card,.readiness-next,.readiness-files { min-height:205px; padding:18px; border-right:1px solid #e2e9e3 }
.readiness-score-card { display:flex; align-items:center; gap:14px; background:#f6faf4 }
.readiness-score-card h3 { margin:8px 0 6px; font-size:16px; letter-spacing:-.5px }
.readiness-score-card>div:last-child>p:last-child { margin:0; color:#77867d; font-size:8px; line-height:1.65 }
.readiness-ring { --readiness-angle:0deg; display:flex; align-items:baseline; justify-content:center; flex:none; width:78px; height:78px; padding-top:25px; border-radius:50%; background:radial-gradient(circle at center,#f6faf4 0 55%,transparent 57%),conic-gradient(#5c936b var(--readiness-angle),#dfe8e0 0); color:#254d36 }
.readiness-ring strong { font:600 21px "DM Mono" }
.readiness-ring small { font:600 8px "DM Mono" }
.readiness-panel-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:10px; border-bottom:1px solid #e7ece8 }
.readiness-panel-head b { color:#40584a; font-size:10px }
.readiness-panel-head button { border:0; padding:0; background:transparent; color:#558065; font:700 8px Manrope,"Noto Sans SC"; cursor:pointer }
.readiness-panel-head>span { color:#809087; font:500 8px "DM Mono" }
.missing-summary { display:grid; padding-top:3px }
.missing-summary>button { display:grid; grid-template-columns:22px 1fr auto; align-items:center; gap:8px; padding:8px 0; border:0; border-bottom:1px solid #edf1ed; background:transparent; color:#44574d; text-align:left; cursor:pointer }
.missing-summary>button>i { color:#789281; font:500 7px "DM Mono"; font-style:normal }
.missing-summary>button>span { display:flex; flex-direction:column; gap:2px; font-size:8px; line-height:1.45 }
.missing-summary>button small { color:#8b9a91; font:600 6.5px "DM Mono"; letter-spacing:.35px }
.missing-summary>button>b { color:#699075; font-size:10px }
.missing-summary>p,.material-inventory>p { margin:9px 0 0; color:#8a978f; font-size:7.5px; line-height:1.55 }
.material-inventory { padding-top:3px }
.material-inventory>div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid #edf1ed }
.material-inventory>div>span { min-width:0; overflow:hidden; color:#405349; font-size:8px; text-overflow:ellipsis; white-space:nowrap }
.material-inventory>div small { display:block; margin-top:2px; color:#8a978f; font-size:6.5px }
.material-inventory>div>b { flex:none; color:#84928a; font:500 7px "DM Mono" }
.readiness-empty { color:#89968e !important; font-size:8px !important; line-height:1.6 !important }
.readiness-stages { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #e2e9e3 }
.readiness-stages>div { display:flex; align-items:center; gap:9px; padding:12px 16px; border-right:1px solid #e6ece7 }
.readiness-stages>div:last-child { border-right:0 }
.readiness-stages i { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#edf1ed; color:#7a8880; font:500 7px "DM Mono"; font-style:normal }
.readiness-stages .done i { background:#dff1d9; color:#39704a }
.readiness-stages .external i { background:#fff0cf; color:#8a6625 }
.readiness-stages span { display:flex; flex-direction:column; gap:2px; color:#4f6257; font-size:8px; font-weight:700 }
.readiness-stages small { color:#87948c; font:500 7px "DM Mono" }
.profile-dialog { width:min(790px,calc(100vw - 34px)); max-height:min(850px,calc(100vh - 34px)); overflow:auto; gap:16px }
.profile-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px }
.profile-fields label { display:flex; flex-direction:column; gap:7px; color:#5c6d63; font-size:10px; font-weight:600 }
.profile-fields label.wide { grid-column:1/-1 }
.profile-fields input,.profile-fields select,.profile-fields textarea { width:100%; padding:10px 11px; border:1px solid #dce4de; border-radius:5px; background:#fff; color:var(--ink); font:500 11px Manrope,"Noto Sans SC" }
.profile-fields textarea { min-height:70px; resize:vertical }
.profile-save-note { padding:10px 12px; border-left:3px solid #83ad70; background:#f0f6ee; color:#5d7162; font-size:9px; line-height:1.6 }
@media (max-width:820px) {
  .readiness-console { grid-template-columns:1fr 1fr }
  .readiness-score-card { grid-column:1/-1; min-height:140px }
  .readiness-next,.readiness-files { border-top:1px solid #e2e9e3 }
  .readiness-files { border-right:0 }
}
@media (max-width:520px) {
  .readiness-console { grid-template-columns:1fr }
  .readiness-score-card,.readiness-next,.readiness-files { grid-column:auto; min-height:auto; border-right:0; border-top:1px solid #e2e9e3 }
  .readiness-score-card { border-top:0 }
  .readiness-stages { grid-template-columns:1fr 1fr }
  .readiness-stages>div:nth-child(2) { border-right:0 }
  .readiness-stages>div:nth-child(n+3) { border-top:1px solid #e6ece7 }
  .profile-fields { grid-template-columns:1fr }
  .profile-fields label.wide { grid-column:auto }
}

/* v0.4 — resumable multi-application workspace */
.case-library { padding:44px 0 12px }
.case-library-head { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:16px }
.case-library-head h2 { margin:9px 0 5px; font-size:24px; letter-spacing:-1px }
.case-library-head>div>p:last-child { max-width:570px; margin:0; color:#75847b; font-size:9px; line-height:1.65 }
.case-library-head .button { margin:0; flex:none }
.case-library-grid { display:grid; gap:8px }
.case-library-card { width:100%; display:grid; grid-template-columns:44px minmax(250px,1fr) minmax(180px,.6fr) 105px; align-items:center; gap:13px; padding:14px 15px; border:1px solid #dce5dd; border-radius:8px; background:#fffefa; color:var(--ink); text-align:left; cursor:pointer; transition:.18s }
.case-library-card:hover { transform:translateY(-1px); border-color:#9ebea5; box-shadow:0 8px 20px rgba(31,63,45,.06) }
.case-library-card.active { border-color:#77a180; box-shadow:0 0 0 2px rgba(119,161,128,.12); background:#f8fbf6 }
.case-library-flag { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; color:#315e45; font:600 8px "DM Mono" }
.case-library-main,.case-library-metrics,.case-library-updated { display:flex; flex-direction:column; gap:3px; min-width:0 }
.case-library-main>small { color:#789083; font:500 7px "DM Mono"; letter-spacing:.25px }
.case-library-main>b { font-size:11px }
.case-library-main>em { overflow:hidden; color:#839087; font-size:8px; font-style:normal; text-overflow:ellipsis; white-space:nowrap }
.case-library-metrics { align-items:flex-start }
.case-library-metrics>i { padding:4px 7px; border-radius:99px; background:#edf2ed; color:#66766c; font:600 7px "DM Mono"; font-style:normal }
.case-library-metrics>i.active { background:#e1f2dc; color:#376849 }
.case-library-metrics>i.progress { background:#fff0cf; color:#896523 }
.case-library-metrics>i.new { background:#edf0f4; color:#536a79 }
.case-library-metrics>small { color:#88958d; font-size:7px }
.case-library-updated { align-items:flex-end }
.case-library-updated>small { color:#8c9891; font:500 7px "DM Mono" }
.case-library-updated>b { color:#3f7353; font-size:9px }
@media (max-width:820px) {
  .case-library-card { grid-template-columns:44px minmax(0,1fr) 105px }
  .case-library-metrics { grid-column:2; flex-direction:row; align-items:center }
  .case-library-updated { grid-column:3; grid-row:1/3 }
}
@media (max-width:520px) {
  .case-library { padding-top:32px }
  .case-library-head { align-items:flex-start; flex-direction:column; gap:12px }
  .case-library-head .button { width:100% }
  .case-library-card { grid-template-columns:38px 1fr; padding:13px }
  .case-library-flag { width:36px; height:36px }
  .case-library-metrics { grid-column:2; flex-wrap:wrap }
  .case-library-updated { grid-column:1/-1; grid-row:auto; flex-direction:row; align-items:center; justify-content:space-between; padding-top:8px; border-top:1px solid #edf1ed }
}

/* v0.5 — account-synced wizard drafts */
.case-draft-card { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:14px; margin-bottom:10px; padding:15px 16px; border:1px solid #9fbea4; border-radius:9px; background:linear-gradient(105deg,#f0f7ed,#fbfdf9); box-shadow:0 8px 24px rgba(43,82,56,.05) }
.case-draft-card[hidden] { display:none }
.case-draft-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#dff0d9; color:#386b49; font-size:16px }
.case-draft-main { display:flex; flex-direction:column; gap:3px; min-width:0 }
.case-draft-main small { color:#547a61; font:600 7px "DM Mono"; letter-spacing:.35px; text-transform:uppercase }
.case-draft-main b { font-size:12px }
.case-draft-main p { margin:0; color:#7b8981; font-size:8px }
.case-draft-actions { display:flex; align-items:center; gap:12px }
.case-draft-actions .button { margin:0 }
.draft-discard { color:#8a7168 }
.wizard-save-state { margin:4px 0 0; color:#789084; font-size:8px; font-weight:600 }
.wizard-save-state.saving { color:#8b752f }
.wizard-save-state.saved { color:#477758 }
.wizard-save-state.error { color:#a15345 }
.wizard-sections { display:grid; grid-template-columns:repeat(5,1fr); gap:6px }
.wizard-sections button { display:flex; align-items:center; justify-content:center; gap:5px; padding:7px 5px; border:1px solid #e1e8e2; border-radius:5px; background:#f8faf7; color:#8a978f; cursor:pointer; font:600 8px Manrope,"Noto Sans SC" }
.wizard-sections button i { display:grid; place-items:center; width:17px; height:17px; border-radius:50%; background:#e8ede8; font:500 7px "DM Mono"; font-style:normal }
.wizard-sections button.active { border-color:#8eb095; background:#eef6eb; color:#3f6e4f }
.wizard-sections button.active i,.wizard-sections button.complete i { background:#5f9671; color:#fff }
.wizard-sections button:disabled { cursor:not-allowed; opacity:.5 }
@media (max-width:520px) {
  .case-draft-card { grid-template-columns:38px 1fr; padding:13px }
  .case-draft-icon { width:36px; height:36px }
  .case-draft-actions { grid-column:1/-1; justify-content:space-between; padding-top:10px; border-top:1px solid #dce8dd }
  .wizard-sections { gap:3px }
  .wizard-sections button { flex-direction:column; gap:3px; padding:6px 2px; font-size:7px }
}

/* v0.6 — polished private workspace */
:root {
  --ink:#11261e;
  --muted:#61746a;
  --line:#d8e4db;
  --paper:#f3f7f2;
  --mint:#dff7df;
  --green:#123d30;
  --lime:#caff72;
  --cream:#fff;
  --orange:#ffbd70;
  --shadow-sm:0 8px 24px rgba(23,60,43,.07);
  --shadow-md:0 18px 50px rgba(23,60,43,.11);
}
html { scroll-padding-top:92px }
body { min-height:100vh; background:radial-gradient(circle at 6% 4%,rgba(183,226,187,.22),transparent 28%),radial-gradient(circle at 94% 18%,rgba(213,237,198,.28),transparent 24%),var(--paper) }
.noise { display:none }
.shell { max-width:1320px; padding:0 38px }
.nav { position:sticky; z-index:30; top:0; height:78px; border-color:rgba(194,210,199,.78); background:rgba(243,247,242,.84); backdrop-filter:blur(18px) saturate(135%) }
.brand { gap:11px; font-size:20px; letter-spacing:-.85px }
.brand-mark { grid-template-columns:repeat(3,6px); gap:3px; height:19px }
.nav-links { gap:9px; margin-left:80px; padding:5px; border:1px solid rgba(207,220,211,.84); border-radius:999px; background:rgba(255,255,255,.58) }
.nav-links a { padding:7px 12px; border-radius:999px; font-size:11px; transition:.18s }
.nav-links a:hover { background:#fff; color:var(--green); box-shadow:0 3px 10px rgba(24,62,49,.07) }
.account-button { padding:5px 7px 5px 5px; border:1px solid transparent; border-radius:999px; transition:.18s }
.account-button:hover { border-color:#d7e2d9; background:#fff }
.avatar { width:36px; height:36px; background:linear-gradient(145deg,#173f33,#0e2d24); box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 5px 12px rgba(18,61,48,.15) }
.account-menu { top:51px; width:220px; padding:15px; border-radius:14px; box-shadow:var(--shadow-md) }

.auth-gate { grid-template-columns:minmax(0,1.1fr) minmax(430px,.9fr); background:#eef4ee }
.auth-aside { padding:46px clamp(34px,6.5vw,104px); background:radial-gradient(circle at 78% 72%,rgba(109,184,124,.25),transparent 28%),linear-gradient(145deg,#0c2c23 0%,#123d30 58%,#174a39 100%) }
.auth-aside::before { width:520px; height:520px; right:-185px; bottom:-165px; border-color:rgba(202,255,114,.3); box-shadow:0 0 0 62px rgba(202,255,114,.035),0 0 0 125px rgba(202,255,114,.025) }
.auth-aside::after { content:""; position:absolute; inset:0; opacity:.085; background-image:linear-gradient(rgba(255,255,255,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.28) 1px,transparent 1px); background-size:54px 54px; mask-image:linear-gradient(to bottom right,transparent 10%,#000 75%) }
.auth-message { max-width:560px; padding:90px 0 60px }
.auth-message h1 { max-width:650px; margin:22px 0; font-size:clamp(50px,5.4vw,76px); letter-spacing:-4.8px; line-height:.98 }
.auth-message>p:last-child { max-width:500px; color:#bdd3c3; font-size:14px }
.trust-points { gap:9px; font-family:Manrope,"Noto Sans SC",sans-serif }
.trust-points span { padding:8px 10px; border:1px solid rgba(206,235,212,.14); border-radius:999px; background:rgba(255,255,255,.045) }
.auth-form-wrap { background:radial-gradient(circle at 78% 12%,rgba(178,221,182,.34),transparent 24%),#f5f8f4 }
.auth-form { width:min(440px,100%); gap:18px; padding:34px; border:1px solid rgba(207,220,211,.9); border-radius:22px; background:rgba(255,255,255,.9); box-shadow:0 26px 70px rgba(30,68,49,.12); backdrop-filter:blur(15px) }
.auth-form-head h2 { margin-top:15px; font-size:31px; letter-spacing:-1.6px }
.auth-form input:not([type="checkbox"]) { min-height:50px; padding:14px; border-radius:10px; background:#fbfdfb }
.auth-form input:focus { border-color:#5f9470; box-shadow:0 0 0 4px rgba(99,154,112,.13) }
.auth-legal { margin-top:27px }

.button { min-height:43px; padding:12px 17px; border-radius:10px; gap:15px; box-shadow:0 1px 0 rgba(255,255,255,.12) inset; transition:transform .18s,box-shadow .18s,background .18s,border-color .18s }
.button:hover { transform:translateY(-2px); box-shadow:0 9px 24px rgba(21,54,40,.13) }
.button:active { transform:translateY(0) }
.button.primary { border-color:var(--green); background:var(--green) }
.button.ghost { background:rgba(255,255,255,.58) }
.button.small { min-height:38px; border-radius:9px }
.link-button,.text-button { transition:color .18s,opacity .18s }
.link-button:hover,.text-button:hover { color:#1f7547 }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid rgba(113,169,124,.35); outline-offset:2px }

.application-home { position:relative; isolation:isolate; overflow:hidden; grid-template-columns:minmax(0,1.22fr) minmax(310px,.78fr); gap:34px; margin-top:28px; padding:52px 52px 44px; border:0; border-radius:26px; background:radial-gradient(circle at 12% 12%,rgba(100,174,115,.22),transparent 26%),linear-gradient(132deg,#0e3026,#123d30 62%,#184d3a); box-shadow:0 26px 70px rgba(18,61,48,.17) }
.application-home::before { content:""; position:absolute; z-index:-1; width:420px; height:420px; top:-240px; right:25%; border:1px solid rgba(202,255,114,.17); border-radius:50%; box-shadow:0 0 0 55px rgba(202,255,114,.025),0 0 0 110px rgba(202,255,114,.018) }
.application-home::after { content:""; position:absolute; z-index:-1; inset:0; opacity:.055; background-image:linear-gradient(rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px); background-size:58px 58px; mask-image:linear-gradient(to bottom right,transparent,#000) }
.home-intro { padding:12px 0 5px }
.home-intro .eyebrow { color:#a8c9b0 }
.home-intro .eyebrow span { background:var(--lime); box-shadow:0 0 0 4px rgba(202,255,114,.12) }
.home-intro h1 { max-width:800px; margin:24px 0 20px; color:#fff; font-size:clamp(48px,5.7vw,76px); letter-spacing:-4.8px; line-height:.96 }
.home-intro h1 em { color:var(--lime) }
.home-intro>p { max-width:690px; color:#bad0c0; font-size:14px }
.application-home .home-intro .button.primary { border-color:var(--lime); background:var(--lime); color:#123d30 }
.application-home .home-intro .button.ghost { border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.07); color:#edf7ef }
.application-home .home-intro .button.ghost:hover { background:rgba(255,255,255,.13) }
.home-trust span { padding:8px 11px; border-color:rgba(255,255,255,.13); background:rgba(255,255,255,.06); color:#aec7b5 }
.home-trust b { color:var(--lime) }
.process-card { padding:25px; border:1px solid rgba(220,232,222,.86); border-radius:18px; background:rgba(255,255,255,.96); box-shadow:0 24px 52px rgba(7,36,26,.2) }
.process-head { padding-bottom:18px }
.process-list li { padding:14px 0 }
.process-list i { width:29px; height:29px }
.process-list li.active i { background:var(--green); box-shadow:0 0 0 5px #e5efe7 }
.official-boundary { margin-top:10px; padding:13px 14px; border-radius:10px }
.application-home>.destination-picker { padding:25px; border:1px solid rgba(221,232,222,.88); border-radius:18px; background:rgba(248,251,248,.97); box-shadow:0 18px 42px rgba(5,29,21,.15) }
.picker-head { margin-bottom:19px }
.picker-head h2 { font-size:23px; letter-spacing:-1px }
.destination-choice { min-height:94px; padding:15px; border-color:#dee8e0; border-radius:12px; box-shadow:0 4px 12px rgba(23,60,43,.035) }
.destination-choice:hover { transform:translateY(-3px); border-color:#8fb49a; box-shadow:0 12px 26px rgba(31,63,45,.1) }
.destination-choice b { width:36px; height:36px; background:linear-gradient(145deg,#e7f3e5,#f7f4e9); font-size:9px }
.destination-choice i { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#edf5ed }

.case-library { padding:54px 0 18px }
.case-library-head h2,.workspace-section-head h2 { font-size:27px; letter-spacing:-1.3px }
.case-library-card { grid-template-columns:54px minmax(250px,1fr) minmax(190px,.6fr) 112px; gap:16px; padding:17px 18px; border-color:#d9e5dc; border-radius:15px; background:rgba(255,255,255,.9); box-shadow:var(--shadow-sm) }
.case-library-card:hover { transform:translateY(-3px); border-color:#94b89d; box-shadow:0 16px 36px rgba(31,63,45,.11) }
.case-library-card.active { border-color:#70a17c; background:linear-gradient(105deg,#f6fbf5,#fff); box-shadow:0 0 0 3px rgba(112,161,124,.11),var(--shadow-sm) }
.case-library-flag { width:48px; height:48px; box-shadow:inset 0 0 0 1px rgba(60,102,75,.08) }
.case-library-main>b { font-size:13px }
.case-library-main>em,.case-library-metrics>small { font-size:8.5px }
.case-draft-card { grid-template-columns:54px minmax(0,1fr) auto; gap:16px; padding:18px; border-radius:15px; background:linear-gradient(105deg,#eaf7e7,#fbfdf9); box-shadow:var(--shadow-sm) }
.case-draft-icon { width:48px; height:48px; background:var(--green); color:var(--lime); box-shadow:0 9px 20px rgba(18,61,48,.18) }
.case-draft-main b { font-size:13px }

.case-grid { gap:18px; margin-top:62px; margin-bottom:118px }
.case-main,.action-card { border-radius:18px; box-shadow:var(--shadow-sm) }
.case-main { padding:28px 29px 23px; border-color:#d9e4dc; background:rgba(255,255,255,.94) }
.case-heading { margin:24px 0 }
.case-heading .flag { width:48px; height:48px; box-shadow:inset 0 0 0 1px rgba(50,90,66,.08) }
.case-heading h2 { font-size:23px; letter-spacing:-1px }
.progress { height:7px }
.progress i { background:linear-gradient(90deg,#4f8b61,#87bd83) }
.check { min-height:42px }
.action-card { padding:27px; border:1px solid rgba(204,222,209,.72) }
.upload-card { background:linear-gradient(145deg,#d6f3d8,#c8eccd) }
.profile-card { background:linear-gradient(145deg,#eef3ef,#e4ede6) }
.card-icon { width:42px; height:42px; margin-bottom:28px; box-shadow:0 8px 18px rgba(27,66,47,.1) }
.action-card h3 { font-size:20px }
.upload-category-label select { border-radius:9px }

.generator-section { border-top-color:#d8e3da }
.section-head h2,.workflow h2,.review-panel h2 { font-size:34px; letter-spacing:-1.8px }
.template-alert { padding:14px 16px; border-radius:11px }
.official-document-studio { padding:25px; border-radius:18px; box-shadow:var(--shadow-sm) }
.official-action-card { min-height:150px; padding:17px; border-radius:12px; transition:.18s }
.official-action-card:hover { transform:translateY(-2px); border-color:#a6c2aa; box-shadow:0 10px 24px rgba(34,69,48,.08) }
.template-grid { gap:15px }
.template-card { min-height:286px; padding:23px; border-radius:16px; box-shadow:0 7px 22px rgba(29,65,47,.045) }
.template-card:hover { transform:translateY(-4px); border-color:#a8c5ad; box-shadow:0 17px 38px rgba(29,65,47,.1) }
.template-card.recommended { box-shadow:0 0 0 3px rgba(131,173,112,.12),0 14px 32px rgba(29,65,47,.08) }
.template-icon { width:36px; height:36px }
.template-coverage { padding:25px; border-radius:16px }
.coverage-table { border-radius:11px }

.pack-section { margin:-62px 0 118px; padding:31px; border-radius:20px; background:linear-gradient(145deg,#f0f6ef,#eaf3e9); box-shadow:var(--shadow-sm) }
.snapshot { padding:11px 13px; border-radius:10px; box-shadow:0 5px 14px rgba(30,66,48,.05) }
.readiness-console { border-radius:16px; box-shadow:0 8px 24px rgba(30,66,48,.05) }
.readiness-score-card,.readiness-next,.readiness-files { padding:21px }
.readiness-ring { width:84px; height:84px; padding-top:27px }
.pack-grid { border-radius:12px }
.completeness-gate { border-radius:12px }
.rule-card { padding:29px 31px 21px; border-radius:18px; box-shadow:var(--shadow-sm) }
.destination-tabs button { padding:9px 14px }
.destination-tabs button.active { box-shadow:inset 0 0 0 1px rgba(72,121,84,.08) }
.official-form { padding:12px 13px; border-radius:10px }
.responsibility-grid { border-radius:18px; box-shadow:var(--shadow-sm) }
.review-panel { padding:40px 42px; border-radius:22px; background:radial-gradient(circle at 90% 0,rgba(105,181,120,.22),transparent 30%),linear-gradient(135deg,#10382c,#174b3a); box-shadow:0 22px 55px rgba(18,61,48,.16) }

dialog { border-radius:22px; box-shadow:0 32px 90px rgba(12,36,27,.32) }
dialog::backdrop,body.dialog-open::before { background:rgba(10,28,21,.55); backdrop-filter:blur(8px) }
.dialog-card { padding:34px; border:1px solid rgba(216,228,219,.9); border-radius:20px; background:#fbfdfb }
.dialog-card h2 { font-size:28px; letter-spacing:-1.4px }
.dialog-close { display:grid; place-items:center; width:34px; height:34px; right:15px; top:15px; border-radius:50%; background:#edf2ee; font-size:20px; transition:.18s }
.dialog-close:hover { background:#e2ebe4; color:#244e38 }
.dialog-card select,.dialog-card input,.template-fields textarea,.package-document-fields input,.package-document-fields select,.package-document-fields textarea,.profile-fields input,.profile-fields select,.profile-fields textarea { min-height:45px; border-radius:10px; background:#fff; transition:border .18s,box-shadow .18s }
.dialog-card select:focus,.dialog-card input:focus,.template-fields textarea:focus,.package-document-fields input:focus,.package-document-fields select:focus,.package-document-fields textarea:focus,.profile-fields input:focus,.profile-fields select:focus,.profile-fields textarea:focus { border-color:#6e9d78; box-shadow:0 0 0 4px rgba(110,157,120,.12); outline:0 }
.wizard-progress { height:6px }
.wizard-progress i { background:linear-gradient(90deg,#4c895d,#92c183) }
.wizard-sections { gap:8px }
.wizard-sections button { min-height:39px; border-radius:9px }
.wizard-step { min-height:290px; padding:8px 2px 0 }
.switch-row { padding:13px 2px }
.switch-row i { width:34px; height:20px }
.switch-row i::after { width:16px; height:16px }
.switch-row input:checked + span + i::after { translate:14px 0 }
.wizard-upload-panel { padding:18px; border-radius:12px }
.destination-dialog { border-radius:20px }
.destination-dialog-grid .destination-choice { min-height:86px; padding:15px }
.package-document-group { border-radius:12px }
.package-scope,.package-progress,.package-result { border-radius:11px }
.toast { padding:13px 18px; border-radius:999px; box-shadow:0 15px 35px rgba(0,0,0,.2) }

.application-home,.case-library:not([hidden]),.case-grid:not([hidden]) { animation:workspace-in .45s ease both }
@keyframes workspace-in { from { opacity:0; transform:translateY(8px) } to { opacity:1; transform:translateY(0) } }
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important }
}
@media (max-width:820px) {
  .shell { padding:0 22px }
  .nav { height:70px }
  .auth-gate { grid-template-columns:1fr }
  .auth-aside { min-height:370px; padding:34px 46px }
  .auth-message { padding:64px 0 26px }
  .auth-message h1 { font-size:48px; letter-spacing:-3.4px }
  .auth-form-wrap { padding:54px 28px }
  .application-home { grid-template-columns:1fr; gap:24px; padding:42px }
  .home-intro h1 { font-size:58px }
  .process-card { width:100% }
  .case-library-card { grid-template-columns:50px minmax(0,1fr) 110px }
  .case-library-metrics { grid-column:2 }
  .case-library-updated { grid-column:3 }
  .template-grid { gap:12px }
}
@media (max-width:520px) {
  .shell { padding:0 15px }
  .brand { font-size:18px }
  .nav { margin:0 -2px }
  .auth-aside { min-height:315px; padding:27px 23px }
  .auth-message { padding:52px 0 18px }
  .auth-message h1 { font-size:39px; letter-spacing:-2.7px }
  .auth-message>p:last-child { font-size:11px }
  .trust-points span { padding:6px 8px }
  .auth-form-wrap { padding:31px 16px 38px }
  .auth-form { padding:25px 21px; border-radius:18px }
  .auth-form-head h2 { font-size:27px }
  .application-home { gap:20px; margin-top:15px; padding:28px 20px 21px; border-radius:20px }
  .home-intro { padding-top:2px }
  .home-intro h1 { margin-top:19px; font-size:43px; letter-spacing:-3px }
  .home-intro>p { font-size:12px }
  .home-intro .hero-actions { align-items:stretch }
  .home-intro .button { width:100% }
  .home-trust { gap:6px }
  .home-trust span { font-size:8px }
  .process-card { padding:19px; border-radius:15px }
  .application-home>.destination-picker { padding:17px; border-radius:15px }
  .picker-head h2 { font-size:20px }
  .destination-choice { min-height:82px }
  .case-library { padding-top:35px }
  .case-library-head h2,.workspace-section-head h2 { font-size:24px }
  .case-library-card { grid-template-columns:42px 1fr; padding:14px; border-radius:13px }
  .case-library-flag { width:40px; height:40px }
  .case-library-metrics { grid-column:2 }
  .case-library-updated { grid-column:1/-1 }
  .case-draft-card { grid-template-columns:42px 1fr; padding:14px }
  .case-draft-icon { width:40px; height:40px }
  .case-grid { gap:13px; margin-top:45px }
  .case-main,.action-card { border-radius:15px }
  .case-main { padding:22px 19px 18px }
  .action-card { padding:22px }
  .section-head h2,.workflow h2,.review-panel h2 { font-size:29px }
  .official-document-studio,.template-coverage { padding:17px; border-radius:15px }
  .template-card { min-height:235px; padding:20px; border-radius:14px }
  .pack-section { margin:0 0 72px; padding:20px 15px; border-radius:17px }
  .rule-card { padding:22px 18px 17px; border-radius:15px }
  .review-panel { padding:29px 23px; border-radius:18px }
  dialog { width:calc(100% - 18px); border-radius:18px }
  .dialog-card { padding:25px 21px; border-radius:17px }
  .dialog-card h2 { font-size:25px }
  .wizard-sections { gap:4px }
  .wizard-sections button { min-height:46px }
  .wizard-step { min-height:270px }
}

/* v0.7 — reusable generation workspace */
.package-convenience { position:sticky; z-index:4; top:-34px; display:grid; grid-template-columns:minmax(250px,.85fr) minmax(340px,1.15fr); gap:16px; padding:14px 15px; border:1px solid #cfe0d2; border-radius:13px; background:rgba(248,252,248,.96); box-shadow:0 10px 26px rgba(24,62,45,.08); backdrop-filter:blur(12px) }
.package-completion { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:7px 12px }
.package-completion>span { color:#456552; font-size:9px; font-weight:800 }
.package-completion>b { justify-self:end; color:#557261; font:600 8px "DM Mono" }
.package-completion>i { grid-column:1/-1; display:block; height:6px; overflow:hidden; border-radius:99px; background:#dfe9e0 }
.package-completion>i>em { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#4c895d,#9bc982); transition:width .24s }
.package-draft-state { display:flex; align-items:center; justify-content:space-between; gap:13px; padding-left:16px; border-left:1px solid #dce7de }
.package-draft-state>span { color:#607568; font-size:8px; line-height:1.5 }
.package-draft-state>span.saved,.template-draft-status.saved { color:#3f7450 }
.package-draft-state>span.saving,.template-draft-status.saving { color:#8b732d }
.package-draft-state>span.error,.template-draft-status.error { color:#a15345 }
.package-draft-state>div { display:flex; flex:none; gap:6px }
.package-draft-state button { padding:6px 8px; border:1px solid #cfe0d2; border-radius:7px; background:#fff; color:#436a51; font:700 8px Manrope,"Noto Sans SC"; cursor:pointer }
.package-draft-state button:hover { border-color:#8eb095; background:#eff7ed }
.package-document-group.complete { border-color:#bdd7c1 }
.package-document-group.complete summary { background:#f4faf2 }
.package-document-group.complete summary>i { background:#dff1d9; color:#39704a }
.package-document-group.incomplete summary>span { background:#fff0cf; color:#896523 }
.package-document-group.complete summary>span { color:#39704a }
.package-document-group summary>span { padding:5px 7px; border-radius:99px; background:#edf3ed }
.template-draft-status { margin:-6px 0 0; padding:8px 10px; border:1px solid #dce7de; border-radius:8px; background:#f7faf7; color:#6e7f75; font-size:8px; line-height:1.55 }
@media (max-width:820px) {
  .package-convenience { position:static; grid-template-columns:1fr }
  .package-draft-state { padding:11px 0 0; border-left:0; border-top:1px solid #dce7de }
}
@media (max-width:520px) {
  .package-convenience { padding:12px }
  .package-draft-state { align-items:flex-start; flex-direction:column }
  .package-draft-state>div { width:100% }
  .package-draft-state button { flex:1 }
}
