:root{--bg: #f7f8fb;--card: #ffffff;--line: #e9ebf1;--line-2: #f1f2f6;--text: #1f2430;--text-2: #424a5a;--muted: #6b7280;--muted-2: #9aa1ae;--accent: #5b5bd6;--accent-strong: #4a4ac4;--accent-soft: #eeeefc;--m-home: #5b5bd6;--m-home-soft: #eeeefc;--m-projets: #3b82f6;--m-projets-soft: #eaf2fe;--m-taches: #8b5cf6;--m-taches-soft: #f3eeff;--m-planning: #0ea5a4;--m-planning-soft: #e3f6f5;--m-temps: #f97316;--m-temps-soft: #fff1e6;--m-fact: #16a34a;--m-fact-soft: #e8f6ec;--m-budget: #5b5bd6;--m-budget-soft: #eeeefc;--m-admin: #64748b;--m-admin-soft: #f1f5f9;--m-staffing: #db2777;--m-staffing-soft: #fdedf5;--m-echange: #0284c7;--m-echange-soft: #e5f3fb;--m-tma: #b45309;--m-tma-soft: #fdf3e7;--m-agenda: #a855f7;--m-agenda-soft: #f8eefe;--ok: #16a34a;--ok-soft: #e8f6ec;--warn: #d97706;--warn-soft: #fef3e2;--danger: #dc2626;--danger-soft: #fdecec;--info: #2563eb;--info-soft: #eaf2fe;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(20, 25, 40, .04), 0 1px 3px rgba(20, 25, 40, .04);--shadow-lg: 0 10px 30px rgba(20, 25, 40, .1);--sidebar: 248px;font-family:Inter,Segoe UI,system-ui,-apple-system,Roboto,sans-serif;color:var(--text);background:var(--bg);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:var(--accent);text-decoration:none}h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.015em}button{font:inherit}svg{flex:none}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.muted{color:var(--muted)}.small{font-size:12px}.row{display:flex;align-items:center;gap:8px}.grow{flex:1;min-width:0}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar);background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:40;transition:transform .2s ease}.brand{display:flex;align-items:center;gap:10px;padding:18px 18px 14px;font-weight:700;font-size:15.5px;color:var(--text)}.brand-logo{display:grid;place-items:center;flex:none;line-height:0}.brand-mark{display:block;filter:drop-shadow(0 3px 6px rgba(91,91,214,.3))}.app-footer{text-align:center;font-size:11.5px;color:var(--muted-2);padding:18px 12px 14px;line-height:1.5}.login-wrap,.ag-signup{grid-template-rows:1fr auto}.login-wrap .app-footer,.ag-signup .app-footer{padding-bottom:0}.platform>.app-footer{margin-top:12px}.ag-footer{color:var(--ag-ink-2, #6b6485);opacity:.85}.ag-name{font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#a855f7}.nav{flex:1;padding:4px 12px;overflow-y:auto}.nav-sep{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted-2);padding:14px 10px 6px;font-weight:600;border-top:1px solid var(--line-2);margin-top:10px}.nav a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:9px;color:var(--text-2);margin-bottom:2px;font-weight:500}.nav a:hover{background:#f4f5f9;color:var(--text)}.nav a.active{background:#f1f2f8;color:var(--text);font-weight:600}.nav .chip-ico{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--soft);color:var(--c);transition:all .15s}.nav a.active .chip-ico{background:var(--c);color:#fff}.nav .soon{margin-left:auto;font-size:10px;background:#f1f2f6;color:var(--muted);padding:1px 6px;border-radius:10px}.side-user{border-top:1px solid var(--line);padding:12px 14px;display:flex;gap:10px;align-items:center}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:12px;flex:none;background:var(--accent-soft);color:var(--accent-strong)}.avatar.sm{width:24px;height:24px;font-size:10px}.side-user .name{font-weight:600;font-size:13px}.side-user .links{display:flex;gap:2px;margin-left:auto}.main{flex:1;margin-left:var(--sidebar);min-width:0}.topbar,.backdrop{display:none}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:26px 30px 10px;flex-wrap:wrap}.page-head .sub{color:var(--muted);margin-top:5px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.page-head h1{font-size:23px;display:flex;align-items:center;gap:12px}.page-ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--soft);color:var(--c)}.back{color:var(--muted);font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;margin-bottom:8px}.back:hover{color:var(--accent)}.content{padding:14px 30px 48px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}@media (max-width: 900px){.sidebar{transform:translate(-100%);box-shadow:var(--shadow-lg)}.shell.open .sidebar{transform:none}.shell.open .backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#14192859;z-index:30}.main{margin-left:0}.topbar{display:flex;align-items:center;gap:10px;height:56px;padding:0 12px;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;font-weight:700}.page-head{padding:18px 16px 6px}.page-head h1{font-size:19px}.page-ico{width:32px;height:32px}.content{padding:10px 16px 32px}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.mb{margin-bottom:16px}.card-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line-2);flex-wrap:wrap}.card-h h3{font-size:14.5px;display:flex;align-items:center;gap:8px}.card-h h3 svg{color:var(--muted)}.card-b{padding:16px 18px}.stack{display:grid;gap:16px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media (max-width: 700px){.grid2,.grid3{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:9px;padding:8px 14px;border:1px solid transparent;cursor:pointer;font-weight:550;font-size:13.5px;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 1px 2px #4a4ac440}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-success{background:var(--ok);color:#fff}.btn-success:hover{background:#12863c}.btn-outline{background:#fff;border-color:var(--line);color:var(--text-2)}.btn-outline:hover:not(:disabled){border-color:#d3d7e1;background:#fafbfd;color:var(--text)}.btn-ghost{background:transparent;color:var(--muted)}.btn-ghost:hover{background:#f1f2f6;color:var(--text)}.btn-danger{background:#fff;border-color:#f5cccc;color:var(--danger)}.btn-danger:hover{background:var(--danger-soft)}.btn-sm{padding:5px 10px;font-size:12.5px;border-radius:8px}.btn-block{width:100%}.icon-btn{background:none;border:0;cursor:pointer;color:var(--muted);padding:5px;border-radius:7px;display:inline-grid;place-items:center}.icon-btn:hover{background:#f1f2f6;color:var(--text)}.icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.field label{font-size:12.5px;font-weight:600;color:var(--text-2)}.field .hint{font-size:11.5px;color:var(--muted)}.req{color:var(--danger)}.input,select.input,textarea.input{width:100%;border:1px solid #dfe2ea;border-radius:9px;padding:8px 11px;font:inherit;background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input:disabled{background:#f7f8fb;color:var(--muted)}textarea.input{min-height:74px;resize:vertical}.input-sm{padding:5px 8px;font-size:13px;border-radius:7px}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:20px;font-size:11.5px;font-weight:600;white-space:nowrap}.badge .d{width:6px;height:6px;border-radius:50%;background:currentColor}.b-ok{background:var(--ok-soft);color:var(--ok)}.b-warn{background:var(--warn-soft);color:var(--warn)}.b-danger{background:var(--danger-soft);color:var(--danger)}.b-blue{background:var(--info-soft);color:var(--info)}.b-violet{background:var(--m-taches-soft);color:#7442e8}.b-teal{background:var(--m-planning-soft);color:#0b8584}.b-orange{background:var(--m-temps-soft);color:#d65d0a}.b-grey{background:#f1f2f6;color:var(--muted)}.alert{border-radius:10px;padding:10px 14px;font-size:13px;margin-bottom:14px;border:1px solid;display:flex;gap:8px;align-items:flex-start}.alert svg{margin-top:1px}.al-info{background:var(--info-soft);border-color:#d3e3fd;color:#1d4fb8}.al-warn{background:var(--warn-soft);border-color:#f7dfb6;color:#8f5100}.al-danger{background:var(--danger-soft);border-color:#f5cccc;color:#a32020}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table.t{width:100%;border-collapse:collapse;font-size:13px}table.t th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;padding:10px 14px;background:#fafbfc;border-bottom:1px solid var(--line);white-space:nowrap}table.t th.num{text-align:right}table.t td{padding:9px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle}table.t tbody tr:hover td{background:#fafbfd}table.t tfoot td{font-weight:700;background:#fafbfc;border-top:1px solid var(--line)}table.t tr.dim td{color:var(--muted)}table.t tr.hol td{background:#fffbf2}table.t tr.future td{color:#56607a;font-style:italic}table.t tr.clickable{cursor:pointer}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}@media (max-width: 1050px){.kpis{grid-template-columns:repeat(2,1fr)}}.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:15px 16px;box-shadow:var(--shadow);min-width:0;display:flex;gap:12px;align-items:flex-start}.kpi .ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--soft, var(--accent-soft));color:var(--c, var(--accent));flex:none}.kpi .l{font-size:12px;color:var(--muted);font-weight:600}.kpi .v{font-size:21px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.kpi .s{font-size:12px;color:var(--muted);margin-top:1px}.kpi.ok .ico{--soft: var(--ok-soft);--c: var(--ok)}.kpi.warn .ico{--soft: var(--warn-soft);--c: var(--warn)}.kpi.danger .ico{--soft: var(--danger-soft);--c: var(--danger)}.kpi.danger .v{color:var(--danger)}@media (max-width: 520px){.kpi{padding:12px;gap:10px}.kpi .ico{display:none}.kpi .v{font-size:17px}}.progress{height:7px;background:#eef0f5;border-radius:10px;overflow:hidden}.progress>div{height:100%;border-radius:10px;transition:width .3s}.progress .ok{background:var(--ok)}.progress .warn{background:var(--warn)}.progress .danger{background:var(--danger)}.progress .accent{background:var(--accent)}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.proj-card{cursor:pointer;transition:transform .12s,box-shadow .12s;display:flex;flex-direction:column;position:relative;overflow:hidden}.proj-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--pc, var(--m-projets))}.proj-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.proj-card .top{padding:14px 16px 10px 18px;border-bottom:1px solid var(--line-2)}.proj-card .name{font-weight:650;font-size:15px}.proj-card .client{color:var(--muted);font-size:12.5px;margin-top:2px}.proj-card .body{padding:12px 16px 14px 18px;display:grid;gap:10px}.meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.meta .l{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.meta .v{font-weight:600;font-size:13px;font-variant-numeric:tabular-nums}.pdot{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none;background:var(--pc, var(--m-projets))}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.toolbar .input{max-width:260px}.toolbar select.input{max-width:220px}.seg{display:inline-flex;background:#eef0f5;border-radius:9px;padding:3px}.seg button{border:0;background:none;padding:5px 12px;border-radius:7px;cursor:pointer;color:var(--muted);font-weight:550;font-size:13px;display:inline-flex;gap:6px;align-items:center}.seg button.on{background:#fff;color:var(--text);box-shadow:var(--shadow)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:4px 30px 0;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs a{padding:10px 12px;color:var(--muted);font-weight:550;border-bottom:2px solid transparent;white-space:nowrap;display:flex;gap:7px;align-items:center;margin-bottom:-1px}.tabs a:hover{color:var(--text)}.tabs a.active{color:var(--text);border-bottom-color:var(--c, var(--accent))}.tabs a.active svg{color:var(--c, var(--accent))}@media (max-width: 900px){.tabs{margin:0 16px}}.steps{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}@media (max-width: 800px){.steps{grid-template-columns:1fr}}.step{position:relative;padding:18px 18px 16px 62px}.step .n{position:absolute;left:18px;top:18px;width:30px;height:30px;border-radius:50%;background:var(--m-fact-soft);color:var(--m-fact);display:grid;place-items:center;font-weight:700}.step.disabled{opacity:.5;pointer-events:none}.step h4{font-size:15px}.step p{color:var(--muted);margin:4px 0 12px;font-size:13px}.ok-line{color:var(--ok);font-weight:600;font-size:13px;display:flex;gap:6px;align-items:center}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.chip{background:#f3f4f8;border-radius:6px;padding:3px 8px;font-size:12px}.drop{border:1.5px dashed #d3d7e2;border-radius:12px;padding:18px;text-align:center;color:var(--muted);cursor:pointer;transition:all .15s;background:#fbfbfd;display:grid;justify-items:center;gap:4px}.drop:hover,.drop.over{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.drop .i{width:38px;height:38px;border-radius:10px;background:#fff;display:grid;place-items:center;box-shadow:var(--shadow);color:var(--accent);margin-bottom:4px}.drop input{display:none}.sumbar{display:grid;grid-template-columns:repeat(4,1fr)}.sumbar>div{padding:14px 18px;border-right:1px solid var(--line-2)}.sumbar>div:last-child{border-right:0}.sumbar .l{font-size:12px;color:var(--muted)}.sumbar .v{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.sumbar .acc{color:var(--m-fact)}@media (max-width: 700px){.sumbar{grid-template-columns:1fr 1fr}.sumbar>div:nth-child(2){border-right:0}.sumbar>div:nth-child(-n+2){border-bottom:1px solid var(--line-2)}}.validate{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;background:var(--ok-soft);border:1px solid #c8eacf;border-radius:var(--radius);flex-wrap:wrap}.validate .t{font-weight:650;color:#11702f;display:flex;gap:6px;align-items:center}.validate .s{font-size:12.5px;color:#3a7d4d}.hist-item{border-bottom:1px solid var(--line-2)}.hist-item:last-child{border-bottom:0}.hist-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;cursor:pointer;flex-wrap:wrap}.hist-head:hover{background:#fafbfd}.hist-head .m{font-weight:650}.hist-body{padding:0 18px 14px}.charts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.charts .full{grid-column:1 / -1}@media (max-width: 900px){.charts{grid-template-columns:1fr!important}}.chart-box{height:280px;padding:8px 10px 4px 0}.chart-box.tall{height:340px}.prof-table input{min-width:80px}.prof-table td{padding:6px 8px}.empty{text-align:center;padding:48px 20px;color:var(--muted);display:grid;justify-items:center}.empty .i{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--soft, var(--accent-soft));color:var(--c, var(--accent));margin-bottom:12px}.empty h3{color:var(--text);margin-bottom:6px;font-size:16px}.empty p{margin:0 0 16px;max-width:460px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#14192861;display:grid;place-items:center;z-index:100;padding:16px;animation:fade .15s}.modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 24px 60px #14192840}.modal.wide{max-width:720px}.modal-h{padding:16px 20px;border-bottom:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center;gap:10px;position:sticky;top:0;background:#fff;z-index:1}.modal-h h3{font-size:16px}.modal-b{padding:18px 20px}.modal-f{padding:12px 20px 16px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line-2)}@media (max-width: 600px){.modal-bg{place-items:end center;padding:0}.modal{border-radius:16px 16px 0 0;max-height:92vh}}.toasts{position:fixed;bottom:18px;right:18px;display:grid;gap:8px;z-index:200;max-width:calc(100vw - 36px)}.toast{background:#1f2430;color:#fff;padding:10px 16px;border-radius:10px;box-shadow:var(--shadow-lg);font-size:13.5px;animation:tin .2s ease;display:flex;gap:8px;align-items:center}.toast.success{background:#127a37}.toast.error{background:#b42020}@keyframes tin{0%{opacity:0;transform:translateY(8px)}}@keyframes fade{0%{opacity:0}}.pw{font-family:ui-monospace,Consolas,monospace;font-size:18px;background:#f3f4f8;padding:10px 14px;border-radius:9px;letter-spacing:.05em;text-align:center;-webkit-user-select:all;user-select:all}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:16px;background:radial-gradient(900px 500px at 10% 0%,#e9e9fd 0%,transparent 60%),radial-gradient(700px 500px at 100% 100%,#e3f6f5 0%,transparent 60%),var(--bg)}.login{width:100%;max-width:390px;background:#fff;border-radius:18px;padding:30px 28px;box-shadow:var(--shadow-lg);border:1px solid var(--line)}.login .brand{padding:0 0 20px}.login h2{font-size:19px;margin-bottom:4px}.err{color:var(--danger);font-size:13px;margin-bottom:10px;background:var(--danger-soft);padding:8px 10px;border-radius:8px}.spinner{display:grid;place-items:center;min-height:40vh;color:var(--muted)}.alert-list{display:grid;gap:8px}.alert-list a{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;color:var(--text);background:#fafbfd;border:1px solid var(--line-2)}.alert-list a:hover{border-color:#d9dce5}.dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:none}.dot.danger{background:var(--danger)}.dot.warn{background:var(--warn)}.list-item{display:flex;gap:10px;align-items:center;padding:10px 18px;border-bottom:1px solid var(--line-2);color:var(--text)}.list-item:last-child{border-bottom:0}.list-item:hover{background:#fafbfd}.kanban{display:grid;grid-template-columns:repeat(4,minmax(250px,1fr));gap:14px;overflow-x:auto;padding-bottom:8px;align-items:start}@media (max-width: 900px){.kanban{grid-template-columns:repeat(4,80vw);scroll-snap-type:x mandatory}.kanban .col{scroll-snap-align:start}}.col{background:#f2f3f7;border-radius:14px;padding:10px;min-height:140px;transition:background .15s,box-shadow .15s}.col.over{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.col-h{display:flex;align-items:center;gap:8px;padding:4px 6px 10px;font-weight:650;font-size:13.5px}.col-h .count{background:#fff;color:var(--muted);border-radius:10px;padding:0 8px;font-size:12px;font-weight:600}.col-h .sbar{width:4px;height:16px;border-radius:3px;background:var(--sc)}.col-list{display:grid;gap:8px}.tcard{background:#fff;border-radius:11px;padding:11px 12px;border:1px solid var(--line);box-shadow:var(--shadow);cursor:pointer;display:grid;gap:8px;transition:box-shadow .12s,transform .12s}.tcard:hover{box-shadow:0 4px 14px #14192817}.tcard.dragging{opacity:.45;transform:rotate(1.5deg)}.tcard .tt{font-weight:600;font-size:13.5px;line-height:1.35}.tcard .tm{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.tcard .tm .late{color:var(--danger);font-weight:600}.tcard .proj{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:6px}.prio{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;padding:1px 7px;border-radius:6px}.prio-basse{background:#f1f2f6;color:#6b7280}.prio-normale{background:var(--info-soft);color:var(--info)}.prio-haute{background:var(--m-temps-soft);color:#d65d0a}.prio-critique{background:var(--danger-soft);color:var(--danger)}.add-inline{width:100%;border:1px dashed #d3d7e2;background:transparent;border-radius:10px;padding:8px;color:var(--muted);cursor:pointer;display:flex;gap:6px;justify-content:center;align-items:center}.add-inline:hover{border-color:var(--accent);color:var(--accent);background:#fff}.comment{padding:10px 12px;background:#f7f8fb;border-radius:10px;margin-bottom:8px}.comment .who{font-size:12px;color:var(--muted);margin-bottom:3px}.gantt{display:grid;grid-template-columns:var(--lw, 260px) 1fr;overflow:hidden}@media (max-width: 700px){.gantt{--lw: 140px}}.g-left{border-right:1px solid var(--line);background:#fff;z-index:2}.g-right{overflow-x:auto;position:relative}.g-head{height:52px;border-bottom:1px solid var(--line);background:#fafbfc}.g-left .g-head{display:flex;align-items:flex-end;padding:0 14px 8px;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.g-row{height:40px;border-bottom:1px solid var(--line-2);display:flex;align-items:center}.g-left .g-row{padding:0 10px 0 14px;gap:8px;font-size:13px;cursor:default}.g-left .g-row.proj{font-weight:650;background:#fafbfd}.g-left .g-row.sub{padding-left:30px}.g-left .g-row.task{padding-left:30px;color:var(--text-2);font-size:12.5px}.g-left .g-row .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g-left .g-row .acts{display:none}.g-left .g-row:hover .acts{display:flex}.g-canvas{position:relative}.g-scale{position:relative;height:52px;border-bottom:1px solid var(--line);background:#fafbfc}.g-scale .m{position:absolute;top:0;height:26px;border-left:1px solid var(--line);font-size:12px;font-weight:600;padding:5px 8px;color:var(--text-2);white-space:nowrap;overflow:hidden}.g-scale .w{position:absolute;top:26px;height:26px;border-left:1px solid var(--line-2);font-size:11px;padding:6px 4px;color:var(--muted);white-space:nowrap;overflow:hidden}.g-grid{position:absolute;top:52px;right:0;bottom:0;left:0;pointer-events:none}.g-grid .gl{position:absolute;top:0;bottom:0;border-left:1px solid var(--line-2)}.g-grid .we{position:absolute;top:0;bottom:0;background:#f0f2f78c}.g-today{position:absolute;top:52px;bottom:0;width:2px;background:var(--danger);opacity:.7;z-index:1}.g-today:before{content:"Aujourd'hui";position:absolute;top:-18px;left:-32px;font-size:10px;color:#fff;background:var(--danger);padding:1px 6px;border-radius:6px;white-space:nowrap}.g-rows,.g-rows .g-row{position:relative}.g-rows .g-row.proj{background:#fafbfd99}.bar{position:absolute;height:24px;top:8px;border-radius:7px;background:var(--bc);color:#fff;font-size:11.5px;font-weight:600;display:flex;align-items:center;padding:0 8px;white-space:nowrap;overflow:hidden;box-shadow:0 1px 2px #14192826;touch-action:none;-webkit-user-select:none;user-select:none}.bar .pg{position:absolute;left:0;top:0;bottom:0;background:#ffffff47;pointer-events:none}.bar .tx{position:relative;overflow:hidden;text-overflow:ellipsis}.bar.editable{cursor:grab}.bar.editable:active{cursor:grabbing}.bar .h{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize}.bar .h.l{left:0}.bar .h.r{right:0}.bar.proj{height:10px;top:15px;border-radius:5px;background:var(--bc);opacity:.35;box-shadow:none;padding:0}.bar.task{height:18px;top:11px;background:#fff;color:var(--text-2);border:1.5px solid var(--bc);font-weight:550;box-shadow:none}.bar.task.done{background:var(--bc);color:#fff;opacity:.55}.milestone{position:absolute;top:11px;width:18px;height:18px;transform:rotate(45deg);background:var(--bc);border-radius:3px;box-shadow:0 1px 3px #14192840;touch-action:none}.milestone.editable{cursor:grab}.ms-label{position:absolute;top:11px;font-size:11.5px;font-weight:600;color:var(--text-2);white-space:nowrap}.g-dep{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.swatches{display:flex;gap:8px;flex-wrap:wrap}.swatch{width:26px;height:26px;border-radius:8px;border:2px solid transparent;cursor:pointer}.swatch.on{border-color:var(--text);box-shadow:0 0 0 2px #fff inset}.weeknav{display:flex;align-items:center;gap:6px}.weeknav .lbl{font-weight:650;min-width:190px;text-align:center}@media (max-width: 600px){.weeknav .lbl{min-width:0;font-size:13px}}table.ts{width:100%;border-collapse:collapse;font-size:13px}table.ts th{font-size:11.5px;color:var(--muted);font-weight:600;padding:8px 6px;background:#fafbfc;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}table.ts th:first-child{text-align:left;padding-left:16px}table.ts th .dn{font-size:13px;color:var(--text);display:block}table.ts th.today,table.ts th.today .dn{color:var(--m-temps)}table.ts th.off,table.ts td.off{background:#f8f9fb}table.ts td{padding:6px;border-bottom:1px solid var(--line-2);text-align:center;vertical-align:middle}table.ts td:first-child{text-align:left;padding-left:16px;min-width:220px}table.ts tfoot td{font-weight:700;background:#fafbfc;border-top:1px solid var(--line)}table.ts tfoot td.over{color:var(--danger)}table.ts tfoot td.full{color:var(--ok)}.cell{width:56px;text-align:center;border:1px solid transparent;border-radius:8px;padding:7px 2px;font:inherit;font-variant-numeric:tabular-nums;background:#f5f6f9;color:var(--text);transition:all .12s}.cell:hover{border-color:#dfe2ea}.cell:focus{outline:none;background:#fff;border-color:var(--m-temps);box-shadow:0 0 0 3px var(--m-temps-soft)}.cell.filled{background:var(--m-temps-soft);color:#b34a06;font-weight:650}.cell.saving{opacity:.5}.ts-proj{font-weight:600;display:flex;align-items:center;gap:7px}.ts-sub{font-size:12px;color:var(--muted);margin-top:2px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.quick{display:flex;gap:6px;flex-wrap:wrap}.team-cell{display:inline-block;min-width:36px;padding:3px 6px;border-radius:6px;font-weight:600;font-variant-numeric:tabular-nums}.team-cell.z{color:var(--muted-2);font-weight:400}.team-cell.f{background:var(--ok-soft);color:var(--ok)}.team-cell.p{background:var(--warn-soft);color:var(--warn)}.team-cell.o{background:var(--danger-soft);color:var(--danger)}[data-m=home]{--c: var(--m-home);--soft: var(--m-home-soft)}[data-m=projets]{--c: var(--m-projets);--soft: var(--m-projets-soft)}[data-m=taches]{--c: var(--m-taches);--soft: var(--m-taches-soft)}[data-m=planning]{--c: var(--m-planning);--soft: var(--m-planning-soft)}[data-m=temps]{--c: var(--m-temps);--soft: var(--m-temps-soft)}[data-m=fact]{--c: var(--m-fact);--soft: var(--m-fact-soft)}[data-m=budget]{--c: var(--m-budget);--soft: var(--m-budget-soft)}[data-m=admin]{--c: var(--m-admin);--soft: var(--m-admin-soft)}[data-m=staffing]{--c: var(--m-staffing);--soft: var(--m-staffing-soft)}[data-m=echange]{--c: var(--m-echange);--soft: var(--m-echange-soft)}[data-m=tma]{--c: var(--m-tma);--soft: var(--m-tma-soft)}[data-m=agenda]{--c: var(--m-agenda);--soft: var(--m-agenda-soft)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.charts>*,.stack>*,.kpis>*,.steps>*{min-width:0}@media (max-width: 600px){table.ts td:first-child{min-width:150px;max-width:170px;padding-left:12px}table.ts th:first-child{padding-left:12px}.cell{width:46px;padding:7px 0}.ts-proj .ellipsis{max-width:130px!important}}.seg-scroll{max-width:100%;overflow-x:auto;scrollbar-width:none}.seg-scroll::-webkit-scrollbar{display:none}.seg-scroll button{white-space:nowrap}table.ts .sticky{position:sticky;left:0;background:#fff;z-index:1;box-shadow:1px 0 0 var(--line-2)}table.ts thead .sticky,table.ts tfoot .sticky{background:#fafbfc}table.ts.staff td:first-child,table.ts.staff th:first-child{min-width:170px;max-width:220px}table.ts.staff th{max-width:150px}.pcol{display:inline-flex;align-items:center;gap:5px;max-width:140px;text-transform:none;font-size:12px;color:var(--text-2)}.pcol .icon-btn{padding:1px 3px;font-size:10px}.scell:focus{border-color:var(--m-staffing);box-shadow:0 0 0 3px var(--m-staffing-soft)}.scell.filled{background:var(--m-staffing-soft);color:#b0185f}.scell::placeholder{color:var(--muted-2)}button.team-cell{border:0;font:inherit;font-weight:600;cursor:pointer}button.team-cell:hover{box-shadow:inset 0 0 0 1.5px currentColor}.team-cell.z{background:transparent}table.cmp tr.cmp-u td{background:#fafbfd;border-top:1px solid var(--line)}table.cmp tr.cmp-p td:first-child{padding-left:46px}.week-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.week-cards .card.current{border-color:var(--m-staffing);box-shadow:0 0 0 3px var(--m-staffing-soft)}.week-cards table.t td,.week-cards table.t th{padding:8px 14px}.pick-list{max-height:300px;overflow-y:auto;border:1px solid var(--line);border-radius:9px;margin-top:6px}.pick{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line-2);cursor:pointer;font-weight:500}.pick:last-child{border-bottom:0}.pick:hover{background:#fafbfd}.pick.on{background:var(--m-staffing-soft)}@media (max-width: 600px){table.ts.staff td:first-child,table.ts.staff th:first-child{min-width:120px}table.cmp tr.cmp-p td:first-child{padding-left:24px}}.targets{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 800px){.targets{grid-template-columns:1fr}}.target{text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:14px 16px;cursor:pointer;display:flex;gap:12px;align-items:flex-start;font:inherit;color:var(--text);transition:border-color .15s,box-shadow .15s}.target:hover{border-color:#d3d7e1}.target.on{border-color:var(--m-echange);box-shadow:0 0 0 3px var(--m-echange-soft)}.target:disabled{opacity:.45;cursor:not-allowed}.target .ti{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--tsoft);color:var(--tc)}.target .tt{font-weight:650}.target .td{font-size:12.5px;color:var(--muted);margin-top:2px}.ext{font-family:ui-monospace,Consolas,monospace;font-size:11px;background:#f1f2f6;border-radius:5px;padding:1px 5px;color:var(--text-2)}.preview-list{max-height:260px;overflow:auto}.page-head>.actions{max-width:100%;min-width:0}.seg.seg-scroll{display:flex}.imp-banner{position:sticky;top:0;z-index:25;display:flex;align-items:center;gap:10px;padding:9px 30px;background:#2d2a6e;color:#fff;font-size:13px;flex-wrap:wrap}.imp-banner .btn{background:#fff;color:#2d2a6e}.imp-banner .btn:hover{background:#eeeefc}@media (max-width: 900px){.imp-banner{position:static;padding:9px 16px}}.agent{overflow:hidden}.agent .card-h h3{flex-wrap:wrap}.agent-ico{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#6d6df0,#4a4ac4)}.agent .card-h h3 .agent-ico svg{color:#fff}.agent-log{max-height:340px;min-height:92px;overflow-y:auto;padding:14px 18px 6px;display:flex;flex-direction:column;gap:10px}.agent-empty .chips{margin:0}.chip-btn{border:1px solid var(--line);background:#fafbfd;cursor:pointer;text-align:left;font:inherit;font-size:12.5px;color:var(--text-2);border-radius:8px;padding:6px 10px}.chip-btn:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.bubble{max-width:min(680px,88%);padding:9px 13px;border-radius:14px;font-size:13.5px;line-height:1.45;display:flex;flex-direction:column;gap:8px}.bubble.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.bubble.assistant{align-self:flex-start;background:#f2f3f8;color:var(--text);border-bottom-left-radius:4px;flex-direction:row;flex-wrap:wrap;align-items:center}.bubble.assistant>div{flex:1 1 100%}.bubble.error{background:var(--danger-soft);color:#a32020}.agent-actions{display:grid;gap:6px}.agent-action{display:flex;gap:8px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px 10px;color:var(--text);font-size:12.5px}.agent-action:hover{border-color:var(--m-taches)}.agent-action svg{color:var(--m-taches);margin-top:2px}.agent-input{display:flex;gap:8px;align-items:flex-end;padding:10px 18px 16px;border-top:1px solid var(--line-2)}.agent-input textarea{resize:none;min-height:40px;max-height:120px;field-sizing:content}.agent-input .btn{height:40px}.mic{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--accent);display:grid;place-items:center;cursor:pointer;transition:all .15s}.mic:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.mic:disabled{opacity:.45;cursor:not-allowed}.mic.on{background:var(--danger);border-color:var(--danger);color:#fff;animation:pulse 1.3s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #dc262673}50%{box-shadow:0 0 0 8px #dc262600}}@media (max-width: 600px){.agent-log{padding:12px 12px 6px;max-height:300px}.agent-input{padding:10px 12px 12px}.bubble{max-width:94%}}.more-inline{width:100%;border:0;background:#fff;border-radius:10px;padding:8px;color:var(--accent-strong);cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;box-shadow:var(--shadow)}.more-inline:hover{background:var(--accent-soft)}.pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border-top:1px solid var(--line-2);flex-wrap:wrap}.tma-card{--pc: var(--m-tma)}.tma-card .meta{grid-template-columns:repeat(4,1fr)}.tma-code{background:var(--m-tma-soft);color:var(--m-tma)}.tma-count{font-size:11px;background:#0000000f;border-radius:10px;padding:0 6px;font-weight:600}.seg button.on .tma-count{background:var(--m-tma-soft);color:var(--m-tma)}.tma-list{overflow:hidden}.tma-row{display:grid;grid-template-columns:82px minmax(0,1fr) 170px;gap:12px;align-items:center;padding:11px 16px;border-bottom:1px solid var(--line-2);color:inherit}.tma-row:last-child{border-bottom:0}.tma-row:hover{background:#fafbfd}.tma-row.hot{box-shadow:inset 3px 0 0 var(--danger)}.tma-ref{font-weight:650;color:var(--m-tma);font-size:12.5px;font-variant-numeric:tabular-nums}.tma-title{font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tma-sub{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin-top:4px}.tma-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:0;max-width:100%}.tma-detail{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.tma-aside{position:sticky;top:12px}.tma-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tma-reopen{color:var(--danger);border-color:#f5cccc}.tma-desc{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.tma-files{display:grid;gap:8px}.tma-file{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:6px 8px;min-width:0;background:#fff}.tma-file>svg{color:var(--muted);flex:none}.tma-thumb{width:44px;height:44px;object-fit:cover;border-radius:6px;flex:none}.tma-ficon{width:44px;height:44px;border-radius:6px;background:var(--m-tma-soft);color:var(--m-tma);display:grid;place-items:center;flex:none}.tma-pick{display:grid;gap:4px;max-height:210px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;padding:6px}.tma-pick label{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:7px;cursor:pointer;font-size:13px;min-width:0}.tma-pick label.on{background:var(--m-tma-soft)}.tma-timeline{display:grid;gap:10px}.tma-ev{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:baseline;font-size:12.5px;color:var(--text-2)}.tma-ev .dot{width:7px;height:7px;border-radius:50%;background:var(--m-tma);align-self:center}.tma-com{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fafbfd;display:grid;gap:6px}.tma-com.cli{background:var(--m-tma-soft);border-color:#f3dcc0}.tma-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;margin:0;font-size:13px}.tma-dl dt{color:var(--muted)}.tma-dl dd{margin:0;overflow-wrap:anywhere}@media (max-width: 1000px){.tma-detail{grid-template-columns:1fr}.tma-aside{position:static;order:-1}}@media (max-width: 640px){.tma-row{grid-template-columns:minmax(0,1fr);gap:6px;padding:11px 14px}.tma-ref{order:0}.tma-side{flex-direction:row;align-items:center;justify-content:space-between}.tma-title{white-space:normal}.tma-card .meta{grid-template-columns:repeat(2,1fr)}.tma-ev{grid-template-columns:10px minmax(0,1fr)}.tma-ev>.small{grid-column:2}}.ag{--ag-ink: #3b3355;--ag-ink-2: #6b6485;--ag-line: #efe7f7;--ag-card: rgba(255, 255, 255, .86);--ag-accent: #8b5cf6;--ag-accent-2: #ec4899;--ag-accent-soft: #f3ecff;--ag-ok: #22a06b;--ag-radius: 20px;--ag-shadow: 0 2px 6px rgba(120, 90, 170, .06), 0 12px 32px rgba(120, 90, 170, .08);color:var(--ag-ink);position:relative;padding:18px 30px 90px;background:radial-gradient(1200px 500px at 0% 0%,#fde7f3 0%,transparent 60%),radial-gradient(900px 500px at 100% 0%,#e6f0ff 0%,transparent 55%),radial-gradient(900px 600px at 50% 100%,#e9fbf1 0%,transparent 60%),#fbf8ff;min-height:calc(100vh + -0px)}.ag.standalone{min-height:100vh;min-height:100dvh;padding:calc(14px + env(safe-area-inset-top)) max(16px,calc((100vw - 1120px)/2)) 110px}.ag [data-cat=perso]{--cb: #fde2ef;--cf: #b83280;--cd: #f472b6}.ag [data-cat=travail]{--cb: #ebe4ff;--cf: #6d4bd8;--cd: #a78bfa}.ag [data-cat=famille]{--cb: #ffe6d5;--cf: #c2551a;--cd: #fb923c}.ag [data-cat=sport]{--cb: #d7f6e6;--cf: #1f8a5b;--cd: #4ade80}.ag [data-cat=sortie]{--cb: #fff4c2;--cf: #9a6b00;--cd: #facc15}.ag [data-cat=courses]{--cb: #dcefff;--cf: #2269a8;--cd: #60a5fa}.ag [data-cat=sante]{--cb: #ffe0e0;--cf: #c23b3b;--cd: #f87171}.ag [data-cat=voyage]{--cb: #d5f5f2;--cf: #12807a;--cd: #2dd4bf}.ag-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.ag-brand{display:flex;align-items:center;gap:12px;min-width:0}.ag-logo{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;font-size:24px;flex:none;line-height:0;background:linear-gradient(135deg,#fbcfe8,#ddd6fe 55%,#bae6fd);box-shadow:0 6px 16px #a78bfa59}.ag-hello{font-size:20px;font-weight:750;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-sub{color:var(--ag-ink-2);font-size:13px}.ag-me{border:0;background:none;padding:0;cursor:pointer;border-radius:50%}.ag-av{display:inline-grid;place-items:center;border-radius:50%;font-weight:700;color:#5b3fb8;flex:none;background:linear-gradient(135deg,#fbcfe8,#c7d2fe);border:2px solid #fff;letter-spacing:-.02em}.ag-avs{display:inline-flex;flex:none}.ag-avs .ag-av+.ag-av{margin-left:-7px}.ag-icon{border:0;background:var(--ag-card);width:38px;height:38px;border-radius:12px;display:inline-grid;place-items:center;cursor:pointer;color:var(--ag-ink);box-shadow:var(--ag-shadow)}.ag-icon:hover{background:#fff;color:var(--ag-accent)}.ag-icon.sm{width:26px;height:26px;border-radius:9px;box-shadow:none;background:transparent}.ag-btn{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:650;font-size:14px;padding:10px 16px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#a78bfa,#f472b6);box-shadow:0 6px 16px #ec489938;transition:transform .12s,filter .12s}.ag-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.ag-btn:disabled{opacity:.5;cursor:default;box-shadow:none}.ag-btn.sm{padding:6px 11px;font-size:13px;border-radius:11px}.ag-btn.big{padding:13px 18px;font-size:15px}.ag-btn.block{width:100%;margin-top:10px}.ag-btn.ghost{background:#fff;color:var(--ag-ink);box-shadow:inset 0 0 0 1px var(--ag-line)}.ag-btn.ghost:hover:not(:disabled){color:var(--ag-accent)}.ag-btn.soft{background:var(--ag-accent-soft);color:#6d28d9;box-shadow:none}.ag-btn.ok{background:linear-gradient(135deg,#6ee7b7,#34d399);color:#064e3b;box-shadow:0 6px 16px #34d3994d}.ag-btn.danger{color:#c2416c}.ag-link{border:0;background:none;color:var(--ag-accent);font-weight:600;cursor:pointer;padding:0;font-size:13px}.ag-tabs.top{display:flex;gap:6px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.ag-tab{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:14px;color:var(--ag-ink-2);font-weight:650;position:relative}.ag-tab:hover{color:var(--ag-ink);background:#fff9}.ag-tab.on{background:#fff;color:#7c3aed;box-shadow:var(--ag-shadow)}.ag-tabs.top .new{margin-left:auto}.ag-badge{position:absolute;top:2px;right:4px;min-width:17px;height:17px;border-radius:9px;background:#f472b6;color:#fff;font-size:10.5px;display:grid;place-items:center;padding:0 4px}.ag-tabs.bottom,.ag-fab{display:none}.ag-card{background:var(--ag-card);border-radius:var(--ag-radius);box-shadow:var(--ag-shadow);padding:16px;border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ag-col{display:grid;gap:14px;max-width:860px}.ag-sec-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;width:100%}.ag-sec-h h3{font-size:15px;font-weight:750}.ag-sec-h.late h3{color:#db2777}.ag-toggle{border:0;background:none;cursor:pointer;padding:0;color:inherit;margin-bottom:0}.ag-toggle h3{margin-right:auto}.ag-count{background:var(--ag-accent-soft);color:#7c3aed;font-size:12px;font-weight:700;border-radius:10px;padding:1px 8px}.ag-empty-s{color:var(--ag-ink-2);padding:14px 4px;font-size:13.5px}.ag-hint{color:var(--ag-ink-2);font-size:12.5px;text-align:center}.ag-item{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:14px}.ag-item+.ag-item{border-top:1px dashed var(--ag-line);border-radius:0}.ag-item:hover{background:#ffffffb3}.ag-check{width:26px;height:26px;border-radius:50%;border:2.5px solid var(--cd);background:#fff;color:#fff;flex:none;cursor:pointer;display:grid;place-items:center;transition:.15s}.ag-check:hover:not(:disabled){background:var(--cb)}.ag-item.done .ag-check{background:var(--cd)}.ag-check:disabled{cursor:default}.ag-item-main{border:0;background:none;text-align:left;cursor:pointer;padding:0;min-width:0;flex:1;display:grid;gap:2px;color:inherit;font:inherit}.ag-item-title{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-item.done .ag-item-title{text-decoration:line-through;color:var(--ag-ink-2)}.ag-item-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;color:var(--ag-ink-2);min-width:0}.ag-item-meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.ag-from{color:var(--cf);background:var(--cb);padding:0 7px;border-radius:8px;font-weight:600}.ag-cal-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px;align-items:start}.ag-cal-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.ag-cal-head h2{font-size:19px;font-weight:800;letter-spacing:-.02em}.ag-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.ag-wd{text-align:center;font-size:11.5px;font-weight:700;color:var(--ag-ink-2);text-transform:capitalize;padding-bottom:2px}.ag-day{border:0;background:#ffffffa6;border-radius:14px;min-height:86px;padding:6px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:3px;min-width:0;color:inherit;font:inherit;transition:.12s}.ag-day:hover{background:#fff}.ag-day.out{opacity:.45}.ag-day .n{font-size:13px;font-weight:700;width:24px;height:24px;display:grid;place-items:center;border-radius:50%}.ag-day.today .n{background:linear-gradient(135deg,#a78bfa,#f472b6);color:#fff}.ag-day.sel{background:#fff;box-shadow:0 0 0 2px #c4b5fd}.ag-dots{display:grid;gap:2px;min-width:0}.ag-dot{display:block;background:var(--cb);color:var(--cf);border-radius:6px;font-size:11px;font-weight:600;padding:1px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-dot.done{opacity:.5;text-decoration:line-through}.ag-more{font-size:10.5px;color:var(--ag-ink-2);font-weight:700;padding-left:3px}.ag-dayplan{position:sticky;top:12px}.ag-col:has(.ag-plan){max-width:none}.ag-lanes{display:grid;gap:4px;margin-bottom:10px}.ag-lanes-h,.ag-lane{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.ag-lanes-h span{font-size:11px;color:var(--ag-ink-2);font-weight:700;text-align:center;text-transform:capitalize}.ag-bar{border:0;cursor:pointer;background:var(--cb);color:var(--cf);font-weight:700;font-size:12.5px;border-radius:10px;padding:6px 10px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:inset 3px 0 0 var(--cd)}.ag-bar.done{opacity:.5;text-decoration:line-through}.ag-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.ag-wcol{background:#fff9;border-radius:16px;padding:8px 6px;min-height:180px;display:flex;flex-direction:column;gap:5px;min-width:0}.ag-wcol.today{background:#fff;box-shadow:0 0 0 2px #e9d5ff}.ag-wcol-h{display:flex;align-items:center;gap:5px;padding:0 2px 4px}.ag-wcol-h .wd{font-size:11.5px;font-weight:700;color:var(--ag-ink-2);text-transform:capitalize}.ag-wcol-h .n{font-weight:800;font-size:16px;margin-right:auto}.ag-wcol.today .ag-wcol-h .n{color:#db2777}.ag-wempty{color:#cfc6e0;text-align:center;padding-top:8px}.ag-wcard{border:0;cursor:pointer;background:var(--cb);color:var(--ag-ink);border-radius:12px;padding:7px 8px;text-align:left;display:grid;gap:2px;min-width:0;font:inherit;box-shadow:inset 3px 0 0 var(--cd)}.ag-wcard .tm{font-size:11px;font-weight:700;color:var(--cf)}.ag-wcard .tt{font-size:12.5px;font-weight:650;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.ag-wcard.done{opacity:.5}.ag-wcard.done .tt{text-decoration:line-through}.ag-chips{display:flex;flex-wrap:wrap;gap:6px}.ag-chip{border:0;cursor:pointer;background:#fffc;color:var(--ag-ink-2);font-weight:650;font-size:13px;padding:7px 13px;border-radius:12px;display:inline-flex;align-items:center;gap:6px;box-shadow:inset 0 0 0 1px var(--ag-line)}.ag-chip.on{background:var(--ag-accent-soft);color:#6d28d9;box-shadow:inset 0 0 0 1.5px #c4b5fd}.ag-chip.person{padding:4px 11px 4px 4px}.ag-cats{display:flex;flex-wrap:wrap;gap:6px}.ag-cat{border:0;cursor:pointer;background:var(--cb);color:var(--cf);font-weight:650;font-size:13px;padding:7px 12px;border-radius:12px;opacity:.65;transition:.12s}.ag-cat.on{opacity:1;box-shadow:0 0 0 2px var(--cd);transform:translateY(-1px)}.ag-catpill{display:inline-flex;align-items:center;gap:5px;background:var(--cb);color:var(--cf);font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:10px}.ag-input{width:100%;border:1.5px solid var(--ag-line);background:#fff;border-radius:13px;padding:10px 12px;font:inherit;color:var(--ag-ink);outline:none;transition:.12s;min-width:0}.ag-input:focus{border-color:#c4b5fd;box-shadow:0 0 0 4px #f3ecff}.ag-input.big{font-size:18px;font-weight:650;padding:12px 14px}textarea.ag-input{resize:vertical}.ag-form{display:grid;gap:14px}.ag-lbl{display:grid;gap:6px;font-size:12.5px;font-weight:700;color:var(--ag-ink-2)}.ag-when{display:grid;gap:10px;background:#faf7ff;border-radius:16px;padding:12px}.ag-row2{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.ag-row2 label{display:grid;gap:5px;font-size:12px;font-weight:700;color:var(--ag-ink-2);flex:1 1 130px}.ag-row2 label.ag-switch{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ag-ink);cursor:pointer;flex:none}.ag-switch input{width:18px;height:18px;accent-color:#a78bfa}.ag .modal{border-radius:24px;background:#fffdfd}.ag .modal-h{border-bottom:0;background:transparent;position:static;padding-bottom:6px}.ag .modal-f{border-top:0}@media (max-width: 600px){.ag .modal{border-radius:24px 24px 0 0;padding-bottom:env(safe-area-inset-bottom)}}.ag-detail h2{font-size:22px;font-weight:800;letter-spacing:-.02em;margin-bottom:12px;overflow-wrap:anywhere}.ag-detail h2.done{text-decoration:line-through;color:var(--ag-ink-2)}.ag-dline{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;font-size:14px}.ag-dline>svg{color:var(--cf);margin-top:2px}.ag-dline a{color:var(--ag-ink);text-decoration:underline;text-decoration-color:var(--cd);overflow-wrap:anywhere}.ag-notes{background:var(--cb);border-radius:14px;padding:10px 12px;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:12px;font-size:14px}.ag-people{display:flex;flex-wrap:wrap;gap:6px 12px}.ag-person{display:inline-flex;align-items:center;gap:6px}.ag-donebanner{background:#dcfce7;color:#166534;border-radius:12px;padding:7px 12px;font-weight:700;font-size:13px;display:inline-block}.ag-export{margin-top:16px;background:#faf7ff;border-radius:18px;padding:12px}.ag-export-h{font-weight:750;font-size:13.5px;margin-bottom:4px}.ag-export-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.ag-exp{border:0;cursor:pointer;background:#fff;color:var(--ag-ink);font:inherit;font-weight:650;font-size:13px;border-radius:13px;padding:10px;display:flex;align-items:center;gap:8px;box-shadow:inset 0 0 0 1px var(--ag-line)}.ag-exp:hover{box-shadow:inset 0 0 0 1.5px #c4b5fd;color:#6d28d9}.ag-exp .logo{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-weight:800;font-size:13px;color:#fff;flex:none}.ag-exp .logo.g{background:linear-gradient(135deg,#60a5fa,#34d399)}.ag-exp .logo.o{background:linear-gradient(135deg,#38bdf8,#6366f1)}.ag-exp .logo.i{background:linear-gradient(135deg,#f9a8d4,#c4b5fd)}.ag-invite{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(135deg,#fde2efe6,#ebe4ffe6)}.ag-invite-art{font-size:34px;width:56px;height:56px;border-radius:18px;background:#fff;display:grid;place-items:center;flex:none}.ag-invite h3{font-size:16px;font-weight:800;margin-bottom:4px}.ag-invite p{margin:0 0 10px;color:var(--ag-ink-2);font-size:13.5px}.ag-add label{font-weight:700;font-size:13px;display:block;margin-bottom:8px}.ag-add .row .ag-input{flex:1}.ag-friend{display:flex;align-items:center;gap:10px;padding:8px 4px}.ag-friend+.ag-friend{border-top:1px dashed var(--ag-line)}.ag-friend.pending{opacity:.75}.ag-friend .grow{flex:1}.ag-synccard{display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;color:inherit;font:inherit;border:0}.ag-synccard>svg:first-child{color:#7c3aed}.ag-synccard>div{flex:1}.ag-hero{text-align:center;padding:26px 16px}.ag-hero-emoji{font-size:40px}.ag-hero h3{font-size:18px;font-weight:800;margin:6px 0 4px}.ag-hero p{color:var(--ag-ink-2);margin:0 0 14px}.ag-sync p{margin-top:0}.ag-sync ol{padding-left:20px;display:grid;gap:6px;font-size:13.5px}.ag-urlbox{display:flex;gap:8px;align-items:center;background:#faf7ff;border-radius:14px;padding:8px 8px 8px 12px}.ag-urlbox code{flex:1;min-width:0;overflow-wrap:anywhere;font-size:12px;color:#6d28d9}.ag-account{display:flex;gap:14px;align-items:center;margin-bottom:6px}.ag-pwd{margin-top:12px;background:#faf7ff;border-radius:14px;padding:10px 12px}.ag-pwd summary{cursor:pointer;font-weight:650;display:flex;gap:6px;align-items:center}.ag-pwd form{margin-top:10px}.ag-signup{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:20px 16px;background:radial-gradient(800px 500px at 0% 0%,#fde7f3,transparent 60%),radial-gradient(800px 500px at 100% 30%,#e6f0ff,transparent 60%),radial-gradient(700px 500px at 30% 100%,#e9fbf1,transparent 60%),#fbf8ff;color:#3b3355}.ag-signup-card{width:100%;max-width:420px;background:#ffffffe6;border-radius:28px;padding:28px 24px;box-shadow:0 20px 60px #785aaa26;display:grid;gap:14px;text-align:left}.ag-signup-logo{font-size:34px;width:64px;height:64px;border-radius:22px;display:grid;place-items:center;margin:0 auto;background:linear-gradient(135deg,#fbcfe8,#ddd6fe 55%,#bae6fd)}.ag-signup-card h1{text-align:center;font-size:26px;font-weight:800}.ag-signup-tag{text-align:center;color:#6b6485;margin:-8px 0 0}.ag-signup .ag-input,.ag-signup .input{border-radius:13px}.ag-signup .ag-link{text-align:center;display:block}.ag-invited{background:#fde2ef;color:#9d174d;border-radius:14px;padding:10px 12px;font-size:14px}.ag-closed{background:#fef3c7;color:#92400e;border-radius:14px;padding:12px}.ag-perks{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:13.5px;color:#6b6485}.ag-signup{--ag-ink: #3b3355;--ag-ink-2: #6b6485;--ag-line: #efe7f7;--ag-accent: #8b5cf6}.ag-signup .ag-lbl .input{border-radius:13px;border:1.5px solid var(--ag-line)}.signup-cta{margin-top:16px;display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;color:#3b3355;background:linear-gradient(135deg,#fde2ef,#ebe4ff 60%,#dcefff)}.signup-cta .e{font-size:24px}.signup-cta>span:last-child{display:grid;gap:2px}.signup-cta .small{color:#6b6485}@media (max-width: 760px){.ag{padding:12px 16px 100px}.ag.standalone{padding:calc(12px + env(safe-area-inset-top)) 14px calc(96px + env(safe-area-inset-bottom))}.ag-hello{font-size:18px}.ag-cal-layout{grid-template-columns:1fr}.ag-dayplan{position:static}.ag-card{padding:13px;border-radius:18px}.ag-day{min-height:50px;padding:4px 2px;align-items:center;border-radius:12px}.ag-dots{display:flex;gap:3px;flex-wrap:wrap;justify-content:center}.ag-dot{width:7px;height:7px;padding:0;border-radius:50%;background:var(--cd)}.ag-dot .t{display:none}.ag-more{font-size:9.5px;padding:0}.ag-week{grid-template-columns:1fr}.ag-wcol{min-height:0;flex-direction:row;flex-wrap:wrap;align-items:center;padding:8px}.ag-wcol-h{width:100%;padding-bottom:0}.ag-wcard{flex:1 1 100%}.ag-wempty,.ag.standalone .ag-tabs.top{display:none}.ag:not(.standalone) .ag-tabs.top .new{display:none}.ag:not(.standalone) .ag-tabs.top{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.ag-tab{padding:8px 12px}.ag-tabs.bottom{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:40;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:22px;padding:6px;box-shadow:0 10px 30px #785aaa33}.ag-tabs.bottom .ag-tab{flex-direction:column;gap:2px;font-size:11px;padding:7px 2px;border-radius:16px;justify-content:center}.ag-tabs.bottom .ag-tab.on{background:var(--ag-accent-soft);box-shadow:none}.ag-fab{display:grid;place-items:center;position:fixed;right:18px;bottom:22px;z-index:41;width:58px;height:58px;border-radius:20px;border:0;cursor:pointer;color:#fff;background:linear-gradient(135deg,#a78bfa,#f472b6);box-shadow:0 10px 24px #ec489961}.ag.standalone .ag-fab{bottom:calc(92px + env(safe-area-inset-bottom))}.ag-export-grid{grid-template-columns:1fr 1fr}.ag-invite{flex-direction:column}}.notify-toggle{display:flex;gap:10px;align-items:flex-start;cursor:pointer;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fafbfd}.notify-toggle input{margin-top:3px;width:17px;height:17px;accent-color:var(--accent);flex:none}.notify-toggle>span{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}.ag .notify-toggle{border:0;background:transparent;padding:0}.mail-log{max-height:320px;overflow:auto}.mail-log td{font-size:12.5px}.mail-adv{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}@media (max-width: 700px){.mail-adv{grid-template-columns:1fr}}.card-b li,.card-b code{overflow-wrap:anywhere}.org-name{font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:0}.platform{min-height:100vh;background:var(--bg)}.platform-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 24px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.platform-top .brand{padding:0}@media (max-width: 700px){.platform-top{padding:8px 14px}.platform .page-head{flex-direction:column;align-items:flex-start}}.mt-card{margin-top:16px}.mt-list{list-style:none;margin:0;padding:0}.mt-row{display:flex;align-items:center;gap:14px;padding:12px 18px;border-top:1px solid var(--line-2)}.mt-row:first-child{border-top:0}.mt-row.past{opacity:.72}.mt-date{flex:none;width:48px;height:52px;border-radius:12px;background:var(--m-planning-soft);color:#0b8584;display:grid;place-items:center;align-content:center;line-height:1.05}.mt-date b{font-size:19px}.mt-date span{font-size:11px;text-transform:uppercase;font-weight:600;letter-spacing:.04em}.mt-main{flex:1;min-width:0}.mt-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:600}.mt-type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#0b8584;background:var(--m-planning-soft);border-radius:6px;padding:2px 7px}.mt-name{min-width:0;overflow-wrap:anywhere}.mt-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--muted);margin-top:3px}.mt-meta>*{display:inline-flex;align-items:center;gap:4px}.mt-proj{font-weight:600;color:var(--accent-strong)}.mt-actions{display:flex;align-items:center;gap:4px;flex:none}.mt-types{display:flex;flex-wrap:wrap;gap:6px}.mt-types .chip-btn.on{border-color:var(--m-planning);background:var(--m-planning-soft);color:#0b6f6e;font-weight:600}.mt-when{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px}.mt-all{margin:2px 0 8px;cursor:pointer}.mt-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:220px;overflow-y:auto}.mt-person{display:flex;align-items:flex-start;gap:8px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;cursor:pointer;min-width:0}.mt-person.off{opacity:.55;cursor:not-allowed}.mt-person input{margin-top:3px}.mt-mail{display:block;overflow:hidden;text-overflow:ellipsis}.mt-ext{margin-top:10px;gap:8px}.mt-ext .input{flex:1;min-width:0}.mt-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.mt-chips .chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;overflow-wrap:anywhere}.mt-x{border:0;background:none;cursor:pointer;color:var(--muted);padding:0;display:inline-grid}.mt-recap{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}.mt-opts{display:flex;flex-direction:column;gap:8px}.mt-opt{display:flex;gap:12px;align-items:flex-start;text-align:left;font:inherit;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer}.mt-opt:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.mt-opt:disabled{opacity:.5;cursor:not-allowed}.mt-opt>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}.mt-ico{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#f3f4f8;color:var(--text-2)}.mt-ico.ol{background:#e8f1fb;color:#0f6cbd}.mt-ico.gt{background:var(--accent-soft);color:var(--accent-strong)}@media (max-width: 640px){.mt-row{flex-wrap:wrap;padding:12px 14px;gap:10px 12px}.mt-main{flex-basis:calc(100% - 62px)}.mt-actions{width:100%;justify-content:flex-end}.mt-when{grid-template-columns:1fr 1fr}.mt-when .field:first-child{grid-column:1 / -1}.mt-people{grid-template-columns:1fr}}
