:root{--green:#123b2b;--green2:#1f5a40;--green3:#2e7351;--cream:#f5f0e5;--paper:#fffdf7;--gold:#d3b55d;--ink:#183126;--muted:#68766d;--line:#ded8c9;--danger:#a4473e;--shadow:0 18px 50px rgba(18,59,43,.12);font-family:"Segoe UI",system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(145deg,#f8f4ea,#eee7d8);min-height:100vh}.app-shell{min-height:100vh}.desktop-rail{position:fixed;inset:0 auto 0 0;width:250px;background:var(--green);color:white;padding:24px 16px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:12px;align-items:center;padding:4px 4px 28px}.brand img{width:55px;height:55px;object-fit:contain;border-radius:50%;background:#fff}.brand strong,.brand span{display:block}.brand strong{color:var(--gold);letter-spacing:.09em}.brand span{font-size:.9rem;opacity:.78;margin-top:3px}.desktop-rail nav{display:grid;gap:6px}.nav-button{border:0;background:transparent;color:#e8efe9;display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:14px;font-size:.96rem;text-align:left;cursor:pointer}.nav-button .nav-icon{font-size:1.25rem}.nav-button.active,.nav-button:hover{background:rgba(255,255,255,.1);color:white}.rail-note{margin-top:auto;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:14px;font-size:.85rem}.rail-note small{opacity:.65}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e2c65e;margin-right:5px}main{margin-left:250px;min-height:100vh}.topbar{height:90px;display:flex;align-items:center;padding:0 36px;border-bottom:1px solid rgba(24,49,38,.09);background:rgba(245,240,229,.88);backdrop-filter:blur(12px);position:sticky;top:0;z-index:4}.top-title{flex:1}.top-title span{font-size:.72rem;letter-spacing:.18em;color:var(--green2);font-weight:700}.top-title h1{font-family:Georgia,serif;margin:3px 0 0;font-size:1.65rem}.avatar{width:42px;height:42px;border-radius:50%;border:2px solid var(--gold);background:var(--green);color:white;font-weight:800}.demo-banner{margin:22px 34px 0;border:1px solid #d6bd6e;background:#fff7d8;color:#5b4a18;border-radius:12px;padding:10px 14px;display:flex;gap:12px;align-items:center;font-size:.86rem}.demo-banner strong{font-size:.72rem;letter-spacing:.08em;background:var(--gold);padding:5px 8px;border-radius:6px}.view{padding:28px 34px 70px;max-width:1320px;margin:auto}.hero{background:linear-gradient(135deg,var(--green),#265f45);color:white;border-radius:24px;padding:28px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"D27";font-family:Georgia,serif;font-size:8rem;color:rgba(255,255,255,.05);position:absolute;right:20px;top:-25px}.hero p{margin:5px 0;color:#dce7df}.hero h2{font-family:Georgia,serif;font-size:2rem;margin:0;color:#f2d477}.date-chip{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);padding:10px 14px;border-radius:13px;z-index:1}.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px}.module-card{border:0;background:var(--paper);border-radius:20px;padding:20px;text-align:left;box-shadow:0 8px 28px rgba(25,50,38,.07);cursor:pointer;min-height:155px;position:relative;transition:.18s transform,.18s box-shadow}.module-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.module-card .big-icon{font-size:2rem}.module-card h3{font-size:1.13rem;margin:16px 0 4px}.module-card p{margin:0;color:var(--muted);font-size:.9rem}.count{position:absolute;right:16px;top:16px;background:#b64035;color:white;border-radius:999px;min-width:27px;height:27px;display:grid;place-items:center;font-weight:800}.section{margin-top:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head h2{font-family:Georgia,serif;font-size:1.3rem;margin:0}.button{border:0;border-radius:12px;padding:11px 15px;font-weight:700;cursor:pointer;background:var(--green2);color:white}.button.secondary{background:#e7dfcd;color:var(--ink)}.button.gold{background:var(--gold);color:#273a2e}.button.danger{background:var(--danger)}.button:disabled{opacity:.5;cursor:not-allowed}.alert-list,.list{display:grid;gap:10px}.alert-item,.list-item{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:15px;display:flex;gap:13px;align-items:flex-start}.list-item{cursor:pointer}.list-item:hover{border-color:#af9b59}.item-main{flex:1;min-width:0}.item-title{font-weight:750;margin-bottom:4px}.meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.8rem}.preview{color:#59675f;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:7px}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e5eee8;color:var(--green2);font-size:.73rem;font-weight:750}.badge.warn{background:#fff0c8;color:#735811}.badge.red{background:#f7dedb;color:#8b3028}.tabs{display:flex;gap:8px;overflow:auto;padding-bottom:4px;margin-bottom:14px}.tab{white-space:nowrap;border:1px solid var(--line);background:var(--paper);padding:9px 13px;border-radius:999px;cursor:pointer}.tab.active{background:var(--green);color:white;border-color:var(--green)}.toolbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px}.empty{text-align:center;background:var(--paper);border:1px dashed #bcb5a6;border-radius:18px;padding:40px;color:var(--muted)}.detail-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:20px}.mail-body{white-space:pre-wrap;line-height:1.65;margin:20px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.attachment{display:flex;justify-content:space-between;align-items:center;background:#eee9dc;border-radius:12px;padding:11px;margin-top:8px}.status-flow{display:flex;gap:7px;overflow:auto;margin:14px 0}.status-step{padding:8px 11px;border-radius:999px;background:#eee9dc;white-space:nowrap;font-size:.8rem}.status-step.current{background:var(--green2);color:white}.checklist{display:grid;gap:8px}.check-row{display:flex;gap:10px;align-items:center;padding:11px;background:#f1ede3;border-radius:11px}.check{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--green2);color:white}.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.doc-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:17px}.doc-icon{width:46px;height:54px;border-radius:8px;background:#eadfbd;display:grid;place-items:center;font-weight:800;color:var(--green);margin-bottom:13px}.quick-types{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.quick-type{border:1px solid var(--line);background:var(--paper);min-height:74px;border-radius:15px;font-weight:750;cursor:pointer}.quick-type.active{background:var(--green);color:white;border-color:var(--green)}.quick-form{margin-top:14px;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:18px}.field{margin-bottom:13px}.field label{display:block;font-size:.82rem;font-weight:750;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfc8b8;border-radius:11px;padding:12px;background:white;font:inherit}.field textarea{min-height:90px;resize:vertical}.form-actions{display:flex;gap:9px;justify-content:flex-end}.sheet-backdrop{position:fixed;inset:0;background:rgba(7,25,17,.55);z-index:20;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--cream);width:min(680px,100%);max-height:92vh;overflow:auto;border-radius:24px 24px 0 0;padding:24px;box-shadow:0 -20px 70px rgba(0,0,0,.25)}.sheet h2{font-family:Georgia,serif;margin-top:0}.sheet-close{float:right;border:0;background:#e4dcc9;border-radius:50%;width:34px;height:34px;cursor:pointer}.photo-preview{width:100%;max-height:220px;object-fit:cover;border-radius:14px;margin-top:8px}.bottom-nav{display:none}.mobile-only{display:none!important}#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#102d22;color:white;padding:12px 17px;border-radius:12px;opacity:0;pointer-events:none;transition:.2s;z-index:50;box-shadow:var(--shadow)}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.desktop-rail{display:none}main{margin-left:0}.mobile-only{display:flex!important}.topbar{height:72px;padding:0 16px}.top-title h1{font-size:1.25rem}.top-title span{font-size:.64rem}.icon-button{border:0;background:transparent;font-size:1.4rem;width:38px}.demo-banner{margin:12px 14px 0;align-items:flex-start;gap:8px;font-size:.76rem}.demo-banner span{line-height:1.3}.view{padding:18px 14px 95px}.hero{padding:21px;border-radius:20px}.hero h2{font-size:1.55rem}.date-chip{display:none}.module-grid{grid-template-columns:repeat(2,1fr);gap:11px;margin-top:14px}.module-card{padding:15px;min-height:132px}.module-card h3{margin-top:10px}.doc-grid{grid-template-columns:1fr 1fr}.bottom-nav{position:fixed;display:flex;left:0;right:0;bottom:0;height:72px;background:rgba(255,253,247,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:10;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav .nav-button{flex:1;display:flex;flex-direction:column;justify-content:center;gap:2px;color:var(--muted);padding:6px 2px;border-radius:0;font-size:.67rem;text-align:center}.bottom-nav .nav-icon{font-size:1.25rem}.bottom-nav .nav-button.active{background:transparent;color:var(--green);box-shadow:inset 0 3px var(--gold)}.quick-types{grid-template-columns:repeat(4,1fr);gap:7px}.quick-type{min-height:62px;font-size:.75rem;padding:4px}.toolbar{display:grid;grid-template-columns:1fr 1fr}.toolbar .button{width:100%}.sheet{padding:20px 16px}.form-actions{position:sticky;bottom:0;background:var(--cream);padding-top:10px}.list-item{padding:13px}}
@media(max-width:420px){.module-card{min-height:122px}.module-card p{font-size:.8rem}.doc-grid{grid-template-columns:1fr}.quick-types{grid-template-columns:repeat(2,1fr)}.hero:after{font-size:5rem}.demo-banner strong{display:none}}

/* Préparation PWA iPhone et future connexion Google. */
.banner-action{margin-left:auto;border:1px solid #b4963e;border-radius:9px;background:#fffdf7;color:#394a32;padding:7px 10px;font-weight:750;cursor:pointer}
.google-coming-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--green);border:3px solid var(--gold);color:#fff;font:bold 1.5rem Georgia,serif;margin-bottom:16px}
.google-roadmap{display:grid;gap:9px;margin:18px 0}
.google-roadmap>div{display:flex;gap:11px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:12px}
.google-roadmap span{flex:0 0 27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--green);font-weight:800}
.google-roadmap p{margin:0;line-height:1.4}
.connection-safety{background:#e5eee8;border-left:4px solid var(--green2);padding:12px 14px;border-radius:10px;margin:16px 0}

@media(max-width:900px){
  .topbar{padding-top:env(safe-area-inset-top);min-height:calc(72px + env(safe-area-inset-top))}
  .demo-banner{flex-wrap:wrap}
  .demo-banner span{flex:1}
  .banner-action{width:100%;margin:2px 0 0}
  .view{padding-bottom:calc(95px + env(safe-area-inset-bottom))}
  .bottom-nav{height:calc(72px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}
  .sheet{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
}
