@charset "UTF-8";:root{--tagify-dd-color-primary:rgb(53,149,246);--tagify-dd-text-color:black;--tagify-dd-bg-color:white;--tagify-dd-item-pad:.3em .5em;--tagify-dd-max-height:300px}.tagify{--tags-disabled-bg:#F1F1F1;--tags-border-color:#DDD;--tags-hover-border-color:#CCC;--tags-focus-border-color:#3595f6;--tag-border-radius:3px;--tag-bg:#E5E5E5;--tag-hover:#D3E2E2;--tag-text-color:black;--tag-text-color--edit:black;--tag-pad:.3em .5em;--tag-inset-shadow-size:1.2em;--tag-invalid-color:#D39494;--tag-invalid-bg:rgba(211, 148, 148, .5);--tag--min-width:1ch;--tag--max-width:100%;--tag-hide-transition:.3s;--tag-remove-bg:rgba(211, 148, 148, .3);--tag-remove-btn-color:black;--tag-remove-btn-bg:none;--tag-remove-btn-bg--hover:#c77777;--input-color:inherit;--placeholder-color:rgba(0, 0, 0, .4);--placeholder-color-focus:rgba(0, 0, 0, .25);--loader-size:.8em;--readonly-striped:1;display:inline-flex;align-items:flex-start;align-content:baseline;flex-wrap:wrap;border:1px solid var(--tags-border-color);padding:0;line-height:0;outline:0;position:relative;box-sizing:border-box;transition:.1s}@keyframes tags--bump{30%{transform:scale(1.2)}}@keyframes rotateLoader{to{transform:rotate(1turn)}}.tagify:has([contenteditable=true]){cursor:text}.tagify:hover:not(.tagify--focus):not(.tagify--invalid){--tags-border-color:var(--tags-hover-border-color)}.tagify[disabled]{background:var(--tags-disabled-bg);filter:saturate(0);opacity:.5;pointer-events:none}.tagify[disabled].tagify--empty>.tagify__input:before{position:relative}.tagify[disabled].tagify--select,.tagify[readonly].tagify--select{pointer-events:none}.tagify[disabled]:not(.tagify--mix):not(.tagify--select):not(.tagify--empty),.tagify[readonly]:not(.tagify--mix):not(.tagify--select):not(.tagify--empty){cursor:default}.tagify[disabled]:not(.tagify--mix):not(.tagify--select):not(.tagify--empty)>.tagify__input,.tagify[readonly]:not(.tagify--mix):not(.tagify--select):not(.tagify--empty)>.tagify__input{visibility:hidden;width:0;margin:5px 0}.tagify[disabled]:not(.tagify--mix):not(.tagify--select):not(.tagify--empty) .tagify__tag>div,.tagify[readonly]:not(.tagify--mix):not(.tagify--select):not(.tagify--empty) .tagify__tag>div{padding:var(--tag-pad)}.tagify[disabled]:not(.tagify--mix):not(.tagify--select):not(.tagify--empty) .tagify__tag>div:before,.tagify[readonly]:not(.tagify--mix):not(.tagify--select):not(.tagify--empty) .tagify__tag>div:before{animation:readonlyStyles 1s calc(-1s * (var(--readonly-striped) - 1)) paused}.tagify[disabled] .tagify__tag__removeBtn,.tagify[readonly] .tagify__tag__removeBtn{display:none}.tagify--loading .tagify__input>br:last-child{display:none}.tagify--loading .tagify__input:before{content:none}.tagify--loading .tagify__input:after{content:"";vertical-align:middle;opacity:1;width:.7em;height:.7em;width:var(--loader-size);height:var(--loader-size);min-width:0;border:3px solid;border-color:#eee #bbb #888 transparent;border-radius:50%;animation:rotateLoader .4s infinite linear;content:""!important;margin:-2px 0 -2px .5em}.tagify--loading .tagify__input:empty:after{margin-left:0}.tagify+input,.tagify+textarea{position:absolute!important;left:-9999em!important;transform:scale(0)!important}.tagify__tag{display:inline-flex;align-items:center;max-width:var(--tag--max-width);margin-inline:5px 0;margin-block:5px;position:relative;z-index:1;outline:0;line-height:normal;cursor:default;transition:.13s ease-out}.tagify__tag>div{display:flex;flex:1;vertical-align:top;box-sizing:border-box;max-width:100%;padding:var(--tag-pad);color:var(--tag-text-color);line-height:inherit;border-radius:var(--tag-border-radius);white-space:nowrap;transition:.13s ease-out}.tagify__tag>div>*{white-space:pre-wrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:top;min-width:var(--tag--min-width);max-width:var(--tag--max-width);transition:.8s ease,.1s color}.tagify__tag>div>[contenteditable]{display:block;outline:0;-webkit-user-select:text;user-select:text;cursor:text;margin:-2px;padding:2px;max-width:350px}.tagify__tag>div>:only-child{width:100%}.tagify__tag>div:before{content:"";position:absolute;border-radius:inherit;inset:var(--tag-bg-inset,0);z-index:-1;pointer-events:none;transition:.12s ease;animation:tags--bump .3s ease-out 1;box-shadow:0 0 0 var(--tag-inset-shadow-size) var(--tag-bg) inset}.tagify__tag:focus div:before,.tagify__tag:hover:not([readonly]) div:before{--tag-bg-inset:-2.5px;--tag-bg:var(--tag-hover)}.tagify__tag--loading{pointer-events:none}.tagify__tag--loading .tagify__tag__removeBtn{display:none}.tagify__tag--loading:after{--loader-size:.4em;content:"";vertical-align:middle;opacity:1;width:.7em;height:.7em;width:var(--loader-size);height:var(--loader-size);min-width:0;border:3px solid;border-color:#eee #bbb #888 transparent;border-radius:50%;animation:rotateLoader .4s infinite linear;margin:0 .5em 0 -.1em}.tagify__tag--flash div:before{animation:none}.tagify__tag--hide{width:0!important;padding-left:0;padding-right:0;margin-left:0;margin-right:0;opacity:0;transform:scale(0);transition:var(--tag-hide-transition);pointer-events:none}.tagify__tag--hide>div>*{white-space:nowrap}.tagify__tag.tagify--noAnim>div:before{animation:none}.tagify__tag.tagify--notAllowed:not(.tagify__tag--editable) div>span{opacity:.5}.tagify__tag.tagify--notAllowed:not(.tagify__tag--editable) div:before{--tag-bg:var(--tag-invalid-bg);transition:.2s}.tagify__tag[readonly] .tagify__tag__removeBtn{display:none}.tagify__tag[readonly]>div:before{animation:readonlyStyles 1s calc(-1s * (var(--readonly-striped) - 1)) paused}@keyframes readonlyStyles{0%{background:linear-gradient(45deg,var(--tag-bg) 25%,transparent 25%,transparent 50%,var(--tag-bg) 50%,var(--tag-bg) 75%,transparent 75%,transparent) 0/5px 5px;box-shadow:none;filter:brightness(.95)}}.tagify__tag--editable>div{color:var(--tag-text-color--edit)}.tagify__tag--editable>div:before{box-shadow:0 0 0 2px var(--tag-hover) inset!important}.tagify__tag--editable>.tagify__tag__removeBtn{pointer-events:none;opacity:0;transform:translate(100%) translate(5px)}.tagify__tag--editable.tagify--invalid>div:before{box-shadow:0 0 0 2px var(--tag-invalid-color) inset!important}.tagify__tag__removeBtn{order:5;display:inline-flex;align-items:center;justify-content:center;border-radius:50px;cursor:pointer;font:14px/1 Arial;background:var(--tag-remove-btn-bg);color:var(--tag-remove-btn-color);width:14px;height:14px;margin-inline:auto 4.6666666667px;overflow:hidden;transition:.2s ease-out}.tagify__tag__removeBtn:after{content:"×";transition:.3s,color 0s}.tagify__tag__removeBtn:hover{color:#fff;background:var(--tag-remove-btn-bg--hover)}.tagify__tag__removeBtn:hover+div>span{opacity:.5}.tagify__tag__removeBtn:hover+div:before{box-shadow:0 0 0 var(--tag-inset-shadow-size) var(--tag-remove-bg,rgba(211,148,148,.3)) inset!important;transition:box-shadow .2s}.tagify:not(.tagify--mix) .tagify__input br{display:none}.tagify:not(.tagify--mix) .tagify__input *{display:inline;white-space:nowrap}.tagify__input{flex-grow:1;display:inline-block;margin:5px;padding:var(--tag-pad);line-height:normal;min-width:110px;min-height:1.5lh;position:relative;white-space:pre-wrap;color:var(--input-color);box-sizing:inherit;overflow:hidden}.tagify__input:focus{outline:0}.tagify__input:focus:before{transition:.2s ease-out;opacity:0;transform:translate(6px)}@supports (-ms-ime-align:auto){.tagify__input:focus:before{display:none}}.tagify__input:focus:empty:before{transition:.2s ease-out;opacity:1;transform:none;color:#00000040;color:var(--placeholder-color-focus)}@-moz-document url-prefix(){.tagify__input:focus:empty:after{display:none}}.tagify__input:before{content:attr(data-placeholder);width:100%;height:100%;margin:auto 0;z-index:1;color:var(--placeholder-color);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;pointer-events:none;opacity:0;position:absolute}.tagify__input:after{content:attr(data-suggest);display:inline-block;vertical-align:middle;position:absolute;min-width:calc(100% - 1.5em);text-overflow:ellipsis;overflow:hidden;white-space:pre;color:var(--tag-text-color);opacity:.3;pointer-events:none;max-width:100px}.tagify__input .tagify__tag{margin:0 1px}.tagify--mix{display:block}.tagify--mix .tagify__input{padding:5px;margin:0;width:100%;height:100%;line-height:1.5;display:block}.tagify--mix .tagify__input:before{height:auto;display:none;line-height:inherit}.tagify--mix .tagify__input:after{content:none}.tagify--select{cursor:default}.tagify--select:after{content:">";opacity:.5;position:absolute;top:50%;right:0;bottom:0;font:16px monospace;line-height:8px;height:8px;pointer-events:none;transform:translate(-150%,-50%) scaleX(1.2) rotate(90deg);transition:.2s ease-in-out}.tagify--select[aria-expanded=true]:after{transform:translate(-150%,-50%) rotate(270deg) scaleY(1.2)}.tagify--select[aria-expanded=true] .tagify__tag__removeBtn{pointer-events:none;opacity:0;transform:translate(100%) translate(5px)}.tagify--select .tagify__tag{flex:1;max-width:none;margin-inline-end:2em;margin-block:0;padding-block:5px;cursor:text}.tagify--select .tagify__tag div:before{display:none}.tagify--select .tagify__tag+.tagify__input{display:none}.tagify--empty .tagify__input:before{transition:.2s ease-out;opacity:1;transform:none;display:inline-block;width:auto}.tagify--mix .tagify--empty .tagify__input:before{display:inline-block}.tagify--focus{--tags-border-color:var(--tags-focus-border-color);transition:0s}.tagify--invalid{--tags-border-color:#D39494}.tagify__dropdown{position:absolute;z-index:9999;transform:translateY(-1px);border-top:1px solid var(--tagify-dd-color-primary);overflow:hidden}.tagify__dropdown[dir=rtl]{transform:translate(-100%,-1px)}.tagify__dropdown[placement=top]{margin-top:0;transform:translateY(-100%)}.tagify__dropdown[placement=top] .tagify__dropdown__wrapper{border-top-width:1.1px;border-bottom-width:0}.tagify__dropdown[position=text]{box-shadow:0 0 0 3px rgba(var(--tagify-dd-color-primary),.1);font-size:.9em}.tagify__dropdown[position=text] .tagify__dropdown__wrapper{border-width:1px}.tagify__dropdown__wrapper{scroll-behavior:auto;max-height:var(--tagify-dd-max-height);overflow:hidden;overflow-x:hidden;color:var(--tagify-dd-text-color);background:var(--tagify-dd-bg-color);border:1px solid;border-color:var(--tagify-dd-color-primary);border-bottom-width:1.5px;border-top-width:0;box-shadow:0 2px 4px -2px #0003;transition:.3s cubic-bezier(.5,0,.3,1),transform .15s;animation:dd-wrapper-show 0s .3s forwards}@keyframes dd-wrapper-show{to{overflow-y:auto}}.tagify__dropdown__header:empty{display:none}.tagify__dropdown__footer{display:inline-block;margin-top:.5em;padding:var(--tagify-dd-item-pad);font-size:.7em;font-style:italic;opacity:.5}.tagify__dropdown__footer:empty{display:none}.tagify__dropdown--initial .tagify__dropdown__wrapper{max-height:20px;transform:translateY(-1em)}.tagify__dropdown--initial[placement=top] .tagify__dropdown__wrapper{transform:translateY(2em)}.tagify__dropdown__item{box-sizing:border-box;padding:var(--tagify-dd-item-pad);margin:1px;white-space:pre-wrap;cursor:pointer;border-radius:2px;outline:0;max-height:60px;max-width:100%;line-height:normal;position:relative}.tagify__dropdown__item--active{background:var(--tagify-dd-color-primary);color:#fff}.tagify__dropdown__item:active{filter:brightness(105%)}.tagify__dropdown__item--hidden{padding-top:0;padding-bottom:0;margin:0 1px;pointer-events:none;overflow:hidden;max-height:0;transition:var(--tagify-dd-item--hidden-duration,.3s)!important}.tagify__dropdown__item--hidden>*{transform:translateY(-100%);opacity:0;transition:inherit}.tagify__dropdown__item--selected:before{content:"✓";font-family:monospace;position:absolute;inset-inline-start:6px;text-indent:0;line-height:1.1}.tagify__dropdown:has(.tagify__dropdown__item--selected) .tagify__dropdown__item{text-indent:1em}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #1a1a1a;--bg-secondary: #2a2a2a;--bg-tertiary: #3a3a3a;--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--accent: #4a9eff;--accent-hover: #3a8eef;--border: #444;--success: #4caf50;--warning: #ff9800;--error: #f44336}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:2rem}.header{text-align:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px solid var(--border)}.header h1{font-size:2.5rem;margin-bottom:.5rem;color:var(--accent)}.header p{color:var(--text-secondary);font-size:1.1rem}.main{display:flex;flex-direction:column;gap:2rem}.section{background:var(--bg-secondary);padding:2rem;border-radius:12px;border:1px solid var(--border)}.section h2{font-size:1.5rem;margin-bottom:1.5rem;color:var(--text-primary)}.input-group{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width: 768px){.input-group{grid-template-columns:1fr}}.drop-zone{border:2px dashed var(--border);border-radius:8px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:var(--bg-tertiary)}.drop-zone:hover,.drop-zone.dragging{border-color:var(--accent);background:#4a9eff1a}.dz-icon{font-size:3rem;margin-bottom:1rem}.dz-text{font-size:1.1rem;color:var(--text-primary);margin-bottom:.5rem}.dz-hint{color:var(--text-secondary);font-size:.9rem}.textarea-wrapper{display:flex;flex-direction:column;gap:.5rem}.textarea-wrapper label{color:var(--text-secondary);font-size:.9rem}textarea{width:100%;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:Courier New,monospace;font-size:1rem;resize:vertical}textarea:focus{outline:none;border-color:var(--accent)}.teacher-count{color:var(--text-secondary);font-size:.9rem;text-align:right}.teacher-count span{color:var(--accent);font-weight:700}.exam-settings{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.setting-row{display:flex;flex-direction:column;gap:.5rem}.setting-row.full-width{grid-column:1 / -1}.setting-row label{color:var(--text-secondary);font-size:.9rem}input[type=number],input[type=text]{padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:1rem}input[type=number]:focus,input[type=text]:focus{outline:none;border-color:var(--accent)}.constraints{display:flex;flex-direction:column;gap:1rem}.constraint-item{padding:1rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border)}.constraint-item.hard{border-left:3px solid var(--error)}.constraint-item label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.constraint-item input[type=checkbox]{width:20px;height:20px;cursor:pointer}.constraint-item input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}.constraint-name{font-weight:600;color:var(--text-primary)}.constraint-desc{color:var(--text-secondary);font-size:.85rem;margin-left:auto}.btn-primary,.btn-secondary{padding:1rem 2rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #4a9eff4d}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-primary)}.progress{margin-top:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px;text-align:center;color:var(--accent)}.progress.hidden{display:none}.result-section{border:2px solid var(--success)}.result-section.hidden{display:none}.result-stats{padding:1rem;background:var(--bg-tertiary);border-radius:8px;margin-bottom:1.5rem}.result-actions{margin-bottom:1.5rem}.result-preview{margin-top:1.5rem}.result-preview h3,.result-preview h4{margin-bottom:1rem;color:var(--text-secondary)}.result-preview pre,.schedule-preview,.validation-preview{background:var(--bg-primary);padding:1.5rem;border-radius:8px;border:1px solid var(--border);overflow-x:auto;font-family:Courier New,monospace;font-size:.9rem;line-height:1.5;max-height:250px;overflow-y:auto}.validation-report{margin-bottom:2rem}.validation-preview{background:var(--bg-secondary);border-left:4px solid var(--primary);max-height:400px}.schedule-table-section{margin-bottom:2rem}.schedule-table-preview{overflow-x:auto;margin:1rem 0;border-radius:8px;border:1px solid var(--border)}.schedule-table{width:100%;border-collapse:collapse;font-size:.85rem;background:var(--bg-primary)}.schedule-table thead{background:var(--bg-secondary);position:sticky;top:0;z-index:10}.schedule-table th{padding:.75rem .5rem;text-align:center;font-weight:600;border:1px solid var(--border);color:var(--text-primary);white-space:nowrap}.schedule-table td{padding:.5rem;text-align:center;border:1px solid var(--border);color:var(--text-secondary)}.schedule-table .row-header{background:var(--bg-secondary);font-weight:600;color:var(--text-primary);text-align:left;padding-left:1rem;white-space:nowrap}.schedule-table .teacher{background:var(--bg-primary);color:var(--text-primary);font-weight:500}.schedule-table .empty{background:var(--bg-secondary);opacity:.3}.schedule-table .missing{background:#ff00001a;color:#f009}.schedule-table-preview{max-height:500px;overflow-y:auto}.schedule-table tbody tr:hover{background:#6366f10d}.schedule-table tbody tr:hover .row-header{background:#6366f11a}.teacher-input-section,.teacher-constraints-section{margin-bottom:2rem}.teacher-input-section h3,.teacher-constraints-section h3{font-size:1.2rem;margin-bottom:1rem;color:var(--text-primary)}.teacher-constraints-section>.hint{margin-bottom:1.5rem;padding:.75rem 1rem;background:var(--bg-tertiary);border-left:3px solid var(--accent);border-radius:4px}.constraints-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.constraint-box{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.constraint-box.default-box{border:2px solid var(--accent);background:#4a9eff0d}.constraint-box h4{font-size:1.1rem;margin-bottom:1rem;color:var(--accent)}.constraint-input-group{display:flex;flex-direction:column;gap:.75rem}.constraint-input-group label{color:var(--text-secondary);font-size:.9rem}.constraint-input-group textarea{min-height:100px;font-size:.9rem}.inline-setting{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--bg-secondary);border-radius:6px}.inline-setting label{color:var(--text-secondary);font-size:.9rem}.inline-setting input[type=number]{width:80px;padding:.5rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);text-align:center;font-size:1rem;font-weight:700}.inline-setting span{color:var(--text-secondary);font-size:.9rem}.day-restrictions-section{margin-top:2rem}.day-restrictions-section h3{font-size:1.2rem;margin-bottom:1rem;color:var(--text-primary)}.day-restrictions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.day-restriction-box{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.day-restriction-box h4{font-size:1rem;margin-bottom:1rem;color:var(--accent);display:flex;align-items:center;gap:.5rem}.day-restriction-box .tagify-header{margin-bottom:.5rem}.day-restriction-box .tagify{min-height:100px;max-height:200px}.day-restriction-box .teacher-count{margin-top:.5rem}.default-settings-section{margin-bottom:2rem}.default-settings-section h3{font-size:1.2rem;margin-bottom:1rem;color:var(--text-primary)}.default-settings-box{display:flex;gap:2rem;padding:1.5rem;background:var(--bg-tertiary);border:2px solid var(--accent);border-radius:8px;background:#4a9eff0d}.constraint-options-section{margin-bottom:2rem}.constraint-options-section h3{font-size:1.2rem;margin-bottom:1rem;color:var(--text-primary)}.constraint-options{display:flex;flex-direction:column;gap:1.5rem}.constraint-option-box{padding:1.5rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px}.option-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.option-header h4{font-size:1.1rem;color:var(--accent);margin-bottom:.5rem}.option-header .option-desc{color:var(--text-secondary);font-size:.9rem;margin:0}.option-control{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.option-control label{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.option-control input[type=number]{width:80px;padding:.5rem;text-align:center;font-size:1rem;font-weight:700}.option-control input[type=radio]{width:18px;height:18px;cursor:pointer}.option-control .option-name{font-weight:600;color:var(--text-primary)}.option-control .option-desc{color:var(--text-secondary);font-size:.85rem;font-style:italic}.option-note{margin-top:1rem;padding:1rem;background:#4a9eff1a;border-left:3px solid var(--accent);border-radius:4px;font-size:.9rem;line-height:1.6;color:var(--text-secondary)}.option-note strong{color:var(--accent)}.constraint-option{padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px}.constraint-option label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.constraint-option input[type=checkbox]{width:20px;height:20px;cursor:pointer}.option-name{font-weight:600;color:var(--text-primary)}.option-desc{color:var(--text-secondary);font-size:.85rem}.validation-section{margin-top:2rem;padding:1.5rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border)}.validation-section h3{font-size:1.2rem;margin-bottom:1rem;color:var(--text-primary)}.validation-grid{display:flex;flex-direction:column;gap:.75rem;max-height:500px;overflow-y:auto;padding-right:.5rem}.validation-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--bg-secondary);border-radius:6px;border-left:4px solid var(--border);transition:all .2s ease}.validation-item:hover{background:var(--bg-tertiary)}.validation-item.success{border-left-color:var(--success);background:#4caf500d}.validation-item.warning{border-left-color:var(--warning);background:#ff98000d}.validation-item.error{border-left-color:var(--error);background:#f443360d;animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.validation-icon{font-size:1.3rem;min-width:28px;line-height:1;margin-top:2px}.validation-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.validation-text{color:var(--text-primary);font-size:.95rem;font-weight:500;line-height:1.4}.validation-detail{color:var(--text-secondary);font-size:.85rem;line-height:1.5;font-family:Courier New,monospace;background:#0003;padding:.4rem .6rem;border-radius:4px;margin-top:.25rem}.validation-summary{display:flex;gap:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:6px;margin-bottom:1rem;flex-wrap:wrap}.validation-summary-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);border-radius:6px;font-size:.9rem}.validation-summary-item .count{font-weight:700;font-size:1.1rem}.validation-summary-item.success .count{color:var(--success)}.validation-summary-item.warning .count{color:var(--warning)}.validation-summary-item.error .count{color:var(--error)}.step-indicator{display:flex;justify-content:center;gap:1rem;margin-top:2rem;flex-wrap:wrap}.step{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;font-size:.9rem;color:var(--text-secondary);transition:all .3s ease}.step.active{background:var(--accent);color:#fff;border-color:var(--accent)}.step.completed{background:var(--success);color:#fff;border-color:var(--success)}.step-content{display:none}.step-content.active{display:block}.daily-classes-section{margin-top:2rem}.daily-classes-section h3{font-size:1.2rem;margin-bottom:1rem;color:var(--text-secondary)}.daily-classes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.daily-class-input{display:flex;flex-direction:column;gap:.5rem}.daily-class-input label{color:var(--text-secondary);font-size:.9rem;font-weight:600}.daily-class-input input{padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:1rem}.navigation-buttons{display:flex;gap:1rem;margin-top:2rem}.navigation-buttons button{flex:1}.hint{color:var(--text-secondary);font-size:.85rem;margin-top:.25rem;display:block}.placeholder{padding:3rem;text-align:center;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:8px;border:2px dashed var(--border)}.footer{text-align:center;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border);color:var(--text-secondary);font-size:.9rem}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.tagify-wrapper{width:100%}.tagify-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.tagify-header label{color:var(--text-secondary);font-size:.9rem}.btn-upload{padding:.4rem .8rem;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .3s ease}.btn-upload:hover{background:var(--accent);border-color:var(--accent);color:#fff}.tagify-input{width:100%}.tagify{--tags-border-color: var(--border);--tags-hover-border-color: var(--accent);--tags-focus-border-color: var(--accent);--tag-bg: var(--bg-tertiary);--tag-hover: var(--accent);--tag-text-color: var(--text-primary);--tag-text-color--edit: var(--text-primary);--tag-pad: .4em .6em;--tag-inset-shadow-size: 1.1em;--tag-invalid-color: var(--error);--tag-invalid-bg: rgba(244, 67, 54, .2);--tag-remove-bg: rgba(244, 67, 54, .3);--tag-remove-btn-color: var(--text-primary);--tag-remove-btn-bg: none;--tag-remove-btn-bg--hover: var(--error);--input-color: var(--text-primary);--placeholder-color: var(--text-secondary);--placeholder-color-focus: var(--text-secondary);border-radius:6px;background:var(--bg-tertiary);border:1px solid var(--border);padding:.5rem;min-height:100px;max-height:300px;overflow-y:auto}.tagify:hover{border-color:var(--accent)}.tagify.tagify--focus{border-color:var(--accent);box-shadow:0 0 0 2px #4a9eff33}.tagify__tag{margin:3px}.tagify__tag-text{color:var(--text-primary)}.tagify__input{color:var(--text-primary);margin:3px;padding:.3em}.tagify__input:before{color:var(--text-secondary)}.tagify__tag.tagify--mark{--tag-bg: var(--tag-invalid-bg);animation:shake .3s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.preview-section{margin-bottom:2rem}.preview-summary{display:grid;gap:1.5rem}.preview-group{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.preview-group h4{margin:0 0 1rem;color:var(--accent);font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.preview-group h4:before{content:"";display:inline-block;width:4px;height:1.2rem;background:var(--accent);border-radius:2px}.preview-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--border)}.preview-item:last-child{border-bottom:none}.preview-label{color:var(--text-secondary);font-size:.95rem}.preview-value{color:var(--text-primary);font-weight:500;font-size:1rem}.preview-value.highlight{color:var(--accent);font-weight:600}.preview-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.preview-tag{display:inline-block;padding:.3rem .6rem;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;font-size:.85rem}.preview-tag.count{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.advanced-constraints-section{margin-top:2rem;padding:1.5rem;background:var(--bg-secondary);border:1px dashed var(--border);border-radius:8px}.advanced-constraints-section h3{margin-top:0;color:var(--text-secondary)}.feature-list{list-style:none;padding:0;margin:1rem 0 0}.feature-list li{padding:.5rem 0;color:var(--text-secondary);font-size:.95rem}.quick-edit-btn{padding:.3rem .8rem;background:var(--bg-tertiary);color:var(--accent);border:1px solid var(--accent);border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .3s ease}.quick-edit-btn:hover{background:var(--accent);color:#fff}
