:root{--blue:#25436e;--blue2:#4677ad;--navy:#1e3a65;--red:#d90826;--bright:#f3292c;--green:#27ac20;--orange:#fb7216;--text:#222;--muted:#536785;--bg:#fafbfe;--shadow:0 3px 15px rgba(24,35,60,.12);font-family:Inter,Arial,Helvetica,sans-serif;color:var(--text)}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;background:#e9edf4} body{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;padding:13px}.preview-note{font-weight:800;color:#244571;font-size:15px;display:flex;gap:14px;align-items:center}.preview-note span{font-size:12px;color:#64738a;font-weight:500}.footer-note{color:#63748c;font-size:11px;text-align:center}.phone{position:relative;isolation:isolate;width:415px;max-width:100%;height:min(852px,calc(100dvh - 92px));min-height:540px;border:10px solid #101113;border-radius:44px;overflow:hidden;background:var(--bg);box-shadow:0 18px 55px rgba(15,30,52,.2);display:flex;flex-direction:column}.phone:before{content:"";position:absolute;top:0;left:50%;width:198px;height:29px;transform:translateX(-50%);background:#0a0d13;border-radius:0 0 18px 18px;z-index:15;pointer-events:none}.status{background:#2d5486;color:white;height:38px;flex:none;display:flex;justify-content:space-between;padding:14px 24px 0 23px;font-size:13px;font-weight:650;z-index:4}.status .devices{letter-spacing:2px;font-size:12px}.top{position:relative;background:linear-gradient(125deg,#2c4d7c,#4575a9);color:white;flex:none;height:71px;padding:20px 24px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.top.home{height:130px;align-items:flex-end;padding-bottom:21px}.top .welcome{font-size:14px;line-height:1.8}.top .welcome strong{font-size:16px}.top h1{margin:0;font-size:16px;font-weight:750}.back{border:0;color:white;background:none;font-size:25px;cursor:pointer;padding:0 3px}.gear{color:#fff;background:none;border:0;font-size:24px;cursor:pointer}.scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:0 0 20px;background:#fafbfd}.bar{height:70px;flex:none;background:linear-gradient(135deg,#4979b0,#223e68);display:flex;justify-content:space-around;align-items:center;position:relative;color:white}.nav-btn{background:none;border:0;color:white;font-size:25px;cursor:pointer;min-width:68px;padding:13px}.nav-btn.selected{font-weight:800}.nav-create{position:relative;top:-3px;width:62px;height:62px;border-radius:50%;border:0;background:#df0025;color:white;font-size:42px;line-height:1;box-shadow:0 3px 1px rgba(0,0,0,.03);cursor:pointer}.nav-btn,.nav-create,.gear,.back{touch-action:manipulation}.section{padding:18px 24px 0}.section-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 13px;font-size:15px;color:#203d67;font-weight:760}.small-link{border:0;background:none;color:var(--red);font-size:11px;cursor:pointer;font-weight:650}.count{font-size:11px;border-radius:50%;background:var(--red);color:white;display:inline-flex;min-width:17px;height:17px;align-items:center;justify-content:center;margin-left:5px}.event-scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 0 8px;scrollbar-width:none}.event-scroll::-webkit-scrollbar{display:none}.inv-card{flex:0 0 151px;width:151px;border:0;background:white;border-radius:10px;text-align:left;overflow:hidden;box-shadow:var(--shadow);padding:0;cursor:pointer;scroll-snap-align:start}.inv-card-img{position:relative;height:117px;background:#e3e9f2}.inv-card-img img{width:100%;height:100%;object-fit:cover}.category{position:absolute;top:6px;left:6px;min-width:25px;height:25px;border-radius:6px;color:white;display:grid;place-items:center;background:#eb582a;font-size:14px}.pill{position:absolute;right:5px;top:7px;color:white;border-radius:6px;font-size:8px;padding:3px 5px;white-space:nowrap}.pill.new{background:var(--red)}.pill.accepted{background:#24a71e}.pill.unsure{background:#f77b1c}.pill.declined{background:#888}.inv-card-body{padding:10px 7px 8px}.card-title{font-size:12px;font-weight:750;line-height:1.1;margin:0 0 4px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card-sub{font-size:9px;color:#333;margin:0 0 8px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:4px}.date-small{font-size:9px;color:#244571;font-weight:750;text-align:right}.avatar-cluster{display:flex;align-items:center;padding-left:5px}.tinyavatar{background:#dfe7f0;border:1.6px solid white;width:22px;height:22px;margin-left:-5px;border-radius:50%;display:grid;place-items:center;color:#21446d;font-size:8px;font-weight:760}.tinyavatar.first{border-color:#e51c32}.list-card{border:0;cursor:pointer;width:100%;text-align:left;background:white;box-shadow:var(--shadow);border-radius:10px;display:flex;overflow:hidden;min-height:91px;margin-bottom:13px;padding:0}.list-cover{position:relative;width:110px;flex:none;align-self:stretch;background:linear-gradient(135deg,#92abc6,#203d6a);min-height:92px}.list-cover img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.list-meta{min-width:0;flex:1;padding:9px 7px;display:flex;flex-direction:column}.list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:3px}.list-head strong{font-size:12px;line-height:1.15}.list-head small{font-size:10px;font-weight:bold;color:#244571;white-space:nowrap}.list-place{font-size:9px;color:#515151;margin:2px 0}.list-desc{font-size:9px;color:#515151;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:3px 0 5px}.list-bottom{font-size:10px;color:#244571;font-weight:760;display:flex;justify-content:space-between;align-items:center;margin-top:auto}.tasks-preview{background:white;box-shadow:var(--shadow);border-radius:10px;padding:8px 10px}.taskline{display:flex;align-items:center;gap:7px;padding:6px 0;font-size:10px}.taskline+.taskline{border-top:1px solid #eaeef4}.task-visual{width:27px;height:27px;object-fit:cover;border-radius:50%;flex:none}.task-info{flex:1;min-width:0}.task-info strong{font-size:10px}.task-info span{color:#435575}.task-info p{margin:2px 0 0;color:#555}.task-check{width:22px;height:22px;border:2px solid var(--red);border-radius:5px;background:white;cursor:pointer}.task-check.done{border-color:#27ac20;background:#27ac20;color:white}.empty{padding:36px 12px 28px;text-align:center;color:#405b82}.empty-illustration{font-size:70px;line-height:1.2;margin:0 0 12px}.empty p{font-size:13px;line-height:1.5}.content-pad{padding:25px 24px 36px}.detail-hero{position:relative;height:169px;background:linear-gradient(135deg,#779abf,#1f3760)}.detail-hero img{width:100%;height:100%;object-fit:cover}.detail-hero .category{left:25px;top:13px;width:30px;height:30px;font-size:18px}.detail-area{padding:18px 24px 25px}.detail-main-title{font-size:20px;line-height:1.15;margin:0 0 10px;display:flex;justify-content:space-between;align-items:center;gap:10px}.detail-main-title small{color:#294a75;font-size:10px;white-space:nowrap;font-weight:500}.place-line{color:#244571;font-size:11px;display:flex;justify-content:space-between;gap:5px;margin-bottom:30px}.place-line .red{color:var(--red);font-weight:700}.detail-h{font-size:14px;color:#254674;font-weight:760;margin:0 0 10px}.detail-desc{font-size:11px;line-height:1.55;color:#555;margin:0 0 19px}.guest-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 7px;margin:15px 0 22px}.guest{display:flex;align-items:center;gap:7px;min-width:0}.guest-avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--red);font-size:11px;color:#294b78;background:#e7ecf4;flex:none}.guest-avatar.ok{border-color:var(--green)}.guest-avatar.unsure{border-color:var(--orange)}.guest-avatar.no{border-color:#9ea6b3}.guest-details{min-width:0}.guest-details strong{font-size:10px;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guest-details small{display:block;color:#747474;font-size:9px}.btn-row{display:flex;gap:6px;margin:20px 0}.btn{border:none;border-radius:9px;padding:12px 11px;cursor:pointer;font:inherit;font-size:13px;font-weight:650;color:white;white-space:nowrap;text-align:center}.btn.green{background:var(--green)}.btn.red{background:var(--red)}.btn.rose{background:var(--bright)}.btn.orange{background:var(--orange)}.btn.gray{background:#777}.btn.blue{background:var(--blue)}.btn.light{background:#e0e3e9;color:#2d3340}.btn.outline{border:1px solid #ccd5e1;background:white;color:#244571}.btn.wide{width:100%}.btn-row .btn{flex:1;min-width:0}.btn:disabled{opacity:.5;cursor:not-allowed}.alert{background:#f1f5fb;border-left:3px solid #4c7bb2;padding:12px;border-radius:5px;color:#29466d;font-size:12px;line-height:1.5;margin:14px 0}.alert.cancel{border-color:var(--red);background:#fff0f2;color:#98263b}.stat{font-size:12px;color:var(--blue);font-weight:700}.date-vote{border:1px solid #e1e6ee;background:white;border-radius:9px;padding:10px;margin:8px 0;display:flex;gap:7px;align-items:center;font-size:12px}.date-vote input{accent-color:var(--green);width:18px;height:18px}.date-vote .grow{flex:1}.date-vote small{color:#61728a}.form-label{font-size:12px;font-weight:650;color:#244571;display:block;margin:16px 0 6px}.field,.textarea,.select{display:block;border:1.6px solid #34547f;border-radius:9px;padding:11px 10px;background:#fff;font:inherit;color:#223a5c;font-size:13px;width:100%;outline-color:#7ca9e5}.textarea{min-height:88px;resize:vertical}.form-head{font-size:21px;font-weight:800;color:#263c62;margin:3px 0 20px}.pair{display:flex;gap:10px;align-items:center}.pair>*{flex:1;min-width:0}.date-pair{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:7px;margin:8px 0}.date-pair .field{font-size:12px;padding:8px 5px}.circlex{border:0;background:#ffe4e7;color:#b5001f;border-radius:50%;cursor:pointer;width:25px;height:25px}.addline{border:1.5px dashed #859dc0;border-radius:8px;padding:12px;color:#244571;background:#f5f8fd;cursor:pointer;width:100%;text-align:left;font-size:12px}.muted{color:#6b7687}.hint{font-size:11px;color:#61718b;line-height:1.5}.section-rule{border:0;border-top:1px solid #e3e9ef;margin:21px 0}.badge{font-size:10px;color:white;background:var(--red);padding:3px 7px;border-radius:12px}.chip{display:inline-flex;align-items:center;background:#eff4fa;color:#2b4e7c;border-radius:20px;font-size:11px;padding:7px 10px;margin:3px 3px 2px 0}.chat-list{display:flex;flex-direction:column;gap:8px;padding:12px 0 20px}.bubble{align-self:flex-start;max-width:84%;background:#e9eff7;border-radius:12px;padding:10px 13px;font-size:12px;line-height:1.45}.bubble.me{align-self:flex-end;background:#d5e8ff}.bubble small{display:block;font-size:10px;color:#5c718d;margin-bottom:5px;font-weight:700}.chat-compose{display:flex;gap:8px}.chat-compose input{flex:1}.seg{display:flex;gap:6px;margin-bottom:13px}.seg button{flex:1;border:1px solid #d8e0ec;border-radius:8px;background:white;color:#294e80;padding:8px;cursor:pointer}.seg button.active{background:#2d588d;color:white}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:24px 0}.menu-tile{background:white;box-shadow:var(--shadow);height:133px;border:0;border-radius:10px;color:#22466f;font-size:14px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;cursor:pointer}.menu-tile .icon{font-size:42px}.menu-tile.danger{background:var(--bright);color:white}.profile-avatar{width:98px;height:98px;background:#dedfe1;color:#666;border-radius:50%;margin:30px auto 15px;display:grid;place-items:center;font-size:29px;font-weight:650}.profile-name{text-align:center;color:#254571;font-size:17px;font-weight:760}.overlay{position:absolute;inset:0;z-index:25;background:rgba(10,14,22,.52);display:flex;align-items:center;justify-content:center;padding:25px}.modal{width:100%;max-height:88%;overflow-y:auto;border-radius:10px;background:white;padding:18px 17px;box-shadow:0 15px 60px #1115;text-align:center}.modal-title{position:relative;color:#214370;font-size:16px;font-weight:760;margin-bottom:15px;padding-right:20px}.modal-close{border:0;background:transparent;position:absolute;right:0;top:-6px;font-size:28px;font-weight:300;color:var(--red);cursor:pointer}.modal p{color:#29496f;font-size:13px;line-height:1.55}.modal-symbol{font-size:35px;margin:16px auto;color:var(--red)}.contacts{max-height:300px;overflow-y:auto;border:1px solid #e4eaf1;border-radius:6px;margin:15px 0}.contact-row{display:flex;justify-content:space-between;align-items:center;padding:13px 10px;border-bottom:1px solid #e4eaf1;text-align:left;font-size:13px;cursor:pointer}.contact-row.selected{background:#eff6ff}.contact-row span:last-child{font-size:19px;color:#2469ac}.toast{z-index:30;position:absolute;bottom:85px;left:18px;right:18px;background:#21416f;color:white;border-radius:9px;padding:11px;text-align:center;font-size:12px;box-shadow:0 5px 25px #0003}.notice{color:#62718a;font-size:11px;line-height:1.5;text-align:center;margin-top:10px}.toggleline{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:6px}.toggleline input{accent-color:var(--green)}.archived-label{background:#fee8ea;color:#ac1d36;padding:5px 8px;border-radius:7px;font-size:10px}.good{color:#269b20}.bad{color:#e31b2b}.small-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.small-actions .btn{font-size:11px;padding:9px 10px}.spaced{padding-top:16px}.inline-link{background:none;border:0;padding:0;color:var(--red);font-weight:650;font-size:12px;cursor:pointer}.mybadge{font-size:9px;color:#245b87;background:#eff5fb;padding:3px 7px;border-radius:9px}.logo-mark{font-weight:850;font-size:29px;letter-spacing:-1px}
@media(max-width:600px){body{padding:0;gap:0;background:#fafbfd}.preview-note,.footer-note{display:none}.phone{border:0;border-radius:0;width:100%;height:100dvh;max-height:none;min-height:0;box-shadow:none}.phone:before{height:0}.status{height:29px;padding:8px 23px 0}.top.home{height:143px}.section{padding-left:20px;padding-right:20px}.content-pad,.detail-area{padding-left:20px;padding-right:20px}.detail-hero{height:170px}}
/* V2 : compléments discrets respectant l'interface validée en V1. */
.activity-item{background:white;border-radius:10px;box-shadow:var(--shadow);padding:13px 14px;margin:0 0 11px;color:#29466d;font-size:12px;line-height:1.5}
.activity-time{font-size:10px;color:#637995;margin-bottom:4px;font-weight:750}
.activity-item .inline-link{margin-top:7px;display:inline-block}
.group-panel{border-top:1px solid #e9edf3;text-align:left;padding:9px 0 10px;margin:9px 0}
.group-panel h3{font-size:12px;color:var(--navy);margin:6px 0 8px}
.group-button{border:1px solid #cbd8e9;cursor:pointer;background:#eff4fa;text-align:left;color:#244571}
.group-button:focus-visible,.btn:focus-visible,.nav-btn:focus-visible,.nav-create:focus-visible,button:focus-visible{outline:3px solid #e87e22;outline-offset:2px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* V3 — invitations à confirmer et rappels simulés */
.attention-section{padding-top:17px;padding-bottom:14px}.attention-section.unsure{background:linear-gradient(180deg,#fff7eb 0%,#fff 90%)}
.attention-section.pending{background:linear-gradient(180deg,#f1f6fd 0%,#fff 90%)}
.attention-section .section-title{margin-bottom:5px}.attention-count{background:#e9a448;color:#fff;margin-left:5px}
.attention-section.pending .attention-count{background:#4480bb}
.attention-intro{font-size:10px;color:#566880;line-height:1.5;margin:4px 0 10px}.attention-none{font-size:11px;color:#657891;margin:8px 0 14px}
.attention-list{display:flex;flex-direction:column;gap:9px}.attention-item{background:white;border:1px solid #f4e5d0;border-radius:10px;box-shadow:0 3px 13px #152e5010;overflow:hidden}.pending .attention-item{border-color:#d8e8f8}
.attention-main{border:0;background:transparent;display:flex;align-items:center;text-align:left;width:100%;gap:9px;padding:10px 10px 4px;cursor:pointer}.attention-thumb{width:54px;height:54px;flex-shrink:0}.attention-thumb img{width:100%;height:100%;object-fit:cover;border-radius:8px}.attention-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.attention-copy strong{font-size:12px;color:#243d61}.attention-copy small{font-size:10px;color:#657184;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.attention-copy>span{font-size:9px;color:#a2580a}.pending .attention-copy>span{color:#295b92}.attention-date{font-size:9px;font-weight:750;color:#315682;text-align:right;line-height:1.5}.attention-cta{margin:0 10px 10px 73px;padding:5px 0;border:0;background:transparent;font-size:11px;font-weight:750;color:#b45b00;cursor:pointer}.pending .attention-cta{color:#2d629b}
.reminder-home{padding-top:10px;padding-bottom:15px}.reminder-home-content{border:1px solid #d8e4f3;border-radius:10px;padding:11px;background:#edf4fc;display:flex;gap:8px;align-items:center;justify-content:space-between}.reminder-home-content strong{font-size:12px;color:#244571}.reminder-home-content p{font-size:10px;line-height:1.35;margin:4px 0 0;color:#526987}.reminder-home-content button{flex-shrink:0}
.invite-groups{padding-top:17px}.invite-group{margin-bottom:23px;padding-top:3px}.invite-group-important{background:#f6f9fd;border-left:3px solid #5d95ce;padding:10px 12px;border-radius:5px}.invite-group-important:first-child{border-left-color:#e7a24c;background:#fff7ec}.invite-group .list-card{margin-bottom:6px}.invite-group-card{margin-bottom:11px}.invite-group-card>.inline-link{display:block;margin:0 0 5px 7px}
.reminder-rules{background:#f6f8fc;border-radius:10px;padding:10px;color:#425c7f;font-size:11px;line-height:1.8;margin-bottom:14px}.reminder-card{border:1px solid #dee8f4;border-radius:10px;background:#fff;padding:12px;margin-bottom:12px}.reminder-top{display:flex;justify-content:space-between;align-items:center;gap:7px;font-size:12px;color:#24446b}.reminder-card p{font-size:11px;color:#3c506d;line-height:1.5;margin:8px 0}.reminder-card small{color:#72809a;font-size:10px}.reminder-tag{font-size:9px;background:#edf1f8;color:#506988;border-radius:10px;padding:4px 7px;white-space:nowrap}.reminder-tag.due{background:#fff0d7;color:#935a09}.reminder-preview-text{background:#f0f5fd;color:#26436a!important;border-radius:10px;padding:15px;text-align:left;font-size:13px!important}

/* V3.2: action pour revenir à la liste complète après consultation d’une catégorie. */
.all-invites-link{display:inline-block;margin:9px 0 20px;font-weight:750;font-size:13px;padding:10px 0;}

/* Petite indication pour confirmer la version installée sur le téléphone */
.top .build-stamp{display:block;margin-top:1px;opacity:.85;font-weight:500;font-size:10px;line-height:1.1}
