.artworks-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin-bottom:16px;background:var(--primary-container);border:1px solid var(--border);border-radius:var(--radius-card);color:var(--primary);font-size:13.5px}.artworks-banner div{display:flex;flex-direction:column;gap:2px}.artworks-banner span{color:var(--text-secondary)}.artworks-banner.compact{margin-bottom:0}.artwork-cell{display:flex;align-items:center;gap:12px;min-width:240px}.artwork-thumb-sm{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-muted)}.artwork-thumb-sm img{width:100%;height:100%;object-fit:cover}.artwork-cell-text{display:flex;flex-direction:column;min-width:0}.artwork-cell-name{color:var(--primary);font-weight:600}.artwork-cell-meta{font-size:12px;color:var(--text-muted)}.artwork-clue-cell{max-width:320px;white-space:normal;line-height:1.4}.artwork-pills{display:flex;flex-wrap:wrap;gap:6px}.artwork-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:color-mix(in srgb,var(--primary-dark) 45%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.artwork-modal{width:100%;max-width:680px;max-height:92vh;display:flex;flex-direction:column;background:var(--bg-modal);border:1px solid var(--border);border-radius:var(--radius-card-large);box-shadow:var(--shadow-lg)}.artwork-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid var(--border)}.artwork-modal-header h3{margin:0;font-family:var(--font-brand);color:var(--primary)}.artwork-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;padding:20px 24px;overflow-y:auto}.artwork-form .span-2{grid-column:span 2}.artwork-form .overline{margin-top:8px}.artwork-field{display:flex;flex-direction:column;gap:6px}.artwork-field-label{font-size:12.5px;font-weight:500;color:var(--text-muted)}.artwork-field input,.artwork-field select,.artwork-field textarea{width:100%;padding:9px 12px;font:inherit;font-size:14px;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.artwork-field textarea{resize:vertical}.artwork-field input:focus,.artwork-field select:focus,.artwork-field textarea:focus{outline:none;border-color:var(--border-focus)}.artwork-field input:disabled{color:var(--text-muted)}.artwork-hint{font-size:12px;color:var(--text-muted)}.artwork-check{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text-secondary);cursor:pointer}.artwork-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.artwork-photo{display:flex;align-items:center;gap:16px}.artwork-photo-preview{width:120px;height:90px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-muted)}.artwork-photo-preview img{width:100%;height:100%;object-fit:cover}.artwork-photo-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.artwork-photo-actions label{cursor:pointer}.artwork-photo-actions label.disabled{opacity:.6;pointer-events:none}.artwork-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:8px}@media (max-width: 640px){.artworks-banner{flex-direction:column;align-items:stretch}.artwork-form{grid-template-columns:1fr;padding:16px}.artwork-form .span-2{grid-column:span 1}.artwork-photo{flex-direction:column;align-items:flex-start}}/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.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.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.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;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 ul,.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;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9: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 .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-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 pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{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-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:0px}.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:0px;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{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-feature-settings:"cv11","ss01";line-height:1.5;font-weight:400;color-scheme:light;color:#1a1a1a;background-color:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-brand: "Montserrat", "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--uji-blue: #1C3861;--primary: #1C3861;--primary-dark: #163056;--primary-light: #245084;--primary-hover: #245084;--primary-bright: #245084;--header-gradient-end: #2A4D7D;--primary-container: #E3E8F0;--primary-soft: rgba(28, 56, 97, .06);--secondary: #4DB6AC;--secondary-dark: #2F857B;--secondary-soft: #E0F2F1;--secondary-line: rgba(47, 133, 123, .35);--accent: #245084;--accent-strong: #1C3861;--accent-soft: rgba(36, 80, 132, .08);--accent-line: rgba(36, 80, 132, .35);--xp-gold: #FFD93D;--progress-amber: #FFC107;--accent-cyan: #00838F;--accent-amber: #B26A00;--accent-rose: #C2185B;--accent-violet: #6A3DE8;--info: #245084;--transport-accent: #27AE60;--notes-accent: #7C4DFF;--spaces-accent: #2E7D32;--academic-accent: #1C3861;--bg-main: #F5F7FA;--bg-surface: #F8F9FA;--bg-card: #FFFFFF;--bg-card-hover: #FAFBFD;--bg-card-active: #E3E8F0;--bg-elevated: #F3F5F9;--bg-input: #FFFFFF;--bg-modal: #FFFFFF;--bg-hover: rgba(28, 56, 97, .04);--bg-sidebar: #1C3861;--success: #43A047;--on-dark-success: #2E7D32;--success-soft: #E8F5E9;--error: #D32F2F;--on-dark-error: #C62828;--error-soft: #FDECEA;--warning: #F9A825;--on-dark-warning: #9A5B00;--warning-soft: #FFF6DD;--danger: #D32F2F;--text-primary: #1A1A1A;--text-secondary: #4A5568;--text-muted: #757575;--text-dim: #7E8796;--text-heading: #1C3861;--border: #E5EAF1;--border-strong: #D3DAE4;--border-soft: #EEF1F6;--border-light: #D3DAE4;--border-focus: #245084;--focus-ring: 0 0 0 3px rgba(36, 80, 132, .18);--highlight: none;--shadow-sm: 0 1px 2px rgba(28, 56, 97, .04), 0 4px 14px rgba(28, 56, 97, .05);--shadow-md: 0 2px 4px rgba(28, 56, 97, .05), 0 10px 24px rgba(28, 56, 97, .08);--shadow-lg: 0 24px 64px rgba(10, 20, 36, .22), 0 2px 8px rgba(10, 20, 36, .08);--shadow-glow: none;--radius-xs: 6px;--radius-sm: 8px;--radius-badge: 10px;--radius-md: 10px;--radius-chip: 12px;--radius-lg: 14px;--radius-card: 16px;--radius-card-large: 20px;--radius-container: 24px;--radius-full: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--control-sm: 30px;--control: 36px;--control-lg: 40px;--sidebar-width: 248px;--sidebar-collapsed-width: 64px;--header-height: 60px;--content-max: 1400px;--transition-fast: .14s ease;--transition-normal: .22s ease;--ease-out: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg-main);color:var(--text-primary);font-family:var(--font-ui);font-size:14px}@supports (height: 100dvh){html,body{height:100dvh}}#root{width:100%;height:100vh;display:flex;overflow:hidden}@supports (height: 100dvh){#root{height:100dvh}}::selection{background:#4db6ac4d}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{background:#cbd3de;border-radius:999px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#a9b4c3;border:3px solid transparent;background-clip:padding-box}h1,h2,h3,h4,h5,h6{font-family:var(--font-brand);font-weight:700;color:var(--text-primary);letter-spacing:-.2px;line-height:1.3}p,span,label,td,th,li{font-family:inherit}code,kbd,pre,.mono{font-family:var(--font-mono);font-size:.92em}.num{font-variant-numeric:tabular-nums}.overline{font-family:var(--font-brand);font-size:11.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-heading)}button{cursor:pointer;border:none;background:transparent;color:inherit;font-family:inherit;font-weight:500;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);outline:none}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:none;box-shadow:var(--focus-ring)}a{color:var(--primary-light)}input,select,textarea{background:var(--bg-input);border:1px solid var(--border-strong);color:var(--text-primary);padding:8px 12px;border-radius:var(--radius-sm);font-family:inherit;font-size:13.5px;font-weight:400;line-height:1.4;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:hover:not(:focus):not(:disabled),select:hover:not(:focus):not(:disabled),textarea:hover:not(:focus):not(:disabled){border-color:#b9c3d1}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--focus-ring)}input:disabled,select:disabled,textarea:disabled{background:var(--bg-surface);opacity:.7;cursor:not-allowed}input::placeholder,textarea::placeholder{color:var(--text-dim)}input[type=checkbox],input[type=radio]{padding:0;accent-color:var(--primary)}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}select:not([multiple]){-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231C3861' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;cursor:pointer}.view-content{width:100%;display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.view-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);min-width:0}.view-header .title-area h1{font-size:20px;color:var(--text-heading);display:flex;align-items:center;gap:8px}.view-header .title-area p{color:var(--text-muted);font-size:13.5px}.view-header .actions-area{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.admins-toolbar,.events-toolbar,.medals-toolbar,.qr-toolbar,.insights-toolbar,.view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;min-width:0}.toolbar-right,.toolbar-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.search-box,.search-box-compact{display:flex;align-items:center;gap:8px;height:var(--control);background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:0 12px;min-width:240px;max-width:400px;flex:1;color:var(--text-muted);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-box svg,.search-box-compact svg{width:15px;height:15px;flex-shrink:0}.search-box:hover,.search-box-compact:hover{border-color:#b9c3d1}.search-box:focus-within,.search-box-compact:focus-within{border-color:var(--border-focus);box-shadow:var(--focus-ring);color:var(--primary-light)}.search-box input,.search-box-compact input{background:transparent;border:none;padding:0;height:100%;color:var(--text-primary);width:100%;min-width:0;outline:none;box-shadow:none;font-size:13.5px}.search-box input:focus,.search-box-compact input:focus{box-shadow:none}.btn-primary,.btn-secondary,.btn-danger,.btn-ghost{height:var(--control);padding:0 14px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13.5px;font-weight:600;white-space:nowrap;border:1px solid transparent}.btn-primary svg,.btn-secondary svg,.btn-danger svg,.btn-ghost svg{width:16px;height:16px;flex-shrink:0}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 1px 2px #1c386133}.btn-primary:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-light)}.btn-primary:active:not(:disabled){background:var(--primary-dark)}.btn-secondary{background:var(--bg-card);color:var(--primary);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--primary-container);border-color:#c2cddb}.btn-danger{background:var(--bg-card);color:var(--on-dark-error);border-color:#d32f2f59}.btn-danger:hover:not(:disabled){background:var(--error-soft);border-color:#d32f2f8c}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){color:var(--primary);background:var(--bg-hover)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-ghost:disabled{opacity:.5;box-shadow:none}.icon-btn{width:var(--control-sm);height:var(--control-sm);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-muted);background:transparent;border:1px solid transparent;flex-shrink:0}.icon-btn svg{width:16px;height:16px}.icon-btn:hover{color:var(--primary);background:var(--primary-container)}.icon-btn.danger:hover{color:var(--on-dark-error);background:var(--error-soft)}.icon-btn.primary:hover{color:var(--primary)}.stat-grid{display:flex;flex-wrap:wrap;width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);overflow:hidden;container-type:inline-size}.stat-card{flex:1 1 180px;min-width:0;display:flex;align-items:center;gap:14px;padding:18px 20px;margin:-1px 0 0 -1px;border-left:1px solid var(--border);border-top:1px solid var(--border);background:transparent;position:relative}@container (max-width: 699px){.stat-card{flex-basis:40%}}.stat-icon-wrap{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--primary-container);color:var(--primary);border:none}.stat-icon-wrap svg{width:20px;height:20px}.stat-info{display:flex;flex-direction:column;gap:4px;min-width:0}.stat-label,.stat-info .stat-label{font-size:12.5px;color:var(--text-muted);font-weight:500;line-height:1.35;text-transform:none;letter-spacing:0}.stat-value,.stat-info .stat-value{font-family:var(--font-brand);font-size:24px;font-weight:700;color:var(--text-heading);line-height:1.1;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.tone-blue{background:var(--primary-container)!important;color:var(--primary)!important}.tone-green{background:#e7f6ec!important;color:#1e8449!important}.tone-purple{background:#f0ebff!important;color:#6a3de8!important}.tone-red{background:var(--error-soft)!important;color:var(--on-dark-error)!important}.tone-amber{background:var(--warning-soft)!important;color:var(--on-dark-warning)!important}.tone-teal{background:var(--secondary-soft)!important;color:var(--secondary-dark)!important}.table-container,.table-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);overflow-x:auto;width:100%;position:relative}.admin-table{width:100%;border-collapse:collapse;text-align:left}.admin-table th{height:40px;padding:0 16px;background:var(--bg-surface);border-bottom:1px solid var(--border);font-size:11.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.admin-table td{padding:10px 16px;height:52px;border-bottom:1px solid var(--border-soft);font-size:13.5px;color:var(--text-secondary);vertical-align:middle}.admin-table tbody tr{transition:background-color var(--transition-fast)}.admin-table tbody tr:hover{background:var(--bg-card-hover)}.admin-table tbody tr:last-child td{border-bottom:none}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-full);background:var(--bg-elevated);border:none;font-size:12px;font-weight:600;text-transform:none;letter-spacing:0;white-space:nowrap;color:var(--text-secondary)}.status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.status-pill.active,.status-pill.approved{background:var(--success-soft);color:var(--on-dark-success)}.status-pill.banned,.status-pill.rejected{background:var(--error-soft);color:var(--on-dark-error)}.status-pill.pending,.status-pill.warning{background:var(--warning-soft);color:var(--on-dark-warning)}.filter-pills,.tabs-strip{display:inline-flex;align-items:center;background:var(--primary-container);border:none;border-radius:var(--radius-md);padding:3px;gap:2px;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-pills::-webkit-scrollbar,.tabs-strip::-webkit-scrollbar{display:none}.filter-pills button,.tabs-strip button{display:inline-flex;align-items:center;gap:6px;height:var(--control-sm);padding:0 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--primary);opacity:.75;background:transparent;border:none;white-space:nowrap;box-shadow:none}.filter-pills button svg,.tabs-strip button svg{width:15px;height:15px}.filter-pills button:hover,.tabs-strip button:hover{opacity:1}.filter-pills button.active,.tabs-strip button.active{background:var(--bg-card);color:var(--primary);opacity:1;box-shadow:0 1px 3px #1c386124}.card-header{display:flex;align-items:flex-start;gap:12px}.card-header h3{font-size:16px;color:var(--text-heading)}.card-header p{font-size:13px;color:var(--text-muted);margin-top:2px;line-height:1.5}.card-header>svg{color:var(--primary)!important;width:18px;height:18px;margin-top:2px;flex-shrink:0}.view-content :is(h2,h3,h4)>svg,.view-content [class*=card-header]>svg,.view-content [class*=section-header]>svg{color:var(--primary)!important}.view-content h2,.view-content h3{color:var(--text-heading)}.info-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-md);background:var(--primary-container);border:none;color:var(--primary);font-size:13px;line-height:1.55}.info-banner strong{font-weight:700}.info-banner .banner-icon{color:var(--primary)!important;flex-shrink:0;margin-top:2px;width:16px;height:16px}.error-box{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-md);background:var(--error-soft);border:none;color:var(--on-dark-error);font-size:13px;line-height:1.5}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0a142473;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;animation:modal-fade-in .15s ease-out}.modal-card{background:var(--bg-modal);border:none;border-radius:var(--radius-card-large);width:100%;max-width:560px;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-lg);position:relative;animation:modal-pop .2s var(--ease-out)}.modal-header{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-header h3{font-size:16px;color:var(--text-heading)}.modal-body{padding:22px;display:flex;flex-direction:column;gap:16px}.modal-footer{padding:14px 22px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:8px;background:var(--bg-surface)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes view-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 24px;text-align:center;color:var(--text-muted);gap:6px;background:var(--bg-card);border:1px dashed var(--border-strong);border-radius:var(--radius-card)}.empty-state svg{color:var(--primary)!important;opacity:.5;width:30px;height:30px;margin-bottom:8px}.empty-state h3{font-size:15px;color:var(--text-heading)}.empty-state p{font-size:13.5px;max-width:420px;line-height:1.55}.loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:72px 20px;color:var(--text-muted);gap:12px;font-size:13.5px}.spinner{animation:spin .9s linear infinite;display:inline-block}span.spinner:empty{width:20px;height:20px;border-radius:50%;border:2.5px solid var(--primary-container);border-top-color:var(--primary)}.empty-ok-icon{color:var(--on-dark-success)!important}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mono-tag{font-family:var(--font-mono);font-size:11.5px;background:var(--bg-elevated);border:1px solid var(--border);padding:1px 6px;border-radius:var(--radius-xs);color:var(--text-secondary)}.auth-loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg-main);overflow:hidden;z-index:99999}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 640px){.view-content{gap:14px}.search-box,.search-box-compact{min-width:0;max-width:none;width:100%;flex-basis:100%}.stat-card{padding:14px;gap:10px}.stat-icon-wrap{width:34px;height:34px}.stat-value,.stat-info .stat-value{font-size:20px}.modal-overlay{padding:0;align-items:flex-end}.modal-card{max-height:92dvh;border-radius:var(--radius-card-large) var(--radius-card-large) 0 0}.modal-header,.modal-body,.modal-footer{padding-left:16px;padding-right:16px}.modal-footer{flex-wrap:wrap}.modal-footer .btn-primary,.modal-footer .btn-secondary,.modal-footer .btn-danger{flex:1;min-width:120px;height:var(--control-lg)}.admin-table th,.admin-table td{padding-left:12px;padding-right:12px}}
