*{box-sizing:border-box}:root{--accent:#7c5cff;--accent-light:#9d7fff;--accent-bright:#bda9ff;--accent-subtle:rgba(124,92,255,0.1);--accent-border:rgba(124,92,255,0.35);--bg:#07060f;--bg-deep:#050410;--panel:rgba(18,14,34,0.92);--panel-2:rgba(7,6,15,0.5);--surface:rgba(255,255,255,0.018);--surface-2:rgba(255,255,255,0.04);--glass:linear-gradient(180deg,rgba(20,16,38,0.62),rgba(11,9,22,0.5));--glass-accent:linear-gradient(135deg,rgba(124,92,255,0.08),rgba(255,255,255,0.02));--text:#eceaf6;--bright:#cfc8ee;--muted:#9a95b8;--faint:#6b6688;--border:rgba(157,127,255,0.14);--border-strong:rgba(157,127,255,0.32);--hover:rgba(124,92,255,0.08);--green:#34d399;--amber:#ffb23e;--amber-light:#ffce7a;--red:#ff5c6c;--shadow-sm:0 2px 10px rgba(0,0,0,0.35);--shadow-md:0 14px 44px rgba(0,0,0,0.5);--glow:0 0 16px rgba(124,92,255,0.2);--ring:0 0 0 3px rgba(124,92,255,0.3);--ease:cubic-bezier(0.32,0.72,0,1);--radius:10px;--radius-lg:14px;--radius-xl:16px;--font-body:"Outfit",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:"Chakra Petch","Outfit",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;--cand-font-jakarta:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--cand-font-rubik:"Rubik",system-ui,-apple-system,"Segoe UI",sans-serif;--cand-font-outfit:"Outfit","Century Gothic",system-ui,sans-serif;--cand-font-manrope:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;--cand-font-sora:"Sora",system-ui,-apple-system,"Segoe UI",sans-serif;--cand-font-inter:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--cand-font-poppins:"Poppins","Century Gothic",system-ui,sans-serif;--cand-font-montserrat:"Montserrat","Gill Sans MT","Trebuchet MS",system-ui,sans-serif;--cand-font-bebas:"Bebas Neue","Arial Narrow",Impact,system-ui,sans-serif;--cand-font-vt323:"VT323","Lucida Console",ui-monospace,"Courier New",monospace;--cand-font-monocraft:"Monocraft","Cascadia Mono",ui-monospace,"Courier New",monospace}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/jakarta-var.woff2) format("woff2"),local("Plus Jakarta Sans"),local("Segoe UI Variable Text"),local("Segoe UI")}@font-face{font-family:Rubik;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/rubik-var.woff2) format("woff2"),local("Rubik")}@font-face{font-family:Outfit;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/outfit-var.woff2) format("woff2"),local("Outfit"),local("Century Gothic")}@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/manrope-var.woff2) format("woff2"),local("Manrope")}@font-face{font-family:Sora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/sora-var.woff2) format("woff2"),local("Sora")}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-var.woff2) format("woff2"),local("Inter"),local("Segoe UI")}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/poppins-400.woff2) format("woff2"),local("Poppins")}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/poppins-500.woff2) format("woff2"),local("Poppins")}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/poppins-600.woff2) format("woff2"),local("Poppins")}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/poppins-700.woff2) format("woff2"),local("Poppins")}@font-face{font-family:Montserrat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/montserrat-var.woff2) format("woff2"),local("Montserrat"),local("Gill Sans MT")}@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/bebas-400.woff2) format("woff2"),local("Bebas Neue"),local("Arial Narrow")}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/vt323-400.woff2) format("woff2"),local("VT323"),local("Lucida Console")}:root,body,html{color-scheme:dark}body,html{margin:0;min-height:100%}body,html{background-color:#07060f}body{font-family:var(--font-body);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5;background-image:radial-gradient(1100px 600px at 12% -8%,rgba(124,92,255,.16),transparent 60%),radial-gradient(900px 520px at 100% 0,rgba(255,178,62,.08),transparent 55%),radial-gradient(700px 700px at 70% 120%,rgba(124,92,255,.1),transparent 60%)}button,input,select,textarea{font:inherit}button{letter-spacing:0}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:rgba(157,127,255,.22);border-radius:9px}::-webkit-scrollbar-thumb:hover{background:rgba(157,127,255,.4)}::-webkit-scrollbar-track{background:transparent}::selection{background:rgba(124,92,255,.3);color:#fff}.panel-root{min-height:100vh;display:flex;color:var(--text);background-color:#07060f}.sidebar{width:252px;flex:0 0 252px;height:100vh;position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px;padding:20px 18px;border-bottom:1px solid var(--border)}.brand img{position:relative;border-radius:11px;box-shadow:0 4px 16px rgba(124,92,255,.4)}.avatar,.brand-mark{display:grid;place-items:center;color:#0b0a18;font-weight:700;background:linear-gradient(135deg,var(--accent-light),var(--accent));box-shadow:var(--shadow-sm)}.brand-mark{position:relative;width:42px;height:42px;border-radius:12px;font-size:18px;font-family:var(--font-display)}.brand-mark:after{content:"";position:absolute;inset:-5px;border-radius:14px;background:radial-gradient(circle,rgba(124,92,255,.55),transparent 70%);filter:blur(6px);z-index:-1;animation:glowpulse 4s ease-in-out infinite}.sidebar nav{flex:1 1;overflow-y:auto;padding:12px}.nav-group{margin:16px 0 6px;padding:0 10px;color:var(--faint);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.nav-group:first-child{margin-top:4px}.nav-button{position:relative;width:100%;display:flex;align-items:center;gap:11px;padding:9px 12px;margin-bottom:3px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer;font-size:13px;font-weight:500;text-align:left;transition:background .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease),box-shadow .16s var(--ease),transform .12s var(--ease)}.nav-icon{flex:0 0 auto;color:var(--faint);transition:color .16s var(--ease),transform .16s var(--ease)}.nav-button:hover{background:var(--hover);color:var(--text);transform:translateX(2px)}.nav-button:hover .nav-icon{color:var(--accent-light)}.nav-button.active{background:linear-gradient(90deg,rgba(124,92,255,.22),rgba(124,92,255,.04));color:#fff;font-weight:600;border-color:var(--accent-border);box-shadow:var(--glow),inset 2px 0 0 var(--accent)}.nav-button.active .nav-icon{color:var(--accent-bright)}:root{--node-message:var(--accent-light);--node-collect:#b48bff;--node-condition:var(--amber);--node-jump:#4ea8ff;--node-set:#59d0c9;--node-ping:#ffce7a;--node-reject:var(--red);--node-end:var(--green)}.nav-dot{margin-left:auto;width:8px;height:8px;flex:0 0 auto;background:var(--red);box-shadow:0 0 8px rgba(255,92,108,.55)}.cand-dot,.nav-dot{border-radius:999px}.cand-dot{display:inline-block;width:9px;height:9px;box-shadow:0 0 0 3px rgba(255,255,255,.04)}.profile-button{display:flex;align-items:center;gap:11px;padding:13px 16px;border:0;border-top:1px solid var(--border);background:rgba(124,92,255,.05);color:inherit;cursor:pointer;text-align:left;transition:background .16s var(--ease)}.profile-button:hover{background:rgba(124,92,255,.12)}.app-shell{min-width:0;flex:1 1;display:flex;flex-direction:column;height:100vh}.topbar{height:66px;flex:0 0 auto;display:flex;align-items:center;gap:16px;padding:0 28px;border-bottom:1px solid var(--border);background:rgba(11,9,22,.55);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar-title{font-family:var(--font-display);font-weight:700;letter-spacing:.01em}.content{flex:1 1;overflow-y:auto;padding:26px 30px 64px}.section{animation:fadein .26s var(--ease)}.content>*>.section,.content>.section{width:100%;max-width:var(--section-max,1600px);margin-inline:auto}.panel-fullscreen{position:fixed;inset:0;z-index:90;overflow-y:auto;padding:18px 24px 48px;background:var(--bg);max-width:none;margin:0}@media (max-width:900px){.content>*>.section,.content>.section{max-width:none}.content{padding:18px 14px 48px}}.card,.kpi-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:18px;transition:border-color .18s var(--ease),box-shadow .22s var(--ease),transform .18s var(--ease),background .18s var(--ease)}.notice,.table-wrap,.toolbar{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toolbar{padding:14px 18px}.table-wrap{overflow:hidden}.notice{background:var(--glass-accent)}button.card,button.kpi-card{cursor:pointer;text-align:left}.kpi-card:hover,button.card:hover,button.kpi-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.grid{display:grid;grid-gap:14px;gap:14px}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.two-col{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}.resource-grid,.rule-grid,.team-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.label{color:var(--faint);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.muted{color:var(--muted)}.faint{color:var(--faint)}.display{font-family:var(--font-display)}.mono{font-family:var(--font-mono)}.field,.select,.textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);color:var(--text);font-size:13px;transition:border-color .16s var(--ease),box-shadow .16s var(--ease),background .16s var(--ease)}.field,.select{height:36px;padding:0 12px}.textarea{min-height:200px;padding:12px 14px;resize:vertical;line-height:1.6}.field::placeholder,.textarea::placeholder{color:var(--faint)}.field:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent-border);box-shadow:var(--ring)}select.select option{background:#120e22;color:var(--text)}.button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap;transition:background .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease),transform 90ms var(--ease),box-shadow .16s var(--ease),filter .16s var(--ease)}.button svg{flex:0 0 auto}.button:hover{background:var(--hover);border-color:var(--accent-border)}.button:active{transform:scale(.97)}.button.primary{border-color:transparent;background:linear-gradient(135deg,var(--accent),#6b4ce0);color:#fff;box-shadow:0 4px 16px rgba(124,92,255,.35)}.button.primary:hover{filter:brightness(1.08);box-shadow:0 6px 22px rgba(124,92,255,.5)}.button.success{border-color:transparent;background:linear-gradient(135deg,var(--green),#1fae7e);color:#06231a}.button.success:hover{filter:brightness(1.06)}.button.danger{color:var(--red)}.button.danger:hover{border-color:rgba(255,92,108,.45);background:rgba(255,92,108,.1)}.button.ghost{background:transparent;border-color:transparent}.button.ghost:hover{background:var(--hover);border-color:var(--border)}.button.icon-button{padding:0;width:36px;flex:0 0 auto}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:var(--surface-2);font-size:11px;font-weight:600}table{width:100%;border-collapse:collapse;font-size:12.5px}th{border-bottom:1px solid var(--border);background:rgba(7,6,15,.4);color:var(--faint);font-size:10px;font-weight:700;letter-spacing:.06em;text-align:left;text-transform:uppercase}td,th{padding:11px 16px}td{border-bottom:1px solid rgba(157,127,255,.07);transition:background .13s var(--ease)}tr:hover td{background:var(--hover)}.avatar{width:32px;height:32px;border-radius:9px;flex:0 0 auto;background-size:cover;background-position:50%;font-size:11px}.avatar.large{width:44px;height:44px;border-radius:12px;font-size:15px}.modal-backdrop{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:rgba(4,3,10,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadein .16s var(--ease)}.modal{width:min(100%,var(--modal-width,520px));max-height:min(86vh,820px);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-md);animation:modalpop .24s var(--ease)}.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:22px 24px}.modal-stack{display:flex;flex-direction:column;gap:16px}.modal-stack>*{flex-shrink:0}.modal.modal-tall{max-height:92vh}.markdown{color:var(--muted);font-size:13.5px;line-height:1.65}.markdown h1,.markdown h2,.markdown h3{color:var(--text);font-family:var(--font-display);margin:20px 0 8px;line-height:1.3}.markdown h1{font-size:20px}.markdown h2{font-size:16px}.markdown h3{font-size:14.5px}.markdown code{padding:2px 6px;border:1px solid var(--border);border-radius:5px;background:var(--panel-2);color:var(--accent-light);font-family:var(--font-mono);font-size:.88em}.markdown blockquote{margin:12px 0;padding:12px 14px;border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;background:var(--panel-2);color:var(--text)}.search-trigger{height:38px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);padding:0 14px;transition:border-color .16s var(--ease),color .16s var(--ease),background .16s var(--ease)}.search-trigger:hover{border-color:var(--accent-border);color:var(--muted)}.kbd{display:inline-flex;align-items:center;padding:2px 6px;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);color:var(--faint);font-family:var(--font-mono);font-size:10px;line-height:1.4}.search-field{position:relative;display:flex;align-items:center}.search-field>svg{position:absolute;left:12px;color:var(--faint);pointer-events:none}.search-field .field{padding-left:34px}.kpi-value{font-family:var(--font-display);font-size:28px;font-weight:700;line-height:1;margin-top:10px;letter-spacing:-.01em;font-feature-settings:"tnum" 1}.kpi-foot{display:flex;gap:8px;margin-top:10px}.delta,.kpi-foot{align-items:center}.delta{display:inline-flex;gap:2px;padding:2px 7px 2px 5px;border-radius:999px;font-size:11px;font-weight:650;font-feature-settings:"tnum" 1}.delta.up{color:var(--green);background:rgba(52,211,153,.12)}.delta.down{color:var(--red);background:rgba(255,92,108,.12)}.chart{display:flex;align-items:flex-end;gap:14px}.chart-col{flex:1 1;display:grid;align-content:end;grid-gap:8px;gap:8px;text-align:center;cursor:default}.chart-val{font-family:var(--font-mono);font-size:11px;color:var(--muted);font-feature-settings:"tnum" 1;transition:color .16s var(--ease)}.chart-bar{width:100%;max-width:46px;margin:0 auto;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,var(--accent-light),var(--accent));box-shadow:0 0 14px rgba(124,92,255,.35);transition:filter .16s var(--ease),transform .16s var(--ease);transform-origin:bottom;animation:growbar .6s var(--ease) both}.chart-col:hover .chart-bar{filter:brightness(1.18);transform:scaleY(1.02)}.chart-col:hover .chart-val{color:var(--accent-light)}.access-toggle{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--faint);cursor:pointer;font-size:11.5px;font-weight:600;transition:background .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease)}.access-toggle:hover{border-color:var(--accent-border);color:var(--muted)}.access-toggle.on{color:var(--accent-light);border-color:var(--accent-border);background:var(--accent-subtle)}.roles-section{display:grid;grid-template-columns:220px 1fr;grid-gap:16px;gap:16px;min-height:400px}.roles-list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;display:flex;flex-direction:column}.roles-list-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:13px;font-weight:500;text-align:left;border-bottom:1px solid var(--border);transition:background .13s var(--ease),color .13s var(--ease)}.roles-list-item.active,.roles-list-item:hover{background:var(--hover);color:var(--text)}.role-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 8px currentColor}.roles-editor{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:20px;overflow-y:auto}.perms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:20px;gap:20px}.perm-group{display:flex;flex-direction:column;gap:4px}.perm-row{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer}.perm-checkbox{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex:0 0 auto}.perm-row[data-danger]{margin-top:6px;padding:7px 9px;border:1px solid color-mix(in oklch,var(--red),transparent 60%);border-radius:var(--radius);background:color-mix(in oklch,var(--red),transparent 92%)}.perm-row[data-danger] .perm-checkbox{accent-color:var(--red)}.perm-row[data-exclusion] .perm-checkbox{accent-color:var(--amber)}.perm-warning{margin:7px 0 0;font-size:11.5px;line-height:1.55;color:color-mix(in oklch,var(--red),var(--text) 35%)}.login-page{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(1100px 600px at 50% -10%,rgba(124,92,255,.22),transparent 60%),radial-gradient(700px 500px at 50% 120%,rgba(255,178,62,.08),transparent 60%),var(--bg)}.login-card{width:min(100%,380px);padding:44px 34px;border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-md);text-align:center;display:flex;flex-direction:column;align-items:center;animation:fadein .32s var(--ease)}.login-error{width:100%;padding:10px 14px;border:1px solid rgba(255,92,108,.45);border-radius:var(--radius);background:rgba(255,92,108,.1);color:var(--red);font-size:12.5px;margin-bottom:18px}.discord-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;padding:0 18px;border:none;border-radius:var(--radius);background:#5865f2;color:#fff;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 6px 20px rgba(88,101,242,.4);transition:filter .16s var(--ease),transform 90ms var(--ease),box-shadow .16s var(--ease)}.discord-btn:hover{filter:brightness(1.08);box-shadow:0 8px 26px rgba(88,101,242,.55)}.discord-btn:active{transform:scale(.98)}.cand-secondary-link{display:inline-block;margin-top:14px;font-size:12.5px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.cand-secondary-link:hover{color:var(--bright)}@keyframes fadein{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes modalpop{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}@keyframes glowpulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes dotpulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.55)}70%{box-shadow:0 0 0 7px rgba(52,211,153,0)}to{box-shadow:0 0 0 0 rgba(52,211,153,0)}}@keyframes toastin{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes growbar{0%{transform:scaleY(0);opacity:.4}to{transform:scaleY(1);opacity:1}}@keyframes shimmer{to{background-position:200% 0}}.dot-pulse{animation:dotpulse 2.4s infinite}.header-icon-btn{position:relative;width:38px;height:38px;display:grid;place-items:center;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--bright);cursor:pointer;flex:0 0 auto;transition:border-color .15s var(--ease),background .15s var(--ease)}.header-icon-btn:hover{border-color:var(--accent-border)}.header-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--red);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;border:2px solid var(--bg)}.presence-pill{gap:9px;height:38px;padding:0 5px 0 11px;border-radius:99px;border:1px solid rgba(52,211,153,.22);background:rgba(52,211,153,.05)}.presence-label,.presence-pill{display:flex;align-items:center}.presence-label{gap:5px;font-size:11px;font-weight:600;color:var(--green);white-space:nowrap}.presence-dot{width:6px;height:6px;border-radius:99px;background:var(--green)}.presence-avatar{width:28px;height:28px;border-radius:99px;display:grid;place-items:center;font-size:10px;font-weight:700;color:#0b0a18;margin-left:-8px;border:2px solid var(--bg);background-size:cover;background-position:50%}.presence-avatar:first-child{margin-left:0}.presence-more{color:var(--accent-bright);background:#2a2440}.user-chip{display:flex;align-items:center;gap:9px;height:38px;padding:0 6px 0 12px;border-radius:var(--radius);border:1px solid rgba(255,178,62,.22);background:linear-gradient(90deg,rgba(255,178,62,.08),rgba(255,178,62,.02))}.user-chip-name{font-size:12.5px;font-weight:600;color:var(--amber)}.user-chip-av{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:11px;font-weight:700;color:#0b0a18;background-size:cover;background-position:50%}.project-btn{display:flex;align-items:center;gap:11px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:13px;background:transparent;cursor:pointer;text-align:left;transition:border-color .16s var(--ease),background .16s var(--ease)}.project-btn:hover{border-color:var(--accent-border);background:var(--hover)}.project-menu{position:absolute;left:12px;right:12px;top:78px;z-index:50;padding:7px;border-radius:var(--radius-lg);border:1px solid rgba(157,127,255,.22);background:linear-gradient(180deg,rgba(28,22,48,.98),rgba(16,12,30,.98));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 18px 50px rgba(0,0,0,.6);animation:fadein .16s ease-out}.glass-card{background:var(--glass);overflow:hidden}.glass-accent,.glass-card{border:1px solid var(--border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.glass-accent{background:var(--glass-accent)}.card-head{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--border);background:rgba(7,6,15,.34)}.card-head-title{font-family:var(--font-display);font-size:14px;font-weight:700}.cand-fold-head{width:100%;font:inherit;color:inherit;text-align:left;border:none;border-bottom:1px solid var(--border);border-radius:0;cursor:pointer}.cand-fold-head:hover{background:rgba(255,255,255,.035)}.cand-fold-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cand-fold-head[aria-expanded=false]{border-bottom:none}.tag{align-items:center;gap:4px;padding:2px 9px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--surface-2)}.seg,.tag{display:inline-flex}.seg{padding:4px;border-radius:11px;background:rgba(7,6,15,.6);border:1px solid var(--border);gap:2px}.seg-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 15px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:12.5px;font-weight:600;transition:background .16s var(--ease),color .16s var(--ease)}.seg-btn.active{background:linear-gradient(135deg,var(--accent),#6b4ce0);color:#fff;box-shadow:0 2px 12px rgba(124,92,255,.4)}.chip-toggle{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border-radius:9px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);cursor:pointer;font-size:12.5px;font-weight:600;transition:all .15s var(--ease)}.chip-toggle:hover{border-color:var(--accent-border);color:var(--text)}.chip-toggle.active{border-color:var(--accent-border);background:var(--accent-subtle);color:var(--accent-bright)}@media (max-width:900px){.panel-root{display:block}.sidebar{width:100%;height:auto;position:static;border-right:0;border-bottom:1px solid var(--border)}.sidebar nav{display:flex;overflow-x:auto;gap:4px;padding:8px 12px}.nav-group{display:none}.nav-button{width:auto;flex:0 0 auto;margin-bottom:0}.profile-button{display:none}.app-shell{height:auto;min-height:100vh}.topbar{height:auto;min-height:60px;flex-wrap:wrap;padding:12px 16px}.content{padding:20px 16px 48px}.roles-section,.two-col{grid-template-columns:1fr}}.cand-root{display:block;min-height:100dvh}.chat-thread-wrap{position:relative;flex:1 1;min-height:0}.chat-thread{display:flex;flex-direction:column;gap:14px;padding:20px 18px;overflow-y:auto;height:100%}.chat-thread.mode-staff{gap:10px;padding:14px}.chat-empty{text-align:center;font-size:13px;padding:32px 0}.chat-row{display:flex;align-items:flex-end;gap:9px}.chat-row.mine{flex-direction:row-reverse}.chat-row.system{justify-content:center}.chat-avatar{flex:0 0 auto;border-radius:99px;display:grid;place-items:center;font-size:10.5px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-light))}.chat-avatar-spacer{flex:0 0 auto;width:30px}.chat-bubble-wrap{min-width:0;max-width:78%;display:grid;grid-gap:3px;gap:3px}.chat-row.mine .chat-bubble-wrap{justify-items:end}.chat-author{font-size:11px;color:var(--faint);padding:0 4px}.chat-bubble{padding:10px 14px;border-radius:14px;font-size:13.5px;line-height:1.55;overflow-wrap:anywhere}.chat-bubble p{margin:0}.chat-bubble p+p{margin-top:7px}.chat-bubble a{color:inherit;text-decoration:underline}.chat-bubble.system{background:rgba(255,92,108,.08);border:1px solid rgba(255,92,108,.28);color:var(--text);font-size:13px;text-align:center}.chat-meta{display:flex;align-items:center;gap:8px;font-size:10.5px;color:var(--faint);padding:0 4px}.chat-edit{border:0;background:none;color:var(--accent-light);font:inherit;font-size:10.5px;cursor:pointer;padding:0}.chat-bubble.typing{display:inline-flex;gap:4px;align-items:center;background:rgba(255,255,255,.05)}.chat-bubble.typing span{width:6px;height:6px;border-radius:99px;background:var(--faint);animation:chat-typing 1.2s ease-in-out infinite}.chat-bubble.typing span:nth-child(2){animation-delay:.15s}.chat-bubble.typing span:nth-child(3){animation-delay:.3s}@keyframes chat-typing{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-to-bottom{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);padding:5px 12px;border-radius:99px;border:1px solid var(--border-strong);background:var(--panel);color:var(--text);font:inherit;font-size:11.5px;cursor:pointer}.answer-error{padding:8px 12px;border-radius:9px;font-size:12.5px;color:#ffb3bb;background:rgba(255,92,108,.1);border:1px solid rgba(255,92,108,.3)}.answer-row{display:flex;align-items:flex-end;gap:9px}.answer-row .field,.answer-row .textarea{flex:1 1;min-width:0}.answer-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.answer-check input{accent-color:var(--accent)}@media (max-width:560px){.chat-bubble-wrap{max-width:88%}.chat-thread{padding:16px 12px}}.conv-annex,.conv-root{--conv-content:820px;--conv-gap:22px;--conv-logo:40px;--conv-title:17px;--conv-ctl-h:66px;--conv-ctl-fs:18px;--conv-avatar:38px;--conv-accent:#7c3aed;--conv-progress:#f5a623;--conv-pad:clamp(16px,4vw,44px);--conv-header-bg:rgba(10,6,18,0.45);--conv-thread-bg:transparent;--conv-dock-bg:linear-gradient(180deg,rgba(8,4,14,0),rgba(9,5,16,0.94) 34%);color:#f2eefa;font-family:var(--conv-font,var(--cand-font-jakarta));-webkit-font-smoothing:antialiased;background:radial-gradient(1000px 560px at 50% -8%,rgba(109,40,217,.5),transparent 65%),radial-gradient(700px 540px at 12% 100%,rgba(76,29,149,.45),transparent 62%),linear-gradient(180deg,#0c0716,#0a0613 55%,#07040d)}.conv-root{display:flex;flex-direction:column;height:100dvh;min-height:0;overflow:hidden}.conv-root.is-embedded{height:100%;min-height:320px}.conv-header{flex-shrink:0;align-items:center;gap:14px;padding:20px var(--conv-pad);border-bottom:1px solid rgba(255,255,255,.06);background:var(--conv-header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.conv-header,.conv-tabs{display:flex;flex-wrap:wrap}.conv-tabs{gap:8px;flex-basis:100%;order:9}.conv-logo{width:var(--conv-logo);height:var(--conv-logo);border-radius:10px;object-fit:contain;display:block;flex-shrink:0}.conv-ident{display:flex;align-items:baseline;gap:10px;flex:1 1;min-width:0}.conv-name{font-size:var(--conv-title);font-weight:800;letter-spacing:-.01em;color:#f4f1fa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-sep{color:rgba(232,226,242,.35)}.conv-sep,.conv-sub{font-size:calc(var(--conv-title) * .88)}.conv-sub{font-weight:500;color:rgba(232,226,242,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-progress{display:flex;align-items:center;gap:14px;flex-shrink:0}.conv-progress-track{width:220px;max-width:30vw;height:6px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.conv-progress-fill{height:100%;border-radius:99px;background:var(--conv-progress);transition:width .45s cubic-bezier(.4,0,.2,1)}.conv-progress-label{font-size:13px;font-weight:700;color:var(--conv-progress);min-width:46px;text-align:right}.conv-offline{font-size:11.5px;color:var(--amber);padding:3px 9px;border-radius:99px;border:1px solid rgba(255,201,62,.35);white-space:nowrap}.conv-thread{flex:1 1;min-height:0;overflow-y:auto;padding:40px var(--conv-pad) 20px;background:var(--conv-thread-bg)}.conv-col{width:100%;max-width:var(--conv-content);margin:0 auto;gap:var(--conv-gap)}.conv-col,.conv-group{display:flex;flex-direction:column}.conv-group{gap:9px}.conv-eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(196,166,255,.5);padding-left:6px}.conv-group.mine .conv-eyebrow{align-self:flex-end;padding:0 6px 0 0}.conv-item{display:flex;flex-direction:column;gap:7px}.conv-line{display:flex;gap:12px;align-items:center}.conv-line.mine{flex-direction:row-reverse}.conv-avatar{height:var(--conv-avatar);border-radius:calc(var(--conv-avatar) * .3);object-fit:cover;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;font-size:calc(var(--conv-avatar) * .42);font-weight:800;color:#fff}.conv-avatar,.conv-avatar-spacer{width:var(--conv-avatar);flex-shrink:0}.conv-bubble{min-width:0;padding:18px 24px;border-radius:22px 22px 22px 8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 34px rgba(0,0,0,.4);font-size:18px;line-height:1.55;color:#f2eefa;text-wrap:pretty;max-width:640px;overflow-wrap:anywhere}.conv-bubble p{margin:0}.conv-bubble p+p{margin-top:.6em}.conv-bubble a{color:#d6c4ff;text-decoration:underline}.conv-line.mine .conv-bubble{border-radius:22px 22px 8px 22px;background-color:var(--conv-accent);background-image:linear-gradient(135deg,rgba(255,255,255,.18),rgba(0,0,0,.2));border-color:rgba(255,255,255,.14);box-shadow:0 12px 30px rgba(0,0,0,.35);color:#fff;font-weight:500}.conv-bubble.system{background:rgba(255,255,255,.04);border-style:dashed;border-color:rgba(255,255,255,.14);color:rgba(232,226,242,.72);font-size:15px;box-shadow:none}.conv-time{font-size:11.5px;color:rgba(232,226,242,.3);padding:0 6px}.conv-typing{display:flex;align-items:center;gap:7px;align-self:flex-start;padding:18px 22px;border-radius:22px 22px 22px 8px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}.conv-typing span{width:8px;height:8px;border-radius:99px;background:#c4b5fd;animation:conv-dot 1.1s ease-in-out infinite}.conv-typing span:nth-child(2){animation-delay:.18s}.conv-typing span:nth-child(3){animation-delay:.36s}@keyframes conv-dot{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.conv-empty{color:rgba(232,226,242,.4);font-size:14px;text-align:center;padding:24px 0}.conv-notice{align-self:stretch;display:flex;flex-direction:column;gap:8px;padding:28px;border-radius:26px;background:linear-gradient(180deg,rgba(139,92,246,.16),rgba(255,255,255,.04));border:1px solid rgba(168,120,255,.3);box-shadow:0 24px 60px rgba(0,0,0,.5)}.conv-notice strong{font-size:20px;font-weight:800;letter-spacing:-.02em;color:#fff}.conv-notice span{font-size:14.5px;line-height:1.6;color:rgba(232,226,242,.6)}.conv-rdv{align-self:stretch;display:flex;flex-direction:column;gap:14px;padding:24px;border-radius:26px;background:linear-gradient(180deg,rgba(139,92,246,.16),rgba(255,255,255,.04));border:1px solid rgba(168,120,255,.3);box-shadow:0 24px 60px rgba(0,0,0,.5)}.conv-rdv-title{font-size:20px;font-weight:800;letter-spacing:-.02em;color:#fff}.conv-rdv-settled{display:flex;flex-direction:column;gap:6px}.conv-rdv-settled strong{font-size:16px;font-weight:700;color:#fff}.conv-rdv-settled span{font-size:14px;line-height:1.6;color:rgba(232,226,242,.6)}.conv-dock{flex-shrink:0;padding:22px var(--conv-pad) 26px;background:var(--conv-dock-bg);border-top:1px solid rgba(168,120,255,.18);box-shadow:0 -22px 60px rgba(0,0,0,.55);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);max-height:60%;overflow-y:auto}.conv-dock-col{width:100%;max-width:var(--conv-content);margin:0 auto;display:flex;flex-direction:column;gap:14px}.conv-dock-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:20px}.conv-prompt{font-size:13.5px;font-weight:600;color:rgba(232,226,242,.6);text-wrap:pretty}.conv-hint{font-size:12px;color:rgba(232,226,242,.34);white-space:nowrap}.conv-foot{display:flex;align-items:center;gap:8px;font-size:12.5px;color:rgba(232,226,242,.36)}.conv-foot strong{font-weight:700;color:rgba(232,226,242,.62)}.conv-foot-dot{width:7px;height:7px;border-radius:99px;background:#4ade80;box-shadow:0 0 8px rgba(74,222,128,.9);flex-shrink:0}.conv-answer{display:flex;flex-direction:column;gap:14px}.conv-error{padding:12px 18px;border-radius:14px;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#fca5a5;font-size:14px;line-height:1.5}.conv-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:14px;gap:14px}.conv-btn{display:flex;align-items:center;justify-content:center;gap:12px;height:var(--conv-ctl-h);padding:0 22px;border:none;border-radius:18px;font-family:inherit;font-size:var(--conv-ctl-fs);font-weight:700;letter-spacing:-.01em;color:#fff;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:center;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.conv-btn.primary{background-color:var(--conv-accent);background-image:linear-gradient(135deg,rgba(255,255,255,.2),rgba(0,0,0,.24));box-shadow:0 16px 40px rgba(0,0,0,.38),inset 0 0 0 1px rgba(255,255,255,.12)}.conv-btn.secondary{background:rgba(255,255,255,.05);border:1.5px solid rgba(168,120,255,.3);color:#ece7f5;font-weight:600}.conv-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.08)}.conv-btn.secondary:hover:not(:disabled){background:rgba(139,92,246,.14);border-color:rgba(196,166,255,.6)}.conv-btn:active:not(:disabled){transform:translateY(0)}.conv-btn:focus-visible{outline:2px solid rgba(196,166,255,.9);outline-offset:2px}.conv-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;filter:none}.conv-btn.small{height:40px;padding:0 16px;border-radius:12px;font-size:14.5px;gap:8px}.conv-key{display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:8px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.24);font-size:12px;font-weight:700;flex-shrink:0}.conv-row{display:flex;gap:14px;align-items:stretch}.conv-field,.conv-textarea{flex:1 1;min-width:0;padding:0 24px;border-radius:18px;background:rgba(255,255,255,.055);border:1.5px solid rgba(168,120,255,.26);color:#f4f1fa;font-family:inherit;font-size:var(--conv-ctl-fs);font-weight:500;outline:none;transition:border-color .16s ease,background .16s ease}.conv-field{height:var(--conv-ctl-h)}.conv-textarea{width:100%;min-height:128px;padding:18px 22px;line-height:1.6;font-weight:400;resize:vertical;box-sizing:border-box}.conv-field:focus,.conv-textarea:focus{border-color:rgba(167,139,250,.75);background:rgba(139,92,246,.1)}.conv-field::placeholder,.conv-textarea::placeholder{color:rgba(232,226,242,.32)}.conv-field:disabled,.conv-textarea:disabled{opacity:.55}.conv-field-date,.conv-field-time{padding-inline:16px}.conv-field-date{min-width:calc(10ch + 5rem)}.conv-field-time{min-width:calc(5ch + 5rem)}.conv-slot-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr));grid-gap:8px;gap:8px}.conv-slot-block{display:flex;flex-direction:column;gap:8px}.conv-slot-block+.conv-slot-block{padding-top:12px;border-top:1px solid var(--border)}.conv-slot-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.conv-slot-hint{font-size:11.5px;line-height:1.5;color:rgba(255,160,160,.9)}.conv-note{min-height:5.5rem;padding:12px 18px}.conv-submit{min-width:170px;flex:0 0 auto}.conv-counter{font-size:13px;color:rgba(232,226,242,.42)}.conv-chips{display:flex;flex-wrap:wrap;gap:12px}.conv-chip{display:flex;align-items:center;gap:10px;height:56px;padding:0 22px;border-radius:16px;background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.12);color:#ece7f5;font-family:inherit;font-size:16.5px;font-weight:600;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .14s ease,border-color .14s ease,transform .14s ease}.conv-chip:hover:not(:disabled){background:rgba(139,92,246,.14);border-color:rgba(196,166,255,.55);transform:translateY(-2px)}.conv-chip[aria-pressed=true]{background-color:var(--conv-accent);background-image:linear-gradient(135deg,rgba(255,255,255,.16),rgba(0,0,0,.18));border-color:rgba(196,166,255,.7);color:#fff;font-weight:700}.conv-chip:focus-visible{outline:2px solid rgba(196,166,255,.9);outline-offset:2px}.conv-check{display:flex;align-items:center;gap:12px;font-size:var(--conv-ctl-fs);color:#ece7f5;cursor:pointer}.conv-check input{width:22px;height:22px;accent-color:var(--conv-accent)}.conv-skip{align-self:flex-start;border:0;background:none;padding:0;font:inherit;font-size:13px;color:rgba(232,226,242,.45);text-decoration:underline;cursor:pointer}.conv-skip:hover{color:rgba(232,226,242,.75)}.conv-rating{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.conv-rating button{width:var(--conv-ctl-h);height:var(--conv-ctl-h);padding:8px;border:0;background:none;color:var(--conv-progress);cursor:pointer;border-radius:14px}.conv-rating button:hover:not(:disabled){background:rgba(255,255,255,.06)}.conv-rating button:focus-visible{outline:2px solid rgba(196,166,255,.9);outline-offset:2px}.conv-rating button svg{width:100%;height:100%;display:block}.conv-rating-value{margin-left:10px;font-size:14px;color:rgba(232,226,242,.5)}.conv-root.is-mobile .conv-header{padding:14px var(--conv-pad);gap:10px}.conv-root.is-mobile .conv-ident{flex-direction:column;align-items:flex-start;gap:0}.conv-root.is-mobile .conv-sep{display:none}.conv-root.is-mobile .conv-thread{padding:20px var(--conv-pad) 14px}.conv-root.is-mobile .conv-bubble{padding:14px 18px}.conv-root.is-mobile .conv-choices{grid-template-columns:1fr}.conv-root.is-mobile .conv-row{flex-direction:column}.conv-root.is-mobile .conv-submit{min-width:0}.conv-root.is-mobile .conv-progress-track{width:90px}.conv-root.is-mobile .conv-dock{max-height:70%}.conv-root.is-mobile .conv-chip{height:48px;padding:0 16px;font-size:15px}.conv-annex{min-height:100dvh;display:grid;place-items:center;padding:32px 20px;--conv-ctl-h:46px;--conv-ctl-fs:15px}.conv-annex-card{width:100%;max-width:560px;display:flex;flex-direction:column;gap:16px;padding:34px;border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.03));border:1px solid rgba(168,120,255,.24);box-shadow:0 30px 80px rgba(0,0,0,.6);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.conv-annex-card.is-wide{max-width:760px}.conv-annex-logo{width:var(--conv-logo);height:var(--conv-logo);border-radius:calc(var(--conv-logo) * .3);object-fit:contain}.conv-annex-kicker{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(196,166,255,.7)}.conv-annex-title{font-size:24px;font-weight:800;letter-spacing:-.02em;color:#fff}.conv-annex-text{margin:0;font-size:15px;line-height:1.65;color:rgba(232,226,242,.65);white-space:pre-line}.conv-doc{max-height:260px;overflow-y:auto;padding:16px 18px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.25);font-size:14px;line-height:1.65;color:rgba(232,226,242,.8)}.conv-doc h3{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#d6c4ff}.conv-accept{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.5;cursor:pointer}.conv-accept input{margin-top:2px;width:18px;height:18px;flex-shrink:0;accent-color:var(--conv-accent)}.conv-frame{height:var(--conv-frame-h,420px);overflow:hidden;background:#07040d}.conv-frame.is-phone{width:390px;max-width:100%;margin:0 auto;border-left:1px solid var(--border);border-right:1px solid var(--border)}.fed-shell{display:grid;grid-template-columns:minmax(0,1fr) 8px minmax(0,var(--fed-right,340px));align-items:stretch;grid-gap:6px;gap:6px}.fed-main,.fed-right{min-width:0;display:flex;flex-direction:column;gap:12px}.fed-right{align-self:start;position:-webkit-sticky;position:sticky;top:8px;max-height:calc(100dvh - 96px);overflow-y:auto}.fed-lower{display:grid;grid-template-columns:minmax(0,var(--fed-lower-left,380px)) 8px minmax(0,1fr);align-items:stretch;grid-gap:6px;gap:6px}.fed-lower-left,.fed-lower-right{min-width:0;display:flex;flex-direction:column;gap:10px}.fed-grip{align-self:stretch;position:relative;border:0;padding:0;background:none;cursor:col-resize;touch-action:none}.fed-grip:after{content:"";position:absolute;inset:6px 2px;border-radius:3px;background:var(--border-strong);opacity:0;transition:opacity .15s var(--ease)}.fed-grip:focus-visible:after,.fed-grip:hover:after,.fed-grip[data-dragging=true]:after{opacity:1}.fed-grip:focus-visible{outline:none}.fed-fold{display:flex;align-items:center;gap:9px;width:100%;padding:9px 13px;background:transparent;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.fed-fold:hover{background:var(--hover)}.fed-fold-body{border-top:1px solid var(--border)}.fed-style-swatch{display:block;padding:8px 11px;border-radius:8px;border:1px dashed var(--border);background:var(--panel-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35}@media (max-width:1100px){.fed-lower,.fed-shell{grid-template-columns:minmax(0,1fr);gap:12px}.fed-grip{display:none}.fed-right{position:static;max-height:none;overflow-y:visible}}.cal-section{display:flex;flex-direction:column;gap:12px}.cal-toolbar{gap:10px;flex-wrap:wrap}.cal-nav,.cal-toolbar{display:flex;align-items:center}.cal-nav{gap:6px}.cal-period{display:flex;align-items:baseline;gap:8px;min-width:0}.cal-period-title{font-family:var(--font-display);font-size:15px;font-weight:700;text-transform:capitalize;white-space:nowrap}.cal-canvas{min-height:320px}.cal-chip{display:flex;align-items:center;gap:6px;width:100%;min-width:0;padding:4px 7px;border:1px solid;border-radius:7px;color:var(--text);font:inherit;font-size:11.5px;text-align:left;cursor:pointer;overflow:hidden;transition:filter .14s var(--ease),transform .14s var(--ease)}.cal-chip:hover{filter:brightness(1.25)}.cal-chip:focus-visible{outline:2px solid var(--accent-light);outline-offset:1px}.cal-chip:active{transform:scale(.985)}.cal-chip[draggable=true]{cursor:-webkit-grab;cursor:grab}.cal-chip[data-past]{opacity:.48;filter:grayscale(.55)}.cal-chip[data-conflict]{border-width:1.5px;box-shadow:0 0 0 1px rgba(255,178,62,.28)}.cal-chip[data-absence]{border-style:dashed}.cal-chip-icon{flex:0 0 auto;font-size:12px;line-height:1}.cal-chip-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.cal-chip-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.cal-chip-hour,.cal-chip-time{font-size:10.5px;color:var(--muted);white-space:nowrap}.cal-chip-hour{flex:0 0 auto}.cal-chip-warn{flex:0 0 auto;width:13px;height:13px;border-radius:99px;display:grid;place-items:center;font-size:9.5px;font-weight:800;color:#1a1204;background:var(--amber)}.cal-month-body,.cal-month-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-month-headcell{padding:9px 8px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);text-align:center}.cal-month-cell,.cal-month-headcell{border-bottom:1px solid var(--border)}.cal-month-cell{min-height:108px;padding:5px 5px 7px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.cal-month-cell:nth-child(7n){border-right:0}.cal-month-cell[data-outside]{background:rgba(7,6,15,.32)}.cal-month-cell[data-outside] .cal-month-daynum{color:var(--faint)}.cal-month-cell[data-today]{background:var(--accent-subtle)}.cal-month-cell[data-drop]{background:rgba(124,92,255,.2);box-shadow:inset 0 0 0 2px var(--accent-border)}.cal-month-daynum{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--bright)}.cal-month-cell[data-today] .cal-month-daynum span:first-child{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:99px;color:#fff;background:var(--accent)}.cal-day-add{margin-left:auto;width:19px;height:19px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--faint);font-size:13px;line-height:1;cursor:pointer;opacity:0;transition:opacity .14s var(--ease),color .14s var(--ease)}.cal-day-add:focus-visible,.cal-month-cell:hover .cal-day-add{opacity:1;color:var(--accent-light)}.cal-month-stack{flex:1 1;display:flex;flex-direction:column;gap:3px;min-height:0}.cal-more{align-self:flex-start;padding:2px 6px;border:0;border-radius:6px;background:var(--surface-2);color:var(--muted);font:inherit;font-size:10.5px;font-weight:600;cursor:pointer}.cal-more:hover{color:var(--text)}.cal-week{padding:10px 12px 12px}.cal-week-allday,.cal-week-grid,.cal-week-head{display:grid;grid-template-columns:52px repeat(7,minmax(0,1fr))}.cal-week-head{border-bottom:1px solid var(--border)}.cal-week-daycol{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 2px 8px}.cal-week-dayname{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.cal-week-daynum{font-size:15px;font-weight:700}.cal-week-daycol[data-today] .cal-week-daynum{display:grid;place-items:center;min-width:24px;height:24px;border-radius:99px;color:#fff;background:var(--accent)}.cal-week-allday{border-bottom:1px solid var(--border);min-height:30px}.cal-week-alldaylabel{font-size:10px;color:var(--faint);padding:6px 6px 0 0;text-align:right}.cal-week-alldaycell{display:flex;flex-direction:column;gap:2px;padding:4px 3px;border-left:1px solid var(--border);min-width:0}.cal-week-body{max-height:58vh;overflow-y:auto}.cal-week-hours{position:relative}.cal-week-hourlabel{position:relative;padding-right:6px;text-align:right;font-size:10px;color:var(--faint);transform:translateY(-6px)}.cal-week-col{position:relative;border-left:1px solid var(--border);min-width:0}.cal-week-col[data-today]{background:rgba(124,92,255,.05)}.cal-week-slot{border-bottom:1px dashed rgba(157,127,255,.07);cursor:pointer}.cal-week-slot[data-hour]{border-bottom:1px solid rgba(157,127,255,.13)}.cal-week-slot[data-drop]{background:rgba(124,92,255,.28)}.cal-week-event{position:absolute;overflow:hidden}.cal-now{position:absolute;left:0;right:0;height:2px;background:var(--red);box-shadow:0 0 8px rgba(255,92,108,.8);pointer-events:none}.cal-agenda{display:flex;flex-direction:column;gap:14px}.cal-agenda-date{margin:0 0 7px;font-family:var(--font-display);font-size:12.5px;font-weight:700;text-transform:capitalize;color:var(--bright)}.cal-agenda-day[data-today] .cal-agenda-date{color:var(--accent-bright)}.cal-agenda-list{display:flex;flex-direction:column;gap:5px}.cal-agenda-list .cal-chip{padding:8px 10px;font-size:12.5px}.notif-item{display:flex;gap:11px;width:100%;padding:12px 15px;border:0;border-bottom:1px solid rgba(157,127,255,.06);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .14s var(--ease)}.notif-item[data-unread]{background:rgba(124,92,255,.05)}.notif-item:hover{background:var(--hover)}.notif-item:focus-visible{outline:2px solid var(--accent-light);outline-offset:-2px}.notif-item[data-inert]{cursor:default}.notif-item[data-inert]:hover{background:transparent}.notif-item[data-inert][data-unread]:hover{background:rgba(124,92,255,.05)}@media (max-width:900px){.cal-month-cell{min-height:86px}.cal-week-allday,.cal-week-grid,.cal-week-head{grid-template-columns:40px repeat(7,minmax(0,1fr))}}@media (max-width:560px){.cal-toolbar{gap:8px}.cal-period-title{font-size:13.5px}.cal-week{overflow-x:auto}.cal-week-allday,.cal-week-grid,.cal-week-head{min-width:620px}}.abs-month-body,.abs-month-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.abs-month-headcell{padding:8px 6px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);text-align:center}.abs-month-cell,.abs-month-headcell{border-bottom:1px solid var(--border)}.abs-month-cell{min-height:92px;padding:5px 5px 7px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.abs-month-cell:nth-child(7n){border-right:0}.abs-month-cell[data-outside]{background:rgba(7,6,15,.32)}.abs-month-cell[data-outside] .abs-month-daynum{color:var(--faint)}.abs-month-cell[data-today]{background:var(--accent-subtle)}.abs-month-daynum{font-size:11.5px;font-weight:700;color:var(--bright)}.abs-month-cell[data-today] .abs-month-daynum span{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff}.abs-month-stack{display:flex;flex-direction:column;gap:3px;min-width:0}.abs-chip{display:flex;align-items:center;gap:4px;padding:2px 6px;border:1px solid var(--border);border-radius:6px;background:rgba(255,255,255,.03);color:var(--muted);font-size:10.5px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.abs-chip[data-mine]{background:var(--accent-subtle);color:var(--accent-bright)}.abs-form-dates{display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr}.abs-form-dates[data-mode=range]{grid-template-columns:1fr 1fr}.abs-form-dates[data-mode=hours]{grid-template-columns:1fr 1fr 1fr}.grade-check{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 9px;border:1px solid var(--border);border-radius:8px;background:transparent;font:inherit;font-size:11.5px;font-weight:600;transition:border-color .15s var(--ease),background .15s var(--ease)}.grade-check:hover:not(:disabled){border-color:var(--accent-border)}.onb-step-row{display:flex;align-items:center;gap:8px}.onb-step-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);grid-gap:8px;gap:8px;flex:1 1;min-width:0}@media (max-width:700px){.onb-step-fields{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.abs-form-dates[data-mode=hours],.abs-form-dates[data-mode=range]{grid-template-columns:1fr 1fr}.abs-month{overflow-x:auto}.abs-month-body,.abs-month-head{min-width:620px}}.profil-picker{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.profil-row{display:flex;align-items:center;gap:11px;width:100%;padding:9px 16px;border:0;background:transparent;color:var(--text);font:inherit;cursor:pointer;transition:background .13s var(--ease)}.profil-row:hover{background:var(--hover)}.chart-legend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.chart-legend-item{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;border:1px solid var(--border);border-radius:99px;background:var(--surface);color:var(--text);font:inherit;font-size:11.5px;font-weight:600;cursor:pointer;transition:opacity .13s var(--ease),background .13s var(--ease)}.chart-legend-item:hover{background:var(--hover)}.chart-legend-item[data-off]{opacity:.5;text-decoration:line-through}.chart-readout{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;min-height:34px;margin-top:10px;padding:7px 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2)}.chart-readout-item{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--muted)}.chart-readout-item strong{color:var(--text);font-size:12px}.rondes-jour{overflow-x:auto;padding-bottom:4px}.rondes-jour-grille{stroke:rgba(157,127,255,.14)}.rondes-jour-axe,.rondes-jour-zero-line{stroke:rgba(157,127,255,.34)}.rondes-jour-repere{stroke:var(--amber);stroke-dasharray:5 4;stroke-width:1.5;opacity:.75}.rondes-jour-barre{fill:url(#rondes-jour-fill);transition:filter .16s var(--ease)}.rondes-jour-barre[data-encours]{opacity:.62}.rondes-jour-vide{fill:var(--muted);opacity:.65}.rondes-jour-attente{stroke:var(--border);stroke-dasharray:3 5}.rondes-jour-bande:hover .rondes-jour-barre{filter:brightness(1.18)}.visibility-box{padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel-2)}.visibility-roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:4px 12px;gap:4px 12px}.visibility-role{display:flex;align-items:center;gap:7px;min-width:0;padding:3px 0;color:var(--muted);cursor:pointer}.visibility-role[data-on]{color:var(--text)}@media (max-width:560px){.visibility-roles{grid-template-columns:1fr}.profil-picker>.button,.profil-picker>label{width:100%}}.cand-diagnostic{margin-top:18px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:rgba(7,6,15,.6);color:var(--muted);font-family:var(--mono,ui-monospace,monospace);font-size:11.5px;line-height:1.7;text-align:left;white-space:pre-wrap;overflow-x:auto}.pal-card{padding:0;display:flex;flex-direction:column;max-height:calc(100dvh - 150px);overflow:hidden}.pal-body{overflow-y:auto;overscroll-behavior:contain}.pal-body::-webkit-scrollbar-thumb{background:rgba(157,127,255,.42)}.pal-body::-webkit-scrollbar-thumb:hover{background:rgba(157,127,255,.62)}@media (max-width:1100px){.pal-card{max-height:none}}.cand-fullscreen{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;background:var(--bg);animation:fadein .16s var(--ease)}.cand-topbar{position:relative;z-index:3;flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--panel)}.cand-topbar-title{font-size:15px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}.cand-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:clip}.cand-editbar{position:relative;z-index:3;flex:0 0 auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 16px;border-bottom:1px solid var(--accent-border);background:var(--accent-subtle);animation:fadein .16s var(--ease)}.cand-editbar-dot{width:8px;height:8px;border-radius:999px;background:var(--accent-bright);box-shadow:var(--glow);animation:cand-editbar-pulse 1.8s var(--ease) infinite}@keyframes cand-editbar-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.cand-editbar-dot{animation:none}}.cand-editbar-title{font-size:12.5px;font-weight:700}.cand-editbar-hint{font-size:11.5px;line-height:1.45;color:var(--muted)}.cand-editbar-key{font-size:11px;color:var(--faint)}.cand-footer{position:-webkit-sticky;position:sticky;bottom:0;z-index:2;background:var(--panel);border-top:1px solid var(--border)}.cand-stage{position:relative}.cand-canvas-outer{min-width:0;padding:8px}.cand-canvas-empty{display:grid;place-items:center;padding:24px 16px;text-align:center;color:var(--muted);font-size:12.5px;line-height:1.5;pointer-events:none}.cand-canvas{position:relative;z-index:0;display:grid;grid-auto-rows:var(--cand-row);align-items:stretch;grid-gap:0;gap:0}.cand-canvas.stacked{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}.cand-block{position:relative;min-width:0;min-height:0;padding:var(--cand-inset)}.cand-block.dragging{opacity:.45}.cand-drop-preview{z-index:20;display:flex;margin:var(--cand-inset);border-radius:var(--radius-lg);border:2px dashed var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);pointer-events:none}.cand-block-body{background:var(--bg);border-radius:var(--radius-lg)}.cand-block-body.fixed{height:100%;overflow-y:auto}.cand-block-tools{position:absolute;top:calc(var(--cand-inset) + 7px);right:calc(var(--cand-inset) + 8px);z-index:3;display:flex;gap:2px;opacity:.45;transition:opacity .16s var(--ease)}.cand-block:focus-within .cand-block-tools,.cand-block:hover .cand-block-tools{opacity:1}.cand-block-grip,.cand-block-hide{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--muted);font-size:12px;line-height:1;cursor:-webkit-grab;cursor:grab}.cand-block-grip{touch-action:none}.cand-block-hide{cursor:pointer}.cand-block-grip:hover,.cand-block-hide:hover{background:var(--hover);color:var(--text)}.cand-block-grip:active{cursor:-webkit-grabbing;cursor:grabbing}.cand-canvas.editing .cand-block .card-head{padding-right:62px}.cand-block-handle{position:absolute;z-index:2;touch-action:none;background:transparent;border-radius:2px;transition:background-color .16s var(--ease)}.cand-block.dragging .cand-block-handle,.cand-block:hover .cand-block-handle{background:color-mix(in srgb,var(--accent) 22%,transparent)}.cand-block-handle:hover{background:var(--accent)}.cand-block-handle.n,.cand-block-handle.s{left:16px;right:16px;height:var(--cand-inset);cursor:ns-resize}.cand-block-handle.e,.cand-block-handle.w{top:16px;bottom:16px;width:var(--cand-inset);cursor:ew-resize}.cand-block-handle.n{top:0}.cand-block-handle.s{bottom:0}.cand-block-handle.w{left:0}.cand-block-handle.e{right:0}.cand-block-handle.ne,.cand-block-handle.nw,.cand-block-handle.se,.cand-block-handle.sw{width:14px;height:14px}.cand-block-handle.nw{top:0;left:0;cursor:nwse-resize}.cand-block-handle.ne{top:0;right:0;cursor:nesw-resize}.cand-block-handle.sw{bottom:0;left:0;cursor:nesw-resize}.cand-block-handle.se{bottom:0;right:0;cursor:nwse-resize}.cand-reserve{position:-webkit-sticky;position:sticky;top:0;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--accent-border);background:var(--panel)}.cand-reserve-title{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.cand-reserve-empty{font-size:11px;line-height:1.5;color:var(--muted)}.cand-palette-item{padding:5px 10px;border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:999px;background:var(--surface-2);cursor:-webkit-grab;cursor:grab;min-width:0}.cand-palette-item:hover{background:var(--hover)}.cand-palette-item:active{cursor:-webkit-grabbing;cursor:grabbing}.cand-palette-name{font-size:12px;font-weight:650;white-space:nowrap}.cand-layout-row{display:flex;flex-direction:column;gap:4px;padding:6px;border-radius:8px}.cand-layout-row:hover{background:var(--hover)}.cand-layout-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;min-width:0}.cand-layout-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cand-layout-group{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border);border-radius:7px}.cand-layout-value{min-width:22px;text-align:center;font-size:10.5px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:560px){.cand-topbar-title{display:none}.cand-canvas-outer{padding:2px}}@media print{.app,.content,.shell,body,main{display:block!important;background:#fff!important;color:#000!important;height:auto!important;overflow:visible!important}.chart-legend,.header,.logs-profil-bar,.nav-button,.nav-group,.sidebar,.topbar,.user-chip,button,header{display:none!important}.logs-profil svg{max-width:100%!important}.logs-profil{max-width:none!important;padding:0!important}.logs-profil .card{border:1px solid #ddd!important;background:#fff!important;break-inside:avoid;page-break-inside:avoid}.logs-profil table{font-size:10pt}.logs-profil .faint,.logs-profil .muted{color:#444!important}@page{size:A4;margin:14mm}.logs-canvas-print .cand-canvas{display:block!important}.logs-canvas-print .cand-canvas-outer{padding:0!important}.logs-canvas-print .cand-block{height:auto!important;padding:0!important;margin-bottom:10px;break-inside:avoid;page-break-inside:avoid}.logs-canvas-print .cand-block-body,.logs-canvas-print .cand-block-body.fixed{height:auto!important;overflow:visible!important}}