@font-face{font-family:PT Sans;src:url(../fonts/PT_Sans/PTSans-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:PT Sans;src:url(../fonts/PT_Sans/PTSans-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:PT Sans;src:url(../fonts/PT_Sans/PTSans-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:PT Sans;src:url(../fonts/PT_Sans/PTSans-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}.icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;fill:currentColor;flex-shrink:0}:root{--color-primary: #1a6dc4;--color-primary-dark: #155aa8;--color-primary-light: #2681db;--color-primary-text: #ffffff;--color-secondary: #5a7a99;--color-secondary-dark: #4a6880;--color-secondary-light: #6a8aaa;--color-secondary-text: #ffffff;--color-error: #cf0422;--color-error-dark: #a8031b;--color-error-light: #e0152e;--color-error-text: #ffffff;--color-alert: #fece00;--color-alert-dark: #deb300;--color-alert-light: #ffd344;--color-alert-text: #555555;--color-passive: #d8d8d8;--color-passive-dark: #bdbdbd;--color-passive-light: #eeeeee;--color-passive-text: #555555;--font-sans: "PT Sans", system-ui, sans-serif;--font-regular: 400;--font-bold: 700;--text-xs: 11px;--text-sm: 13px;--text-base: 16px;--text-md: 17px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--text-3xl: 38px;--text-2xs: 10px;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.5;--leading-relaxed: 1.65;--leading-icon: 1;--leading-compact: 1.3;--icon-size: 20px;--icon-size-sm: 17px;--icon-size-md: 18px;--icon-size-lg: 24px;--text-primary: #222;--text-body: #333;--text-secondary: #5c5c5c;--text-muted: #999;--text-faint: #aaa;--border-color: #c8c8c8;--border-color-focus: #888;--border-color-readonly: #d8d8d8;--bg-card: #ffffff;--bg-label: #efefef;--bg-input: linear-gradient(to bottom, #ffffff, #f5f5f5);--bg-readonly: linear-gradient( to bottom, #fafafa, #f3f3f3 );--bg-page: #efefef;--overlay-bg: rgba(0, 0, 0, .45);--overlay-bg-dim: rgba(0, 0, 0, .35);--bg-hover: #f3f3f3;--bg-subtle: #f5f5f5;--border-color-light: #e8e8e8;--color-initials-bg: #d0e4f5}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg-page);color:var(--text-body)}.input-field{position:relative;margin-top:24px}.input-field input{width:100%;padding:13px 15px;font-family:var(--font-sans);font-size:var(--text-md);color:var(--text-primary);background:var(--bg-input);border:1.5px solid var(--border-color);border-radius:10px;outline:none;transition:border-color .2s}.input-field input::placeholder{color:var(--text-secondary);font-weight:var(--font-regular)}.input-field label{position:absolute;top:0;left:12px;transform:translateY(calc(-50% - 2px));padding:2px 6px;font-size:var(--text-sm);line-height:var(--leading-snug);font-weight:var(--font-bold);letter-spacing:.02em;color:var(--text-secondary);background:var(--bg-label);border:1.5px solid var(--border-color);border-radius:5px;pointer-events:none;white-space:nowrap;transition:color .2s,border-color .2s}.input-field input:focus{border-color:var(--border-color-focus)}.input-field input:focus+label{color:var(--text-primary);border-color:var(--border-color-focus)}.input-field--readonly input{background:var(--bg-readonly);border-color:var(--border-color-readonly);border-style:dashed;cursor:not-allowed}.input-field--readonly input:focus{border-color:var(--border-color-readonly)}.input-field--readonly label{border-color:var(--border-color-readonly);border-style:dashed}.input-field--readonly input:focus+label{border-color:var(--border-color-readonly)}.input-icons{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:2px}.input-icon{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:5px;color:var(--text-muted);transition:color .2s}.input-icon:hover{color:var(--text-body)}.input-icon .icon{font-size:var(--icon-size);line-height:var(--leading-icon)}.input-icon--toggle .icon{display:inline-block;transition:transform .2s}.input-field.is-open .input-icon--toggle .icon{transform:rotate(180deg)}.select-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:1200;background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:10px;box-shadow:0 6px 24px #0000001a;overflow:hidden}.select-list{max-height:240px;overflow-y:auto;list-style:none;padding:6px}.select-option{display:flex;align-items:center;gap:8px;padding:9px 10px;font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-body);border-radius:6px;cursor:pointer;user-select:none;transition:background .12s}.select-option:hover{background:var(--bg-hover)}.select-option--selected{font-weight:600}.select-option--focused{background:var(--bg-label)}.select-option--hidden{display:none}.option-check{font-size:var(--text-base);width:20px;flex-shrink:0;color:var(--color-passive-text)}.select-no-results{list-style:none;padding:12px 10px;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-faint);text-align:center}.page-title{margin:0 0 -12px;font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;margin-top:10px;font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--font-bold);line-height:var(--leading-tight);border-radius:10px;border:1.5px solid transparent;cursor:pointer;transition:filter .2s ease,background .2s ease;white-space:nowrap;user-select:none;text-decoration:none}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:active:not(:disabled){filter:brightness(.92)}.btn:focus-visible{outline:2px solid currentColor;outline-offset:3px}.btn .icon{font-size:20px}.btn .icon:first-child{margin-left:-3px}.btn .icon:last-child{margin-right:-3px}.btn--primary{background:linear-gradient(to bottom,var(--color-primary-light),var(--color-primary));border-color:var(--color-primary-dark);color:var(--color-primary-text)}.btn--secondary{background:linear-gradient(to bottom,var(--color-secondary-light),var(--color-secondary));border-color:var(--color-secondary-dark);color:var(--color-secondary-text)}.btn--error{background:linear-gradient(to bottom,var(--color-error-light),var(--color-error));border-color:var(--color-error-dark);color:var(--color-error-text)}.btn--alert{background:linear-gradient(to bottom,var(--color-alert-light),var(--color-alert));border-color:var(--color-alert-dark);color:var(--color-alert-text)}.btn--passive{background:linear-gradient(to bottom,var(--color-passive-light),var(--color-passive));border-color:var(--color-passive-dark);color:var(--color-passive-text)}.btn:disabled{background:var(--bg-readonly);border:1.5px dashed var(--border-color);color:var(--text-faint);cursor:not-allowed}.btn.is-cooldown,.list-item__btn.is-cooldown{pointer-events:none;opacity:.6;cursor:not-allowed}.btn-hint-wrap{display:inline-flex;flex-direction:column;align-items:flex-start}body.modal-open{overflow:hidden}.modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--overlay-bg);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.modal.is-open{visibility:visible;opacity:1;pointer-events:auto}.modal-box{background:var(--bg-card);border-radius:14px;box-shadow:0 8px 40px #0000002e;width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;transform:translateY(16px);opacity:0;transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s ease}.modal.is-open .modal-box{transform:translateY(0);opacity:1}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 20px 18px;border-bottom:1.5px solid var(--border-color-light);flex-shrink:0}.modal-title{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.modal-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:none;border:none;cursor:pointer;padding:4px;color:var(--text-muted);border-radius:6px;transition:color .2s}.modal-close:hover{color:var(--text-body)}.modal-close .icon{font-size:var(--text-xl);line-height:var(--leading-icon)}.modal-body{padding:20px;overflow-y:auto;flex:1;font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-body)}.modal-footer{display:flex;justify-content:flex-end;align-items:flex-start;gap:10px;padding:6px 20px 16px;border-top:1.5px solid var(--border-color-light);flex-shrink:0}.modal-box--wide{max-width:680px}.modal-box--preview{width:92vw;max-width:1200px;height:88vh}.modal-box--preview .modal-body{padding:12px;overflow:hidden;display:flex;min-height:0;border-radius:0 0 10px 10px}.modal-box--preview .modal-body>div{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.modal-box--preview .modal-body img{width:100%;height:100%;object-fit:contain;display:block;border-radius:4px}.modal-box--preview .modal-body iframe{width:100%;height:100%;border:none;display:block}.select-field input{padding-right:80px;cursor:pointer}.select-field.is-open input{cursor:text}.select-field.input-field--readonly input{padding-right:15px}.multiselect-control{display:flex;align-items:center;width:100%;padding:13px 80px 13px 15px;box-sizing:border-box;background:var(--bg-input);border:1.5px solid var(--border-color);border-radius:10px;cursor:pointer;transition:border-color .2s}.multiselect-field.is-open .multiselect-control,.multiselect-field:focus-within .multiselect-control{border-color:var(--border-color-focus)}.multiselect-field.is-open label,.multiselect-field:focus-within label{color:var(--text-primary);border-color:var(--border-color-focus)}.multiselect-preview{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow:hidden;font-family:var(--font-sans);font-size:var(--text-md);color:var(--text-primary);line-height:1.3}.ms-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0}.ms-count{flex-shrink:0;white-space:nowrap;font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-primary)}.multiselect-preview.is-empty:before{content:attr(data-placeholder);color:var(--text-secondary)}.multiselect-field.is-open .multiselect-preview{display:none}.multiselect-field .multiselect-input{display:none;flex:1;width:auto;padding:0;border:none;border-radius:0;outline:none;background:transparent;font-family:var(--font-sans);font-size:var(--text-md);color:var(--text-primary);min-width:0}.multiselect-field.is-open .multiselect-input{display:block}.multiselect-field .multiselect-input::placeholder{color:var(--text-secondary)}.multiselect-field.input-field--readonly .multiselect-control{padding-right:15px;background:var(--bg-readonly);border-color:var(--border-color-readonly);border-style:dashed;cursor:not-allowed}.multiselect-field.input-field--readonly label{border-color:var(--border-color-readonly);border-style:dashed}.multiselect-field.input-field--readonly .multiselect-preview{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-secondary)}.datepicker-field input,.month-picker-field input,.year-picker-field input{padding-right:80px;cursor:pointer}.datepicker-field.input-field--readonly input,.month-picker-field.input-field--readonly input,.year-picker-field.input-field--readonly input{padding-right:15px;cursor:not-allowed}.datepicker-popup{position:absolute;top:calc(100% + 8px);left:0;z-index:100;background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:12px;padding:16px;box-shadow:0 6px 24px #0000001a;min-width:284px;user-select:none}.dp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dp-month-year{font-family:var(--font-sans);font-weight:var(--font-bold);font-size:var(--text-sm);color:var(--text-body);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:5px;transition:color .2s}.dp-month-year:hover{color:var(--color-primary)}.dp-nav{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:4px;color:var(--text-muted);transition:color .2s}.dp-nav:hover{color:var(--text-body)}.dp-nav .icon{font-size:var(--icon-size);line-height:var(--leading-icon)}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dp-day-header{text-align:center;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--text-muted);padding:4px 0 8px;letter-spacing:.05em}.dp-day{display:flex;align-items:center;justify-content:center;aspect-ratio:1;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-body);background:none;border:none;border-radius:7px;cursor:pointer;transition:background .12s,color .12s}.dp-day:hover:not(.dp-day--other){background:var(--bg-hover);color:var(--text-body)}.dp-day--other{color:var(--text-faint);cursor:default;pointer-events:none}.dp-day--today{font-weight:var(--font-bold);color:var(--color-primary)}.dp-day--selected{background:var(--color-primary);color:var(--color-primary-text)}.dp-day--selected.dp-day--today{color:var(--color-primary-text)}.dp-day--selected:hover{background:var(--text-body)}.dp-grid--compact{grid-template-columns:repeat(3,1fr);gap:6px}.dp-cell{display:flex;align-items:center;justify-content:center;padding:10px 4px;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-body);background:none;border:none;border-radius:7px;cursor:pointer;transition:background .15s,color .15s}.dp-cell:hover{background:var(--bg-hover);color:var(--text-body)}.dp-cell--selected{background:var(--color-primary);color:var(--color-primary-text)}.dp-cell--selected:hover{background:var(--bg-hover)}.date-range-picker-field input[type=text]{padding-right:80px;cursor:pointer}.date-range-picker-field.input-field--readonly input[type=text]{padding-right:15px;cursor:not-allowed}.drp-overlay{position:absolute;top:calc(100% + 8px);left:0;z-index:100;background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:12px;padding:16px;box-shadow:0 6px 24px #0000001a;user-select:none;display:flex;flex-direction:row;gap:12px;min-width:300px}.drp-overlay[hidden]{display:none}.drp-presets{display:flex;flex-direction:column;gap:4px;min-width:120px;border-right:1px solid var(--border-color);padding-right:12px}.drp-preset-btn{display:block;width:100%;text-align:left;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-body);background:none;border:none;border-radius:6px;padding:6px 10px;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.drp-preset-btn:hover{background:var(--bg-hover);color:var(--color-primary)}.drp-body{flex:1;min-width:0}.drp-calendars{display:flex;gap:16px}.drp-cal{flex:1;min-width:220px}.drp-cal .dp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.drp-cal .dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.drp-cal .dp-grid--compact,.drp-cal .dp-grid--year{grid-template-columns:repeat(3,1fr);gap:6px}.drp-day--range-start,.drp-cell--range-start,.drp-day--range-end,.drp-cell--range-end{background:var(--color-primary);color:#fff;border-radius:7px}.drp-day--range-between,.drp-cell--range-between{background:color-mix(in srgb,var(--color-primary) 15%,transparent);border-radius:0;color:var(--text-primary)}.drp-day--today{font-weight:var(--font-bold);color:var(--color-primary)}.drp-day--range-start.drp-day--today,.drp-day--range-end.drp-day--today{color:#fff}@media(max-width:767px){.drp-overlay{flex-direction:column;left:0;right:0;min-width:0}.drp-presets{flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid var(--border-color);padding-right:0;padding-bottom:12px;min-width:0}.drp-calendars{flex-direction:column}}.number-field input.number-input{padding-right:40px}.number-field.is-invalid input{color:var(--color-error)}.number-field .input-icons{flex-direction:column;gap:0}.number-field .input-icon{padding:2px 5px}.number-field .input-icon .icon{font-size:var(--icon-size-md)}.decimal-field.is-invalid input{color:var(--color-error)}.list{list-style:none;width:100%;display:flex;flex-direction:column;gap:8px}.list-item{display:flex;align-items:center;gap:4px;border:1px solid var(--border-color);border-radius:10px;background:#fff;transition:background .12s}.list-item:hover{background:var(--color-passive-light)}.list-item__handle{display:none;align-items:center;color:var(--text-faint);cursor:grab;padding:0 2px 0 10px;flex-shrink:0;transition:color .12s}.list-item__handle:active{cursor:grabbing}.list-item:hover .list-item__handle{color:var(--text-muted)}.list--sortable .list-item__handle{display:flex}.list--sortable.is-dragging .list-item:hover{background:#fff}.list--sortable.is-dragging .list-item *{pointer-events:none}.list-item.is-being-dragged{background:var(--color-passive-light);border-color:var(--color-primary);opacity:.85}.list-item__avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;margin:12px;background:var(--color-passive-light);border:1.5px solid var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.list-item__avatar img{width:100%;height:100%;object-fit:cover}.list-item__body{flex:1;min-width:0;padding:12px}.list:not(.list--sortable) .list-item__body{padding-left:16px}.list-item__title{font-size:var(--text-base);color:var(--text-primary);line-height:var(--leading-snug);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item__sub{font-size:var(--text-sm);color:var(--text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item__tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.list-tag{font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:.02em;color:var(--text-secondary);background:var(--color-passive-light);border:1.5px solid var(--border-color);border-radius:5px;padding:2px 6px}.list-tag--passive{color:var(--text-faint);background:transparent}.list-item__actions{display:flex;align-items:center;gap:2px;flex-shrink:0;padding-right:10px}.list-item__btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;cursor:pointer;color:var(--color-primary);text-decoration:none;font-size:20px;transition:color .12s}.list-item__btn:hover{color:var(--color-secondary)}.list-item__btn--danger{color:var(--color-error)}.list-item__btn--danger:hover{color:var(--color-error);opacity:.8}.table-outer{position:relative;width:100%}.table-outer--labeled{margin-top:24px}.table-label{position:absolute;top:0;left:12px;transform:translateY(calc(-50% - 2px));background:var(--bg-label);border:1.5px solid var(--border-color);border-radius:5px;padding:2px 6px;font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--text-secondary);letter-spacing:.02em;pointer-events:none;white-space:nowrap;z-index:1}.table-wrapper{width:100%;overflow-x:auto;border:1.5px solid var(--border-color);border-radius:10px}.table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:var(--text-base)}.table thead tr{background:var(--bg-subtle);border-bottom:1px solid var(--border-color)}.table thead th{padding:12px 16px;text-align:left;font-weight:var(--font-bold);color:var(--text-secondary);white-space:nowrap}.table-th--sortable{cursor:pointer;user-select:none;transition:background .12s,color .12s}.table-th--sortable:hover{background:var(--bg-label);color:var(--text-primary)}.table-th__label{vertical-align:middle}.table-th__icon{font-size:var(--text-sm);vertical-align:middle;margin-left:3px;opacity:.7}.table tbody tr{background:var(--bg-card);border-bottom:1px solid var(--border-color);transition:background .12s}.table tbody tr:last-child{border-bottom:none}.table tbody tr:hover{background:var(--color-passive-light)}.table tbody td{padding:12px 16px;color:var(--text-body);vertical-align:middle}.table-actions-col{width:1%;white-space:nowrap}.table-actions{display:flex;gap:2px;justify-content:flex-end;align-items:center}.table-empty{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.table-user-cell{display:flex;align-items:center;gap:12px}.table tbody tr.table-row--inactive td{color:var(--color-error)}.table-row--inactive .list-item__avatar{box-shadow:0 0 0 2px var(--color-error)}td>.table-user-cell>.list-item__avatar{margin:0}.file-upload-field{display:flex;flex-direction:column;gap:4px;padding:16px;border:1.5px solid var(--border-color);border-radius:10px;background:var(--bg-input);position:relative;margin-top:24px}.file-upload-field>label{position:absolute;top:0;left:12px;transform:translateY(calc(-50% - 2px));padding:2px 6px;font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:.02em;color:var(--text-secondary);line-height:var(--leading-snug);background:var(--bg-label);border:1.5px solid var(--border-color);border-radius:5px;pointer-events:none;white-space:nowrap}.file-upload__current{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1.5px dashed var(--border-color);border-radius:8px;background:var(--color-passive-light, #f3f3f3);min-height:48px}.file-upload__icon{font-size:var(--text-2xl);color:var(--text-secondary);flex-shrink:0;line-height:var(--leading-icon)}.file-upload__icon-img{width:28px;height:28px;object-fit:cover;border-radius:4px;flex-shrink:0}.file-upload__name{font-size:var(--text-base);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.file-upload__empty{font-size:var(--text-sm);color:var(--text-muted);font-style:italic}.file-upload__actions{display:flex;gap:0 10px;flex-wrap:wrap;align-items:center}.file-upload__clear-btn{margin-left:auto;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:none;color:var(--text-muted);cursor:pointer;padding:0;transition:color .2s}.file-upload__clear-btn .icon{font-size:var(--icon-size);line-height:var(--leading-icon)}.file-upload__clear-btn:hover{color:var(--text-body)}.file-upload-field.is-drag-over{border-color:var(--color-primary);box-shadow:0 0 0 3px #1a6dc426}.file-upload-field.is-drag-over .file-upload__current{border-color:var(--color-primary)}.map-field{border-radius:10px;border:1.5px solid var(--border-color);overflow:hidden}.chart-card{position:relative;margin-top:12px;background:var(--bg-input);border:1.5px solid var(--border-color);border-radius:10px;padding:28px 20px 20px}.chart-card__label{position:absolute;top:0;left:12px;transform:translateY(calc(-50% - 2px));padding:2px 6px;font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:.02em;color:var(--text-secondary);background:var(--bg-label);border:1.5px solid var(--border-color);border-radius:5px;pointer-events:none;white-space:nowrap}.chart-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:768px){.chart-grid{grid-template-columns:1fr}}.field-grid{display:flex;flex-wrap:wrap;gap:2rem;align-items:flex-start}.field-grid>*{flex:1;min-width:280px}.tab-panel{position:relative;margin-top:28px}.tab-nav{position:absolute;top:0;left:12px;transform:translateY(-50%);display:flex;gap:4px;z-index:1}.tab-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:.02em;color:var(--text-secondary);background:var(--bg-label);border:1.5px solid var(--border-color);border-radius:5px;cursor:pointer;transition:background .15s,color .15s;line-height:var(--leading-snug);white-space:nowrap}.tab-btn .icon{font-size:var(--text-base);line-height:var(--leading-icon)}.tab-btn:hover:not(.is-active){background:var(--color-passive);color:var(--text-body)}.tab-btn.is-active{background:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary-dark)}.tab-bodies{border:1.5px solid var(--border-color);border-radius:10px;background:var(--bg-input)}.tab-body{padding:20px;display:none}.tab-body.is-active{display:flex;flex-direction:column;gap:28px}.picker-overlay{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--overlay-bg);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s ease,visibility .2s ease;border-radius:14px}.picker-overlay.is-open{visibility:visible;opacity:1;pointer-events:auto}.picker-overlay.is-open .modal-box{transform:translateY(0);opacity:1}.picker-overlay.no-blur{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--overlay-bg-dim);border-radius:14px}.picker-select-field .picker-select-body{display:flex;align-items:center;min-height:50px;padding:8px 80px 8px 14px;background:var(--bg-input);border:1.5px solid var(--border-color);border-radius:10px;cursor:pointer;transition:border-color .2s;box-sizing:border-box}.picker-select-field .picker-select-body:hover{border-color:var(--border-color-focus)}.picker-select-field.input-field--readonly .picker-select-body{background:var(--bg-readonly);border-color:var(--border-color-readonly);border-style:dashed;cursor:default}.picker-select-preview{display:flex;align-items:center;gap:10px;flex:1;min-width:0;font-family:var(--font-sans);font-size:var(--text-md);color:var(--text-primary)}.picker-select-placeholder{color:var(--text-secondary)}.picker-select-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.picker-select-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--color-passive-light);border:1.5px solid var(--border-color);color:var(--text-muted)}.picker-select-avatar .icon{font-size:var(--icon-size-md)}.picker-modal-list>.list-item>.list-item__avatar{margin-right:0}.picker-select-avatar img{width:100%;height:100%;object-fit:cover;display:block}.picker-select-initials{background:var(--color-initials-bg);color:var(--color-primary);font-size:var(--text-sm);font-weight:700;letter-spacing:.02em}.picker-select-doc-icon{background:var(--bg-input)}.picker-select-doc-icon .icon{font-size:var(--icon-size);color:var(--text-secondary)}.picker-search-wrap{margin-bottom:14px}.picker-modal-list{display:flex;flex-direction:column;gap:4px}.picker-select-modal .list-item{cursor:pointer;gap:0}.picker-select-modal .list-item.is-active{border-color:var(--color-primary);background:#1a6dc40f}.picker-select-modal .list-item.is-focused,.picker-modal-thumb.is-focused{border-color:var(--color-primary);background:var(--color-passive-light)}.picker-modal-empty{padding:24px 0;text-align:center;color:var(--text-muted);font-size:var(--text-sm);list-style:none}.picker-modal-list--user .list-item__body,.picker-modal-list--doc .list-item__body{display:flex;align-items:center;justify-content:space-between;gap:12px}.picker-modal-list--user .list-item__sub,.picker-modal-list--doc .list-item__sub{margin-top:0;flex-shrink:0}.picker-modal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.picker-modal-thumb{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;border-radius:8px;cursor:pointer;border:1px solid var(--border-color);transition:border-color .15s,background .15s}.picker-modal-thumb:hover{background:var(--color-passive-light)}.picker-modal-thumb.is-active{border-color:var(--color-primary);background:#1a6dc40f}.picker-modal-thumb img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;display:block}.picker-modal-thumb-label{font-size:var(--text-2xs);color:var(--text-muted);text-align:center;line-height:var(--leading-compact);word-break:break-word;width:100%}.filter-bar{margin-bottom:16px}.filtered-list-wrapper .filter-bar{margin-bottom:0}.filter-bar__fields{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.filter-bar__field{flex:1;min-width:180px;max-width:320px}.filter-bar__field .input-field input{padding-right:42px}.fb-hidden,.pg-hidden{display:none}.filter-bar-row{display:flex;align-items:flex-end;gap:1rem;margin-bottom:16px}.filter-bar-row .filter-bar{flex:1;margin-bottom:0}.table-hint{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;flex-shrink:0}.pagination-wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:12px}.filtered-list-wrapper .pagination-wrap{margin-top:0}@media(max-width:600px){.pagination-wrap{grid-template-columns:1fr;justify-items:center;gap:8px}.pagination,.pagination__per-page{grid-column:1}}.pagination{grid-column:2;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px}.pagination__btn{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 8px;background:none;border:1.5px solid var(--border-color);border-radius:8px;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--text-secondary);cursor:pointer;transition:background .12s,color .12s,border-color .12s;user-select:none}.pagination__btn:hover:not(:disabled){background:var(--color-passive-light, #f3f3f3);color:var(--text-primary)}.pagination__btn.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-text)}.pagination__btn:disabled{opacity:.4;cursor:default}.pagination__btn .icon{font-size:var(--icon-size)}.pagination__gap{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;font-size:var(--text-sm);color:var(--text-muted);user-select:none}.pagination__per-page{grid-column:3;justify-self:end;display:flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-secondary);cursor:default}.pagination__pp-field.input-field{margin-top:0;width:65px}.pagination__pp-field.select-field .select-input{padding:7px 20px 7px 10px;font-size:var(--text-sm);background:none;cursor:pointer}.pagination__pp-field.select-field>.input-icons{right:2px}.pagination__pp-field .select-list .select-option{font-size:var(--text-sm);padding:6px 12px}.qs-body{display:flex;flex-direction:column;gap:0}.qs-shortcut{font-family:Courier New,monospace;font-weight:400;font-size:var(--text-sm);color:var(--text-muted)}@media(max-width:767px){.qs-shortcut{display:none}}.qs-body .input-field input,.picker-search-wrap .input-field input{padding-right:42px}.qs-search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:var(--icon-size);color:var(--text-muted);pointer-events:none}.qs-results{max-height:400px;overflow-y:auto;margin-top:4px}.qs-group{margin-bottom:8px}.qs-group-label{display:block;font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);padding:4px}.qs-result-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:6px;text-decoration:none;color:var(--text-body);transition:background .12s;background:none;border:none;cursor:pointer;width:100%;text-align:left;font-family:var(--font-sans);font-size:var(--text-base)}.qs-result-item:hover,.qs-result-item:focus{background:#f0f4fa;outline:none}.qs-result-icon{font-size:var(--text-xl);color:var(--text-secondary);flex-shrink:0}.qs-result-name{flex:1;font-size:var(--text-base);color:var(--text-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qs-result-meta{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;flex-shrink:0}.qs-empty{padding:4px 4px 0;font-size:var(--text-sm);color:var(--text-muted);margin:0}.time-picker-field{position:relative;display:flex;align-items:center;margin-top:24px;background:var(--bg-input);border:1.5px solid var(--border-color);border-radius:10px;transition:border-color .2s}.time-picker-field:focus-within{border-color:var(--border-color-focus)}.time-picker-display{flex:1;padding:13px 74px 13px 15px;font-family:var(--font-sans);font-size:var(--text-md);color:var(--text-primary);background:transparent;border:none;outline:none;cursor:pointer;caret-color:transparent;min-width:0}.time-picker-display::placeholder{color:var(--text-secondary);font-weight:var(--font-regular)}.time-picker-field>label{position:absolute;top:0;left:12px;transform:translateY(calc(-50% - 2px));padding:2px 6px;font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:.02em;color:var(--text-secondary);background:#efefef;border:1.5px solid var(--border-color);border-radius:5px;pointer-events:none;white-space:nowrap;transition:color .2s,border-color .2s}.time-picker-field:focus-within>label{color:var(--text-primary);border-color:var(--border-color-focus)}.time-picker-clear{position:absolute;right:40px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;cursor:pointer;color:var(--text-muted);border-radius:5px;padding:0;transition:color .15s}.time-picker-clear:hover{color:var(--color-error)}.time-picker-clear .icon{font-size:18px}.time-picker-trigger{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;cursor:pointer;color:var(--text-muted);border-radius:5px;padding:0;transition:color .15s}.time-picker-trigger:hover{color:var(--text-primary)}.time-picker-trigger .icon{font-size:20px}.time-picker-field--readonly{background:var(--bg-readonly);border-color:var(--border-color-readonly);border-style:dashed}.time-picker-field--readonly .time-picker-display{cursor:not-allowed;color:var(--text-secondary)}.time-picker-overlay{position:absolute;top:calc(100% + 8px);left:0;z-index:100;background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:12px;padding:8px;box-shadow:0 6px 24px #0000001a;display:flex;flex-direction:column;user-select:none;min-width:140px}.time-picker-overlay__cols{display:flex;align-items:stretch}.time-picker-col{flex:1;max-height:180px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:4px 0}.time-picker-sep{display:flex;align-items:center;font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--font-bold);color:var(--text-secondary);padding:0 2px;flex-shrink:0;line-height:1}.time-picker-col__item{padding:6px 0;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;text-align:center;border-radius:6px;margin:1px 4px;transition:background .1s}.time-picker-col__item.is-active{background:var(--color-primary);color:#fff}.time-picker-col__item:hover{background:var(--color-passive-light, #f3f3f3);color:var(--text-primary)}.toggle-field{display:flex;flex-direction:column;margin-top:10px}.toggle-label{display:inline-flex;align-items:center;gap:12px;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-md);color:var(--text-body);user-select:none}.toggle-label--disabled{opacity:.45;cursor:default}.toggle-input{position:absolute;opacity:0;width:0;height:0;margin:0}.toggle-track{position:relative;display:inline-block;flex-shrink:0;width:50px;height:50px;background:var(--bg-input);border:1.5px solid var(--border-color);border-radius:10px;transition:border-color .2s}.toggle-thumb{position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:38px;height:22px;background:var(--color-passive);border:1.5px solid var(--border-color);border-radius:6px;transition:transform .2s,background .2s,border-color .2s}.toggle-icon{position:absolute;top:50%;left:50%;font-size:var(--icon-size-sm);line-height:var(--leading-icon);color:var(--text-secondary);transition:opacity .15s,transform .15s}.toggle-icon--on{opacity:0;transform:translate(-50%,-50%) scale(.4);color:var(--color-primary-text)}.toggle-icon--off{opacity:1;transform:translate(-50%,-50%) scale(1)}.toggle-input:checked+.toggle-track .toggle-thumb{background:var(--color-primary);border-color:var(--color-primary);transform:translate(-50%) translateY(-14px)}.toggle-input:checked+.toggle-track .toggle-icon--on{opacity:1;transform:translate(-50%,-50%) scale(1)}.toggle-input:checked+.toggle-track .toggle-icon--off{opacity:0;transform:translate(-50%,-50%) scale(.4)}.toggle-input:focus-visible+.toggle-track{outline:2px solid var(--color-primary);outline-offset:2px}.toggle-text{line-height:var(--leading-compact);padding-right:24px}.totp-backup-codes{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;margin:1rem 0 1.5rem}.totp-backup-code{display:block;padding:.375rem .75rem;background:var(--bg-subtle);border:1.5px solid var(--border-color);border-radius:6px;font-family:monospace;font-size:var(--text-base);text-align:center;letter-spacing:.08em;color:var(--text-primary);user-select:all}.back-to-top{position:fixed;bottom:24px;right:24px;z-index:1100;width:44px;height:44px;border-radius:50%;background:var(--color-primary);color:var(--color-primary-text);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0003;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s}.back-to-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top:hover{background:var(--color-primary-dark)}.back-to-top .icon{font-size:var(--text-xl)}.section-title{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.section-title:before{content:"";display:block;margin-bottom:12px;height:1px;background:linear-gradient(to left,transparent,var(--border-color))}.section-title--no-border{margin-top:8px}.section-title--no-border:before{display:none}.demo-sub-title{display:block;font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:16px}.demo-divider{border:none;border-top:1.5px solid var(--border-color);margin:32px 0}.var-table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.var-table th{text-align:left;font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);padding:0 12px 10px 0}.var-table td{padding:8px 12px 8px 0;vertical-align:middle;border-top:1px solid var(--border-color);color:var(--text-body)}.var-table td:first-child{font-family:Courier New,monospace;font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap}.var-table td:nth-child(2){color:var(--text-muted);white-space:nowrap}.var-sample{font-family:var(--font-sans);font-weight:var(--font-bold);color:var(--text-primary);white-space:nowrap}.palette-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.swatch-card{border-radius:10px;overflow:hidden;background:var(--bg-input, #fff);border:1px solid var(--border-color)}.swatch-card--base{border-width:1.5px;border-color:var(--border-color)}.swatch-block{height:88px}.swatch-card--base .swatch-block{height:100px}.swatch-block--text{display:flex;align-items:center;justify-content:center}.swatch-sample{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:1;user-select:none}.swatch-info{padding:9px 11px 10px;display:flex;flex-direction:column;gap:2px}.swatch-var{font-family:Courier New,monospace;font-size:var(--text-2xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.swatch-hex{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--text-primary)}.icon-table{background:var(--bg-input, #fff);border-radius:8px;overflow:hidden;border:1px solid var(--border-color)}.icon-table-header{display:grid;grid-template-columns:56px 1fr 2fr;gap:16px;padding:10px 20px;background:var(--bg-subtle);border-bottom:1px solid var(--border-color);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.icon-table-row{display:grid;grid-template-columns:56px 1fr 2fr;gap:16px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border-color)}.icon-table-row:last-child{border-bottom:none}.icon-table-row:hover{background:#fafafa}.icon-table-row .icon{font-size:var(--icon-size-lg);color:var(--text-secondary)}.icon-code{font-family:Courier New,monospace;font-size:var(--text-sm);color:var(--color-primary);background:#eef4fc;padding:3px 8px;border-radius:4px;white-space:nowrap}.icon-usage{display:flex;flex-direction:column;gap:5px}.icon-usage-desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-snug)}.icon-tags{display:flex;flex-wrap:wrap;gap:4px}.comp-tag{display:inline-block;font-size:var(--text-2xs);font-weight:var(--font-bold);letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:3px;white-space:nowrap}.comp-tag--button{background:#def;color:#1a5a99}.comp-tag--datepicker{background:#d8f4ee;color:#1a6f54}.comp-tag--select,.comp-tag--multiselect{background:#ede8f8;color:#5a3a9e}.comp-tag--modal{background:#fdf0de;color:#8a5a10}.comp-tag--number{background:#fff0d4;color:#8a5010}.comp-tag--nav{background:#e8edf2;color:#4a6278}.comp-tag--notification{background:#d5f0e8;color:#1a6040}.comp-tag--password{background:#fde8f0;color:#9e3a65}.comp-tag--list{background:#e8f0e0;color:#3a6428}.comp-tag--file-upload{background:#f0ece0;color:#7a5a28}.comp-tag--wysiwyg{background:#e0e8f8;color:#2a4a8a}.comp-tag--map{background:#e0f0e8;color:#2a6a4a}.comp-tag--picker{background:#fde8d4;color:#8a4a10}.comp-tag--image-upload{background:#f0e8f8;color:#6a3a8a}.icon-categories{display:flex;flex-direction:column;gap:32px}.icon-category-title{display:block;font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:12px}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px}.icon-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px 12px;background:var(--bg-input, #fff);border-radius:6px;cursor:default;transition:background .15s}.icon-card:hover{background:#eef4fc}.icon-card .icon{font-size:var(--icon-size-lg);color:var(--text-secondary)}.icon-card-name{font-size:var(--text-2xs);color:var(--text-muted);text-align:center;line-height:var(--leading-compact);word-break:break-word}@media(max-width:768px){.palette-swatches{grid-template-columns:repeat(2,1fr)}.var-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.icon-table-header,.icon-table-row{grid-template-columns:40px 1fr}.icon-table-header span:last-child,.icon-table-row .icon-usage{display:none}}.calendar-field{border:1px solid var(--border-color);border-radius:8px;overflow:visible;background:var(--bg-card);position:relative;margin-top:28px}.calendar-toolbar{display:flex;justify-content:flex-end;align-items:center;border-bottom:1px solid var(--border-color);padding:6px 14px;background:#f9f9f9;border-radius:7px 7px 0 0;position:relative}.calendar-view-toggle{position:absolute;top:0;left:12px;transform:translateY(-50%);display:flex;gap:4px;z-index:1}.calendar-view-btn{display:inline-flex;align-items:center;padding:2px 8px;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:.02em;color:var(--text-secondary);background:var(--bg-label);border:1.5px solid var(--border-color);border-radius:5px;cursor:pointer;transition:background .15s,color .15s;line-height:var(--leading-snug);white-space:nowrap}.calendar-view-btn:hover:not(.is-active){background:var(--color-passive);color:var(--text-body)}.calendar-view-btn.is-active{background:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary-dark)}@media(max-width:767px){.calendar-view-btn[data-view=month],.calendar-view-btn[data-view=week]{display:none}}.calendar-nav{display:flex;align-items:center;gap:4px}.calendar-nav-btn,.calendar-add-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:none;background:none;cursor:pointer;color:var(--text-secondary);font-size:20px;transition:background .12s,color .12s}.calendar-nav-btn:hover,.calendar-add-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.calendar-nav-divider{display:inline-block;width:1px;height:18px;background:var(--border-color);margin:0 4px;align-self:center}.calendar-month-label{position:absolute;left:50%;transform:translate(-50%);font-weight:var(--font-bold);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:color .12s}.calendar-month-label:hover{color:var(--color-primary)}.calendar-field[data-current-view=list] .calendar-month-label{cursor:default;color:inherit}.calendar-field[data-current-view=week] .calendar-month-label,.calendar-field[data-current-view=day] .calendar-month-label{transform:translate(calc(-50% + 16px))}.calendar-field[data-current-view=month] .calendar-month-label{transform:translate(calc(-50% - 8px))}.calendar-today-btn{display:flex;align-items:center;justify-content:center;height:32px;background:none;border:none;border-radius:6px;padding:0 10px;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.calendar-today-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.calendar-body{overflow-y:auto}.calendar-list{display:flex;flex-direction:column}.calendar-list-date-group{border-bottom:1px solid var(--border-color)}.calendar-list-date-group:last-child{border-bottom:none}.calendar-list-date-label{font-size:var(--text-xs);color:var(--text-secondary);letter-spacing:.05em;padding:8px 8px 5px;position:sticky;top:0;background:var(--bg-card);z-index:1}.calendar-list-date-label--today{color:var(--color-primary);font-weight:var(--font-bold)}.calendar-list-item{display:flex;align-items:center;gap:12px;padding:8px 14px;border-left:3px solid var(--color-primary);cursor:default;transition:background .15s}.calendar-list-item:hover{background:var(--bg-hover)}.calendar-list-item--past{opacity:.55}.calendar-list-item--link{cursor:pointer;text-decoration:none;color:inherit;display:flex}.calendar-list-item--interactive{cursor:pointer}.calendar-list-item__time{color:var(--text-secondary);font-size:var(--text-sm);min-width:80px;flex-shrink:0}.calendar-list-item__title{font-size:var(--text-sm);flex:1}.calendar-list-empty{padding:32px;text-align:center;color:var(--text-secondary);font-size:var(--text-sm)}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-month-week{grid-column:1 / -1;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:auto;position:relative}.calendar-day-header{font-size:var(--text-xs);color:var(--text-secondary);text-align:center;padding:6px 0;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color)}.calendar-day-header:last-child{border-right:none}.calendar-day-cell{min-height:90px;padding:4px;border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);vertical-align:top;position:relative}.calendar-month-week .calendar-day-cell:last-child{border-right:none}.calendar-day-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:var(--text-xs);border-radius:50%;margin-bottom:2px}.calendar-day-cell--today .calendar-day-num{background:var(--color-primary);color:#fff;font-weight:var(--font-bold)}.calendar-day-cell--other-month{opacity:.4}.calendar-day-cell--clickable{cursor:pointer}.calendar-day-cell--clickable:hover{background:var(--bg-hover)}.calendar-event-chip{display:block;border-radius:3px;padding:1px 6px;font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px;color:#fff;cursor:pointer}.calendar-event-chip[data-readonly=true]{cursor:default}a.calendar-event-chip{text-decoration:none}.calendar-overflow-link{font-size:var(--text-xs);color:var(--color-primary);cursor:pointer;padding:0 4px;display:block}.calendar-overflow-link:hover{text-decoration:underline}.calendar-week-grid{display:grid;grid-template-columns:48px repeat(7,1fr);position:sticky;top:0;z-index:10;background:var(--bg-card)}.calendar-day-grid{display:grid;grid-template-columns:48px 1fr;position:sticky;top:0;z-index:10;background:var(--bg-card)}.calendar-week-header-row{display:contents}.calendar-week-corner{border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color)}.calendar-week-header-cell{text-align:center;padding:6px 4px;font-size:var(--text-xs);color:var(--text-secondary);border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color)}.calendar-week-header-cell:last-child{border-right:none}.calendar-week-header-cell--today{color:var(--color-primary);font-weight:var(--font-bold)}.calendar-week-header-cell .calendar-day-num{margin:0 auto}.calendar-week-header-cell--today .calendar-day-num{background:var(--color-primary);color:#fff;font-weight:var(--font-bold)}.calendar-all-day-corner{font-size:var(--text-xs);color:var(--text-secondary);padding:4px;text-align:right;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color)}.calendar-all-day-col{min-height:28px;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);padding:2px}.calendar-all-day-col:last-child{border-right:none}.calendar-all-day-col--interactive{cursor:pointer}.calendar-all-day-col--interactive:hover{background:var(--bg-hover)}.calendar-all-day-col.is-allday-drag-target{background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.calendar-all-day-col.is-allday-range{background:color-mix(in srgb,var(--color-primary) 10%,transparent);outline:1px solid var(--color-primary);outline-offset:-1px}.calendar-time-label-row{display:contents}.calendar-time-col{font-size:var(--text-xs);color:var(--text-secondary);text-align:right;padding:2px 6px 0 0;height:48px;display:flex;align-items:flex-start;justify-content:flex-end;border-right:1px solid var(--border-color);box-sizing:border-box}.calendar-week-col{position:relative;border-right:1px solid var(--border-color);height:48px}.calendar-week-col:last-child{border-right:none}.calendar-week-col--today{background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.calendar-week-col--clickable{cursor:crosshair}.calendar-hour-line{position:absolute;left:0;right:0;top:0;border-top:1px solid var(--border-color);pointer-events:none}.calendar-event-block{position:absolute;left:2px;right:2px;border-radius:3px;padding:2px 4px;font-size:var(--text-xs);overflow:hidden;cursor:pointer;color:#fff;z-index:1;box-sizing:border-box}.calendar-event-block[data-readonly=true]{cursor:default}.calendar-event-block__title{font-weight:var(--font-bold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event-block__time{opacity:.85;white-space:nowrap}.calendar-event-block[data-dragging],.calendar-event-chip[data-dragging]{opacity:.4;cursor:grabbing}.calendar-event-ghost{position:fixed;pointer-events:none;z-index:9999;border-radius:3px;padding:2px 6px;font-size:var(--text-xs);color:#fff;opacity:.85;box-shadow:0 4px 12px #0003}.calendar-week-col.is-drag-target{background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.calendar-day-cell.is-drag-target{background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.calendar-day-cell.is-drag-over{background:color-mix(in srgb,var(--color-primary) 10%,transparent);outline:1px solid var(--color-primary);outline-offset:-1px}.calendar-create-selection{position:absolute;background:var(--color-primary);opacity:.25;border:2px solid var(--color-primary);border-radius:3px;pointer-events:none;z-index:10;box-sizing:border-box;left:2px;right:2px}.calendar-create-selection__label{position:absolute;bottom:2px;left:4px;font-size:var(--text-xs);color:var(--color-primary);font-weight:var(--font-bold);white-space:nowrap;pointer-events:none}.calendar-nav-overlay{position:absolute;top:100%;left:50%;transform:translate(-50%);z-index:100;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px #0000001f;padding:12px;min-width:240px}.calendar-nav-overlay__title{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--text-secondary);text-align:center;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}.calendar-nav-overlay__nav-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:2px 6px;border-radius:4px}.calendar-nav-overlay__nav-btn:hover{background:var(--bg-hover)}.calendar-nav-overlay__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.calendar-nav-overlay__grid--days{grid-template-columns:repeat(7,1fr);gap:2px;min-width:224px}.calendar-nav-overlay__cell{padding:6px 4px;text-align:center;font-size:var(--text-sm);border-radius:5px;cursor:pointer;border:none;background:none;color:var(--text-primary)}.calendar-nav-overlay__cell:hover{background:var(--bg-hover)}.calendar-nav-overlay__cell.is-current{background:var(--color-primary);color:var(--color-primary-text);font-weight:var(--font-bold)}.calendar-nav-overlay__cell--day{padding:4px 2px;font-size:var(--text-xs);border-radius:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.calendar-nav-overlay__cell--day.is-today:not(.is-current){color:var(--color-primary);font-weight:var(--font-bold)}.calendar-nav-overlay__cell--other{opacity:.35}.calendar-nav-overlay__day-header{text-align:center;font-size:var(--text-xs);color:var(--text-secondary);padding:2px 0 4px;font-weight:var(--font-bold)}html[data-theme=dark]{--color-primary: #2d82d8;--color-primary-dark: #1a6dc4;--color-primary-light: #4492e0;--color-primary-text: #ffffff;--color-secondary: #6b8fad;--color-secondary-dark: #5a7a99;--color-secondary-light: #7aa0be;--color-secondary-text: #ffffff;--color-error: #e04060;--color-error-dark: #cf0422;--color-error-light: #f05272;--color-error-text: #ffffff;--color-alert: #fece00;--color-alert-dark: #deb300;--color-alert-light: #ffd344;--color-alert-text: #1a1a1a;--color-passive: #3a4a5e;--color-passive-dark: #2a3848;--color-passive-light: #283444;--color-passive-text: #a8b8cc;--text-primary: #eef1f6;--text-body: #c2cedc;--text-secondary: #8898b0;--text-muted: #5a6e84;--text-faint: #3c4e62;--border-color: #283a50;--border-color-focus: #3d7ec4;--border-color-readonly: #1e2c3e;--bg-card: #1e2a3c;--bg-label: #1a2636;--bg-input: linear-gradient(to bottom, #1e2a3c, #182232);--bg-readonly: linear-gradient(to bottom, #161e2c, #111828);--bg-page: #111827;--bg-hover: #1e2c40;--bg-subtle: #1a2636;--border-color-light: var(--border-color);--color-initials-bg: #1e3a58}html[data-theme=dark] body{color:var(--text-body)}html[data-theme=dark] .nav-left{background:#141e2e;border-right-color:var(--border-color)}html[data-theme=dark] .nav-left__item:hover{background:#1e2c40}html[data-theme=dark] .nav-left__item--active{background:#2d82d82e}html[data-theme=dark] .nav-left.is-open{background:#141e2e;box-shadow:4px 0 24px #0006}html[data-theme=dark] .nav-top__dropdown{background:#1a2840;border-color:var(--border-color);box-shadow:0 6px 24px #0006}html[data-theme=dark] .nav-top__dropdown-item{color:var(--text-body)}html[data-theme=dark] .nav-top__dropdown-item:hover{background:#1e3248}html[data-theme=dark] .nav-top__dropdown-divider{background:var(--border-color)}html[data-theme=dark] .notification{background:#1a2840;border-color:var(--border-color);color:var(--text-primary)}html[data-theme=dark] .notification__msg{color:var(--text-secondary)}html[data-theme=dark] .auth-page{background:#111827}html[data-theme=dark] .auth-card{background:#141e2e;border-color:var(--border-color)}html[data-theme=dark] .input-field label,html[data-theme=dark] .image-upload-field>label,html[data-theme=dark] .file-upload-field>label,html[data-theme=dark] .wysiwyg-field>label,html[data-theme=dark] .chart-card__label{background:var(--bg-label);border-color:var(--border-color);color:var(--text-secondary)}html[data-theme=dark] .input-field:focus-within label,html[data-theme=dark] .wysiwyg-field:focus-within>label{color:var(--text-primary);border-color:var(--border-color-focus)}html[data-theme=dark] .wysiwyg-field{background:var(--bg-input);border-color:var(--border-color)}html[data-theme=dark] .wysiwyg-toolbar{background:#182030;border-bottom-color:var(--border-color)}html[data-theme=dark] .wysiwyg-btn{color:var(--text-secondary)}html[data-theme=dark] .wysiwyg-btn:hover{background:#1e2c40;color:var(--text-primary)}html[data-theme=dark] .wysiwyg-sep{background:var(--border-color)}html[data-theme=dark] .image-upload-field{border-color:var(--border-color);background:var(--bg-input)}html[data-theme=dark] .image-upload__preview{background:var(--color-passive-light);border-color:var(--border-color)}html[data-theme=dark] .image-upload__placeholder{color:var(--text-muted)}html[data-theme=dark] .tile-card--passive{background:var(--color-passive-light);border-color:var(--border-color);color:var(--text-body)}html[data-theme=dark] .select-dropdown{background:#1a2840;box-shadow:0 6px 24px #0006}html[data-theme=dark] .select-option:hover{background:#1e2c40}html[data-theme=dark] .select-option--focused{background:#1e3248}html[data-theme=dark] .option-check{color:var(--text-secondary)}html[data-theme=dark] .modal-box{background:#1a2840;box-shadow:0 8px 40px #00000080}html[data-theme=dark] .modal-header{border-bottom-color:var(--border-color)}html[data-theme=dark] .modal-footer{border-top-color:var(--border-color)}html[data-theme=dark] .table-label,html[data-theme=dark] .table thead tr{background:#1a2636}html[data-theme=dark] .table-th--sortable:hover{background:#1e2c40}html[data-theme=dark] .table tbody tr{background:#141e2e}html[data-theme=dark] .table tbody tr:hover{background:#1e2c40}html[data-theme=dark] .list-item{background:#141e2e}html[data-theme=dark] .list-item:hover{background:#1e2c40}html[data-theme=dark] .list--sortable.is-dragging .list-item:hover{background:#141e2e}html[data-theme=dark] .site-footer,html[data-theme=dark] .site-footer__link{color:var(--text-muted)}html[data-theme=dark] .tab-btn{background:#1a2636;border-color:var(--border-color);color:var(--text-secondary)}html[data-theme=dark] .tab-btn:hover:not(.is-active){background:#1e2c40;color:var(--text-body)}html[data-theme=dark] .tab-btn.is-active{background:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary-dark)}html[data-theme=dark] .tab-bodies,html[data-theme=dark] .picker-select-field .picker-select-body{background:var(--bg-input);border-color:var(--border-color)}html[data-theme=dark] .picker-select-field .picker-select-body:hover{border-color:var(--border-color-focus)}html[data-theme=dark] .picker-select-field.input-field--readonly .picker-select-body{background:var(--bg-readonly);border-color:var(--border-color-readonly)}html[data-theme=dark] .picker-select-modal .list-item.is-active{background:#2d82d826}html[data-theme=dark] .picker-modal-thumb.is-active{background:#2d82d81f}html[data-theme=dark] .picker-select-initials{color:#4492e0}html[data-theme=dark] .datepicker-popup{background:#1a2840;border-color:var(--border-color);box-shadow:0 6px 24px #0006}html[data-theme=dark] .dp-day:hover:not(.dp-day--other){background:var(--color-passive-light)}html[data-theme=dark] .dp-cell:hover{background:var(--color-passive-light)}html[data-theme=dark] .dp-day--selected,html[data-theme=dark] .dp-cell--selected{background:var(--color-primary);color:#fff}html[data-theme=dark] .dp-day--selected:hover,html[data-theme=dark] .dp-cell--selected:hover{background:var(--color-primary-dark)}html[data-theme=dark] .dp-day--today{color:var(--color-primary-light)}html[data-theme=dark] .drp-overlay{background:#1a2840;border-color:var(--border-color);box-shadow:0 6px 24px #0006}html[data-theme=dark] .drp-preset-btn:hover{background:var(--color-passive-light);color:var(--color-primary-light)}html[data-theme=dark] .drp-presets{border-right-color:var(--border-color)}html[data-theme=dark] .drp-day--range-between,html[data-theme=dark] .drp-cell--range-between{background:#2d82d82e}html[data-theme=dark] .icon-table{background:#141e2e}html[data-theme=dark] .icon-table-header{background:var(--color-passive-light);color:var(--text-faint)}html[data-theme=dark] .icon-table-row:hover{background:var(--color-passive-light)}html[data-theme=dark] .icon-card{background:#141e2e}html[data-theme=dark] .icon-card:hover{background:var(--color-passive-light)}html[data-theme=dark] .icon-code{background:#2d82d826;color:var(--color-primary-light)}html[data-theme=dark] .comp-tag--button{background:#2d82d826;color:#5aa8e8}html[data-theme=dark] .comp-tag--datepicker{background:#1a6f5433;color:#4db89a}html[data-theme=dark] .comp-tag--select,html[data-theme=dark] .comp-tag--multiselect{background:#5a3a9e33;color:#9f80d4}html[data-theme=dark] .comp-tag--modal{background:#8a5a1033;color:#d4aa60}html[data-theme=dark] .comp-tag--number{background:#8a501033;color:#d49040}html[data-theme=dark] .comp-tag--nav{background:#4a627840;color:#8aaccc}html[data-theme=dark] .comp-tag--notification{background:#1a6f5426;color:#5abba0}html[data-theme=dark] .comp-tag--password{background:#9e3a6533;color:#d480a8}html[data-theme=dark] .comp-tag--list{background:#3a642833;color:#80b460}html[data-theme=dark] .comp-tag--file-upload{background:#7a5a2833;color:#c4a060}html[data-theme=dark] .comp-tag--wysiwyg{background:#2a4a8a40;color:#6a9ae0}html[data-theme=dark] .comp-tag--map{background:#2a6a4a33;color:#60b888}html[data-theme=dark] .comp-tag--picker{background:#8a4a1033;color:#d49060}html[data-theme=dark] .comp-tag--image-upload{background:#6a3a8a33;color:#b080d4}html[data-theme=dark] .calendar-field{border-color:var(--border-color);background:var(--bg-card)}html[data-theme=dark] .calendar-toolbar{border-bottom-color:var(--border-color);background:#182030}html[data-theme=dark] .calendar-view-btn{background:var(--bg-label);border-color:var(--border-color);color:var(--text-secondary)}html[data-theme=dark] .calendar-view-btn:hover:not(.is-active){background:var(--bg-hover);color:var(--text-primary)}html[data-theme=dark] .calendar-view-btn.is-active{background:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary-dark)}html[data-theme=dark] .calendar-nav-btn{border-color:var(--border-color);color:var(--text-primary)}html[data-theme=dark] .calendar-nav-btn:hover{background:var(--bg-hover)}html[data-theme=dark] .calendar-today-btn{border-color:var(--border-color);color:var(--text-primary)}html[data-theme=dark] .calendar-today-btn:hover{background:var(--bg-hover)}html[data-theme=dark] .calendar-list-date-label{background:var(--bg-card)}html[data-theme=dark] .calendar-list-item:hover,html[data-theme=dark] .calendar-day-cell--clickable:hover,html[data-theme=dark] .calendar-week-col--clickable:hover{background:var(--bg-hover)}html[data-theme=dark] .calendar-nav-overlay{background:var(--bg-card);border-color:var(--border-color);box-shadow:0 4px 16px #0006}html[data-theme=dark] .calendar-nav-overlay__cell:hover{background:var(--bg-hover)}html[data-theme=dark] .time-picker-field{background:var(--bg-input);border-color:var(--border-color)}html[data-theme=dark] .time-picker-field>label{background:var(--bg-label);border-color:var(--border-color);color:var(--text-secondary)}html[data-theme=dark] .time-picker-field:focus-within>label{color:var(--text-primary);border-color:var(--border-color-focus)}html[data-theme=dark] .time-picker-field--readonly{background:var(--bg-readonly)}html[data-theme=dark] .time-picker-overlay{box-shadow:0 6px 24px #00000059}html[data-theme=dark] .time-picker-col__item:hover{background:var(--bg-hover)}html[data-theme=dark] .toggle-thumb{box-shadow:0 1px 4px #00000080}html[data-theme=dark] .qs-result-item:hover{background:var(--color-passive-light)}html[data-theme=dark] .leaflet-tile-pane{filter:invert(100%) hue-rotate(180deg)}html[data-theme=dark] .leaflet-marker-pane,html[data-theme=dark] .leaflet-overlay-pane,html[data-theme=dark] .leaflet-popup-pane,html[data-theme=dark] .leaflet-tooltip-pane{filter:none}.app-layout{display:grid;grid-template-columns:240px 1fr;grid-template-rows:auto 1fr;min-height:100vh}.nav-top{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:16px;height:56px;padding:0 20px;background:var(--color-primary);color:var(--color-primary-text)}.nav-top__brand{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-primary-text);text-decoration:none;white-space:nowrap;opacity:1;transition:opacity .15s}.nav-top__brand:hover{opacity:.85}.nav-top-logo{width:28px;height:28px;object-fit:contain;border-radius:4px}.nav-top__right{display:flex;align-items:center;gap:8px;flex-shrink:0}.nav-top__icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--color-primary-text);border-radius:6px;text-decoration:none;transition:background .2s;flex-shrink:0;background:none;border:none;cursor:pointer;padding:0}.nav-top__icon-btn:hover{background:#ffffff26}.nav-top__icon-btn:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.nav-top__icon-btn .icon{font-size:22px}.nav-top__profile{position:relative;flex-shrink:0;padding-left:7px}.nav-top__avatar-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#ffffff2e;border:none;border-radius:50%;cursor:pointer;transition:background .2s}.nav-top__avatar-btn:hover{background:#ffffff47}.nav-top__avatar-btn:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.nav-top__avatar-img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(255,255,255,.4)}.nav-top__avatar-icon{font-size:26px;color:var(--color-primary-text);line-height:1}.nav-top__dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:#fff;border:1.5px solid var(--border-color);border-radius:10px;box-shadow:0 6px 24px #0000001a;padding:6px;z-index:200}.nav-top__profile:focus-within .nav-top__dropdown{display:block}.nav-top__dropdown-item{display:flex;align-items:center;gap:10px;padding:9px 12px;font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-body);text-decoration:none;border-radius:6px;transition:background .12s}.nav-top__dropdown-item:hover{background:#f3f3f3}.nav-top__dropdown-item .icon{font-size:18px;color:var(--text-muted);flex-shrink:0}.nav-top__dropdown-item--danger,.nav-top__dropdown-item--danger .icon{color:var(--color-error)}.nav-top__dropdown-divider{height:1px;background:var(--border-color);margin:4px 6px}.app-main{display:flex;flex-direction:column;gap:28px;padding:32px 32px 92px;min-width:0}.nav-top__left{display:flex;align-items:center;gap:12px;min-width:0}.nav-top__hamburger{display:none;align-items:center;justify-content:center;flex-shrink:0;background:none;border:none;cursor:pointer;padding:6px;color:var(--color-primary-text);border-radius:6px;transition:background .2s}.nav-top__hamburger:hover{background:#ffffff26}.nav-left{background:#fff;border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow-y:auto}.nav-left__close{display:none}.nav-left__list{list-style:none;padding:12px 8px;display:flex;flex-direction:column;gap:2px}.nav-left__item{display:flex;align-items:center;gap:12px;padding:10px 12px;font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-body);text-decoration:none;border-radius:8px;transition:background .12s,color .12s}.nav-left__item:hover{background:var(--color-passive-light)}.nav-left__item--active{background:#1a6dc41a;color:var(--color-primary);font-weight:var(--font-bold)}.nav-left__item .icon{font-size:20px;color:var(--text-muted);flex-shrink:0;transition:color .12s}.nav-left__item:hover .icon{color:var(--text-secondary)}.nav-left__item--active .icon{color:var(--color-primary)}.field-wrapper{display:flex;flex-direction:column}.field-hint{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-secondary);padding:4px 0 0 4px}.field-required{color:var(--color-error);margin-left:2px}.textarea-field{margin-top:24px}.textarea-field textarea{width:100%;padding:13px 15px;font-family:var(--font-sans);font-size:var(--text-md);color:var(--text-primary);background:var(--bg-input);border:1.5px solid var(--border-color);border-radius:10px;outline:none;resize:vertical;transition:border-color .2s;box-sizing:border-box;min-height:80px}.textarea-field textarea::placeholder{color:var(--text-secondary);font-weight:var(--font-regular)}.textarea-field textarea:focus{border-color:var(--border-color-focus)}.textarea-field textarea:focus+label{color:var(--text-primary);border-color:var(--border-color-focus)}.textarea-field.input-field--readonly textarea{background:var(--bg-readonly);border-color:var(--border-color-readonly);border-style:dashed;cursor:not-allowed;resize:none}.pw-criteria{list-style:none;display:flex;flex-direction:column;gap:1px;padding:4px 0 0}.pw-criteria__item{display:flex;align-items:center;gap:4px;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-muted);transition:color .2s}.pw-criteria__item.is-met{color:var(--color-success, #2a7a3b)}.pw-criteria__icon{font-size:16px;line-height:1;flex-shrink:0}.pw-mismatch input{border-color:var(--color-error)}.pw-mismatch label{color:var(--color-error);border-color:var(--color-error)}.wysiwyg-field{position:relative;display:flex;flex-direction:column;border:1.5px solid var(--border-color);border-radius:10px;background:var(--bg-input);transition:border-color .2s;margin-top:17px}.wysiwyg-field:focus-within{border-color:var(--border-color-focus)}.wysiwyg-field>label{position:absolute;top:0;left:12px;transform:translateY(calc(-50% - 2px));padding:2px 6px;font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:.02em;color:var(--text-secondary);background:#efefef;border:1.5px solid var(--border-color);border-radius:5px;pointer-events:none;white-space:nowrap;transition:color .2s,border-color .2s}.wysiwyg-field:focus-within>label{color:var(--text-primary);border-color:var(--border-color-focus)}.wysiwyg-toolbar{display:flex;align-items:center;gap:2px;padding:8px 8px 6px;background:#f9f9f9;border-bottom:1px solid var(--border-color);flex-wrap:wrap;border-radius:8px 8px 0 0}.wysiwyg-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;cursor:pointer;color:var(--text-secondary);font-size:20px;transition:background .12s,color .12s}.wysiwyg-btn:hover{background:#ebebeb;color:var(--text-primary)}.wysiwyg-btn.is-active{background:var(--color-primary);color:#fff}.wysiwyg-sep{width:1px;height:20px;background:var(--border-color);margin:0 4px;flex-shrink:0}.wysiwyg-editor{padding:12px 14px;font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);outline:none;overflow-y:auto;line-height:1.6}.wysiwyg-editor:empty:before{content:attr(data-placeholder);color:var(--text-secondary);pointer-events:none}.wysiwyg-editor ul,.wysiwyg-editor ol{padding-left:1.5em;margin:.4em 0}.wysiwyg-editor ul{list-style:disc}.wysiwyg-editor ol{list-style:decimal}.wysiwyg-editor li{margin:.2em 0}.wysiwyg-hidden{display:none}.unit-label{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-secondary);padding:0 4px;white-space:nowrap;flex-shrink:0;pointer-events:none}.filtered-list-wrapper{display:flex;flex-direction:column;gap:12px}.list-empty{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:var(--text-sm);list-style:none}.notification-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:9000;pointer-events:none}.notification{position:relative;display:flex;align-items:flex-start;gap:10px;padding:14px 36px 14px 16px;border-radius:12px;border:1.5px solid var(--border-color);border-left-width:4px;background:#fff;box-shadow:0 4px 20px #0000001f;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);min-width:260px;max-width:380px;pointer-events:auto;animation:notif-in .3s cubic-bezier(.34,1.56,.64,1) both}.notification__close{position:absolute;top:8px;right:8px;background:none;border:none;padding:2px;cursor:pointer;color:var(--text-secondary);line-height:1;opacity:.5}.notification__close:hover{opacity:1}.notification__close .icon{font-size:16px}@keyframes notif-in{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}.notification.is-hiding{animation:notif-out .25s ease forwards}@keyframes notif-out{to{transform:translate(120%);opacity:0}}.notification__icon{font-size:22px;line-height:1;flex-shrink:0;margin-top:1px}.notification__body{flex:1;min-width:0}.notification__title{font-weight:var(--font-bold);line-height:1.3}.notification__msg{font-size:var(--text-sm);color:var(--text-secondary);margin-top:3px;line-height:1.4}.notification--success{border-left-color:var(--color-success, #2a7a3b)}.notification--success .notification__icon{color:var(--color-success, #2a7a3b)}.notification--error{border-left-color:var(--color-error)}.notification--error .notification__icon{color:var(--color-error)}.notification--warning{border-left-color:var(--color-alert)}.notification--warning .notification__icon{color:var(--color-alert)}.notification--info{border-left-color:var(--color-primary)}.notification--info .notification__icon{color:var(--color-primary)}.notification--static{animation:none;min-width:0;max-width:none;width:100%;box-sizing:border-box;margin-bottom:1rem;cursor:default}.page-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.site-footer{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px 24px;font-size:var(--text-sm);color:var(--text-secondary)}.site-footer__link{color:var(--text-secondary);text-decoration:none}.site-footer__link:hover{color:var(--color-primary);text-decoration:underline}.auth-page{background:#f3f3f3;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}.auth-card{background:#fff;border:1.5px solid var(--border-color);border-radius:14px;padding:36px 40px;width:100%;max-width:440px;box-shadow:0 4px 24px #00000014}.auth-brand{display:block;font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-primary);text-decoration:none;text-align:center;margin-bottom:24px;opacity:1;transition:opacity .15s}.auth-brand:hover{opacity:.8}.auth-title{font-size:var(--text-xl, 20px);font-weight:var(--font-bold);color:var(--text-primary);text-align:center;margin:0 0 24px}.auth-form{display:flex;flex-direction:column}.auth-form-actions{display:flex;flex-direction:column;gap:10px;margin-top:10px}.auth-form-actions .btn{width:100%;justify-content:center}.auth-links{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:20px;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-secondary)}.auth-links a{color:var(--color-primary);text-decoration:none;font-weight:var(--font-bold)}.auth-links a:hover{text-decoration:underline}.auth-alert{padding:12px 16px;border-radius:8px;font-family:var(--font-sans);font-size:var(--text-sm);margin-bottom:4px;border-left:4px solid transparent}.auth-alert--error{background:#dc354514;color:var(--color-error);border-left-color:var(--color-error)}.auth-alert--success{background:#2a7a3b14;color:var(--color-success, #2a7a3b);border-left-color:var(--color-success, #2a7a3b)}.auth-alert--info{background:#1a6dc414;color:var(--color-primary);border-left-color:var(--color-primary)}.auth-info{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-secondary);text-align:center;padding:8px 0}.section{display:flex;flex-direction:column;gap:10px}.flex-spacer-1{flex:1}.flex-spacer-2{flex:2}.data-view{display:block}.demo-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.tile-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px 16px;margin-top:10px;border:1.5px solid transparent;border-radius:12px;text-decoration:none;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-bold);text-align:center;width:100%;transition:opacity .15s,transform .12s;user-select:none;box-sizing:border-box}.tile-card .icon{font-size:32px;line-height:1}.tile-card:hover{opacity:.85;transform:translateY(-2px)}.tile-card--passive{background:var(--color-passive-light, #f3f3f3);color:var(--text-body);border-color:var(--border-color)}.tile-card--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.tile-card--primary .icon{color:#fff}.tile-card--secondary{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary)}.tile-card--secondary .icon{color:#fff}.image-upload-field{display:flex;flex-direction:column;gap:4px;padding:16px;border:1.5px solid var(--border-color);border-radius:10px;background:var(--bg-input);position:relative;margin-top:24px}.image-upload-field>label{position:absolute;top:0;left:12px;transform:translateY(calc(-50% - 2px));padding:2px 6px;font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:.02em;color:var(--text-secondary);line-height:var(--leading-snug);background:#efefef;border:1.5px solid var(--border-color);border-radius:5px;pointer-events:none;white-space:nowrap}.image-upload__preview-wrap{position:relative;width:120px;height:120px;flex-shrink:0}.image-upload__preview{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:10px;background:var(--color-passive-light, #f3f3f3);border:1.5px dashed var(--border-color);overflow:hidden}.image-upload__clear-btn{position:absolute;bottom:5px;right:5px;width:22px;height:22px;border-radius:50%;border:none;background:#0000008c;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .2s;z-index:1}.image-upload__clear-btn .icon{font-size:15px;line-height:1}.image-upload__clear-btn:hover{background:#000000bf}.image-upload__img{width:100%;height:100%;object-fit:cover}.image-upload__placeholder{font-size:40px;color:var(--text-muted);line-height:1}.image-upload__actions{display:flex;gap:0 10px;flex-wrap:wrap;align-items:center}.image-upload-field.is-drag-over{border-color:var(--color-primary);box-shadow:0 0 0 3px #1a6dc426}.image-upload-field.is-drag-over .image-upload__preview{border-color:var(--color-primary)}.image-crop-body{display:flex;justify-content:center}.image-crop-area{position:relative;display:inline-block;line-height:0;user-select:none;overflow:hidden}.image-crop-area img{display:block;max-width:100%}.image-crop-frame{position:absolute;border:2px solid var(--color-primary);box-shadow:0 0 0 9999px #00000073;cursor:move;box-sizing:border-box;opacity:.7}.image-crop-handle{position:absolute;width:14px;height:14px;background:var(--color-primary);border:2px solid var(--color-primary-dark);border-radius:3px;opacity:.9}.image-crop-handle--nw{top:-7px;left:-7px;cursor:nw-resize}.image-crop-handle--ne{top:-7px;right:-7px;cursor:ne-resize}.image-crop-handle--sw{bottom:-7px;left:-7px;cursor:sw-resize}.image-crop-handle--se{bottom:-7px;right:-7px;cursor:se-resize}@media(max-width:768px){.app-layout{grid-template-columns:1fr}.nav-top__hamburger{display:flex}.nav-left{display:none}.nav-left.is-open{display:flex;position:fixed;top:56px;left:0;bottom:0;width:260px;z-index:500;box-shadow:4px 0 24px #00000026}.app-main{padding:16px}.tile-card{width:calc(50% - 6px)}}@media(min-width:768px){.tile-card{width:160px}}.user-count-info{font-size:var(--text-sm);color:var(--text-secondary);margin-left:auto}
