:root{
 --bg:#080a0f;--bg2:#11131b;--panel:#151822;--panel2:#1c202a;--surface:#f6f6f8;--card:#fff;--text:#11131a;--text-dark:#f7f8fb;--muted:#747987;--muted-dark:#9da4b3;--line:#e5e7eb;--line-dark:#292e3a;--violet:#7c3aed;--violet2:#9333ea;--violet-soft:#eee7ff;--green:#24b36b;--orange:#ff8a1f;--red:#ef476f;--blue:#4387ff;--shadow:0 18px 48px rgba(0,0,0,.22);--radius:24px;--dock:76px;--max:820px
}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}svg{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-shell{width:min(100%,var(--max));min-height:100vh;margin:auto;background:var(--surface);padding-bottom:calc(var(--dock) + 28px);box-shadow:0 0 90px rgba(0,0,0,.36)}
/* topbar */
.app-topbar{position:sticky;top:0;z-index:80;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;background:rgba(8,10,15,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(16px)}.brand-lockup{display:flex;align-items:center;gap:10px}.brand-lockup>span:last-child{display:grid;line-height:.9}.brand-lockup strong{font-size:18px;letter-spacing:.03em}.brand-lockup small{font-size:9px;color:#b995ff;letter-spacing:.24em;margin-top:5px}.brand-wave,.login-brand .brand-wave{display:flex;align-items:center;gap:2px;height:34px}.brand-wave i{width:3px;border-radius:4px;background:linear-gradient(#b892ff,#7c3aed)}.brand-wave i:nth-child(1){height:17px}.brand-wave i:nth-child(2){height:27px}.brand-wave i:nth-child(3){height:34px}.brand-wave i:nth-child(4){height:25px}.brand-wave i:nth-child(5){height:15px}.topbar-user{display:flex;align-items:center;gap:8px}.topbar-user-copy{display:none;text-align:right}.topbar-user-copy strong,.topbar-user-copy span{display:block}.topbar-user-copy strong{font-size:12px}.topbar-user-copy span{font-size:10px;color:var(--muted-dark)}.icon-button,.topbar-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#131620;color:#fff}.topbar-bell{position:relative}.topbar-bell b,.dock-icon b{position:absolute;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:10px;background:var(--red);color:#fff;font-size:9px;border:2px solid var(--bg)}.topbar-bell b{right:-2px;top:-3px}.topbar-avatar{background:linear-gradient(135deg,#8b5cf6,#6d28d9);font-weight:800;font-size:13px}.topbar-avatar.has-photo{overflow:hidden;padding:0;background:#131620}.topbar-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
/* generic page */
.page-head{background:var(--bg);color:#fff;padding:12px 18px 20px}.page-head-row{display:flex;align-items:flex-start;gap:12px}.page-head-row>div:nth-child(2){flex:1}.page-head h1{margin:0;font-size:28px;line-height:1;font-weight:800;letter-spacing:-.04em}.page-head p{margin:6px 0 0;color:var(--muted-dark);font-size:12px;line-height:1.4}.page-back{display:grid;place-items:center;width:34px;height:34px;margin-top:-4px;border-radius:50%;background:#151822;color:#fff;font-size:22px}.page-head-action{margin-left:auto}.main-content{padding:16px 16px 28px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:18px 0 10px}.section-title h2{margin:0;font-size:18px;letter-spacing:-.03em}.section-title p{margin:3px 0 0;color:var(--muted);font-size:11px}.section-title a{color:var(--violet);font-size:11px;font-weight:700}.eyebrow{display:inline-block;font-size:9px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:#b995ff}.card{background:#fff;border:1px solid #e8e9ee;border-radius:18px}.empty-state{padding:30px 18px;text-align:center;border:1px dashed #cfd3dc;border-radius:18px;color:var(--muted);background:#fff}.empty-state strong{display:block;color:var(--text);margin-bottom:5px}.primary-button,.secondary-button,.success-button,.danger-button{min-height:46px;border:0;border-radius:13px;padding:0 16px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary-button{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.secondary-button{background:#fff;color:#13151c;border:1px solid #cfd3dc}.success-button{background:linear-gradient(135deg,#2dc677,#19a75d);color:#fff}.danger-button{background:#fff;color:#d92953;border:1px solid #efb5c4}.chip{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:800}.chip.confirmed{background:#e8f8ef;color:#1b9856}.chip.option{background:#fff0db;color:#c76b00}.chip.pending{background:#eee6ff;color:#6d28d9}.chip.waiting{background:#e8f1ff;color:#236ed6}.chip.urgent{background:#ffe7ed;color:#d92953}.chip.closed{background:#eff0f3;color:#777d8a}
/* dock */
.bottom-dock{position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom));z-index:100;transform:translateX(-50%);width:min(calc(100% - 24px),calc(var(--max) - 24px));height:var(--dock);padding:7px 8px;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;background:rgba(8,10,15,.97);border:1px solid rgba(255,255,255,.08);border-radius:24px;box-shadow:0 15px 40px rgba(0,0,0,.38);backdrop-filter:blur(16px)}.bottom-dock a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#b0b5c1;border-radius:17px}.bottom-dock a.is-active{color:#fff;background:#171a23}.bottom-dock a.is-active .dock-icon{color:#a970ff}.dock-icon{position:relative;display:grid;place-items:center;font-size:20px}.dock-icon b{right:-10px;top:-7px}.bottom-dock small{font-size:9px}.bottom-dock svg{width:20px;height:20px}
/* login */
.login-page{background:#07090e;color:#fff}.login-layout{min-height:100vh;display:grid}.login-brand-panel{position:relative;overflow:hidden;padding:34px 26px 46px;background:radial-gradient(circle at 75% 12%,rgba(124,58,237,.32),transparent 30%),linear-gradient(160deg,#07090e,#121522)}.login-brand-panel:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;border:1px solid rgba(139,92,246,.18);right:-180px;bottom:-130px;box-shadow:0 0 0 38px rgba(139,92,246,.03),0 0 0 82px rgba(139,92,246,.02)}.login-brand{position:relative;z-index:1;display:flex;align-items:center;gap:12px}.login-brand>span:last-child{display:grid}.login-brand strong{font-size:26px;letter-spacing:.02em}.login-brand small{color:#b995ff;font-size:10px;letter-spacing:.27em}.login-hero-copy{position:relative;z-index:1;margin-top:70px;max-width:560px}.login-hero-copy h1{margin:12px 0 16px;font-size:46px;line-height:.95;letter-spacing:-.055em}.login-hero-copy h1 em{font-style:normal;color:#a970ff}.login-hero-copy p{max-width:500px;color:#a9afbc;line-height:1.6}.login-feature-row{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}.login-feature-row span{padding:9px 11px;border:1px solid #272c39;border-radius:999px;background:#11141c;color:#d2d5dc;font-size:11px}.login-form-panel{display:grid;place-items:center;padding:24px;background:#f7f7f9}.login-card{width:min(100%,440px);padding:26px;border-radius:24px;background:#fff;color:#11131a;box-shadow:var(--shadow)}.login-chip{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eee7ff;color:#6d28d9;font-size:9px;font-weight:800;letter-spacing:.12em}.login-card h2{margin:14px 0 5px;font-size:28px}.login-card>p{margin:0 0 22px;color:var(--muted);font-size:13px}.login-card form{display:grid;gap:14px}.login-card label{display:grid;gap:6px;color:#444956;font-size:11px;font-weight:700}.login-card input{width:100%;height:48px;padding:0 13px;border:1px solid #dce0e6;border-radius:13px;background:#fbfbfc;outline:none}.login-card input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.12)}.login-card .primary-button{width:100%;margin-top:2px}.login-legal{display:block;margin-top:18px;color:#9297a2;font-size:10px}.form-alert{margin-bottom:14px;padding:10px 12px;border-radius:11px;background:#ffe8ed;color:#c32649;font-size:11px}
/* home cockpit */
.home-top{background:var(--bg);color:#fff;padding:14px 16px 24px}.home-greeting{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.home-greeting strong{font-size:16px}.home-greeting span{display:block;color:var(--muted-dark);font-size:10px;margin-top:2px}.next-mission{position:relative;overflow:hidden;min-height:270px;border-radius:22px;background:#171a22}.next-mission>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.next-mission:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,14,.08),rgba(7,9,14,.25) 30%,rgba(7,9,14,.96))}.next-mission-content{position:absolute;z-index:2;left:16px;right:16px;bottom:15px}.next-mission-content h1{margin:8px 0 4px;font-size:26px;line-height:1.02;letter-spacing:-.04em}.next-mission-content p{margin:2px 0;color:#e7e9ef;font-size:11px}.next-mission-actions{display:grid;grid-template-columns:1fr .64fr;gap:8px;margin-top:13px}.next-mission-actions a{height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:800}.next-mission-actions a:first-child{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.next-mission-actions a:last-child{background:#fff;color:#171922}.home-surface{position:relative;margin-top:-2px;padding:0 16px 26px;background:var(--surface);border-radius:24px 24px 0 0}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;transform:translateY(-12px)}.stat-card{padding:15px 10px;border-radius:15px;background:#fff;border:1px solid #e8e9ed;text-align:center}.stat-card strong{display:block;font-size:24px;color:#6d28d9;line-height:1}.stat-card small{display:block;margin-top:5px;color:#666c78;font-size:9px;line-height:1.2}.action-feed{display:grid;gap:7px}.action-item{display:grid;grid-template-columns:38px minmax(0,1fr) 22px;align-items:center;gap:10px;padding:10px;border-radius:14px;background:#fff;border:1px solid #e8e9ee}.action-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font-size:15px}.action-icon.violet{background:#efe7ff;color:#6d28d9}.action-icon.orange{background:#fff0dd;color:#e27500}.action-icon.green{background:#e5f8ee;color:#1c9c59}.action-icon.red{background:#ffe7ed;color:#d92953}.action-item strong{display:block;font-size:11px}.action-item small{display:block;margin-top:2px;color:#777d89;font-size:9px;line-height:1.3}.action-arrow{color:#a4a9b3;font-size:17px}.upcoming-list{display:grid;gap:8px}.upcoming-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;background:#fff;border:1px solid #e7e9ee;border-radius:14px}.date-square{display:grid;place-items:center;align-content:center;width:48px;height:48px;border-radius:12px;background:#11131a;color:#fff}.date-square strong{font-size:17px;line-height:1}.date-square span{font-size:7px;color:#c7cad2}.upcoming-card h3{margin:0;font-size:11px}.upcoming-card p{margin:3px 0 0;color:#777d89;font-size:9px}
/* agenda */
.agenda-surface{padding:12px 12px 24px;background:#fff;border-radius:22px 22px 0 0;min-height:calc(100vh - 150px)}.view-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:14px;border-radius:13px;background:#171a22}.view-switch button{height:36px;border:0;border-radius:10px;background:transparent;color:#aeb4c0;font-size:10px;font-weight:700}.view-switch button.is-active{background:#7c3aed;color:#fff}.agenda-panel[hidden]{display:none!important}.fc{font-size:11px}.fc .fc-toolbar{gap:7px}.fc .fc-toolbar-title{font-size:16px!important}.fc .fc-button{padding:6px 9px!important;border:0!important;border-radius:999px!important;background:#151820!important;color:#fff!important;font-size:9px!important}.fc .fc-button-primary:not(:disabled).fc-button-active{background:#7c3aed!important}.fc .fc-daygrid-day.fc-day-today{background:#f2ecff!important}.fc .fc-daygrid-day-number,.fc .fc-col-header-cell-cushion{color:#222!important;text-decoration:none!important}.fc-event-main{font-size:8px}.calendar-event-dot{overflow:hidden;padding:3px 4px;border-radius:5px;background:#7c3aed;color:#fff;white-space:nowrap;text-overflow:ellipsis}.agenda-list{display:grid;gap:9px}.agenda-list-item{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border-radius:15px;border:1px solid #e5e7ec}.agenda-list-item .date-square{width:50px;height:50px}.agenda-list-item h3{font-size:12px;margin:0}.agenda-list-item p{font-size:9px;color:#777d89;margin:3px 0 0}
/* missions */
.missions-surface{padding:14px 14px 24px;background:var(--surface);border-radius:22px 22px 0 0}.mission-filters{display:flex;gap:6px;overflow:auto;padding-bottom:5px}.mission-filters button{white-space:nowrap;padding:9px 13px;border:0;border-radius:999px;background:#fff;color:#555b67;font-size:10px;font-weight:700}.mission-filters button.is-active{background:#7c3aed;color:#fff}.job-list{display:grid;gap:11px;margin-top:11px}.job-card{position:relative;overflow:hidden;background:#fff;border:1px solid #e5e7ec;border-radius:18px}.job-card-image{height:132px;background:#ddd}.job-card-image img{width:100%;height:100%;object-fit:cover}.job-card-body{padding:13px}.job-card-top{display:flex;justify-content:space-between;gap:10px}.job-card-top h2{margin:4px 0 3px;font-size:16px;letter-spacing:-.035em}.job-card-top p{margin:0;color:#747a86;font-size:10px}.job-date{display:grid;place-items:center;min-width:58px;height:58px;padding:5px;border-radius:13px;background:#11131a;color:#fff;text-align:center}.job-date strong{font-size:16px}.job-date small{font-size:7px;color:#aeb3bf}.job-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.job-meta span{padding:5px 8px;border-radius:999px;background:#f0ecff;color:#6d28d9;font-size:8px;font-weight:800}.job-pay{margin-left:auto!important;background:#e7f8ee!important;color:#189354!important}.job-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;margin-top:12px}.job-actions .success-button,.job-actions .secondary-button{min-height:42px;font-size:10px}.job-more{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d6d9e0;border-radius:12px;background:#fff;color:#5f6571}.job-card[data-filter-hidden="1"]{display:none}.offer-detail{background:#fff}.offer-detail-hero{position:relative;height:250px}.offer-detail-hero img{width:100%;height:100%;object-fit:cover}.offer-detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(8,10,15,.9))}.offer-detail-copy{position:absolute;z-index:2;left:16px;right:16px;bottom:16px;color:#fff}.offer-detail-copy h1{margin:7px 0 4px;font-size:26px;line-height:1}.offer-detail-copy p{margin:0;color:#d8dbe2;font-size:11px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px}.detail-block{padding:13px;border:1px solid #e6e8ed;border-radius:14px;background:#fafafd}.detail-block.full{grid-column:1/-1}.detail-block small{display:block;color:#7d838e;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.detail-block strong{display:block;margin-top:5px;font-size:12px}.detail-block p{margin:5px 0 0;font-size:10px;color:#636a76;line-height:1.5}.sticky-actions{position:sticky;bottom:calc(var(--dock) + 17px);z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 14px;padding:8px;border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 10px 32px rgba(0,0,0,.18);backdrop-filter:blur(12px)}
/* event mission */
.event-page{background:var(--bg)}.event-page .main-content{padding:0 0 24px;background:var(--surface);border-radius:0}.event-hero{position:relative;overflow:hidden;height:265px;background:#20232b}.event-hero img{width:100%;height:100%;object-fit:cover}.event-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,8,12,.08),rgba(6,8,12,.25) 35%,rgba(6,8,12,.96))}.event-hero-copy{position:absolute;z-index:2;left:16px;right:16px;bottom:16px;color:#fff}.hero-chip{display:inline-flex;padding:5px 8px;border-radius:999px;background:#7c3aed;color:#fff;font-size:8px;font-weight:800;letter-spacing:.08em}.event-hero-copy h2{margin:8px 0 5px;font-size:28px;line-height:.98;letter-spacing:-.045em}.event-hero-copy p{margin:0;color:#e2e4e9;font-size:10px}.event-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:9px 10px;background:#10131a;color:#fff}.event-quick-actions a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;border-radius:11px;color:#d3d6de;font-size:8px}.event-quick-actions a span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#1b1f29;color:#fff}.event-quick-actions svg{width:16px;height:16px}.mission-tabs{display:flex;gap:6px;overflow:auto;padding:10px;background:#0f1118;border-top:1px solid rgba(255,255,255,.05);scrollbar-width:none}.mission-tabs::-webkit-scrollbar{display:none}.mission-tabs a{min-width:92px;padding:8px 9px;border-radius:12px;background:#191c25;color:#a9afbb;display:flex;align-items:center;gap:6px}.mission-tabs a.is-active{background:#7c3aed;color:#fff}.mission-tabs a span{display:grid;place-items:center}.mission-tabs a small{font-size:9px;font-weight:700;white-space:nowrap}.mission-tabs svg{width:14px;height:14px}.event-content{padding:14px;background:var(--surface)}.event-section{margin-bottom:16px}.event-section-head{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-bottom:8px}.event-section-head h2{margin:0;font-size:17px}.event-section-head p{margin:2px 0 0;color:#777d89;font-size:9px}.info-list{display:grid;gap:7px}.info-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border-radius:14px;background:#fff;border:1px solid #e6e8ed}.info-row>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}.info-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f0ebff;color:#6d28d9}.info-icon svg{width:17px;height:17px}.info-row small{display:block;color:#858a95;font-size:8px}.info-row strong{display:block;margin-top:2px;font-size:11px;overflow-wrap:anywhere}.info-row>strong{font-size:12px}.team-strip{display:flex;gap:11px;overflow:auto;padding:12px;background:#fff;border:1px solid #e6e8ed;border-radius:14px}.team-person{min-width:54px;text-align:center}.team-person img,.team-person .avatar-fallback{width:46px;height:46px;border-radius:50%;object-fit:cover;margin:auto;border:2px solid #eee8ff}.avatar-fallback{display:grid;place-items:center;background:#151820;color:#fff}.team-person strong{display:block;margin-top:4px;font-size:8px}.team-person small{font-size:7px;color:#7a808b}.billing-highlight{padding:16px;border-radius:16px;background:#11131a;color:#fff}.billing-highlight small{color:#aeb4bf}.billing-highlight strong{display:block;margin-top:4px;color:#b995ff;font-size:25px}
/* timeline */
.timeline-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:12px;border-radius:13px;background:#171a22}.timeline-toolbar button{height:36px;border:0;border-radius:10px;background:transparent;color:#aeb3be;font-size:10px}.timeline-toolbar button.is-active{background:#7c3aed;color:#fff}.mission-timeline{position:relative;padding-left:9px}.mission-timeline:before{content:"";position:absolute;left:28px;top:12px;bottom:14px;width:2px;background:#cdd1d9}.timeline-step{position:relative;display:grid;grid-template-columns:58px 1fr;gap:10px;padding:0 0 15px}.timeline-dot{position:absolute;left:11px;top:10px;width:14px;height:14px;border:3px solid #7c3aed;border-radius:50%;background:#fff;z-index:1}.timeline-step:nth-child(4n+2) .timeline-dot{border-color:var(--orange)}.timeline-step:nth-child(4n+3) .timeline-dot{border-color:var(--blue)}.timeline-step:nth-child(4n+4) .timeline-dot{border-color:var(--green)}.timeline-time{padding-left:23px;padding-top:8px;font-size:11px;font-weight:800}.timeline-card{padding:11px 12px;border-radius:14px;background:#fff;border:1px solid #e4e7ec}.timeline-card h3{margin:0;font-size:12px}.timeline-card p{margin:4px 0 0;color:#6f7581;font-size:9px;line-height:1.45}.timeline-assets{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.timeline-assets span{padding:5px 7px;border-radius:8px;background:#f4f1ff;color:#6240b8;font-size:8px}.timeline-list-mode .timeline-step{grid-template-columns:60px 1fr}.timeline-list-mode .timeline-dot,.timeline-list-mode:before{display:none}.timeline-detail-modal{position:fixed;inset:0;z-index:160;display:none;align-items:end;background:rgba(0,0,0,.65)}.timeline-detail-modal.is-open{display:flex}.timeline-sheet{width:min(100%,var(--max));max-height:82vh;margin:auto;padding:18px;border-radius:24px 24px 0 0;background:#fff;overflow:auto}.timeline-sheet-head{display:flex;justify-content:space-between;gap:12px}.timeline-sheet h2{margin:0}.sheet-close{width:34px;height:34px;border:0;border-radius:50%;background:#f0f1f4}.sheet-block{margin-top:14px;padding:12px;border-radius:13px;background:#f8f8fa}.sheet-block h3{margin:0 0 6px;font-size:11px}.sheet-block p,.sheet-block div{font-size:10px;line-height:1.5;color:#555c68}.option-bubbles{display:flex;flex-wrap:wrap;gap:8px}.option-bubbles figure{margin:0;width:64px;text-align:center}.option-bubbles img{width:48px;height:48px;border-radius:50%;object-fit:cover;margin:auto}.option-bubbles figcaption{font-size:8px;margin-top:3px}
/* music */
.music-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:13px;background:#171a22;margin-bottom:12px}.music-tabs button{height:36px;border:0;border-radius:10px;background:transparent;color:#acb1bd;font-size:9px;font-weight:700}.music-tabs button.is-active{background:#7c3aed;color:#fff}.music-panel[hidden]{display:none}.track-list{display:grid;gap:7px}.track-card{display:grid;grid-template-columns:46px minmax(0,1fr) 24px;align-items:center;gap:10px;padding:8px;border:1px solid #e5e7ec;border-radius:13px;background:#fff}.track-cover{display:grid;place-items:center;width:46px;height:46px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#151822,#7c3aed);color:#fff}.track-cover img{width:100%;height:100%;object-fit:cover}.track-card strong{display:block;font-size:11px}.track-card span,.track-card small{display:block;color:#777d89;font-size:8px;margin-top:2px}.track-open{color:#777d89}.style-chips{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}.style-chips span{padding:6px 8px;border-radius:999px;background:#eee8ff;color:#6540bd;font-size:8px;font-weight:700}.music-empty{padding:22px;border:1px dashed #d4d7dd;border-radius:14px;background:#fff;text-align:center;color:#7a808b;font-size:10px}
/* chat */
.chat-page{background:var(--bg)}.chat-wrap{background:#f6f6f8;min-height:calc(100vh - 160px);border-radius:22px 22px 0 0;padding:0 0 16px}.chat-contact{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#11131a;color:#fff}.chat-contact-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#7c3aed}.chat-contact strong{font-size:12px}.chat-contact span{display:block;margin-top:2px;color:#aab0bc;font-size:8px}.message-connection-state{margin-left:auto;font-size:8px;color:#ffbb5d}.message-connection-state.is-online{color:#58d692}.team-chat-card{background:#f6f6f8}.team-chat-status{margin:0 12px;font-size:9px}.team-chat-status:not(:empty){padding:8px 10px;border-radius:9px;background:#eef0f3}.team-chat-status--error{color:#c42b4e}.team-chat-status--success{color:#168c51}.team-chat-messages{height:min(58vh,560px);overflow:auto;padding:16px 12px;display:flex;flex-direction:column;gap:10px}.team-chat-loading,.team-chat-empty{text-align:center;color:#858b96;font-size:10px;padding:30px 10px}.team-message-row{display:flex}.team-message-row--mine{justify-content:flex-end}.team-message-bubble{max-width:78%;padding:10px 11px;border-radius:16px;background:#fff;border:1px solid #e4e6eb;box-shadow:0 3px 12px rgba(0,0,0,.04)}.team-message-row--mine .team-message-bubble{background:linear-gradient(135deg,#ece8ff,#dcd5ff);border-color:#d7d0ff}.team-message-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px}.team-message-meta strong,.team-message-meta time{font-size:8px}.team-message-meta time{color:#868c97}.team-message-text{margin:0;font-size:11px;line-height:1.45;white-space:pre-wrap}.team-message-receipt{display:block;margin-top:5px;text-align:right;color:#697180;font-size:7px}.team-message-attachments{display:grid;gap:5px;margin-top:7px}.team-message-attachment{display:flex;align-items:center;gap:7px;padding:6px;border-radius:9px;background:rgba(255,255,255,.65)}.team-message-attachment-icon{font-size:7px;font-weight:800}.team-message-attachment-info strong{display:block;font-size:8px}.team-message-attachment-info small{font-size:7px;color:#7b818c}.team-chat-composer{display:grid;grid-template-columns:38px 1fr 42px;align-items:end;gap:7px;padding:9px 10px;margin:0 10px;border:1px solid #dedfe5;border-radius:18px;background:#fff}.team-chat-attach-btn,.team-chat-send-btn{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:0}.team-chat-attach-btn{background:#f1f2f5;color:#555c68}.team-chat-send-btn{background:#7c3aed;color:#fff}.team-chat-input-wrap textarea{width:100%;max-height:110px;min-height:38px;padding:9px 0 0;border:0;outline:none;resize:none;background:transparent;font-size:11px}.team-chat-file-preview{padding:4px 0;color:#6b7280;font-size:8px}.team-chat-help{margin:7px 16px 0;color:#8b909a;font-size:8px}
/* messages central */
.conversation-list{display:grid;gap:8px}.conversation-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;background:#fff;border:1px solid #e5e7ec;border-radius:15px}.conversation-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#151820;color:#fff}.conversation-card h3{margin:0;font-size:11px}.conversation-card p{overflow:hidden;margin:3px 0 0;color:#777d89;font-size:9px;white-space:nowrap;text-overflow:ellipsis}.conversation-meta{text-align:right}.conversation-meta time{display:block;color:#858b96;font-size:7px}.conversation-meta b{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-top:5px;padding:0 5px;border-radius:12px;background:#7c3aed;color:#fff;font-size:8px}
/* profile */
.profile-hero{padding:24px 16px 34px;background:radial-gradient(circle at 85% 10%,rgba(124,58,237,.45),transparent 34%),#080a0f;color:#fff;text-align:center}.profile-avatar-big{display:grid;place-items:center;width:82px;height:82px;margin:auto;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#4c1d95);font-size:28px;font-weight:800;border:4px solid rgba(255,255,255,.12)}.profile-avatar-big.has-photo{overflow:hidden;padding:0;background:#131620}.profile-avatar-big img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-hero h1{margin:10px 0 2px;font-size:23px}.profile-hero p{margin:0;color:#aab0bc;font-size:10px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:16px}.profile-stat{padding:10px;border-radius:13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08)}.profile-stat strong{display:block;color:#b995ff;font-size:18px}.profile-stat small{font-size:8px;color:#b7bdc8}.profile-body{padding:14px}.profile-menu{display:grid;gap:7px}.profile-menu a,.profile-menu div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;background:#fff;border:1px solid #e5e7ec;border-radius:14px}.profile-menu span{display:flex;align-items:center;gap:10px}.profile-menu svg{color:#6d28d9}.profile-menu small{color:#777d89}
/* modal common */
.modal-confirm{position:fixed;inset:0;z-index:180;display:none;place-items:end center;background:rgba(0,0,0,.66)}.modal-confirm.is-open{display:grid}.modal-box{width:min(100%,var(--max));max-height:85vh;overflow:auto;padding:18px;border-radius:24px 24px 0 0;background:#fff}.modal-title{margin:0;font-size:20px}.modal-text{color:#666d79;font-size:10px;line-height:1.5}.modal-image{height:140px;overflow:hidden;border-radius:14px}.modal-image img{width:100%;height:100%;object-fit:cover}.modal-recap{padding:10px;border-radius:12px;background:#f4f1ff;font-size:10px}.modal-checkbox{display:flex;gap:7px;font-size:10px}.modal-error{display:none;color:#d72d51;font-size:9px}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.modal-actions button{min-height:44px}
@media(min-width:720px){.topbar-user-copy{display:block}.login-layout{grid-template-columns:1.15fr .85fr}.login-brand-panel{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:50px}.login-brand{position:absolute;top:36px}.login-hero-copy{margin-top:0}.login-hero-copy h1{font-size:62px}.login-form-panel{min-height:100vh}.app-shell{border-left:1px solid #1e222b;border-right:1px solid #1e222b}.home-top,.page-head{padding-left:26px;padding-right:26px}.home-surface,.main-content,.event-content,.missions-surface{padding-left:24px;padding-right:24px}.next-mission{min-height:330px}.next-mission-content h1{font-size:34px}.job-list{grid-template-columns:1fr 1fr}.job-card-image{height:160px}.conversation-list{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:repeat(4,1fr)}.detail-block.full{grid-column:1/-1}}
@media(max-width:420px){.page-head h1{font-size:25px}.event-hero-copy h2{font-size:24px}.mission-tabs a{min-width:86px}.job-actions{grid-template-columns:1fr 1fr 40px}.next-mission-actions{grid-template-columns:1fr .62fr}.team-message-bubble{max-width:84%}}


/* =========================================================
   V17.1 — mission sticky tools, agenda, music & messages fixes
   ========================================================= */

/* Notification: non lu = compteur rouge, lu mais sans réponse = point violet */
.topbar-bell.has-alert{border-color:rgba(169,112,255,.5);box-shadow:0 0 0 3px rgba(124,58,237,.08)}
.topbar-bell .notification-dot{position:absolute;right:1px;top:0;width:10px;height:10px;border-radius:50%;background:#a970ff;border:2px solid var(--bg);box-shadow:0 0 0 2px rgba(169,112,255,.12)}

/* Le bandeau d'actions + navigation de mission reste présent ET sticky sur les 5 rubriques */
.event-sticky-tools{position:sticky;top:67px;z-index:70;background:#0f1118;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.event-sticky-tools .event-quick-actions{border-bottom:1px solid rgba(255,255,255,.06)}
.event-sticky-tools .mission-tabs{padding-top:7px;padding-bottom:8px;border-top:0}
.event-action-disabled{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;border-radius:11px;color:#686f7e;font-size:8px;cursor:not-allowed}
.event-action-disabled>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#181b23;color:#686f7e}
.event-action-disabled svg{width:16px;height:16px}

/* Musique : l'icône ne doit pas hériter du font-size 8px des spans de carte */
.track-cover{font-size:24px!important;color:#fff!important;margin-top:0!important;line-height:1!important}
.track-cover svg{display:block!important;width:25px!important;height:25px!important;color:#fff!important;stroke-width:1.9!important}
.track-cover img{width:100%!important;height:100%!important;margin:0!important}

/* Chat : initiales dans le cercle */
.chat-contact>.chat-contact-avatar{display:grid!important;place-items:center!important;flex:0 0 42px;width:42px!important;height:42px!important;margin:0!important;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff!important;font-size:15px!important;font-weight:800;line-height:1!important;text-align:center}
.chat-contact>.chat-contact-avatar+span{min-width:0}
.conversation-avatar{font-size:15px;font-weight:800;line-height:1}

/* Messages centraux */
.conversation-card{position:relative;grid-template-columns:48px minmax(0,1fr) auto;padding:11px}
.conversation-card.is-unread{border-color:#c9b8ff;background:linear-gradient(90deg,#fbf9ff,#fff)}
.conversation-heading{display:flex!important;align-items:center;gap:6px;min-width:0}
.conversation-heading h3{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conversation-new,.conversation-reply{display:inline-flex;flex:0 0 auto;padding:4px 7px;border-radius:999px;font-style:normal;font-size:7px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.conversation-new{background:#7c3aed;color:#fff}
.conversation-reply{background:#fff0db;color:#c76b00}

/* Agenda V17.1 */
.agenda-page .page-head{padding-bottom:24px}
.agenda-surface{position:relative;margin-top:-1px;padding:14px 12px 28px;background:#f5f6f8;border-radius:24px 24px 0 0;min-height:calc(100vh - 150px)}
.agenda-summary-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:-4px 0 12px}
.agenda-summary-row>div{padding:12px 10px;border:1px solid #e3e5eb;border-radius:15px;background:#fff;text-align:center}
.agenda-summary-row span{display:block;color:#848a96;font-size:8px;text-transform:uppercase;letter-spacing:.06em}
.agenda-summary-row strong{display:block;margin-top:3px;font-size:19px;color:#11131a}
.agenda-summary-row>div:first-child strong{color:#7c3aed}
.view-switch{max-width:360px;margin:0 auto 12px;padding:4px;background:#11131a;border-radius:14px}
.view-switch button{height:38px;border-radius:11px;color:#9fa6b4;font-size:10px}
.view-switch button.is-active{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;box-shadow:0 5px 14px rgba(109,40,217,.23)}
.calendar-card{padding:10px 9px 8px;border:1px solid #e2e4ea;border-radius:20px;background:#fff;box-shadow:0 8px 22px rgba(17,19,26,.05)}
.fc{--fc-border-color:#eceef2;--fc-today-bg-color:#f2edff;font-size:10px}
.fc .fc-toolbar{margin-bottom:12px!important;gap:8px}
.fc .fc-toolbar-chunk{display:flex;align-items:center;gap:5px}
.fc .fc-toolbar-title{font-size:16px!important;font-weight:850;letter-spacing:-.03em;text-transform:capitalize}
.fc .fc-button{min-width:30px;min-height:30px;padding:5px 8px!important;border:1px solid #e1e3e8!important;border-radius:10px!important;background:#fff!important;color:#171922!important;font-size:9px!important;font-weight:750!important;box-shadow:none!important}
.fc .fc-today-button{padding-inline:10px!important;background:#171922!important;color:#fff!important;border-color:#171922!important}
.fc .fc-button:focus{box-shadow:0 0 0 3px rgba(124,58,237,.12)!important}
.fc .fc-col-header-cell{border-bottom:1px solid #eceef2}
.fc .fc-col-header-cell-cushion{padding:8px 2px!important;color:#858b96!important;font-size:8px;font-weight:800;text-transform:uppercase;text-decoration:none!important}
.fc .fc-daygrid-day-frame{min-height:76px;padding:2px}
.fc .fc-daygrid-day-number{display:grid;place-items:center;width:25px;height:25px;margin:3px;color:#272b34!important;border-radius:50%;font-size:9px;font-weight:750;text-decoration:none!important}
.fc .fc-day-today .fc-daygrid-day-number{background:#7c3aed;color:#fff!important}
.fc .fc-daygrid-event{margin:1px 2px!important;border:0!important;background:transparent!important;box-shadow:none!important;cursor:pointer}
.fc .fc-event-main{color:inherit!important}
.calendar-event-pill{display:flex;align-items:center;gap:4px;min-width:0;padding:3px 5px;border-radius:6px;background:#f1ecff;color:#5b2bb6;font-size:7px;line-height:1.15}
.calendar-event-pill>span{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:#7c3aed}
.calendar-event-pill strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px;font-weight:800}
.calendar-event-pill small{display:none}
.calendar-status-confirmed .calendar-event-pill{background:#e9f8f0;color:#167a47}
.calendar-status-confirmed .calendar-event-pill>span{background:#24b36b}
.calendar-status-option .calendar-event-pill{background:#fff2df;color:#a85a00}
.calendar-status-option .calendar-event-pill>span{background:#ff8a1f}
.fc .fc-more-link{display:inline-flex;margin:2px;padding:2px 5px;border-radius:999px;background:#171922;color:#fff!important;font-size:7px;text-decoration:none}
.fc .fc-popover{border:0!important;border-radius:14px!important;box-shadow:0 14px 40px rgba(0,0,0,.18)!important;overflow:hidden}
.fc .fc-popover-header{background:#11131a!important;color:#fff!important;font-size:10px}
.agenda-list{gap:8px}
.agenda-list-item{grid-template-columns:54px minmax(0,1fr) auto;gap:10px;padding:10px 11px;border:1px solid #e1e4e9;border-radius:16px;background:#fff;box-shadow:0 5px 14px rgba(17,19,26,.035)}
.agenda-list-item .date-square{width:50px;height:50px;background:#11131a}
.agenda-list-copy{min-width:0}
.agenda-list-copy small{display:block;margin-bottom:3px;color:#7c3aed;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.agenda-list-item h3{overflow:hidden;margin:0;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.agenda-list-item p{overflow:hidden;margin:3px 0 0;color:#777d89;font-size:8px;text-overflow:ellipsis;white-space:nowrap}

@media (max-width:560px){
  .event-sticky-tools{top:67px}
  .event-quick-actions{padding:7px 7px}
  .event-quick-actions a,.event-action-disabled{min-height:51px}
  .mission-tabs a{min-width:88px}
  .fc .fc-daygrid-day-frame{min-height:62px}
  .calendar-event-pill{padding:2px 4px}
  .agenda-list-item .chip{font-size:7px;padding:4px 6px}
}

/* =========================================================
   V17.1.3 — Messages : tous les projets confirmés
   ========================================================= */
.messages-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}
.messages-summary>div{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #262b36;border-radius:14px;background:#12151c;color:#fff}
.messages-summary strong{font-size:18px;color:#a98bff}
.messages-summary span{color:#969daa;font-size:8px;line-height:1.25}
.messages-summary .has-unread{border-color:#583bb4;background:#171225}
.messages-summary .has-unread strong{color:#c3adff}
.conversation-project-meta{display:block;margin-top:2px;color:#8d94a1;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conversation-card.is-empty-conversation{border-style:dashed;background:#fcfcfd}
.conversation-card.is-empty-conversation p{font-style:italic;color:#949aa5}
.conversation-ready{display:inline-flex;flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#e8f8ef;color:#16834c;font-style:normal;font-size:7px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.conversation-meta i{display:inline-grid;place-items:center;width:20px;height:20px;margin-top:5px;border-radius:50%;background:#eee9ff;color:#6f43df;font-style:normal;font-size:13px;font-weight:800}

/* =========================================================
   GLIVEO TEAM — V17.1.4
   Agenda historique + filtres temporels Messages
   ========================================================= */
.agenda-summary-row--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.agenda-summary-row--four>div{min-width:0}
.agenda-summary-row--four small{display:block;margin-top:1px;color:#9ca2ad;font-size:6px;text-transform:uppercase;letter-spacing:.04em}
.agenda-summary-row--four .is-upcoming strong{color:#8b5cf6}
.agenda-summary-row--four .is-past{background:#f7f7f9}
.agenda-summary-row--four .is-past strong{color:#5f6672}

.period-filter{display:flex;gap:6px;overflow:auto;margin:0 0 10px;padding:2px 0 4px;scrollbar-width:none}
.period-filter::-webkit-scrollbar{display:none}
.period-filter button{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;min-height:34px;padding:7px 11px;border:1px solid #dedfe5;border-radius:999px;background:#fff;color:#636975;font-size:9px;font-weight:800;cursor:pointer}
.period-filter button b{display:grid;min-width:18px;height:18px;place-items:center;padding:0 5px;border-radius:999px;background:#efeff3;color:#656b76;font-size:7px}
.period-filter button.is-active{border-color:#6d28d9;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;box-shadow:0 5px 14px rgba(109,40,217,.18)}
.period-filter button.is-active b{background:rgba(255,255,255,.18);color:#fff}
.agenda-list-item[data-filter-hidden="1"],.conversation-card[data-filter-hidden="1"]{display:none!important}

.agenda-list-statuses{display:grid;justify-items:end;gap:4px}
.period-chip{display:inline-flex;padding:4px 6px;border-radius:999px;font-size:6px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.period-chip--past{background:#eceef2;color:#656b76}
.agenda-list-item.is-past-event{background:#fafafa;border-color:#e8e9ed}
.agenda-list-item.is-past-event .date-square{background:#3b3f48;color:#fff}
.agenda-list-item.is-past-event .agenda-list-copy small{color:#777e8a}

.agenda-calendar-legend{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 8px;padding:0 2px;color:#7c828d;font-size:7px;font-weight:700}
.agenda-calendar-legend span{display:inline-flex;align-items:center;gap:4px}
.agenda-calendar-legend i{width:7px;height:7px;border-radius:50%}
.legend-confirmed{background:#7c3aed}.legend-option{background:#d79a22}.legend-past{background:#969ca7}

.messages-summary--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.messages-summary--three>div{min-width:0;display:grid;justify-items:start;align-content:center;gap:1px}
.messages-summary--three strong{font-size:17px}
.period-filter--messages{margin-bottom:10px}
.conversation-past{display:inline-flex;flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#eceef2;color:#69707b;font-style:normal;font-size:7px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.conversation-card.is-past-conversation:not(.is-unread){background:#fafafa;border-color:#e5e7eb}
.conversation-card.is-past-conversation:not(.is-unread) .conversation-avatar{background:#393e47;color:#d8dbe1}

@media(max-width:430px){
  .agenda-summary-row--four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .messages-summary--three{grid-template-columns:repeat(3,minmax(0,1fr))}
  .messages-summary--three>div{padding:9px 8px}
  .messages-summary--three strong{font-size:15px}
  .messages-summary--three span{font-size:7px}
}

/* =========================================================
   V17.1.6 — PROFIL / CACHETS ANNUELS
   ========================================================= */
.profile-finance{margin-bottom:16px;padding:15px;border-radius:18px;background:#fff;border:1px solid #e5e7ec}.profile-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.profile-section-head h2{margin:3px 0 2px;font-size:18px;letter-spacing:-.03em}.profile-section-head p{margin:0;color:#777d89;font-size:9px;line-height:1.4}.profile-finance-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#eee7ff;color:#6d28d9}.profile-finance-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.profile-finance-highlight{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:14px;margin-bottom:10px;border-radius:15px;background:linear-gradient(135deg,#12141b,#1e1532);color:#fff}.profile-finance-highlight small{display:block;color:#aaa1bb;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.profile-finance-highlight strong{display:block;margin:3px 0 2px;color:#c8abff;font-size:27px;letter-spacing:-.04em}.profile-finance-highlight span{color:#aeb3bd;font-size:8px}.profile-finance-realised{text-align:right}.profile-finance-realised b{display:block;margin-top:4px;color:#fff;font-size:13px}.profile-fee-years{display:grid;gap:7px}.profile-fee-year{padding:11px;border:1px solid #e7e8ed;border-radius:13px;background:#fafafd}.profile-fee-year.is-current{border-color:#d8c8ff;background:#f7f3ff}.profile-fee-year-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.profile-fee-year-label,.profile-fee-year-total span{display:block;color:#858b96;font-size:7px;text-transform:uppercase;letter-spacing:.06em}.profile-fee-year-top>div:first-child strong{display:block;margin-top:1px;font-size:17px;color:#171922}.profile-fee-year-total{text-align:right}.profile-fee-year-total b{display:block;margin-top:1px;color:#6d28d9;font-size:15px}.profile-fee-progress{overflow:hidden;height:6px;margin:9px 0 7px;border-radius:99px;background:#e9e9ee}.profile-fee-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8b5cf6,#6d28d9)}.profile-fee-year-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#777d89;font-size:8px}.profile-fee-year-bottom b{color:#24262d}.profile-finance-total{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px;padding-top:10px;border-top:1px solid #ececf0}.profile-finance-total span{padding:9px;border-radius:11px;background:#f4f3f8}.profile-finance-total small{display:block;color:#828793;font-size:7px;text-transform:uppercase;letter-spacing:.05em}.profile-finance-total strong{display:block;margin-top:2px;color:#202229;font-size:10px}.profile-finance-total span:last-child strong{color:#6d28d9;font-size:14px}.profile-finance-empty{padding:22px 12px;text-align:center;border:1px dashed #d7d9e0;border-radius:14px;background:#fafafd}.profile-finance-empty>span{display:grid;place-items:center;width:38px;height:38px;margin:0 auto 8px;border-radius:50%;background:#eee7ff;color:#6d28d9}.profile-finance-empty svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.profile-finance-empty strong{display:block;font-size:11px}.profile-finance-empty p{margin:4px auto 0;max-width:250px;color:#858b96;font-size:8px;line-height:1.45}@media(max-width:380px){.profile-finance-highlight{grid-template-columns:1fr}.profile-finance-realised{text-align:left}.profile-finance-total{grid-template-columns:1fr}}

/* =========================================================
   V17.1.16 — Facture prestataire / dépôt de document
   ========================================================= */
.team-invoice-card,
.submitted-invoices{
    margin:14px 0;
    border:1px solid rgba(147,83,226,.25);
    background:linear-gradient(145deg,rgba(25,27,34,.98),rgba(13,15,20,.98));
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 12px 30px rgba(0,0,0,.22);
}
.team-invoice-card{padding:17px;}
.team-invoice-card-head{display:flex;gap:13px;align-items:flex-start;margin-bottom:17px;}
.team-invoice-symbol,
.submitted-invoice-icon{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    border-radius:14px;
    color:#d6b4ff;
    background:rgba(132,65,205,.16);
    border:1px solid rgba(160,92,231,.28);
    font-weight:900;
    font-size:10px;
    letter-spacing:.8px;
}
.team-invoice-kicker{display:block;color:#a967ef;font-size:9px;font-weight:900;letter-spacing:1.2px;margin-bottom:4px;}
.team-invoice-card h3,.submitted-invoices h3{margin:0;color:#fff;font-size:16px;line-height:1.25;}
.team-invoice-card-head p{margin:5px 0 0;color:#8e94a0;font-size:11px;line-height:1.45;}
.team-invoice-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.invoice-field{display:flex;flex-direction:column;gap:7px;min-width:0;}
.invoice-field--full{grid-column:1/-1;}
.invoice-field>span:first-child{color:#b7bbc4;font-size:10px;font-weight:800;}
.invoice-field>span:first-child small{font-weight:500;color:#6f7580;margin-left:3px;}
.invoice-field input[type="text"],
.invoice-field input[type="number"],
.invoice-field textarea{
    width:100%;
    box-sizing:border-box;
    border:1px solid rgba(255,255,255,.1);
    background:#0d0f14;
    color:#fff;
    border-radius:12px;
    outline:none;
    padding:12px 13px;
    font:inherit;
    font-size:12px;
    transition:border-color .18s ease,box-shadow .18s ease;
}
.invoice-field textarea{resize:vertical;min-height:72px;}
.invoice-field input:focus,.invoice-field textarea:focus{border-color:#8e48d7;box-shadow:0 0 0 3px rgba(142,72,215,.12);}
.invoice-amount-input{position:relative;}
.invoice-amount-input input{padding-right:38px!important;}
.invoice-amount-input b{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:12px;color:#9da2ad;pointer-events:none;}
.invoice-file-picker{display:grid!important;grid-template-columns:auto 1fr;gap:5px 10px;align-items:center;position:relative;border:1px dashed rgba(168,100,237,.38);background:rgba(119,55,184,.08);border-radius:14px;padding:12px;cursor:pointer;}
.invoice-file-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;}
.invoice-file-button{display:inline-flex;align-items:center;justify-content:center;background:#7e3ec0;color:#fff;border-radius:10px;padding:9px 12px;font-size:10px;font-weight:900;white-space:nowrap;}
.invoice-file-picker small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8f95a0;font-size:10px;}
.invoice-upload-status{grid-column:1/-1;border-radius:11px;padding:10px 12px;font-size:10px;font-weight:700;line-height:1.4;}
.invoice-upload-status.is-loading{background:rgba(123,70,182,.12);color:#caa9ee;border:1px solid rgba(151,86,221,.22);}
.invoice-upload-status.is-success{background:rgba(43,160,111,.12);color:#79d9aa;border:1px solid rgba(43,160,111,.25);}
.invoice-upload-status.is-error{background:rgba(214,72,91,.12);color:#ff9baa;border:1px solid rgba(214,72,91,.25);}
.invoice-submit-button{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-radius:13px;padding:13px 15px;background:linear-gradient(135deg,#7e3ec0,#9e53df);color:#fff;font:inherit;font-size:11px;font-weight:900;cursor:pointer;box-shadow:0 9px 22px rgba(119,58,177,.24);}
.invoice-submit-button b{font-size:16px;line-height:1;}
.invoice-submit-button:disabled{opacity:.6;cursor:wait;}
.submitted-invoices{padding:15px;}
.submitted-invoices-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.submitted-count{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:rgba(138,69,211,.17);color:#c99cf5;font-size:10px;font-weight:900;}
.submitted-invoice-list{display:flex;flex-direction:column;gap:8px;}
.submitted-invoice-row{display:flex;align-items:center;gap:10px;background:#0c0e13;border:1px solid rgba(255,255,255,.07);border-radius:13px;padding:10px;}
.submitted-invoice-row .submitted-invoice-icon{width:38px;height:38px;border-radius:11px;font-size:8px;}
.submitted-invoice-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.submitted-invoice-copy strong{color:#f2f3f5;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.submitted-invoice-copy span{color:#777d89;font-size:9px;}
.submitted-invoice-open{flex:0 0 auto;color:#c493f1;text-decoration:none;border:1px solid rgba(154,83,220,.3);background:rgba(123,58,183,.1);border-radius:9px;padding:7px 9px;font-size:9px;font-weight:900;}
.billing-info-list{margin-top:15px;}
.billing-footnote{font-size:9px;color:#737984;margin:12px 2px;line-height:1.45;}
@media(max-width:430px){
    .team-invoice-form{grid-template-columns:1fr;}
    .invoice-field--full,.invoice-submit-button,.invoice-upload-status{grid-column:1;}
    .invoice-file-picker{grid-template-columns:1fr;}
    .invoice-file-button{width:max-content;}
}

/* =========================================================
   V17.1.19 — VIEW MUSIQUE / DONNÉES PG_CLIENTS
========================================================= */
.view-musique-page-v19 .music-tabs-v19{
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-bottom:14px;
}
.view-musique-page-v19 .music-section-card-v19{
    padding:14px;
    border:1px solid #e5e7ec;
    border-radius:16px;
    background:#fff;
}
.view-musique-page-v19 .music-section-head-v19{
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:15px;
}
.view-musique-page-v19 .music-section-icon-v19{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    flex:0 0 44px;
    border-radius:13px;
    background:linear-gradient(135deg,#171923,#7c3aed);
    font-size:21px;
}
.view-musique-page-v19 .music-section-head-v19 small{
    display:block;
    margin-bottom:2px;
    color:#805ad5;
    font-size:8px;
    font-weight:800;
    letter-spacing:.08em;
}
.view-musique-page-v19 .music-section-head-v19 h3{
    margin:0;
    color:#171923;
    font-size:14px;
    line-height:1.2;
}
.view-musique-page-v19 .music-subsection-v19{
    margin-top:15px;
}
.view-musique-page-v19 .music-subsection-title-v19{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:13px 0 8px;
}
.view-musique-page-v19 .music-subsection-title-v19 strong{
    color:#262a33;
    font-size:10px;
}
.view-musique-page-v19 .music-subsection-title-v19 span{
    display:inline-grid;
    place-items:center;
    min-width:23px;
    height:23px;
    padding:0 7px;
    border-radius:999px;
    background:#eee8ff;
    color:#6840bd;
    font-size:8px;
    font-weight:800;
}
.view-musique-page-v19 .music-style-chips-v19{
    margin-bottom:0;
}
.view-musique-page-v19 .music-note-v19{
    margin-top:11px;
    padding:11px 12px;
    border:1px solid #e8e3f0;
    border-left:3px solid #7c3aed;
    border-radius:11px;
    background:#faf8ff;
}
.view-musique-page-v19 .music-note-v19 small{
    display:block;
    margin-bottom:5px;
    color:#6f4ab5;
    font-size:8px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.view-musique-page-v19 .music-note-v19 p{
    margin:0;
    color:#4c515c;
    font-size:10px;
    line-height:1.55;
}
.view-musique-page-v19 .music-note-v19--requested{
    border-left-color:#22a06b;
    background:#f5fbf8;
}
.view-musique-page-v19 .music-note-v19--requested small{color:#168255;}
.view-musique-page-v19 .music-note-v19--forbidden{
    border-left-color:#dc4564;
    background:#fff7f9;
}
.view-musique-page-v19 .music-note-v19--forbidden small{color:#b62f4b;}
.view-musique-page-v19 .track-card-v19{
    grid-template-columns:46px minmax(0,1fr);
}
.view-musique-page-v19 .track-card-v19 .track-main-v19{
    min-width:0;
}
.view-musique-page-v19 .track-card-v19--requested .track-cover{
    background:linear-gradient(135deg,#165f47,#28b77c);
}
.view-musique-page-v19 .track-card-v19--forbidden .track-cover{
    background:linear-gradient(135deg,#551b29,#e34869);
    font-size:18px!important;
    font-weight:900;
}
.view-musique-page-v19 .music-audio-v19{
    display:block;
    width:100%;
    max-width:280px;
    height:28px;
    margin-top:7px;
}
.view-musique-page-v19 .music-empty-v19{
    padding:16px;
    font-size:9px;
}
.view-musique-page-v19 .music-load-warning-v19{
    margin-top:12px;
    padding:10px 12px;
    border:1px solid #f0d9a7;
    border-radius:12px;
    background:#fff9ec;
    color:#80611e;
    font-size:9px;
    line-height:1.45;
}

/* =========================================================
   V17.1.20 — VIEW MUSIQUE / ICONES TITRES SOUHAITES-EVITES
========================================================= */
.view-musique-page-v19 .track-card-v19--requested .track-cover,
.view-musique-page-v19 .track-card-v19--forbidden .track-cover{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    place-items:unset!important;
    line-height:1!important;
    text-align:center!important;
    font-size:14px!important;
}
.view-musique-page-v19 .track-card-v19--requested .track-cover svg,
.view-musique-page-v19 .track-card-v19--forbidden .track-cover svg{
    display:block!important;
    width:17px!important;
    height:17px!important;
    margin:0!important;
    flex:0 0 17px!important;
    stroke-width:1.8!important;
}
.view-musique-page-v19 .track-card-v19--forbidden .track-cover{
    font-size:15px!important;
    font-weight:850!important;
}

/* =========================================================
   V17.1.21 — VIEW MUSIQUE / CENTRAGE ABSOLU DES PICTOS
   Titres souhaités + titres à éviter
========================================================= */
.view-musique-page-v19 .track-card-v19--requested .track-cover,
.view-musique-page-v19 .track-card-v19--forbidden .track-cover{
    position:relative!important;
    display:block!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    padding:0!important;
    margin:0!important;
    line-height:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
}

.view-musique-page-v19 .track-card-v19--requested .track-cover svg{
    position:absolute!important;
    top:50%!important;
    left:50%!important;
    width:17px!important;
    height:17px!important;
    margin:0!important;
    transform:translate(-50%,-50%)!important;
    transform-origin:center center!important;
    display:block!important;
}

/* Le caractère texte possède ses propres métriques de police :
   on le remplace visuellement par un pseudo-élément centré au pixel près. */
.view-musique-page-v19 .track-card-v19--forbidden .track-cover{
    font-size:0!important;
}
.view-musique-page-v19 .track-card-v19--forbidden .track-cover::before{
    content:"!";
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    display:block;
    margin:0;
    padding:0;
    color:#fff;
    font-family:Arial,sans-serif;
    font-size:15px;
    font-weight:850;
    line-height:1;
}

/* ==========================================================
   GLIVEO TEAM V17.1.22 — VIEW PLANNING
   Deux vues : Classique (texte complet) / Visuel (options)
   Aucun line-clamp ou troncage volontaire du contenu.
   ========================================================== */
.planning-v22{padding-bottom:24px}
.planning-v22-head{align-items:flex-start;gap:12px}
.planning-v22-eyebrow{display:block;margin-bottom:4px;color:#7c3aed;font-size:8px;font-weight:900;letter-spacing:.12em}
.planning-v22-count{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#efe9ff;color:#6d38c7;font-size:8px;font-weight:900;white-space:nowrap}

.planning-v22-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:12px 0 16px;padding:4px;border-radius:14px;background:#151820}
.planning-v22-switch button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:39px;border:0;border-radius:10px;background:transparent;color:#aeb3be;font-size:10px;font-weight:800}
.planning-v22-switch button i{font-size:16px}
.planning-v22-switch button.is-active{background:#7c3aed;color:#fff;box-shadow:0 5px 14px rgba(124,58,237,.22)}

.planning-classic-v22{position:relative;display:grid;gap:11px}
.planning-classic-v22:before{content:"";position:absolute;top:18px;bottom:18px;left:35px;width:2px;border-radius:2px;background:linear-gradient(#7c3aed,#cab8fa 82%,transparent);z-index:0}
.planning-classic-card-v22{position:relative;z-index:1;display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;align-items:start}
.planning-classic-time-v22{position:sticky;top:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:58px;padding:7px 5px;border:1px solid #ddd7eb;border-radius:13px;background:#fff;box-shadow:0 5px 14px rgba(26,24,38,.06);color:#1d2028}
.planning-classic-time-v22 span{font-size:13px;font-weight:900;letter-spacing:-.02em}
.planning-classic-time-v22 i{color:#7c3aed;font-size:14px}
.planning-classic-body-v22{min-width:0;padding:13px;border:1px solid #e6e3eb;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(22,20,32,.045)}
.planning-card-title-row-v22{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.planning-step-number-v22{display:block;margin-bottom:3px;color:#8a8194;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.planning-card-title-row-v22 h3,.planning-visual-title-v22 h3{margin:0;color:#191b22;font-size:13px;line-height:1.25}
.planning-detail-btn-v22{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border:0;border-radius:10px;background:#f2edff;color:#6f35c7;cursor:pointer}
.planning-detail-btn-v22 i{font-size:16px}

.planning-full-description-v22{margin-top:10px;color:#4e5360;font-size:10px;line-height:1.65;white-space:normal;word-break:normal;overflow-wrap:anywhere;max-height:none!important;overflow:visible!important;text-overflow:clip!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;display:block!important}
.planning-full-description-v22--visual{font-size:9.5px;line-height:1.6}

.planning-inline-block-v22{display:grid;grid-template-columns:31px 1fr;gap:9px;margin-top:11px;padding:9px 10px;border-radius:12px;background:#faf8ff;border:1px solid #ece6fa}
.planning-inline-icon-v22{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#e9dfff;color:#6d35be}
.planning-inline-icon-v22 i{font-size:16px}
.planning-inline-block-v22 strong{display:block;margin-bottom:3px;color:#2f2937;font-size:9px}
.planning-inline-block-v22 p{margin:0;color:#67606f;font-size:9px;line-height:1.55;white-space:normal;max-height:none;overflow:visible}

.planning-data-block-v22{margin-top:11px;padding-top:10px;border-top:1px solid #eeebf0}
.planning-data-title-v22{display:flex;align-items:center;gap:6px;margin-bottom:7px;color:#393342;font-size:9px}
.planning-data-title-v22 i{color:#7c3aed;font-size:15px}
.planning-song-list-v22{display:flex;flex-wrap:wrap;gap:6px}
.planning-song-chip-v22{display:flex;align-items:center;gap:6px;max-width:100%;padding:7px 8px;border-radius:10px;background:#181a22;color:#fff}
.planning-song-chip-v22>i{flex:0 0 auto;color:#c898ff;font-size:14px}
.planning-song-chip-v22>span{display:flex;min-width:0;flex-direction:column}
.planning-song-chip-v22 strong{font-size:8px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
.planning-song-chip-v22 small{margin-top:1px;color:#aeb3be;font-size:7px;line-height:1.3;white-space:normal}
.planning-option-text-list-v22{display:flex;flex-wrap:wrap;gap:5px}
.planning-option-text-list-v22 span{display:inline-flex;align-items:center;gap:4px;padding:6px 8px;border-radius:9px;background:#f0ebfb;color:#5f3e91;font-size:8px;line-height:1.35}
.planning-option-text-list-v22 i{font-size:12px}

.planning-visual-grid-v22{display:grid;grid-template-columns:1fr;gap:14px}
.planning-visual-card-v22{overflow:hidden;border:1px solid #e2dfe7;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(20,18,31,.07)}
.planning-visual-media-v22{position:relative;min-height:145px;background:#151720;overflow:hidden}
.planning-visual-media-v22>img{display:block;width:100%;height:170px;object-fit:cover}
.planning-visual-media-v22:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(7,8,12,.55))}
.planning-visual-media-v22.is-placeholder:after{display:none}
.planning-visual-placeholder-v22{display:grid;place-items:center;height:150px;background:radial-gradient(circle at 50% 30%,#40255f,#171923 62%);color:#c992ff}
.planning-visual-placeholder-v22 i{font-size:42px;opacity:.8}
.planning-visual-time-v22{position:absolute;left:10px;bottom:10px;z-index:2;display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border-radius:10px;background:rgba(15,16,22,.88);backdrop-filter:blur(8px);color:#fff;font-size:9px;font-weight:900}
.planning-visual-time-v22 i{font-size:13px;color:#c291ff}
.planning-visual-index-v22{position:absolute;right:10px;top:10px;z-index:2;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#7c3aed;color:#fff;font-size:9px;font-weight:900;box-shadow:0 5px 14px rgba(0,0,0,.18)}
.planning-visual-body-v22{padding:13px}
.planning-visual-title-v22{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.planning-visual-section-v22{margin-top:12px;padding-top:10px;border-top:1px solid #eeebf0}

.planning-option-gallery-v22{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.planning-option-card-v22{min-width:0;margin:0;overflow:hidden;border:1px solid #e8e4ec;border-radius:12px;background:#faf9fb}
.planning-option-card-v22 img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#ececf1}
.planning-option-card-v22 figcaption{padding:7px;color:#4e4655;font-size:8px;line-height:1.35;overflow-wrap:anywhere}
.planning-option-card-v22.no-image{display:grid;grid-template-columns:45px 1fr;align-items:center;min-height:52px}
.planning-option-card-v22.no-image figcaption{padding-left:0}
.planning-option-placeholder-v22{display:grid;place-items:center;width:34px;height:34px;margin-left:7px;border-radius:9px;background:#eee7fa;color:#6e3fad}
.planning-option-placeholder-v22 i{font-size:17px}
.planning-inline-note-v22--visual{margin-top:12px}

.planning-detail-modal-v22 .planning-sheet-v22{padding-bottom:max(18px,env(safe-area-inset-bottom))}
.planning-sheet-fulltext-v22{white-space:pre-line!important;color:#555c68!important;font-size:10px!important;line-height:1.65!important;max-height:none!important;overflow:visible!important}
.planning-sheet-song-v22{margin:4px 0!important}
.planning-sheet-options-v22{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.planning-sheet-options-v22 figure{width:auto!important;padding:8px;border:1px solid #e8e4ed;border-radius:11px;background:#fff}
.planning-sheet-options-v22 img{width:100%!important;height:90px!important;border-radius:9px!important;object-fit:cover!important}
.planning-sheet-options-v22 figcaption{font-size:8px!important;line-height:1.35!important}
.planning-sheet-option-placeholder-v22{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 5px;border-radius:50%;background:#eee8f8;color:#7042af;font-size:20px}
.planning-modal-open-v22{overflow:hidden}

@media (min-width:620px){
  .planning-visual-grid-v22{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:430px){
  .planning-classic-card-v22{grid-template-columns:62px minmax(0,1fr);gap:8px}
  .planning-classic-v22:before{left:30px}
  .planning-classic-time-v22{min-height:54px}
  .planning-classic-body-v22{padding:11px}
}

/* =========================================================
   V17.1.23 — Planning : classique OU galerie d'options
   ========================================================= */
.planning-detail-btn-v22{
  position:relative;
  display:grid;
  place-items:center;
}
.planning-eye-svg-v23{
  display:block;
  width:17px;
  height:17px;
  pointer-events:none;
}
.planning-detail-btn-v22 .planning-eye-svg-v23{
  color:#6f35c7;
}

/* Le mode visuel ne reprend plus la liste du planning : uniquement les options. */
.planning-visual-v23{width:100%}
.planning-visual-grid-v23{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.planning-option-tile-v23{
  min-width:0;
  overflow:hidden;
  border:1px solid #e3deea;
  border-radius:15px;
  background:#fff;
  box-shadow:0 7px 18px rgba(24,20,35,.07);
}
.planning-option-tile-media-v23{
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#171923;
}
.planning-option-tile-media-v23>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.planning-option-tile-media-v23:after{
  content:"";
  position:absolute;
  inset:52% 0 0;
  pointer-events:none;
  background:linear-gradient(transparent,rgba(8,9,13,.56));
}
.planning-option-tile-v23.is-placeholder .planning-option-tile-media-v23:after{display:none}
.planning-option-tile-placeholder-v23{
  display:flex;
  width:100%;
  height:100%;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:radial-gradient(circle at 50% 30%,#4a276b 0,#2a1f3b 42%,#171923 78%);
  color:#d4a8ff;
}
.planning-option-tile-placeholder-v23 i{font-size:29px}
.planning-option-tile-placeholder-v23 span{
  color:#d8cbe6;
  font-size:8px;
  font-weight:800;
  letter-spacing:.03em;
}
.planning-option-tile-time-v23{
  position:absolute;
  left:8px;
  bottom:8px;
  z-index:2;
  padding:5px 7px;
  border-radius:8px;
  background:rgba(13,14,19,.86);
  color:#fff;
  font-size:8px;
  font-weight:900;
  backdrop-filter:blur(7px);
}
.planning-option-eye-v23{
  position:absolute;
  right:8px;
  top:8px;
  z-index:3;
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  padding:0;
  border:0;
  border-radius:10px;
  background:#7c3aed;
  color:#fff;
  box-shadow:0 5px 14px rgba(31,18,54,.28);
  cursor:pointer;
}
.planning-option-eye-v23 .planning-eye-svg-v23{width:16px;height:16px;color:#fff}
.planning-option-tile-caption-v23{
  display:flex;
  min-height:58px;
  flex-direction:column;
  gap:4px;
  padding:9px 10px 10px;
}
.planning-option-step-v23{
  overflow:hidden;
  color:#8a8194;
  font-size:7px;
  font-weight:900;
  line-height:1.25;
  text-transform:uppercase;
  letter-spacing:.06em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.planning-option-tile-caption-v23 strong{
  color:#24202a;
  font-size:9px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.planning-visual-empty-v23{margin-top:4px}

@media (min-width:520px){
  .planning-visual-grid-v23{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* =========================================================
   GLIVEO TEAM V17.1.24 - PLANNING / MODE VISUEL
   Classique = timeline uniquement
   Visuel = vignettes uniquement, une par moment
========================================================= */
#planningModesV22 [data-panel][hidden]{display:none!important}

.planning-visual-v24{width:100%}
.planning-visual-grid-v24{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.planning-visual-card-v24{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(73,56,95,.22);
  border-radius:16px;
  background:#171923;
  box-shadow:0 8px 22px rgba(18,15,28,.10);
}
.planning-visual-media-v24{
  position:relative;
  min-height:155px;
  aspect-ratio:1.15/1;
  overflow:hidden;
  background:#171923;
}
.planning-visual-media-v24>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.planning-visual-purple-v24{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 72% 22%,rgba(145,70,221,.30),transparent 30%),
    radial-gradient(circle at 30% 80%,rgba(90,42,142,.42),transparent 36%),
    linear-gradient(145deg,#171923 5%,#2a193b 52%,#3b2058 100%);
  color:rgba(215,180,255,.62);
}
.planning-visual-purple-v24 i{font-size:34px;opacity:.55}
.planning-visual-overlay-v24{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(7,8,12,.04) 28%,rgba(7,8,12,.22) 56%,rgba(7,8,12,.90) 100%);
  pointer-events:none;
}
.planning-visual-card-v24.is-purple-placeholder .planning-visual-overlay-v24{
  background:linear-gradient(to bottom,rgba(17,13,25,.02) 20%,rgba(10,9,15,.18) 55%,rgba(7,8,12,.86) 100%);
}
.planning-visual-time-v24{
  position:absolute;
  left:9px;
  top:9px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:25px;
  padding:0 8px;
  border-radius:8px;
  background:rgba(8,9,14,.78);
  backdrop-filter:blur(7px);
  color:#fff;
  font-size:8px;
  font-weight:900;
  letter-spacing:.02em;
}
.planning-visual-eye-v24{
  position:absolute;
  right:9px;
  top:9px;
  z-index:4;
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  padding:0;
  border:0;
  border-radius:9px;
  background:#7c3aed;
  color:#fff;
  box-shadow:0 6px 16px rgba(27,12,48,.28);
  cursor:pointer;
}
.planning-visual-eye-v24 .planning-eye-svg-v23{width:16px;height:16px;color:#fff;display:block}
.planning-visual-caption-v24{
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  z-index:3;
  min-width:0;
}
.planning-visual-caption-v24 h3{
  margin:0;
  color:#fff;
  font-size:11px;
  line-height:1.25;
  font-weight:900;
  text-shadow:0 2px 6px rgba(0,0,0,.35);
}
.planning-visual-caption-v24 p{
  display:flex;
  align-items:center;
  gap:4px;
  margin:4px 0 0;
  color:#ded7e8;
  font-size:7.5px;
  line-height:1.3;
}
.planning-visual-caption-v24 p i{flex:0 0 auto;color:#c894ff;font-size:11px}
.planning-visual-empty-v24{margin-top:4px}

@media (min-width:700px){
  .planning-visual-grid-v24{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* =========================================================
   V17.1.27 — Planning visuel : le fallback violet doit
   réellement disparaître quand une image produit est présente.
   ========================================================= */
.planning-visual-purple-v24[hidden],
[data-planning-image-fallback][hidden]{
  display:none !important;
}
