:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.55;font-weight:400;color:var(--text);background:var(--background);font-synthesis:none;-webkit-font-smoothing:antialiased;--background: #151515;--surface: #202020;--surface-raised: #292929;--surface-hover: #323232;--border: #383838;--border-strong: #64605c;--text: #f0ede9;--text-muted: #b4aea7;--accent: #f2a15e;--accent-solid: #ef963f;--accent-hover: #ffac59;--on-accent: #25170c;--accent-soft: #39291e;--accent-border: #785333;--sidebar: #191919;--scrollbar-track: var(--sidebar);--scrollbar-thumb: var(--border-strong);--sidebar-width: 208px;--header-height: 64px;--page-gutter: 16px;--danger: #e3a09a;--success: #a2bea8;--warning: #d6bc88;--radius: 8px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px}*,*:before,*:after{box-sizing:border-box}body{min-width:320px;margin:0}#app{min-height:100vh;min-height:100dvh;isolation:isolate}::selection{color:var(--on-accent);background:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-4);color:var(--text);font-weight:600;line-height:1.25;overflow-wrap:anywhere}h1{font-size:clamp(1.5rem,2.5vw,2rem);letter-spacing:-.025em}h2{font-size:1.35rem;letter-spacing:-.015em}h3{font-size:1.1rem}h4,h5,h6{font-size:1rem}p{margin:0 0 var(--space-4)}small{font-size:.85em}strong,b{font-weight:600}a{color:var(--accent);text-underline-offset:3px}a:hover{color:#ffc18a}hr{margin:var(--space-5) 0;border:0;border-top:1px solid var(--border)}img,video{max-width:100%;height:auto}pre,code,kbd{font-family:ui-monospace,Cascadia Code,Consolas,monospace}pre{max-width:100%;overflow:auto}button,input,select,textarea{font:inherit;color:inherit}button,input[type=button],input[type=submit],input[type=reset]{min-height:40px;padding:8px 14px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text);font-weight:500;line-height:1.35;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}button:hover:not(:disabled),input[type=button]:hover:not(:disabled),input[type=submit]:hover:not(:disabled),input[type=reset]:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-muted)}button[type=submit],input[type=submit]{background:var(--accent-solid);border-color:var(--accent-solid);color:var(--on-accent)}button[type=submit]:hover:not(:disabled),input[type=submit]:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent)}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=button]):not([type=submit]):not([type=reset]):not([type=hidden]):not([type=image]),select,textarea{min-height:40px;max-width:100%;padding:8px 11px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--background);box-shadow:none}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}textarea{min-height:112px;resize:vertical}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent)}input[type=checkbox],input[type=radio]{width:16px;height:16px;vertical-align:middle}label{font-weight:500}fieldset{min-width:0;margin:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius)}legend{padding:0 var(--space-2);font-weight:600}table{width:100%;border-collapse:collapse;text-align:left;font-size:.925rem;font-variant-numeric:tabular-nums}th,td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}th{background:var(--surface);color:var(--text-muted);font-size:.85rem;font-weight:600}tbody tr:hover{background:var(--surface-raised)}caption{padding:var(--space-3) 0;color:var(--text-muted);text-align:left}.error,[role=alert]{color:var(--danger)}@media(prefers-reduced-motion:reduce){button,input{transition:none}}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}@supports selector(::-webkit-scrollbar){*{scrollbar-width:auto;scrollbar-color:auto}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{min-height:32px;border:2px solid var(--scrollbar-track);border-radius:999px;background:var(--scrollbar-thumb)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}::-webkit-scrollbar-thumb:active{background:var(--accent-solid)}}@media(forced-colors:active){*{scrollbar-color:auto}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:Canvas}::-webkit-scrollbar-thumb{background:ButtonText;border-color:Canvas}::-webkit-scrollbar-thumb:hover,::-webkit-scrollbar-thumb:active{background:Highlight}}.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media(pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}:root{--panel-radius: 12px;--danger-surface: #352422;--success-surface: #233029}:where(.accounts-page,.roles-page,.alerts-page,.criminal-record-page,.listPlaintes-page,.listInfractions-page,.listArrestations-page,.citizen-page,.mdt-page,.profil-page,.roster-page,.dispatch-page){min-width:0}:where(#headerCitizen,#headerCasiers,#headerListPlaintes,#headerListInfractions,#headerListArrestations,#headerAlerts,#headerRoles,.profil-header,.mdt-header,.roster-header,.dispatch-header,.mail-header){display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px}:where(#headerCitizen,#headerCasiers,#headerListPlaintes,#headerListInfractions,#headerListArrestations,#headerAlerts,#headerRoles,.profil-header,.mdt-header,.roster-header,.dispatch-header,.mail-header) h2{margin:0}:where(.mdt-header,.roster-header,.dispatch-header) p{margin:0 0 6px;color:var(--text-muted);font-size:.85rem}:where(.header-actions,.header-meta,.mdt-header-actions,.modal-actions,.actionsCasier,.actionsListPlainte,.actionsListInfractions,.actionsListArrest,.buttons,.confirm-inline,.password-row,.search-row,.role-actions,.matricule-actions){display:flex;align-items:center;flex-wrap:wrap;gap:8px}:where(.card,.mdt-panel,.citizen-page .section,.session-info,.available-panel,.team){min-width:0;padding:20px;border:1px solid var(--border);border-radius:var(--panel-radius);background:var(--background)}:where(.accounts-page,.roles-page)>.card{margin-bottom:20px}:where(.toolbar,.tools,.searchbar,.search-bar:not(input)){display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px}:where(.toolbar,.tools){padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--background)}:where(.toolbar,.tools,.searchbar,.search-row,.password-row)>input{flex:1 1 240px;min-width:0}:where(.toolbar,.dispatch-page,.roster-page) .actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.toolbar .actions{margin-left:auto}.toolbar .actions>span{font-size:.78rem;color:var(--text-muted)}:where(input.search,input.search-bar,.search-bar>input){width:min(100%,420px)}input.search-bar{margin-bottom:20px}:where(.muted,.count,.hint,.meta,.sub,.preview,.sub-muted){color:var(--text-muted);font-size:.85rem}:where(.empty:not(.tag),.no-data,.empty-row){padding:28px 16px;text-align:center;color:var(--text-muted)}:where(.error,.success,.notice,.msg,.message){margin:12px 0;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);overflow-wrap:anywhere}.error{background:var(--danger-surface);color:var(--danger)}.success{background:var(--success-surface);color:var(--success)}.notice{background:var(--surface-raised)}button:is(.primary,.save,.send,.new-mail,.add,.confirm),#headerCasiers>button,#headerListPlaintes .header-actions>button{background:var(--accent-solid);color:var(--on-accent);border-color:var(--accent-solid);font-weight:600}button:is(.primary,.save,.send,.new-mail,.add,.confirm):hover:not(:disabled),#headerCasiers>button:hover,#headerListPlaintes .header-actions>button:hover{background:var(--accent-hover);color:var(--on-accent);border-color:var(--accent-hover)}button:is(.danger,.delete,.del){color:var(--danger);background:transparent;border-color:#66433e}button:is(.danger,.delete,.del):hover:not(:disabled){color:#ffbfb6;background:var(--danger-surface);border-color:var(--danger)}button.ghost{background:transparent}button:is(.close,.arrow-btn){display:inline-flex;align-items:center;justify-content:center}.table-scroll{max-width:100%;overflow-x:auto;margin-block:12px;border:1px solid var(--border);border-radius:10px}.table-scroll table{min-width:580px}.table-scroll th{background:var(--surface-raised);white-space:nowrap;padding-block:12px}.table-scroll td{padding-block:13px}.table-scroll tr:last-child td{border-bottom:0}.table-scroll td button{min-height:32px;padding:5px 10px;font-size:.82rem}.table-scroll td small{display:block;color:var(--text-muted)}.table-scroll td[colspan]{text-align:center;padding:32px 16px;color:var(--text-muted)}.sortable{cursor:pointer}.sortable:hover{color:var(--accent)}:where(.tag,.role-tag,.badge,.type,.chip,.status,.taken){display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--border-strong);border-radius:6px;font-size:.75rem;line-height:1.3;background:var(--surface-raised);color:var(--text)}:where(.tag,.role-tag,.badge.agent){margin:2px}:where(.tag,.role-tag,.selected-infractions .badge) button{min-height:22px;padding:0 5px;border:0;background:transparent}:where(.status.online,.taken.yes,.badge.clean){color:var(--success);border-color:#45634f;background:var(--success-surface)}:where(.taken.no,.badge.crime,.badge.stolen,.badge.danger){color:var(--danger);border-color:#66433e;background:var(--danger-surface)}:where(.type.dispatch,.badge.warning,.badge.délit){color:var(--warning);border-color:var(--accent-border);background:var(--accent-soft)}code,.mono{font-family:ui-monospace,Consolas,monospace;font-size:.9em;overflow-wrap:anywhere}form label,.modal>label,.composer label{display:grid;gap:7px;margin-bottom:14px;color:var(--text-muted);font-size:.875rem}form label :is(input,select,textarea),.composer label :is(input,select,textarea),.modal>:is(input,select,textarea){width:100%;color:var(--text)}input[readonly],textarea[readonly]{color:var(--text-muted);background:var(--surface)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.form-grid>input{width:100%;min-width:0}.sort{display:inline-flex;align-items:center;gap:8px;font-size:.85rem}.overlay,.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:max(24px,5vh) 16px;background:#000000b8;overscroll-behavior:contain}.overlay .overlay{z-index:110}.modal-backdrop{z-index:120}:where(.overlay,.modal-backdrop)>:where(.modal,.composer,.casier-page,.casier-detail,.plainte-modal,#modal-content,#AddInfractionModal){width:min(100%,840px);min-width:0;margin-block:auto;padding:28px;border:1px solid var(--border-strong);border-radius:14px;background:var(--surface);box-shadow:0 20px 70px #00000059}.modal-backdrop>.modal{max-width:500px}.overlay>.modal{max-width:560px}.modal>label{margin-top:14px}.modal>button.close{float:right}.modal>button:last-of-type{margin-top:16px}:where(.modal,.casier-page,.casier-detail,.plainte-modal,#modal-content) .actions,.modal-actions,#modal-content .buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}:where(.modal,.casier-page,.plainte-modal) h2{margin-bottom:24px}.login-container{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px}#login-form{width:min(100%,400px);display:grid;gap:16px;padding:32px;border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:16px;background:var(--surface)}#login-form h2{margin-bottom:8px}#login-form input{width:100%;min-width:0}.profil-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:calc(100dvh - 220px);padding:16px 0 32px}.profile-card{display:grid;place-items:center;width:100%;padding:0}.profile-avatar{width:min(320px,100%)}.logo-mark{max-width:100%;margin:auto}.logo-mark .plate{padding:0}.logo-mark img{display:block;width:100%}.logo-mark :is(.orbit,.shine),.snow{display:none}.session-info>p{display:flex;flex-wrap:wrap;gap:12px;padding:14px 0;margin:0;border-bottom:1px solid var(--border)}.session-info>p strong{color:var(--text-muted);min-width:100px;font-weight:400}.session-info .info{color:var(--text-muted);margin-top:16px;font-size:.875rem}.password-setup{margin-top:24px}.password-setup h3{font-size:1rem}.card ul{list-style:none;padding:0;margin:0}.card li{padding:12px 0;border-bottom:1px solid var(--border)}.citizen-page>.profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.citizen-page .identity{display:flex;flex-wrap:wrap;align-items:center;gap:20px;grid-column:1 / -1}.identity img,.casier-detail .photo{width:100px;height:120px;object-fit:cover;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-raised)}.identity p{margin:6px 0;overflow-wrap:anywhere}.infos-grid,.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.infos-grid p{margin:0;padding:12px;background:var(--surface);border-radius:8px;overflow-wrap:anywhere}.infos-grid strong{display:block;margin-bottom:6px;color:var(--text-muted);font-size:.8rem;font-weight:400}.citizen-page .layout{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.8fr);gap:16px;align-items:start}.results{display:grid;gap:8px}.result{width:100%;padding:14px;text-align:left;border-color:var(--border)}.result .name{margin-bottom:8px}.result .meta{display:flex;gap:6px;flex-wrap:wrap}.result .id{width:100%;overflow-wrap:anywhere;font-size:.75rem}.subsection{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.search-panel{margin-bottom:16px}.mdt-page>.content{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.5fr);gap:16px;align-items:start}.panel-title{margin-bottom:16px;font-weight:600}.mdt-panel .grid{display:grid;gap:10px}.result-card{width:100%;text-align:left;padding:16px;border-color:var(--border)}.result-card.active{border-color:var(--accent-border);background:var(--accent-soft)}.result-card .row,.detail-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.plate{font-weight:600;letter-spacing:.05em}.plate.big{font-size:1.4rem}.result-card .sub,.result-card .meta{margin-top:8px}.detail-top{margin-bottom:24px}.kv{padding:12px;border-bottom:1px solid var(--border);min-width:0}.k{color:var(--text-muted);font-size:.8rem;margin-bottom:6px}.v{overflow-wrap:anywhere}.detail-card .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.notes{margin-top:16px;padding:16px;background:var(--surface);border-radius:8px}.casier-detail>.header{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-bottom:24px}.casier-detail .info p{margin-bottom:8px}.photo-wrap{position:relative;flex-shrink:0}.cam-btn{position:absolute;bottom:6px;right:6px;min-height:32px;padding:6px}.cam-btn svg{fill:currentColor}#modal-content .description{padding:16px;background:var(--background);border-radius:8px;overflow-wrap:anywhere}#modal-content textarea{width:100%}#AddInfractionModal .form-grid{grid-template-columns:minmax(0,1.6fr) minmax(180px,.8fr);align-items:start}#AddInfractionModal .form-main>:is(label,input){display:block;width:100%;margin-block:10px}.selected-infractions{display:flex;flex-wrap:wrap;gap:6px;margin-block:12px}.selected-infractions .badge{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.suggestions{margin:0;padding:0;list-style:none;max-height:420px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.suggestions li{padding:12px;border-bottom:1px solid var(--border);cursor:pointer;font-size:.875rem}.suggestions li:hover{background:var(--accent-soft);color:var(--accent)}.peine-totale,.pronouncepeine{padding:16px;margin-block:20px;background:var(--background);border:1px solid var(--border);border-radius:10px}.peine-details{margin-top:16px;color:var(--text-muted);font-size:.85rem}.pronouncepeine label,.pronouncepeine input{display:block;width:100%;margin-block:8px}.description-cell{min-width:220px;max-width:440px}.description-cell:not(.expanded)>div{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.description-cell .toggle-btn{margin-top:8px;border:0;padding-inline:0;background:transparent;color:var(--accent)}.mailbox,.mail-layout,.mail-page{min-width:0}.mail-header{margin-bottom:16px}.mail-header h2{font-size:1.2rem}.mail-list-container .table-scroll{margin:0}.mail-list-container tr{cursor:pointer}.mail-list-container tr.unread{font-weight:600;background:#27231f}.mail-list-container tr.selected{background:var(--accent-soft)}.from-line,.subject-line{display:flex;align-items:center;gap:8px}.unread-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--accent)}.preview{margin-top:4px;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:16px;color:var(--text-muted);font-size:.85rem}.reader-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--border)}.reader-header .meta{display:grid;gap:6px}.reader-body{padding-top:24px;line-height:1.75;overflow-wrap:anywhere}.reader-body img{max-width:100%}.composer>.header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--border)}.composer h3{margin:0}.composer>.body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.composer label.content{grid-column:1 / -1}.composer .footer{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;border-top:1px solid var(--border)}.stats{display:flex;flex-wrap:wrap;gap:8px}.stats>span{padding:10px 14px;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:.8rem;background:var(--background)}.stats strong{color:var(--text);font-size:1.15rem;margin-right:5px}.grade-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:20px}.grade-strip article{position:relative;padding:16px 40px 16px 14px;border:1px solid var(--border);border-radius:10px;background:var(--background)}.grade-strip strong,.grade-strip span{display:block;font-size:.85rem}.grade-strip span{color:var(--text-muted);margin-top:4px;font-size:.75rem}.grade-strip em{position:absolute;right:14px;top:16px;color:var(--accent);font-style:normal;font-weight:600}.role-tags{display:flex;flex-wrap:wrap;gap:4px;min-width:120px}.matricule-actions{flex-wrap:nowrap}.matricule-actions input{width:72px}.role-actions select{max-width:180px}.dispatch-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start}.teams-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}.panel-head,.team-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.panel-head h3,.team-head h3{margin:0;font-size:1rem}.team-head small{display:block;margin-top:6px;color:var(--text-muted)}.panel-head>span,.team-head>span{color:var(--accent);font-variant-numeric:tabular-nums}.unit-list,.team-members{display:grid;gap:8px;min-height:60px}.unit,.member{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;font-size:.85rem}.member button{min-height:28px;padding:4px 6px;font-size:.72rem}.unit:hover,.member:hover{border-color:var(--accent-border)}.drag-origin{opacity:.3}.drag-ghost{background:var(--surface-raised);border:1px solid var(--accent);border-radius:8px;padding:12px;color:var(--text);box-shadow:0 12px 24px #00000059}.drop-glow{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}.loading-container{display:grid;justify-items:center;align-content:center;gap:12px;min-height:220px;padding:24px}.loading-container.fullscreen{position:fixed;inset:0;z-index:150;background:var(--background)}.loading-text{font-size:1rem;margin:0}.loading-container .sub{margin:0}.spinner-wrapper{width:32px;height:32px}.spinner-wrapper .ring,.spinner{display:block;width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:ui-spin .8s linear infinite}.spinner{width:18px;height:18px}@keyframes ui-spin{to{transform:rotate(360deg)}}.ql-toolbar.ql-snow,.ql-container.ql-snow{border-color:var(--border-strong);font-family:inherit}.ql-toolbar.ql-snow{background:var(--surface-raised);border-radius:8px 8px 0 0}.ql-container.ql-snow{background:var(--background);border-radius:0 0 8px 8px;font-size:.95rem}.ql-editor{min-height:160px;color:var(--text)}.ql-snow .ql-stroke{stroke:var(--text-muted)}.ql-snow .ql-fill{fill:var(--text-muted)}.ql-snow .ql-picker{color:var(--text)}.ql-snow .ql-picker-options,.ql-snow .ql-tooltip{background:var(--surface-raised);color:var(--text);border-color:var(--border-strong);box-shadow:none}.ql-snow .ql-tooltip input[type=text]{background:var(--background);color:var(--text)}.ql-editor.ql-blank:before{color:var(--text-muted)}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke{stroke:var(--accent)}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill{fill:var(--accent)}.ql-snow a{color:var(--accent)}@media(max-width:1100px){.dispatch-grid{grid-template-columns:200px minmax(0,1fr)}.citizen-page .layout,.mdt-page>.content{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.form-grid,.profil-content,.citizen-page>.profile,.infos-grid,.detail-grid,.composer>.body,.dispatch-grid,#AddInfractionModal .form-grid{grid-template-columns:minmax(0,1fr)}.profile-card{padding:0}.profile-avatar{width:min(240px,100%)}.profil-content{min-height:auto;padding-top:8px}:where(.overlay,.modal-backdrop){padding:12px 8px}:where(.overlay,.modal-backdrop)>:where(.modal,.composer,.casier-page,.casier-detail,.plainte-modal,#modal-content,#AddInfractionModal){padding:20px 16px}:where(.header-actions,.mdt-header-actions,.searchbar){width:100%}:where(.header-actions,.searchbar)>input{width:100%;min-width:0}#login-form{padding:24px}}@media(prefers-reduced-motion:reduce){.spinner-wrapper .ring,.spinner{animation:none}}.mailbox{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.mailbox>.sidebar{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--border)}.mailbox .sidebar-item{background:transparent;border-color:transparent;color:var(--text-muted)}.mailbox .sidebar-item.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.mailbox>.mail-list,.mailbox>.mail-reader{min-width:0}.mailbox>.mail-reader{padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--background)}.mailbox:not(.has-selection)>.mail-reader{padding:0;border:0;background:transparent}.mail-reader.empty{padding:24px}.badge.braquage,.badge.tirs{color:var(--warning);border-color:var(--accent-border);background:var(--accent-soft)}.badge.alerte-panique{color:var(--danger);border-color:#66433e;background:var(--danger-surface)}@media(min-width:1400px){.mailbox.has-selection{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.mailbox>.sidebar{grid-column:1 / -1}}.profil-content .session-section{width:min(100%,680px)}.profil-content .session-info{padding:28px 32px}.profil-content .session-info h2{text-align:center;font-size:clamp(1.4rem,2.4vw,1.9rem);margin-bottom:24px}.profil-content .session-info>p:not(.info){justify-content:space-between}.profil-content .session-info .info{text-align:center;justify-content:center;line-height:1.7;border:0}.profil-content>.loading-container{width:100%;text-align:center}@media(max-width:640px){.profil-content .session-info{padding:20px}.profil-header .header-actions{width:auto}}svg.svelte-1mz4okg{flex:0 0 auto;vertical-align:middle}.sidebar.svelte-181dlmc{position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--sidebar);border-right:1px solid var(--border)}nav.svelte-181dlmc{padding:0 10px 16px 0}nav.svelte-181dlmc>button:where(.svelte-181dlmc){width:100%;display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:38px;margin:2px 0;padding:8px 14px 8px 24px;border:1px solid transparent;border-radius:0 18px 18px 0;background:transparent;color:var(--text-muted);font-size:.9rem;font-weight:400;text-align:left}nav.svelte-181dlmc>button:where(.svelte-181dlmc):hover{border-color:transparent;background:var(--surface-raised);color:var(--text)}nav.svelte-181dlmc>button.selected:where(.svelte-181dlmc){background:var(--accent-solid);color:var(--on-accent);border-color:transparent;box-shadow:none;font-weight:500}nav.svelte-181dlmc>.logo:where(.svelte-181dlmc){justify-content:center;height:156px;margin:0 0 12px;padding:4px 12px;border:0;border-radius:0;border-bottom:1px solid var(--border);background:transparent}nav.svelte-181dlmc>.logo:where(.svelte-181dlmc):hover{background:var(--surface-raised)}.logo.svelte-181dlmc img:where(.svelte-181dlmc){display:block;width:148px;max-width:100%;height:148px;object-fit:contain}.section-title.svelte-181dlmc{display:flex;align-items:center;gap:8px;min-height:34px;margin-top:12px;padding:6px 14px 6px 18px;color:var(--text-muted);font-size:.83rem;font-weight:600;letter-spacing:0;cursor:pointer;-webkit-user-select:none;user-select:none}.section-title.svelte-181dlmc:hover{color:var(--text)}.arrow.svelte-181dlmc{width:10px;font-size:.55rem;opacity:.6}.nav-label.svelte-181dlmc{flex:1;min-width:0}.badge.svelte-181dlmc{min-width:22px;padding:1px 6px;border:1px solid var(--accent-border);border-radius:4px;background:var(--accent-soft);color:var(--accent);font-size:.75rem;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}nav.svelte-181dlmc>button.selected:where(.svelte-181dlmc) .badge:where(.svelte-181dlmc){background:var(--on-accent);border-color:var(--on-accent);color:var(--accent)}.mobile-menu-button.svelte-181dlmc,.sidebar-overlay.svelte-181dlmc{display:none}@media(max-width:800px){.sidebar.svelte-181dlmc{position:fixed;inset:0 auto 0 0;height:100dvh;border-radius:0 20px 20px 0;z-index:40;width:min(280px,calc(100vw - 64px));visibility:hidden;transform:translate(-100%);transition:transform .16s ease,visibility .16s}.sidebar.mobile-open.svelte-181dlmc{visibility:visible;transform:translate(0)}nav.svelte-181dlmc{padding-top:64px}.mobile-menu-button.svelte-181dlmc{position:fixed;top:12px;left:12px;z-index:41;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:40px;height:40px;padding:10px;background:var(--surface);border-color:var(--border-strong)}.mobile-menu-button.svelte-181dlmc span:where(.svelte-181dlmc){display:block;width:18px;height:2px;background:var(--text);transition:transform .16s ease,opacity .16s ease}.mobile-menu-button.opened.svelte-181dlmc span:where(.svelte-181dlmc):nth-child(1){transform:translateY(6px) rotate(45deg)}.mobile-menu-button.opened.svelte-181dlmc span:where(.svelte-181dlmc):nth-child(2){opacity:0}.mobile-menu-button.opened.svelte-181dlmc span:where(.svelte-181dlmc):nth-child(3){transform:translateY(-6px) rotate(-45deg)}.sidebar-overlay.svelte-181dlmc,.sidebar-overlay.svelte-181dlmc:hover{position:fixed;inset:0;z-index:39;display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;background:#0000008c;cursor:default}}@media(prefers-reduced-motion:reduce){.sidebar.svelte-181dlmc,.mobile-menu-button.svelte-181dlmc span:where(.svelte-181dlmc){transition:none}}.header.svelte-oiwvqb{min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 4px;background:transparent}h1.svelte-oiwvqb{margin:0;font-size:clamp(1rem,1.3vw,1.2rem);font-weight:600;letter-spacing:-.025em;line-height:1.5}.actions.svelte-oiwvqb{display:flex;flex-shrink:0;gap:8px}.actions.svelte-oiwvqb button:where(.svelte-oiwvqb){background:var(--surface);border-color:var(--border);border-radius:var(--radius);padding-inline:16px;color:var(--text-muted);font-size:.85rem;white-space:nowrap}.actions.svelte-oiwvqb button:where(.svelte-oiwvqb):hover{background:var(--surface-raised);border-color:var(--border-strong);color:var(--text)}.actions.svelte-oiwvqb .disconnect:where(.svelte-oiwvqb):hover{color:var(--danger)}@media(max-width:800px){.header.svelte-oiwvqb{min-height:var(--header-height);padding:12px 4px 12px 56px;gap:12px}h1.svelte-oiwvqb{font-size:.9rem}}@media(max-width:480px){.header.svelte-oiwvqb{align-items:flex-start;flex-direction:column;gap:8px}.actions.svelte-oiwvqb button:where(.svelte-oiwvqb){min-height:36px;padding:6px 10px}}.app.svelte-1n46o8q{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;min-height:100dvh;background:var(--background)}.main.svelte-1n46o8q{display:flex;flex-direction:column;min-width:0;padding:0 var(--page-gutter) var(--page-gutter)}.content.svelte-1n46o8q{flex:1;min-width:0;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px}@media(max-width:1100px){.app.svelte-1n46o8q{--sidebar-width: 192px;--page-gutter: 12px}.content.svelte-1n46o8q{padding:16px}}@media(max-width:800px){.app.svelte-1n46o8q{grid-template-columns:minmax(0,1fr);--page-gutter: 8px}.content.svelte-1n46o8q{padding:16px 12px;border-radius:10px}}
