@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');

:root{--ink:#1d2b25;--muted:#65746b;--paper:#f8f7f2;--surface:#fffefb;--green:#1d604b;--green-dark:#174c3b;--leaf:#e6f0e6;--cream:#fcf2d9;--line:#e1e5dd;--shadow:0 16px 45px rgba(31,61,47,.08)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 90% -10%,#edf5ea 0,transparent 32rem),var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}
button,a{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible{outline:3px solid #d7a951;outline-offset:3px}
main{max-width:1180px;margin:auto;padding:0 34px 64px}
nav{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{font:700 31px Fraunces,serif;letter-spacing:-1.8px;color:var(--green);text-decoration:none}
.brand span{color:#db7a47}
.nav-links{display:flex;gap:27px;margin-left:92px}
.nav-links a{font-size:14px;color:#718078;text-decoration:none;transition:color .2s}
.nav-links a:hover,.nav-links a:first-child{color:var(--ink);font-weight:600}
.avatar{width:40px;height:40px;border:1px solid #d8cfb8;border-radius:50%;background:#f1ddb0;color:#65451e;font-size:12px;font-weight:700}
.welcome{display:flex;justify-content:space-between;align-items:end;padding:67px 0 36px}
.eyebrow{margin:0 0 10px;color:#78877e;font:500 11px 'DM Mono',monospace;letter-spacing:1.05px}
.amber{color:#956221}
h1,h2{font-family:Fraunces,Georgia,serif;letter-spacing:-1.25px}
.welcome h1{font-size:48px;line-height:1.03;margin:0 0 11px}
.welcome p:not(.eyebrow){margin:0;max-width:590px;color:var(--muted);font-size:17px;line-height:1.5}
.outline{border:1px solid #b8c5bb;background:rgba(255,255,255,.44);border-radius:9px;padding:12px 17px;color:#245c47;font-weight:700;font-size:14px;transition:.2s}
.outline:hover{background:#fff;border-color:#6c987b;transform:translateY(-1px)}
.alert-card{position:relative;overflow:hidden;background:var(--cream);border:1px solid #f0dfb5;border-radius:17px;padding:31px;display:flex;gap:20px;align-items:flex-start;box-shadow:0 10px 30px rgba(128,91,24,.05)}
.alert-card:after{content:'';position:absolute;width:190px;height:190px;border-radius:50%;right:-68px;bottom:-125px;background:#f6dc9e;opacity:.45}
.alert-icon{z-index:1;flex:0 0 34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dca24b;color:#614114;font-weight:700;font-size:20px}
.alert-copy{z-index:1;flex:1}
.alert-copy h2{font-size:27px;line-height:1.13;margin:0 0 9px}
.alert-copy>p:not(.eyebrow){margin:0;max-width:640px;color:#626559;line-height:1.5}
.primary{margin-top:22px;border:0;background:var(--green);color:#fff;border-radius:9px;padding:13px 17px;font-weight:700;font-size:14px;box-shadow:0 5px 10px rgba(29,96,75,.16);transition:.2s}
.primary:hover{background:var(--green-dark);transform:translateY(-1px)}
.primary:disabled{opacity:.62;cursor:wait;transform:none}
.primary span{margin-left:13px;font-size:17px}
.date{z-index:1;min-width:88px;text-align:center;border-left:1px solid #eadcb8;padding-left:22px;display:flex;flex-direction:column}
.date strong{font:700 30px Fraunces,serif}.date span{font:500 10px 'DM Mono',monospace;letter-spacing:.7px;color:#81591c}.date small{color:#9a8b6f;font-size:11px;margin-top:4px}
.heading{display:flex;justify-content:space-between;align-items:end;margin:64px 0 21px}.heading h2{font-size:30px;margin:0}.link-button{border:0;background:transparent;color:var(--green);font-size:14px;font-weight:700}
.document-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.document-card{position:relative;min-height:159px;border:1px solid var(--line);background:rgba(255,255,255,.7);border-radius:13px;padding:18px;text-align:left;transition:.2s}
.document-card:hover,.document-card.selected{transform:translateY(-3px);border-color:#8eaf9a;box-shadow:var(--shadow)}
.doc-icon{width:33px;height:33px;display:grid;place-items:center;background:#e4f0e6;border-radius:9px;color:#39715c;font-size:18px}
.document-copy{display:flex;flex-direction:column;gap:5px;margin-top:18px;padding-right:3px}.document-copy strong{font-size:15px}.document-copy small{font-size:12px;color:#77837a;line-height:1.35}
.status{position:absolute;right:13px;top:14px;border-radius:10px;padding:3px 8px;font-size:10px;font-weight:700}.ready{background:#e1eee1;color:#29704e}.refresh{background:#f7ead0;color:#a76c1e}.missing{background:#f5ded7;color:#aa583e}
.delete-document{position:absolute;right:13px;bottom:13px;color:#8b5a50!important;font-weight:600!important}.delete-document:hover{color:#a33324!important}
.empty-vault{grid-column:1/-1;display:flex;align-items:center;gap:17px;padding:25px 27px;border:1px dashed #aebfb1;border-radius:13px;background:linear-gradient(100deg,#fbfdf9,#f2f8f2);color:#526258}.empty-vault>span{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;background:#dcecdf;color:#347058}.empty-vault div{flex:1}.empty-vault strong{display:block;font-size:15px}.empty-vault p{margin:3px 0 0;font-size:13px;line-height:1.4}
.dossier{margin-top:54px;background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:31px 33px;box-shadow:0 12px 30px rgba(31,61,47,.035)}
.dossier-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:25px;border-bottom:1px solid var(--line)}.dossier-header-actions{display:flex;align-items:center;gap:15px}.collapse-dossier{white-space:nowrap;font-size:13px}.dossier.is-collapsed .checklist,.dossier.is-collapsed .dossier-footer,.dossier.is-collapsed .success{display:none}.dossier.is-collapsed .dossier-header{border-bottom:0;padding-bottom:0}.dossier-header h2{font-size:29px;margin:0 0 8px}.dossier-header p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.progress{display:grid;place-items:center;width:73px;height:73px;border-radius:50%;border:6px solid var(--leaf);background:#f8fbf7;color:var(--green)}.progress strong{font-size:17px;line-height:17px}.progress span{font-size:10px;color:#688071}
.checklist{padding-top:10px}.check-row{width:100%;display:flex;align-items:center;gap:13px;padding:15px 0;border:0;border-bottom:1px solid #edf0eb;background:transparent;text-align:left}.check-row input{position:absolute;opacity:0}.checkmark{height:23px;width:23px;flex:0 0 23px;border-radius:7px;border:1px solid #b7c7bb;display:grid;place-items:center;color:white;font-size:14px}.check-row.done .checkmark{background:#498069;border-color:#498069}.check-copy{display:flex;flex-direction:column;gap:3px;flex:1}.check-copy strong{font-size:14px}.check-copy small{color:#78847b;font-size:12px}.check-row em{font-style:normal;font-size:12px;color:#35735a}.add{border:0;background:none;color:var(--green);font-size:12px;font-weight:700}
.choose-journey{margin:8px 0;padding:17px 16px;border:1px solid #dde6dc;border-radius:12px;transition:.18s}.choose-journey:hover{border-color:#72a184;background:#f4f9f3;transform:translateX(3px)}.choose-journey .checkmark{background:#eef5ed;border-color:#d5e4d5;color:#347058}.choose-journey .check-copy strong{font-size:15px}.choose-journey .check-copy small{margin-top:2px}.choose-journey+.choose-journey{margin-top:10px}
.dossier-footer{display:flex;align-items:center;justify-content:space-between;padding-top:22px}.dossier-footer p{max-width:565px;margin:0;color:#778079;font-size:12px;line-height:1.55}.dossier-footer .primary{margin-top:0}.success{margin-top:20px;border-radius:9px;background:#e7f0e7;color:#285c48;padding:14px 16px;font-size:14px;line-height:1.45}
.family{margin-top:44px;padding:30px 31px;background:#e4f0e4;border:1px solid #d4e2d3;border-radius:16px;display:grid;grid-template-columns:110px 1fr auto;gap:25px;align-items:center}.family h2{font-size:27px;margin:0 0 7px}.family p:not(.eyebrow){margin:0;color:#607168;font-size:14px;line-height:1.5}.people{height:72px;position:relative}.people span,.people b{position:absolute;width:47px;height:47px;border-radius:50%;display:grid;place-items:center;font-size:12px}.people span{left:0;top:12px;background:#e1bb77;color:#563b1f}.people b{right:0;top:0;background:#a9cbb4;color:#285b48}.people i{position:absolute;height:2px;width:34px;background:#759c83;top:34px;left:37px;transform:rotate(-24deg)}
footer{text-align:center;color:#899089;font-size:12px;padding-top:48px}
@media(max-width:760px){main{padding:0 18px 40px}nav{height:72px}.nav-links{display:none}.welcome{padding:42px 0 30px;align-items:flex-start;gap:18px;flex-direction:column}.welcome h1{font-size:40px}.welcome p:not(.eyebrow){font-size:16px}.alert-card{padding:23px 20px;gap:13px}.alert-copy h2{font-size:24px}.date{display:none}.document-grid{grid-template-columns:repeat(2,1fr);gap:10px}.document-card{min-height:145px;padding:15px}.empty-vault{align-items:flex-start;flex-wrap:wrap;padding:20px}.empty-vault .outline{margin-left:56px}.dossier{margin-top:40px;padding:23px 20px}.dossier-header h2{font-size:24px}.progress{width:60px;height:60px;border-width:5px}.dossier-footer{align-items:stretch;gap:17px;flex-direction:column}.dossier-footer .primary{width:100%}.family{grid-template-columns:1fr;gap:14px;padding:24px}.people{display:none}.family .outline{justify-self:start}}


/* Public landing and signed-in product architecture */
#marketing,#app-shell{max-width:1180px;margin:auto;padding:0 34px 64px}
#marketing[hidden],#app-shell[hidden],.app-view[hidden]{display:none!important}
.marketing-nav,.app-nav{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.marketing-actions{display:flex;gap:16px;align-items:center}.text-action{border:0;background:transparent;color:#315b4c;font-weight:700;font-size:14px;padding:10px 4px}.text-action:hover{color:var(--green-dark);text-decoration:underline}.compact{margin:0;padding:11px 15px}
.landing-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(350px,.8fr);gap:80px;align-items:center;padding:86px 5px 104px}.hero-copy h1{font:700 clamp(45px,5.2vw,66px)/1.01 Fraunces,Georgia,serif;letter-spacing:-2.7px;margin:0 0 20px;max-width:700px}.hero-copy>p:not(.eyebrow){max-width:600px;margin:0;color:var(--muted);font-size:18px;line-height:1.6}.hero-actions{display:flex;align-items:center;gap:20px;margin-top:29px}.hero-actions .primary{margin:0}.hero-note{margin:17px 0 0!important;color:#78847b!important;font-size:12px!important}
.hero-preview{position:relative;background:#fbfaf6;border:1px solid #dce5da;border-radius:18px;padding:20px;box-shadow:0 25px 55px rgba(23,76,59,.14);transform:rotate(2.5deg)}.hero-preview:before{content:'';position:absolute;inset:-14px 14px 14px -14px;border-radius:20px;background:#e3f0e3;z-index:-1}.preview-top{display:flex;align-items:center;gap:9px;padding-bottom:17px;border-bottom:1px solid #e5e9e1;font-size:14px;font-weight:700}.preview-top b{margin-left:auto;background:#e7f1e6;border-radius:20px;padding:5px 8px;color:#407158;font:500 10px 'DM Mono',monospace}.preview-mark{font:700 23px Fraunces,serif;color:#d77946}.preview-doc{display:flex;align-items:center;gap:10px;padding:15px 0;border-bottom:1px solid #edf0ea}.preview-doc i{width:31px;height:31px;display:grid;place-items:center;background:#e3eee5;border-radius:8px;color:#39715c;font-style:normal}.preview-doc span{display:flex;flex-direction:column;gap:2px;flex:1}.preview-doc strong{font-size:13px}.preview-doc small{color:#7b857c;font-size:11px}.preview-doc em{font-style:normal;background:#e2efdf;color:#347051;border-radius:10px;padding:3px 7px;font-size:10px;font-weight:700}.preview-journey{margin-top:18px;padding:16px;border-radius:11px;background:#fcf1d8}.preview-journey p{margin:0 0 7px;color:#9a6521;font:500 10px 'DM Mono',monospace;letter-spacing:.7px}.preview-journey strong{display:block;font:600 17px Fraunces,serif;line-height:1.25}.preview-journey span{display:flex;justify-content:space-between;margin-top:10px;color:#72644b;font-size:11px}.preview-journey b{color:#90601f;font-size:16px}
.two-pillars{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:88px 0 100px;border-top:1px solid var(--line)}.section-intro{grid-column:1/-1;max-width:680px;margin-bottom:24px}.section-intro h2{font-size:38px;line-height:1.12;margin:0}.pillar{min-height:337px;padding:30px;border:1px solid var(--line);border-radius:16px}.vault-pillar{background:#eef5ec}.journey-pillar{background:#fff6e2}.pillar-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;margin-bottom:47px;font-size:21px}.vault-pillar .pillar-icon{background:#d5e7d6;color:#2d7354}.journey-pillar .pillar-icon{background:#f2dca4;color:#966221}.pillar h3{font:600 28px Fraunces,serif;letter-spacing:-1px;margin:0 0 9px}.pillar>p:not(.eyebrow){max-width:430px;margin:0;color:#607168;line-height:1.55}.pillar ul{list-style:none;padding:0;margin:19px 0 0}.pillar li{margin:8px 0;color:#426353;font-size:13px}.pillar li:before{content:'✓';margin-right:9px;color:#2f7255;font-weight:700}.journey-pillar li:before{color:#9a6420}
.landing-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:43px 45px;background:#1d604b;border-radius:18px;color:white}.landing-cta .eyebrow{color:#b6d0bb}.landing-cta h2{font-size:35px;line-height:1.15;margin:0}.landing-cta .primary{margin:0;background:#f2c66e;color:#27422f}.landing-cta .primary:hover{background:#ffe0a0}
.app-tabs{display:flex;gap:4px;padding:4px;border:1px solid #e0e5dd;border-radius:10px;background:#f4f6f1}.app-tab{border:0;background:transparent;color:#718078;padding:8px 14px;border-radius:7px;font-size:14px;font-weight:700}.app-tab.active{background:#fff;color:var(--green);box-shadow:0 2px 7px rgba(31,61,47,.08)}
.app-welcome{display:flex;justify-content:space-between;align-items:end;padding:59px 0 38px}.app-welcome h1{font-size:45px;margin:0 0 9px}.app-welcome p:not(.eyebrow){margin:0;color:var(--muted);font-size:17px}.section-description{margin:7px 0 0;color:var(--muted);font-size:14px}.app-view>.alert-card{margin-top:4px}.app-view .dossier{margin-top:28px}
@media(max-width:760px){#marketing,#app-shell{padding:0 18px 40px}.marketing-nav,.app-nav{height:72px}.marketing-actions .text-action{display:none}.marketing-actions .primary{font-size:12px;padding:10px 11px}.landing-hero{grid-template-columns:1fr;gap:46px;padding:55px 0 65px}.hero-copy h1{font-size:47px;letter-spacing:-2px}.hero-copy>p:not(.eyebrow){font-size:16px}.hero-actions{align-items:flex-start;gap:13px;flex-direction:column}.hero-preview{max-width:360px;margin:0 auto;transform:rotate(1.5deg)}.two-pillars{grid-template-columns:1fr;padding:60px 0;gap:12px}.section-intro{margin-bottom:15px}.section-intro h2{font-size:31px}.pillar{min-height:0;padding:24px}.pillar-icon{margin-bottom:35px}.pillar h3{font-size:25px}.landing-cta{align-items:flex-start;padding:30px;flex-direction:column}.landing-cta h2{font-size:29px}.landing-cta .primary{width:100%}.app-tabs{position:absolute;left:50%;transform:translateX(-50%)}.app-tab{padding:8px 10px;font-size:12px}.app-welcome{padding:40px 0 28px;gap:17px;align-items:flex-start;flex-direction:column}.app-welcome h1{font-size:39px}.app-welcome .outline{width:100%}}

.app-tabs{gap:7px;padding:6px;border:1px solid #d6e0d5;border-radius:13px;background:#edf3ec;box-shadow:inset 0 1px 1px rgba(23,76,59,.04)}
.app-tab{min-width:150px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;background:transparent;color:#466256;padding:11px 16px;border-radius:9px;font-size:14px;font-weight:700;transition:.2s}
.tab-icon{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:#dce9dc;color:#356d55;font-size:15px;line-height:1}
.app-tab:hover{background:#f9fcf8;color:#245b47}.app-tab.active{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 5px 12px rgba(29,96,75,.2)}.app-tab.active .tab-icon{background:rgba(255,255,255,.18);color:#fff}
@media(max-width:760px){.app-tabs{gap:3px;padding:4px}.app-tab{min-width:0;padding:8px 9px;gap:5px;font-size:12px}.tab-icon{width:19px;height:19px;border-radius:5px;font-size:12px}}

.app-tabs{background:transparent;border:0;box-shadow:none;padding:0}
.app-tab[data-view="vault"]{background:#e4f0e4;border-color:#cfe0d0;color:#286149}
.app-tab[data-view="journeys"]{background:#f9ecd0;border-color:#ecd5a3;color:#8d5c1b}
.app-tab[data-view="vault"] .tab-icon{background:#cce1cd;color:#266047}
.app-tab[data-view="journeys"] .tab-icon{background:#efd59b;color:#8c5919}
.app-tab[data-view="vault"].active{background:#1d604b;border-color:#1d604b;color:#fff}
.app-tab[data-view="journeys"].active{background:#bc7b28;border-color:#bc7b28;color:#fff;box-shadow:0 5px 12px rgba(145,90,23,.22)}
.app-tab[data-view="vault"].active .tab-icon,.app-tab[data-view="journeys"].active .tab-icon{background:rgba(255,255,255,.19);color:#fff}

/* Vault organisation */
.vault-overview{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin-bottom:18px}.vault-filter{min-height:95px;padding:13px 10px;border:1px solid #dde5dc;border-radius:12px;background:#fffefb;text-align:left;transition:.18s}.vault-filter:hover{transform:translateY(-2px);border-color:#91af98;box-shadow:0 8px 16px rgba(31,61,47,.06)}.vault-filter span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#edf4ec;color:#347058;font-weight:700}.vault-filter strong,.vault-filter small{display:block}.vault-filter strong{margin-top:10px;font-size:12px;line-height:1.15}.vault-filter small{margin-top:4px;color:#7a877e;font-size:10px;line-height:1.2}.vault-filter.active{background:#edf6ed;border-color:#74a287}.vault-filter.attention-filter span{background:#fff0d0;color:#a26b1d}.vault-filter.attention-filter.active{background:#fff5df;border-color:#d9aa56}.vault-filter.archive-filter span{background:#ebedf0;color:#606e78}.vault-filter.archive-filter.active{background:#f1f3f5;border-color:#a8b1b8}.vault-context{display:flex;align-items:baseline;gap:12px;padding:14px 16px;border-radius:11px;background:#f3f7f2;color:#65746b;margin-bottom:15px}.vault-context strong{color:#315d49;font-size:14px}.vault-context span{font-size:12px;line-height:1.4}.status.expired{background:#f5ded7;color:#aa583e}.status.expiring{background:#f7ead0;color:#a76c1e}.status.current{background:#e1eee1;color:#29704e}.status.archived{background:#e7eaed;color:#68747d}.archive-document,.restore-document{position:absolute;left:13px;bottom:13px}.restore-document{color:#346753!important}.delete-document{position:absolute;right:11px;bottom:10px;border:0;background:transparent;color:#9a776d!important;font-size:21px;line-height:1;padding:4px}.delete-document:hover{color:#a33324!important}.lifecycle-archived{opacity:.72;background:#f5f6f4}.lifecycle-expired{border-color:#efd6cf}.lifecycle-expiring{border-color:#ecd8ac}
@media(max-width:1020px){.vault-overview{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.vault-overview{grid-template-columns:repeat(2,1fr);gap:8px}.vault-filter{min-height:83px}.vault-context{align-items:flex-start;gap:3px;flex-direction:column}.vault-context span{font-size:11px}}

/* Journey workspace */
.journey-heading{margin:0 0 22px}.journey-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:25px}.journey-card{min-height:142px;display:flex;align-items:flex-start;gap:12px;padding:17px;border:1px solid #e2dfd5;border-radius:14px;background:#fffefb;text-align:left;transition:.18s}.journey-card:hover{transform:translateY(-2px);border-color:#d1a555;box-shadow:0 10px 18px rgba(145,90,23,.08)}.journey-card.selected{background:#fff5dd;border-color:#cb9136;box-shadow:0 10px 20px rgba(145,90,23,.1)}.journey-card-icon{flex:0 0 31px;width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#f6e4b8;color:#986220;font-weight:700}.journey-card>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:5px}.journey-card small{color:#987044;font:500 9px 'DM Mono',monospace;letter-spacing:.7px}.journey-card strong{font:600 16px/1.18 Fraunces,serif;letter-spacing:-.45px}.journey-card em{font-style:normal;color:#6d756d;font-size:11px}.journey-card>b{color:#a96f21;font-size:17px}.journey-card.suggestion{border-style:dashed;background:#fffdfa}.journey-card.suggestion .journey-card-icon{background:#edf3ec;color:#39705a}.journey-empty{display:flex;align-items:center;gap:13px;padding:23px 5px;color:#68766e}.journey-empty>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#f6e4b8;color:#986220;font-weight:700}.journey-empty strong{font-size:14px}.journey-empty p{margin:3px 0 0;color:#7b857d;font-size:12px}.journey-actions{display:flex;align-items:center;gap:11px}.journey-actions .primary{margin-top:0}
@media(max-width:900px){.journey-board{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.journey-board{grid-template-columns:1fr}.journey-card{min-height:112px}.journey-actions{width:100%;align-items:stretch;flex-direction:column}.journey-actions .outline,.journey-actions .primary{width:100%}}


.journey-board { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.journey-group { display: grid; min-width: 0; gap: 10px; }
.journey-group-title { margin: 0; color: #78847b; font: 700 11px/1.2 Arial, sans-serif; letter-spacing: .13em; }
.journey-group-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.journey-new { padding-top: 6px; }
.completed-journeys { margin-top: 4px; border-top: 1px solid #dfe5dd; padding-top: 16px; }
.completed-journeys summary { display: flex; align-items: center; justify-content: space-between; color: #587063; font: 700 14px Arial, sans-serif; cursor: pointer; list-style: none; }
.completed-journeys summary::-webkit-details-marker { display: none; }
.completed-journeys summary span { display: grid; min-width: 24px; height: 24px; place-items: center; border-radius: 50%; background: #edf1ea; color: #315d4c; font-size: 12px; }
.completed-journeys[open] summary { margin-bottom: 12px; }
@media (max-width: 820px) { .journey-group-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .journey-group-grid { grid-template-columns: 1fr; } }


/* Démarches : tableau de bord orienté action */
.journey-board{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;margin:8px 0 30px}
.journey-group{gap:11px}.journey-group-title{color:#6d7d73;font:700 11px/1.2 Arial,sans-serif;letter-spacing:.14em}
.resume-list{display:grid;gap:10px}
.resume-journey{display:flex;align-items:center;gap:15px;width:100%;padding:17px 19px;border:1px solid #d6e2d8;border-radius:15px;background:#f7fbf7;color:#1e2924;text-align:left;transition:.18s}
.resume-journey:hover{transform:translateY(-1px);border-color:#78a58a;box-shadow:0 9px 18px rgba(34,84,59,.08)}
.resume-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:#dcecdf;color:#216549;font-weight:800}
.resume-copy{display:grid;gap:4px;min-width:0;flex:1}.resume-copy small{color:#59806b;font:700 10px Arial,sans-serif;letter-spacing:.12em}.resume-copy strong{font:600 20px/1.13 Fraunces,Georgia,serif;letter-spacing:-.45px}.resume-copy em{overflow:hidden;color:#69766e;font-size:13px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.resume-action{display:flex;align-items:center;gap:9px;color:#1f664f;font:700 13px Arial,sans-serif;white-space:nowrap}.resume-action b{font-size:19px}
.empty-resume{padding:18px 19px;border:1px dashed #d7e1d8;border-radius:14px;background:#fbfcfa}.empty-resume p{margin:0;color:#78847b;font-size:14px}
.journey-new{padding-top:6px}.start-journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.start-journey{display:flex;align-items:center;gap:12px;min-height:100px;padding:16px;border:1px solid #e0e5de;border-radius:14px;background:#fff;text-align:left;transition:.18s}.start-journey:hover{border-color:#78a58a;background:#f7fbf7;transform:translateY(-2px)}
.start-journey-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#edf3ec;color:#39705a;font-weight:800}.start-journey>span:nth-child(2){display:grid;gap:5px;min-width:0;flex:1}.start-journey strong{font:600 16px/1.15 Fraunces,Georgia,serif}.start-journey em{color:#748078;font-size:12px;font-style:normal}.start-journey>b{color:#39705a;font-size:17px}
.completed-card{min-height:104px}.dossier[hidden]{display:none!important}
@media(max-width:760px){.resume-journey{align-items:flex-start}.resume-action{padding-top:4px;font-size:0}.resume-action b{font-size:19px}.resume-copy strong{font-size:18px}.start-journey-grid{grid-template-columns:1fr}.start-journey{min-height:82px}.dossier-header-actions{align-items:flex-end;flex-direction:column;gap:8px}.collapse-dossier{font-size:12px}}


/* Hiérarchie finale des démarches */
.journey-group-title{display:flex;align-items:center;gap:10px;color:#244c3d;font:800 14px/1.2 Arial,sans-serif;letter-spacing:.1em}
.journey-group-title::after{content:"";height:1px;flex:1;background:#dbe5dc}
.journey-new{padding:20px;border:1px solid #e0e8df;border-radius:17px;background:#fbfdfb}
.resume-group{padding:20px;border:1px solid #d6e2d8;border-radius:17px;background:#f8fbf8}
.resume-group .dossier{margin:16px 0 0;background:#fff}
.empty-resume{background:#fafcf9}.empty-resume p{padding-top:3px}
.completed-journeys{margin:0;padding:20px;border:1px solid #e0e8df;border-radius:17px;background:#fbfdfb}
.completed-journeys summary{color:#244c3d;font:800 14px/1.2 Arial,sans-serif;letter-spacing:.1em}
.completed-journeys summary span{background:#e8f0e8;color:#285c48}
.completed-journeys[open] summary{padding-bottom:15px;margin-bottom:14px;border-bottom:1px solid #dbe5dc}
@media(max-width:760px){.journey-new,.resume-group,.completed-journeys{padding:16px}.journey-group-title{font-size:13px}.resume-group .dossier{margin-top:13px}}


/* Checklist : information lisible avant l'action */
.custom-list-note{display:grid;gap:8px;margin:13px 0 7px;padding:17px 18px;border:1px solid #e0e8df;border-radius:13px;background:#f8fbf7}
.custom-list-note>strong{display:block;color:#22382e;font:700 19px/1.22 Fraunces,Georgia,serif;letter-spacing:-.3px}
.custom-list-note>span{display:block;color:#66756c;font-size:12px;line-height:1.48}
.custom-list-note>span b{color:#315d4c}
.custom-list-note a{display:inline-flex;align-items:center;color:#1f664f;font-weight:700;text-underline-offset:3px}
.custom-list-note .link-button{justify-self:start;margin-top:2px;padding:5px 0;color:#23634b;font-size:12px;font-weight:800}
.check-row{min-width:0}
.check-row.done{background:linear-gradient(90deg,#f4faf4,transparent 78%)}
.ready-actions{display:flex;align-items:center;gap:13px;flex:0 0 auto;white-space:nowrap}
.ready-actions .link-button{border:0;background:transparent;color:#23634b;font-size:12px;font-weight:800;cursor:pointer;padding:5px 0}
.ready-actions .link-button:hover{color:#133f30;text-decoration:underline}
.ready-actions em{font-style:normal;font-size:12px;color:#35735a}
.requirement-actions{display:flex;align-items:center;gap:15px;flex:0 0 auto;white-space:nowrap}
.requirement-actions .link-button{border:0;background:transparent;color:#1f664f;font-size:12px;font-weight:800;cursor:pointer;padding:5px 0}
.requirement-actions .link-button:hover,.custom-list-note .link-button:hover{color:#133f30;text-decoration:underline}
@media(max-width:640px){.custom-list-note{padding:15px}.custom-list-note>strong{font-size:17px}.check-row{align-items:flex-start}.check-copy{padding-top:1px}.requirement-actions,.ready-actions{gap:10px;flex-direction:column;align-items:flex-end}.check-row em{padding-top:4px}.check-copy strong{font-size:13px;line-height:1.32}.check-copy small{line-height:1.35}}

.vault-document-actions{position:absolute;left:18px;bottom:13px;display:flex;align-items:center;gap:10px}.vault-document-actions .link-button{border:0;background:transparent;color:#23634b;font-size:12px;font-weight:800;cursor:pointer;padding:4px 0}.vault-document-actions .link-button:hover{text-decoration:underline;color:#133f30}.vault-document-actions .add{border:0;background:transparent;color:#4e6859;font-size:12px;font-weight:700;cursor:pointer;padding:4px 0}.vault-document-actions .add:hover{text-decoration:underline}.document-card .delete-document{padding:4px 0;border:0;background:transparent;cursor:pointer}@media(max-width:640px){.vault-document-actions{gap:8px}.vault-document-actions .link-button,.vault-document-actions .add{font-size:11px}}

/* Actions du coffre : deux rangées lisibles, sans recouvrir les informations. */
.document-card{min-height:205px}.document-copy{padding-bottom:62px}.vault-document-actions{right:42px;bottom:12px;display:grid;grid-template-columns:max-content max-content;align-items:center;column-gap:14px;row-gap:3px}.vault-document-actions .link-button,.vault-document-actions .add{white-space:nowrap;line-height:1.2}.document-card .delete-document{right:17px;bottom:18px;font-size:22px;line-height:1}@media(max-width:640px){.document-card{min-height:212px}.vault-document-actions{column-gap:10px}.vault-document-actions .link-button,.vault-document-actions .add{font-size:11px}}

/* Carte du coffre : une action directe, les autres sont rangées dans un menu. */
.document-card{min-height:184px}.document-copy{padding-bottom:40px}.vault-document-actions{left:18px;right:auto;bottom:14px;display:flex;align-items:center;gap:9px}.vault-document-actions .open-vault-document{border:0;border-radius:8px;background:#1f664f;color:#fff;padding:7px 11px;font:800 12px Arial;cursor:pointer}.vault-document-actions .open-vault-document:hover{background:#174d3d}.vault-more{position:relative}.vault-more summary{list-style:none;border:1px solid #cedbd0;border-radius:8px;background:#fff;color:#315d4c;padding:6px 10px;font:800 12px Arial;cursor:pointer}.vault-more summary::-webkit-details-marker{display:none}.vault-more summary::after{content:"⌄";margin-left:6px}.vault-more[open] summary::after{content:"⌃"}.vault-more-menu{position:absolute;z-index:4;left:0;bottom:34px;display:grid;min-width:142px;padding:6px;background:#fff;border:1px solid #cbd8cd;border-radius:10px;box-shadow:0 10px 24px rgba(28,59,44,.17)}.vault-more-menu button{border:0;background:transparent;text-align:left;color:#275e49;padding:8px 9px;font:700 12px Arial;white-space:nowrap;cursor:pointer;border-radius:6px}.vault-more-menu button:hover{background:#edf5ee}.vault-more-menu .archive-document{color:#58705f}.vault-more-menu .restore-document{color:#275e49}.document-card .delete-document{right:17px;bottom:20px;font-size:22px;line-height:1}@media(max-width:640px){.document-card{min-height:188px}.vault-document-actions{bottom:13px}}

/* Le contenu de « Plus » doit toujours rester une liste verticale lisible. */
.vault-more-menu{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important;width:164px!important;padding:6px!important}.vault-more-menu>button{display:block!important;width:100%!important;min-height:34px!important;margin:0!important;padding:8px 10px!important;line-height:18px!important;white-space:nowrap!important}.vault-more-menu .add{position:static!important;color:#58705f!important}

/* Une démarche reprise s’ouvre directement sous sa propre carte. */
.resume-item{display:grid;gap:10px}.resume-item.is-open .resume-journey{border-color:#78a58a;background:#f1f8f2}.inline-dossier-slot{margin:0 0 4px}.inline-dossier-slot .dossier{margin:0;border-color:#cfe0d2;box-shadow:none}.inline-dossier-slot .dossier-header{padding-top:0}@media(max-width:640px){.inline-dossier-slot .dossier{padding:22px 17px}.resume-action{font-size:12px}}


/* Archives de démarches : un historique calme et consultable, distinct de l’action. */
.journey-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}.journey-section-heading>span{color:#77847c;font:600 12px Arial,sans-serif;white-space:nowrap}.completed-journeys{display:grid;gap:15px;margin:0;padding:22px;border:1px solid #dbe4db;border-radius:17px;background:#f9fbf8}.completed-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #dbe5dc;padding-bottom:15px}.completed-heading .journey-group-title{margin:0}.completed-heading p:last-child{margin:7px 0 0;color:#6d7b72;font-size:13px;line-height:1.4}.completed-count{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#e6efe6;color:#285c48;font:800 13px Arial,sans-serif}.completed-list{display:grid;gap:8px}.completed-item{display:grid;gap:9px}.completed-journey{display:flex;align-items:center;gap:14px;width:100%;padding:14px 15px;border:1px solid #e0e7e0;border-radius:12px;background:#fff;color:#24352c;text-align:left;transition:.18s}.completed-journey:hover{border-color:#aabfaf;background:#f5faf5}.completed-item.is-open .completed-journey{border-color:#92b59a;background:#f2f8f2}.completed-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#e1eee2;color:#2e7251;font-weight:900}.completed-copy{display:grid;gap:4px;min-width:0;flex:1}.completed-copy strong{font:700 15px/1.25 Arial,sans-serif}.completed-copy em{overflow:hidden;color:#718078;font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.completed-action{display:flex;align-items:center;gap:8px;color:#466f58;font:700 12px Arial,sans-serif;white-space:nowrap}.completed-action b{font-size:17px}.completed-dossier-slot .dossier{background:#fff}@media(max-width:640px){.journey-section-heading,.completed-heading{align-items:flex-start;flex-direction:column;gap:7px}.journey-section-heading>span{white-space:normal}.completed-count{position:absolute;right:17px}.completed-heading{position:relative;padding-right:45px}.completed-journey{align-items:flex-start}.completed-action{padding-top:3px;font-size:0}.completed-action b{font-size:18px}.completed-copy strong{font-size:14px}.completed-journeys{padding:17px}}

/* V1.1 UX: a calm hierarchy inside a dossier */
.jamm-next-action{margin:18px 0;padding:18px 20px;border:1px solid #c8decf;border-radius:15px;background:#eff7ef}.jamm-next-action .eyebrow{margin:0 0 7px;color:#47725a}.jamm-next-action strong{display:block;font:700 18px/1.3 Arial,sans-serif;color:#1f3429}.jamm-next-action p:not(.eyebrow){margin:7px 0 14px;color:#5e7065;font-size:14px;line-height:1.45}.jamm-next-action .primary{margin:0}.jamm-check-group{margin-top:18px;border-top:1px solid #e1e8e0}.jamm-check-group-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:17px 0 11px}.jamm-check-group-heading h3{margin:0;font:700 17px/1.25 Arial,sans-serif;color:#20352a}.jamm-check-group-heading p{margin:4px 0 0;color:#708078;font-size:13px;line-height:1.4}.jamm-check-group-heading>span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:#edf2ed;color:#2b674c;font:800 13px Arial,sans-serif}.jamm-check-group.needed .jamm-check-group-heading>span{background:#fff0d2;color:#95621a}.jamm-check-group .check-row{border-top:1px solid #e8ede7}.jamm-vault-start{padding:25px;border:1px solid #d9e4d9;border-radius:16px;background:#f4f8f3}.jamm-vault-start .eyebrow{margin:0 0 7px}.jamm-vault-start h3{margin:0;font:600 24px/1.2 Georgia,serif}.jamm-vault-start p:not(.eyebrow){margin:9px 0 17px;color:#68776e}.jamm-vault-start>div{display:flex;flex-wrap:wrap;gap:9px}.jamm-vault-start button{border:1px solid #bcd0c1;border-radius:9px;background:#fff;color:#245d46;padding:10px 12px;font:700 13px Arial,sans-serif;cursor:pointer}.jamm-vault-start button:hover{background:#e7f1e7}.jamm-review-list{display:grid;gap:0;margin:19px 0;padding:0;border-top:1px solid #e2e8e1;list-style:none}.jamm-review-list li{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #e2e8e1}.jamm-review-list li>span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border:1px solid #b9ccbc;border-radius:50%;color:#337050;font:800 13px Arial,sans-serif}.jamm-review-list li.missing>span{border-color:#e1b45c;color:#926319}.jamm-review-list strong,.jamm-review-list small{display:block}.jamm-review-list strong{font:700 14px/1.35 Arial,sans-serif}.jamm-review-list small{margin-top:3px;color:#718078;font-size:12px}.jamm-review-source{padding:12px 13px;border-left:3px solid #88ab91;background:#f5f8f4;color:#53695b;font-size:13px;line-height:1.45}.jamm-review-source a{color:#185e45;font-weight:800}@media(max-width:640px){.jamm-next-action{padding:16px}.jamm-next-action .primary{width:100%;justify-content:center}.jamm-vault-start h3{font-size:21px}.jamm-vault-start>div{display:grid}.jamm-vault-start button{text-align:left}}

/* Coffre V1.2: retrieval and safe document handling */
.jamm-vault-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:16px 0 0;padding:14px 0;border-top:1px solid #e0e8df}.jamm-search{flex:1;min-width:180px}.jamm-search input{box-sizing:border-box;width:100%;height:42px;padding:0 13px;border:1px solid #c7d5c8;border-radius:9px;background:#fff;color:#21362a;font:14px Arial,sans-serif}.jamm-sort{display:grid;gap:5px;color:#66776d;font:700 11px Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}.jamm-sort select{height:42px;padding:0 32px 0 10px;border:1px solid #c7d5c8;border-radius:9px;background:#fff;color:#21362a;font:14px Arial,sans-serif}.jamm-view-switch{display:flex;overflow:hidden;border:1px solid #c7d5c8;border-radius:9px}.jamm-view-switch button{height:42px;border:0;border-left:1px solid #c7d5c8;background:#fff;color:#37614d;padding:0 11px;font:700 12px Arial,sans-serif;cursor:pointer}.jamm-view-switch button:first-child{border-left:0}.jamm-view-switch button[aria-pressed="true"]{background:#e8f2e9;color:#174d38}.jamm-attention-action{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:15px 17px;border:1px solid #ecd39b;border-radius:13px;background:#fff8e7}.jamm-attention-action .eyebrow{margin:0 0 4px;color:#9a691f}.jamm-attention-action strong,.jamm-attention-action span{display:block}.jamm-attention-action strong{font:700 15px Arial,sans-serif;color:#3b3320}.jamm-attention-action span{margin-top:4px;color:#776442;font-size:13px}.jamm-attention-action button{border:0;border-radius:8px;background:#8e6018;color:#fff;padding:10px 13px;font:700 13px Arial,sans-serif;cursor:pointer;white-space:nowrap}.document-grid.is-list{grid-template-columns:1fr;gap:8px}.document-grid.is-list .document-card{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto auto;align-items:center;min-height:0;padding:13px 16px}.document-grid.is-list .document-copy{gap:3px}.document-grid.is-list .vault-document-actions{margin-top:0}.document-grid.is-list .delete-document{display:none}.jamm-search-empty{padding:22px;border:1px dashed #c5d2c5;border-radius:12px;color:#68786e;text-align:center}.jamm-vault-toast{position:fixed;z-index:100;right:22px;bottom:22px;max-width:min(420px,calc(100vw - 36px));padding:14px 16px;border-radius:11px;background:#1f684c;color:#fff;box-shadow:0 10px 30px rgba(16,47,33,.22);font:700 14px/1.4 Arial,sans-serif}.jamm-vault-toast[hidden]{display:none}.vault-more-menu .replace-vault-document{color:#1e664b}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:700px){.jamm-vault-toolbar{align-items:stretch;flex-wrap:wrap}.jamm-search{order:-1;flex-basis:100%}.jamm-sort{flex:1}.jamm-sort select{width:100%}.jamm-view-switch{flex:0 0 auto}.jamm-attention-action{align-items:flex-start;flex-direction:column;gap:11px}.jamm-attention-action button{width:100%}.document-grid.is-list .document-card{grid-template-columns:auto minmax(0,1fr) auto;gap:10px}.document-grid.is-list .status{grid-column:2}.document-grid.is-list .vault-document-actions{grid-column:3;grid-row:1 / span 2}.jamm-vault-toast{right:18px;bottom:18px}}


/* Coffre : actions de document lisibles en vue liste. */
.document-grid.is-list .document-card{
  grid-template-columns:58px minmax(0,1fr) auto auto;
  grid-template-areas:"icon copy status actions";
  align-items:center;
  gap:14px;
  padding:16px 18px;
}
.document-grid.is-list .doc-icon{grid-area:icon}
.document-grid.is-list .document-copy{grid-area:copy;min-width:0}
.document-grid.is-list .status{grid-area:status;justify-self:end}
.document-grid.is-list .vault-document-actions{grid-area:actions;justify-self:end;align-self:center;margin:0}
.vault-more{position:relative}
.vault-more-menu{z-index:40}
.vault-more-menu .delete-vault-document{
  color:#a43425;
  border-top:1px solid #e8d6d0;
  margin-top:5px;
  padding-top:12px;
}
.vault-more-menu .delete-vault-document:hover,
.vault-more-menu .delete-vault-document:focus-visible{background:#fff2ef;color:#8c251b}

@media(max-width:700px){
  .document-grid.is-list .document-card{
    grid-template-columns:54px minmax(0,1fr);
    grid-template-areas:
      "icon copy"
      ". status"
      ". actions";
    align-items:start;
    gap:7px 12px;
    padding:15px;
  }
  .document-grid.is-list .status{justify-self:start;margin-top:2px}
  .document-grid.is-list .vault-document-actions{justify-self:start;margin-top:8px}
}


/* Corbeille : statut et actions de récupération. */
.trash-filter{border-color:#dfd1c8}
.trash-filter span{color:#9b4e38}
.status.trashed{background:#f7ece7;color:#97472f;white-space:nowrap}
.document-grid.is-list .document-card:has(.status.trashed){border-color:#e5d9d3;background:#fffdfc}
.document-grid.is-list .restore-trashed-document{white-space:nowrap}
@media(max-width:700px){
  .document-grid.is-list .restore-trashed-document{min-height:42px}
}

/* Vue liste compacte : les actions suivent le libellé, pas le bord droit. */
.document-grid.is-list .document-card{
  min-height:104px;
  grid-template-columns:42px minmax(0,1fr) auto;
  grid-template-areas:
    "icon copy status"
    ". actions status";
  align-content:center;
  gap:6px 12px;
  padding:13px 16px;
}
.document-grid.is-list .doc-icon{width:34px;height:34px}
.document-grid.is-list .document-copy{margin:0;padding:0}
.document-grid.is-list .document-copy small{line-height:1.25}
.document-grid.is-list .status{position:static;justify-self:end;align-self:start;margin:0}
.document-grid.is-list .vault-document-actions{
  position:static;
  justify-self:start;
  align-self:end;
  margin:0;
}
.document-grid.is-list .vault-more-menu{
  left:0;
  right:auto;
  top:calc(100% + 6px);
  bottom:auto;
}
@media(max-width:700px){
  .document-grid.is-list .document-card{
    min-height:0;
    grid-template-columns:42px minmax(0,1fr);
    grid-template-areas:
      "icon copy"
      ". status"
      ". actions";
    gap:6px 10px;
    padding:13px;
  }
  .document-grid.is-list .status{justify-self:start}
}


/* Responsive coffre : aucune carte ni action ne doit sortir du cadre. */
.document-grid.is-list .document-card{box-sizing:border-box;overflow:visible}
@media(max-width:760px){
  #app-shell{padding:0 16px 36px}
  .app-nav{
    height:auto;
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    padding:12px 0;
  }
  .app-nav .brand{font-size:29px}
  .app-nav .avatar{grid-column:2;grid-row:1}
  .app-nav .app-tabs{
    position:static;
    transform:none;
    grid-column:1 / -1;
    width:100%;
    display:flex;
    box-sizing:border-box;
  }
  .app-nav .app-tab{flex:1;min-width:0;padding:9px 6px;font-size:12px}
  .vault-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .vault-filter{min-height:76px;padding:10px}
  .vault-filter strong{margin-top:7px}
  .document-grid{grid-template-columns:1fr;gap:10px}
  .document-card{box-sizing:border-box;width:100%;min-width:0}
}
@media(min-width:701px){
  .document-grid.is-list .document-card{
    grid-template-columns:42px minmax(0,1fr) auto;
    grid-template-areas:
      "icon copy status"
      ". actions status";
  }
  .document-grid.is-list .vault-document-actions{justify-self:start}
}


/* Le menu « Plus » doit toujours passer devant les cartes suivantes. */
.document-grid{isolation:isolate;overflow:visible}
.document-card{overflow:visible}
.document-card:has(.vault-more[open]){z-index:60}
.document-card:has(.vault-more[open]) .vault-more-menu{z-index:61}


/* Corbeille des démarches : séparation nette du travail en cours. */
.resume-item,.completed-item{position:relative}
.journey-trash-button{
  position:absolute;
  right:18px;
  bottom:10px;
  border:0;
  background:transparent;
  color:#8f5545;
  padding:5px;
  font:700 12px Arial,sans-serif;
  cursor:pointer;
}
.journey-trash-button:hover,.journey-trash-button:focus-visible{color:#9f3426;text-decoration:underline}
.journey-trash{margin-top:30px;padding-top:23px;border-top:1px solid #e3d9d4}
.journey-trash-list{display:grid;gap:9px;margin-top:12px}
.journey-trash-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border:1px solid #e5d8d3;border-radius:12px;background:#fffdfc}
.journey-trash-item small,.journey-trash-item strong,.journey-trash-item em{display:block}
.journey-trash-item small{color:#9d5a47;font:700 10px Arial,sans-serif;letter-spacing:.08em}
.journey-trash-item strong{margin-top:4px;color:#26382e;font-size:15px}
.journey-trash-item em{margin-top:4px;color:#89766e;font-size:12px;font-style:normal}
.journey-trash-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.journey-trash-actions .danger{color:#9f3426}
@media(max-width:700px){
  .journey-trash-button{right:12px;bottom:8px}
  .journey-trash-item{align-items:flex-start;flex-direction:column;padding:14px}
  .journey-trash-actions{justify-content:flex-start}
}

/* Checklist unique : état lisible de chaque pièce. */
.jamm-checklist-summary{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:12px 0 6px;padding:11px 13px;border:1px solid #d8e4d8;border-radius:10px;background:#f3f8f2;color:#285b45}
.jamm-checklist-summary strong{font-size:13px}.jamm-checklist-summary span{color:#687b6d;font-size:12px}
.check-row.missing-piece{border-left:4px solid #d9a246;background:#fffaf0}
.check-row.missing-piece .checkmark{border-color:#d9a246;color:#a66f18;background:#fff0cf}
.check-row.done{border-left:4px solid #4f9971}
.ready-actions .change-requirement{color:#23634b}
@media(max-width:640px){.jamm-checklist-summary{align-items:flex-start;flex-direction:column;gap:4px}.ready-actions{flex-wrap:wrap;justify-content:flex-end}}


.ready-actions .in-vault{color:#2d7655;font-size:12px;font-weight:700;white-space:nowrap}


/* Démarches terminées : distinguer consultation et suppression. */
.completed-item .journey-trash-button{
  right:18px;
  bottom:8px;
  padding-left:14px;
  border-left:1px solid #e1d8d2;
}
.completed-item .completed-journey{padding-right:120px}
@media(max-width:640px){
  .completed-item .completed-journey{padding-right:18px;padding-bottom:36px}
  .completed-item .journey-trash-button{right:12px;bottom:7px}
}


/* Même ligne d’action pour les dossiers terminés. */
@media(min-width:641px){
  .completed-item .journey-trash-button{
    top:50%;
    bottom:auto;
    transform:translateY(-50%);
  }
}


/* « À reprendre » : reprendre et supprimer sur le même axe. */
@media(min-width:641px){
  .resume-item .journey-trash-button{
    top:50%;
    bottom:auto;
    transform:translateY(-50%);
  }
  .resume-item .resume-journey{padding-right:126px}
  .resume-item .resume-action{margin-right:46px}
}
@media(max-width:640px){
  .resume-item .resume-journey{padding-right:92px}
  .resume-item .resume-action{margin-right:26px;font-size:0}
  .resume-item .resume-action b{font-size:18px}
  .resume-item .journey-trash-button,
  .completed-item .journey-trash-button{
    top:50%;
    bottom:auto;
    transform:translateY(-50%);
    right:12px;
  }
  .completed-item .completed-journey{padding-right:92px;padding-bottom:14px}
  .completed-item .completed-action{margin-right:26px}
}


/* Profile: dedicated account page, kept separate from the document vault */
.profile-page { max-width: 860px; margin: 0 auto 76px; }
.profile-page-heading { margin: 12px 0 26px; max-width: 680px; }
.profile-page-heading .link-button { margin: 0 0 28px; }
.profile-page-heading h2 { font: 600 clamp(34px, 5vw, 54px)/1.05 Georgia,serif; margin: 8px 0 12px; color:#152c23; }
.profile-page-heading > p:not(.eyebrow) { color:#61726a; font-size:18px; line-height:1.55; margin:0; }
.profile-summary { display:flex; align-items:center; gap:16px; padding:20px 22px; background:#e6f1e8; border:1px solid #c8dfcc; border-radius:18px; margin-bottom:24px; }
.profile-avatar-large { width:52px; height:52px; border-radius:50%; background:#1f6a54; color:#fff; display:grid; place-items:center; font-weight:800; letter-spacing:.04em; }
.profile-summary strong,.profile-summary span { display:block; }
.profile-summary strong { color:#173126; font-size:18px; }
.profile-summary div span { color:#61726a; margin-top:3px; }
.profile-form { display:grid; gap:22px; }
.profile-section { background:#fff; border:1px solid #dce5de; border-radius:18px; padding:28px; }
.profile-section-heading { margin-bottom:22px; }
.profile-section-heading h3 { font:600 26px/1.15 Georgia,serif; margin:7px 0; color:#173126; }
.profile-section-heading > p:not(.eyebrow) { color:#69786f; margin:0; font-size:15px; }
.profile-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 20px; }
.profile-fields label { display:grid; gap:8px; font-weight:700; color:#233229; }
.profile-fields input,.profile-fields select { width:100%; min-height:50px; padding:10px 12px; border:1px solid #b7c9bd; border-radius:8px; background:#fff; font:inherit; color:#18261f; }
.profile-account { padding-bottom:10px; }
.profile-account-row { display:flex; align-items:center; justify-content:space-between; gap:22px; border-top:1px solid #e3eae4; padding:18px 0; }
.profile-account-row strong,.profile-account-row span { display:block; }
.profile-account-row div span { margin-top:4px; color:#66766d; }
.profile-account-note { color:#66766d; font-size:14px; text-align:right; }
.profile-actions { display:flex; align-items:center; gap:22px; }
.profile-error { color:#aa3425; margin:0; }
.profile-status { color:#245843; margin:0; font-weight:700; }
@media (max-width:640px) {
  .profile-page { margin-bottom:42px; }
  .profile-page-heading { margin-top:0; }
  .profile-page-heading .link-button { margin-bottom:20px; }
  .profile-section { padding:22px 18px; border-radius:14px; }
  .profile-fields { grid-template-columns:1fr; gap:16px; }
  .profile-account-row { align-items:flex-start; flex-direction:column; gap:8px; }
  .profile-account-note { text-align:left; }
  .profile-actions { align-items:stretch; flex-direction:column; gap:14px; }
  .profile-actions .primary { width:100%; }
}

/* Checklist : une liste unique, sans légende répétitive ni actions qui se chevauchent. */
.custom-list-note{display:flex;align-items:center;flex-wrap:wrap;gap:7px 13px;padding:14px 16px;margin:13px 0 8px}
.custom-list-note>strong{font:700 17px/1.25 Fraunces,Georgia,serif}
.custom-list-note>span{font-size:12px}
.custom-list-note .link-button{margin:0 0 0 auto}
.jamm-checklist-summary{justify-content:flex-start;margin:8px 0 3px;padding:8px 4px;border:0;border-radius:0;background:transparent;color:#315d4c}
.check-row{display:grid;grid-template-columns:27px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 8px 14px 12px}
.check-copy small{color:#5e7b6a;font-size:12px}
.requirement-actions,.ready-actions{display:flex;flex-direction:row;align-items:center;gap:14px;white-space:nowrap}
.ready-actions .in-vault{display:none}
@media(max-width:640px){
  .custom-list-note{align-items:flex-start;padding:13px 14px}
  .custom-list-note .link-button{width:100%;margin:1px 0 0}
  .check-row{grid-template-columns:25px minmax(0,1fr);grid-template-areas:"icon copy" "icon actions";align-items:start;gap:7px 10px;padding:14px 8px 14px 10px}
  .checkmark{grid-area:icon;margin-top:1px}
  .check-copy{grid-area:copy}
  .requirement-actions,.ready-actions{grid-area:actions;justify-content:flex-start;flex-direction:row;gap:14px;min-height:30px}
}

/* La source de la checklist appartient à l’en-tête du dossier, pas à une seconde carte. */
.dossier-context{min-width:0}
#dossier-context{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:5px}
#dossier-context strong{font:700 17px/1.25 Fraunces,Georgia,serif;color:#22382e}
#dossier-context span{font-size:12px;color:#66756c}
#dossier-context a{color:#1f664f;font-weight:700;text-underline-offset:3px}
#dossier-context .link-button{margin-left:auto;padding:4px 0;font-size:12px}
@media(max-width:640px){
  .dossier-header{gap:14px}
  #dossier-context .link-button{width:100%;margin-left:0;text-align:left}
}

/* La checklist forme un seul bloc, comme les autres espaces de Jamm. */
.checklist{margin-top:12px;padding:0 16px;border:1px solid #dce5de;border-radius:16px;background:#fff;overflow:hidden}
.checklist .jamm-checklist-summary{margin:0;padding:12px 0 7px}
.checklist .check-row:first-of-type{border-top:1px solid #edf0eb}
.checklist .check-row{margin:0}
@media(max-width:640px){
  .checklist{margin-top:10px;padding:0 12px;border-radius:14px}
}

/* Deux voies explicites pour chaque pièce manquante. */
.requirement-actions .link-button{white-space:normal;text-align:left}
@media(max-width:640px){
  .requirement-actions{flex-wrap:wrap;column-gap:16px;row-gap:4px}
}

/* Une action calme dans la checklist ; les choix détaillés arrivent après le clic. */
.requirement-actions .add-requirement{min-height:34px;padding:6px 11px;font-size:12px;white-space:nowrap}
@media(max-width:640px){.requirement-actions .add-requirement{width:auto}}

/* Corbeille unique : documents et démarches sont récupérés au même endroit. */
.app-nav-utilities{display:flex;align-items:center;gap:10px}
.trash-nav{position:relative;width:40px;height:40px;border:1px solid #d4dfd5;border-radius:50%;background:#fff;color:#2b5d4b;font-size:22px;cursor:pointer}
.trash-nav:hover,.trash-nav:focus-visible,.trash-nav.active{background:#edf5ed;border-color:#aac8b1}
.trash-nav b{position:absolute;right:-5px;top:-5px;min-width:17px;height:17px;padding:0 3px;border-radius:9px;background:#b85a3d;color:#fff;font:700 10px/17px Arial,sans-serif}
.trash-page{max-width:900px;margin:20px auto 72px}
.trash-page-heading{max-width:650px;margin-bottom:28px}
.trash-page-heading h2{font:600 clamp(34px,5vw,54px)/1.05 Georgia,serif;color:#152c23;margin:8px 0 12px}
.trash-page-heading p:not(.eyebrow){margin:0;color:#61726a;font-size:18px;line-height:1.5}
.trash-page-section{margin-top:24px;border:1px solid #dce5de;border-radius:16px;background:#fff;overflow:hidden}
.trash-page-section-heading{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;background:#f6faf5;border-bottom:1px solid #e1e9e2}
.trash-page-section-heading h3{margin:0;color:#22382e;font:700 20px/1.2 Georgia,serif}
.trash-page-section-heading span{display:grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:#dcebdd;color:#285b48;font-size:12px;font-weight:800}
.trash-page-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px 18px;border-bottom:1px solid #edf0eb}
.trash-page-item:last-child{border-bottom:0}
.trash-page-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#f4e9e3;color:#9b5843;font-size:18px}
.trash-page-item small,.trash-page-item strong,.trash-page-item em{display:block}
.trash-page-item small{color:#9a5a46;font:800 10px Arial,sans-serif;letter-spacing:.08em}
.trash-page-item strong{margin-top:3px;color:#26382e;font-size:15px}
.trash-page-item em{margin-top:4px;color:#7b716c;font-size:12px;font-style:normal}
.trash-page-actions{display:flex;align-items:center;gap:14px;justify-content:flex-end}
.trash-page-actions .danger{color:#9f3426}
.trash-empty{margin:0;padding:20px 18px;color:#6d7c73;font-size:14px}
@media(max-width:760px){
 .app-nav-utilities{gap:7px}
 .trash-nav{width:36px;height:36px;font-size:19px}
 .trash-page{margin:4px auto 42px}
 .trash-page-section{border-radius:14px}
 .trash-page-item{grid-template-columns:34px minmax(0,1fr);align-items:start;padding:14px}
 .trash-page-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap;margin-top:4px}
}

/* Outil Corbeille : icône explicite et sobre, séparée des espaces de travail. */
.app-nav-utilities{padding-left:14px;border-left:1px solid #dce5de}
.trash-nav{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #ccdbcf;border-radius:11px;background:#f7faf6;color:#2e6953}
.trash-nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.trash-nav:hover,.trash-nav:focus-visible,.trash-nav.active{background:#e4f0e5;border-color:#8fba9b;color:#1d5d47}
.trash-nav.active{box-shadow:inset 0 0 0 1px #8fba9b}
@media(max-width:760px){
 .app-nav-utilities{padding-left:8px}
 .trash-nav{width:36px;height:36px;border-radius:10px}
 .trash-nav svg{width:19px;height:19px}
}

/* Dans le coffre, l’ajout est l’action principale. */
.app-welcome .vault-add{margin:0;min-height:48px;padding:13px 19px;font-size:15px;white-space:nowrap}
@media(max-width:760px){.app-welcome .vault-add{width:100%;min-height:50px}}

/* Beta authentication and confirmation flow */
.jamm-confirm-dialog .jamm-modal-card { width:min(460px,100%) !important; padding:32px !important; }
.jamm-confirm-content { text-align:left; }
.jamm-confirm-icon, .email-confirmation-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:16px; background:#e5f1e9; color:#1f664f; font-size:24px; font-weight:800; margin-bottom:18px; }
.jamm-confirm-content h2, .email-confirmation h2 { font:600 clamp(28px,4vw,34px) Georgia,serif; letter-spacing:-.03em; line-height:1.06; margin:7px 0 14px; color:#1e2924; }
.jamm-confirm-content > p:not(.eyebrow), .email-confirmation > p { color:#617168; line-height:1.55; margin:0 0 14px; }
.jamm-confirm-actions { display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; margin-top:25px; }
.danger-button { appearance:none; border:0; border-radius:10px; background:#a73e30; color:#fff; padding:12px 16px; font-weight:800; cursor:pointer; font-size:15px; }
.danger-button:hover { background:#8b3025; }
.email-confirmation { padding-right:4px; }
.email-confirmation-address { display:block; overflow-wrap:anywhere; padding:12px 14px; margin:12px 0 17px; background:#eef5ef; border-radius:10px; color:#1e5f49; font-size:16px; }
.email-confirmation ol { margin:0 0 16px 20px; padding:0; color:#38483f; line-height:1.65; }
.email-confirmation-hint { font-size:14px; }
.email-confirmation-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:22px; }
.email-confirmation-status { margin:0 0 3px; padding:10px 12px; border-radius:8px; background:#eef5ef; color:#1f664f; font-weight:700; line-height:1.4; }
@media (max-width:560px) {
  .jamm-confirm-dialog { padding:16px !important; }
  .jamm-confirm-dialog .jamm-modal-card { padding:26px 22px !important; }
  .jamm-confirm-actions { align-items:stretch; flex-direction:column-reverse; }
  .jamm-confirm-actions button { width:100%; }
}


/* Profile controls: fixed avatar centring and consistent button geometry */
.profile-summary .profile-avatar-large { flex:0 0 52px; width:52px; height:52px; display:grid; place-items:center; line-height:1; overflow:hidden; }
.profile-actions .primary,
.profile-actions .profile-signout {
  margin-top:0;
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
}
.profile-actions .profile-signout { padding:0 17px; }
.jamm-confirm-actions > button {
  min-height:50px;
  min-width:180px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  margin-top:0;
  line-height:1.15;
}
@media (max-width:640px) {
  .profile-actions .profile-signout { width:100%; }
  .jamm-confirm-actions > button { min-width:0; }
}


/* Jamlio public information pages */
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;text-align:left;margin-top:48px;padding:24px 0 0;border-top:1px solid var(--line);color:#758078;font-size:12px;line-height:1.5}
.site-footer nav{display:flex;align-items:center;gap:17px}
.site-footer a{color:var(--green-dark);font-weight:700;text-decoration:none}
.site-footer a:hover,.site-footer a:focus-visible{text-decoration:underline}
.legal-shell{max-width:920px;margin:0 auto;padding:0 34px 68px}
.legal-nav{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.legal-nav .brand{font-size:31px}
.legal-back{font-size:14px;color:var(--green-dark);font-weight:700;text-decoration:none}
.legal-back:hover,.legal-back:focus-visible{text-decoration:underline}
.legal-hero{padding:68px 0 38px;max-width:720px}
.legal-hero h1{font:700 clamp(42px,6vw,68px)/1.04 Fraunces,Georgia,serif;letter-spacing:-.045em;margin:12px 0 18px;color:var(--ink)}
.legal-hero p:not(.eyebrow){margin:0;color:var(--muted);font-size:18px;line-height:1.55}
.legal-content{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:42px 46px;box-shadow:var(--shadow)}
.legal-content h2{font:700 28px/1.15 Fraunces,Georgia,serif;margin:38px 0 12px;color:var(--ink)}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{font-size:16px;margin:22px 0 7px;color:var(--ink)}
.legal-content p,.legal-content li{color:#56665d;line-height:1.65}
.legal-content ul{padding-left:21px}
.legal-content a{color:var(--green-dark);font-weight:700}
.legal-note{margin:24px 0;padding:17px 18px;border-radius:12px;background:#fcf2d9;border:1px solid #efd9a8;color:#70511d}
.legal-card{padding:20px;border:1px solid var(--line);border-radius:14px;background:#f7faf5;margin:17px 0}
.legal-card strong{display:block;color:var(--ink);margin-bottom:5px}
.support-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.support-option{padding:22px;border:1px solid var(--line);border-radius:16px;background:#f7faf5}
.support-option h2{margin:0 0 8px;font:700 23px/1.15 Fraunces,Georgia,serif}
.support-option p{margin:0 0 15px}
.support-option .primary{display:inline-flex;text-decoration:none}
@media(max-width:640px){.site-footer{display:block;padding-top:22px}.site-footer nav{margin-top:12px;flex-wrap:wrap;gap:10px 16px}.legal-shell{padding:0 18px 40px}.legal-nav{height:76px}.legal-nav .brand{font-size:27px}.legal-hero{padding:42px 0 26px}.legal-content{padding:26px 22px;border-radius:17px}.legal-content h2{font-size:25px}.support-options{grid-template-columns:1fr}}


/* Accès immédiat sur mobile : création et connexion ont la même visibilité. */
.marketing-actions{gap:12px}
.marketing-login{margin:0;min-height:42px;padding:9px 13px;white-space:nowrap}
.signup-label-mobile{display:none}
@media(max-width:760px){
  .marketing-nav{gap:8px}
  .marketing-actions{gap:8px;flex-shrink:0}
  .marketing-actions .marketing-login{display:inline-flex;align-items:center;justify-content:center;font-size:12px;padding:10px 11px}
  .marketing-actions .marketing-signup{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:42px}
}
@media(max-width:390px){
  .marketing-nav .brand{font-size:27px}
  .marketing-actions .signup-label{display:none}
  .marketing-actions .signup-label-mobile{display:inline}
  .marketing-actions .marketing-login{padding-left:9px;padding-right:9px}
}
