body{margin:0}:root{--green:#c0d800;--green-dark:#9ab000;--dark:#2d2d2d;--grey:#757575;--light:#f7f8fa;--border:#e4e7ec;--danger:#d32f2f;color:var(--dark);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--light);min-height:100vh;margin:0}.app{min-height:100vh}.app-header{border-bottom:1px solid var(--border);background:#fff;box-shadow:0 1px 4px #0000000a}.app-header-inner{align-items:center;gap:1rem;max-width:960px;margin:0 auto;padding:1rem 1.5rem;display:flex}.app-header .logo{width:auto;height:48px;display:block}.app-header-text h1{color:var(--dark);margin:0;font-size:1.25rem;font-weight:700}.app-header-text p{color:var(--grey);margin:.1rem 0 0;font-size:.85rem}.app-main{flex-direction:column;gap:1.25rem;max-width:960px;margin:0 auto;padding:1.5rem;display:flex}.panel{border:1px solid var(--border);background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000000a}.panel h2{color:var(--dark);margin:0 0 1rem;font-size:1.1rem}.panel-subtitle{color:var(--grey);margin:.2rem 0 0;font-size:.85rem}.panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.panel-header h2{margin:0}.panel-actions{align-items:center;gap:.75rem;display:flex}.empty-state{text-align:center;color:var(--grey);padding:3rem 1.5rem}.empty-icon{margin-bottom:.5rem;font-size:2.5rem}.empty-state h2{color:var(--dark)}.form-section{margin-bottom:1.5rem}.form-section h3{color:var(--green-dark);margin:0 0 .75rem;font-size:.9rem;font-weight:600}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.85rem;display:grid}.form-grid .span-2{grid-column:span 2}@media (width<=600px){.form-grid .span-2{grid-column:span 1}}label{color:var(--grey);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:.3rem;font-size:.75rem;font-weight:600;display:flex}input,select{border:1px solid var(--border);color:var(--dark);background:#fff;border-radius:8px;padding:.55rem .7rem;font-size:.95rem;transition:border-color .15s}input:focus,select:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #c0d80033}input.readonly{background:var(--light);color:var(--grey);cursor:default}.computed-date{border:1px solid var(--border);color:var(--dark);text-transform:none;background:#f0f7d4;border-radius:8px;padding:.55rem .7rem;font-size:.95rem;font-weight:600}.field-hint{color:var(--grey);text-transform:none;letter-spacing:0;font-size:.7rem;font-weight:400}.field-hint.section-hint{margin:0 0 .75rem}.same-time-toggle{text-transform:none;color:var(--dark);cursor:pointer;flex-direction:row;align-items:center;gap:.5rem;margin-bottom:.85rem;font-size:.9rem;font-weight:500}.same-time-toggle input{width:auto;accent-color:var(--green)}.schedule-time-options{background:var(--light);border:1px solid var(--border);border-radius:8px;margin-bottom:1rem;padding:.85rem 1rem}.global-time-row{gap:1rem;margin-top:.75rem;display:flex}.global-time-row label{flex:1;max-width:160px}.time-readonly{color:var(--dark);font-weight:600}.saved-teachers{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.saved-teachers-label{color:var(--grey);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.saved-teacher-chip{background:var(--light);border:1px solid var(--border);border-radius:20px;align-items:center;display:inline-flex;overflow:hidden}.chip-select{cursor:pointer;color:var(--dark);background:0 0;border:none;padding:.35rem .6rem;font-size:.85rem}.chip-select:hover{background:#e8f5c8}.chip-remove{cursor:pointer;color:var(--grey);border:none;border-left:1px solid var(--border);background:0 0;padding:.35rem .5rem;font-size:1rem;line-height:1}.chip-remove:hover{color:var(--danger);background:#ffebee}.inline-row{gap:.5rem;display:flex}.inline-row input{flex:1}.weekdays{border:1px solid var(--border);border-radius:8px;margin-top:.85rem;padding:.85rem 1rem}.weekdays legend{color:var(--grey);text-transform:uppercase;padding:0 .4rem;font-size:.75rem;font-weight:600}.weekday-chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{border:1px solid var(--border);cursor:pointer;color:var(--dark);background:#fff;border-radius:20px;align-items:center;padding:.45rem .9rem;font-family:inherit;font-size:.88rem;font-weight:500;transition:all .15s;display:inline-flex}.chip input{display:none}.chip.active{background:var(--green);border-color:var(--green-dark);color:#1a1a1a;font-weight:700}.btn-primary,.btn-export,.btn-secondary{cursor:pointer;border:none;border-radius:8px;padding:.65rem 1.25rem;font-size:.92rem;font-weight:600;transition:all .15s}.btn-generate{width:100%;padding:.85rem;font-size:1rem}.btn-primary{background:var(--green);color:#1a1a1a}.btn-primary:hover{background:var(--green-dark)}.export-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.btn-export-png{color:var(--dark);border:1px solid var(--border);background:#fff}.btn-export-png:hover:not(:disabled){background:var(--light)}.btn-export{background:var(--dark);color:#fff}.btn-export:hover:not(:disabled){background:#444}.btn-export:disabled{opacity:.6;cursor:wait}.btn-secondary{background:var(--light);color:var(--dark);border:1px solid var(--border)}.btn-secondary:hover{background:#eee}.table-wrap{overflow-x:auto}.schedule-table{border-collapse:collapse;width:100%;font-size:.88rem}.schedule-table th{background:var(--green);color:#1a1a1a;text-align:center;white-space:nowrap;padding:.55rem .4rem;font-weight:700}.schedule-table td{border-bottom:1px solid var(--border);text-align:center;vertical-align:middle;padding:.35rem .3rem}.schedule-table td input{width:100%;min-width:80px;padding:.3rem;font-size:.85rem}.time-cell{justify-content:center;align-items:center;gap:.2rem;display:flex}.time-cell input{width:90px;min-width:0}.time-cell span{color:var(--grey)}.session-num{color:var(--green-dark);width:36px;font-weight:700}.holiday-row{background:#fffde7}.holiday-label{color:var(--grey);font-style:italic;text-align:left!important}.removed-row{opacity:.4}.btn-remove,.btn-restore{cursor:pointer;border:none;border-radius:6px;padding:.25rem .5rem;font-size:.8rem}.btn-remove{color:var(--danger);background:#ffebee;font-weight:700}.btn-restore{color:#2e7d32;background:#e8f5e9}.toggle-removed{text-transform:none;flex-direction:row;align-items:center;gap:.4rem;font-size:.82rem;font-weight:500}.add-session{border-top:1px solid var(--border);margin-top:1rem;padding-top:.75rem}.add-session summary{cursor:pointer;color:var(--grey);font-size:.88rem;font-weight:600}.add-session-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.add-session-row input{width:auto}.preview-panel{padding:1rem}.pdf-preview-wrap{background:#e8e8e8;border-radius:8px;justify-content:center;padding:1.5rem;display:flex;overflow-x:auto}.pdf-export-hidden{pointer-events:none;position:fixed;top:0;left:-9999px}.pdf-document{color:#333;background:#fff;width:210mm;min-height:297mm;padding:14mm 16mm;font-family:Segoe UI,Arial,Helvetica,sans-serif;font-size:10pt}.pdf-top{justify-content:space-between;align-items:flex-start;margin-bottom:6mm;display:flex}.pdf-logo{width:auto;height:14mm;display:block}.pdf-training-center{color:#888;letter-spacing:.35em;margin-top:2mm;font-size:7pt}.pdf-title{color:#333;margin:0 0 2mm;font-size:16pt;font-weight:700}.pdf-course-name{color:#9ab000;margin:0 0 6mm;font-size:12pt;font-weight:600}.pdf-info-grid{grid-template-columns:repeat(3,1fr);gap:3mm;margin-bottom:6mm;display:grid}.pdf-info-box{background:#f8f8f8;border:.3mm solid #e0e0e0;border-radius:2mm;padding:2.5mm 3mm}.pdf-info-label{color:#999;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1mm;font-size:6.5pt;font-weight:700;display:block}.pdf-info-value{color:#333;font-size:9pt;font-weight:500;display:block}.pdf-table{border-collapse:collapse;width:100%;margin-bottom:5mm}.pdf-table th{color:#1a1a1a;text-align:center;background:#c0d800;border:.2mm solid #b0c800;padding:2mm;font-size:8.5pt;font-weight:700}.pdf-table td{text-align:center;color:#333;border-bottom:.2mm solid #e8e8e8;padding:1.8mm 2mm;font-size:8.5pt}.pdf-holiday-row td{color:#888;font-style:italic}.pdf-footer{color:#333;margin:4mm 0 0;font-size:10pt;font-weight:700}
