:root{--primary:#2c3e50;--secondary:#3498db;--success:#27ae60;--warning:#e74c3c;--muted:#7f8c8d;--bg:#ecf0f1;--card:#fff;--border:#bdc3c7}*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;color:#2c3e50;line-height:1.6}[dir] body{margin:0;background:var(--bg)}header{color:#fff;position:sticky;top:0;z-index:1}[dir] header{padding:30px 20px;box-shadow:0 4px 20px rgba(0,0,0,.15);border-bottom:3px solid #3498db}[dir=ltr] header{background:linear-gradient(135deg,#2c3e50,#34495e)}[dir=rtl] header{background:linear-gradient(-135deg,#2c3e50,#34495e)}header h1{font-size:28px;font-weight:700;letter-spacing:-.5px;display:flex;align-items:center;gap:10px}[dir] header h1{margin:0 0 15px 0}header h1:before{content:"📋";font-size:32px}[dir] .not-allowed textarea{cursor:not-allowed}.student-info-header{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px;backdrop-filter:blur(10px)}[dir] .student-info-header{margin-top:15px;padding:15px;background:hsla(0,0%,100%,.08);border-radius:8px}.student-info-header input,.student-info-header select{color:#fff;font-size:13px;transition:all .3s ease;font-weight:500}[dir] .student-info-header input,[dir] .student-info-header select{background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.25);padding:10px 14px;border-radius:6px}.student-info-header input::placeholder,.student-info-header select::placeholder{color:hsla(0,0%,100%,.6)}.student-info-header input:focus,.student-info-header select:focus{outline:none}[dir] .student-info-header input:focus,[dir] .student-info-header select:focus{background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.4);box-shadow:0 0 0 3px rgba(52,152,219,.2)}[dir] .student-info-header input.input-error{border-color:#ff6b6b;background:hsla(0,100%,71%,.15)}.student-info-header span{display:flex;align-items:center;font-size:12px;font-weight:600;letter-spacing:.5px}[dir] .student-info-header span{padding:10px 14px;background:hsla(0,0%,100%,.1);border-radius:6px}.api-message{position:fixed;top:100px;display:flex;justify-content:space-between;align-items:center;gap:15px;z-index:2000}[dir] .api-message{padding:15px 20px;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15)}[dir=ltr] .api-message{right:20px;animation:slideIn-ltr .3s ease}[dir=rtl] .api-message{left:20px;animation:slideIn-rtl .3s ease}@keyframes slideIn-ltr{0%{transform:translateX(400px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideIn-rtl{0%{transform:translateX(-400px);opacity:0}to{transform:translateX(0);opacity:1}}.api-message.success{color:#155724}[dir] .api-message.success{background:#d4edda;border:1px solid #c3e6cb}.api-message.error{color:#721c24}[dir] .api-message.error{background:#f8d7da;border:1px solid #f5c6cb}.api-message.warning{color:#856404}[dir] .api-message.warning{background:#fff3cd;border:1px solid #ffeeba}.close-btn{font-size:24px;color:inherit}[dir] .close-btn{background:none;border:none;cursor:pointer;padding:0}.close-btn:hover{opacity:.7}.validation-errors-summary{max-width:1200px}[dir] .validation-errors-summary{background:#f8d7da;border:2px solid #e74c3c;border-radius:6px;padding:15px 20px;margin:15px 20px 20px}[dir=ltr] .validation-errors-summary,[dir=rtl] .validation-errors-summary{margin-left:auto;margin-right:auto}.validation-errors-summary h3{color:#721c24}[dir] .validation-errors-summary h3{margin:0 0 10px 0}.validation-errors-summary ul{list-style:disc}[dir] .validation-errors-summary ul{margin:0}[dir=ltr] .validation-errors-summary ul{padding-left:20px}[dir=rtl] .validation-errors-summary ul{padding-right:20px}.validation-errors-summary li{color:#721c24}[dir] .validation-errors-summary li{margin-bottom:5px}.required{color:var(--warning);font-weight:700}[dir] .input-error{border-color:var(--warning)!important;background-color:#fff5f5!important}.error-text{color:var(--warning);font-size:12px;display:block;font-weight:600}[dir] .error-text{margin-top:3px}.success-text{color:var(--success);font-size:12px;display:block;font-weight:600}[dir] .success-text{margin-top:3px}main{max-width:1200px}[dir] main{margin:20px auto;padding:0 20px}.progress-bar{top:195px;z-index:999}[dir] .progress-bar{background:#fff;border:1px solid var(--border);border-radius:8px;padding:15px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.pipeline-section{overflow:hidden;transition:all .3s ease}[dir] .pipeline-section{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:15px}.pipeline-section.collapsed .section-content{display:none}.pipeline-section h2{display:flex;justify-content:space-between;align-items:center;font-size:18px}[dir] .pipeline-section h2{margin:0;padding:15px 20px;background:#f8f9fa;cursor:pointer}[dir] .pipeline-section h2:hover{background:#e9ecef}.pipeline-section h2:after{content:"▼";font-size:12px;transition:transform .3s}[dir=ltr] .pipeline-section.collapsed h2:after{transform:rotate(-90deg)}[dir=rtl] .pipeline-section.collapsed h2:after{transform:rotate(90deg)}[dir] .section-content{padding:20px}.contract-box{font-size:14px;line-height:1.7}[dir] .contract-box{background:#fffbf0;border:2px solid #f39c12;padding:20px;border-radius:6px;margin:15px 0}.contract-box h3{color:var(--warning)}[dir] .contract-box h3{margin-top:0}[dir] .strike-counter{background:#fee;border:2px solid var(--warning);padding:15px;border-radius:6px;margin:15px 0;text-align:center}.strike-count{font-size:48px;font-weight:700;color:var(--warning)}.strike-btn{color:#fff}[dir] .strike-btn{background:var(--warning);border:none;padding:10px 20px;border-radius:4px;cursor:pointer;margin:0 5px}[dir] .strike-btn:hover{background:#c0392b}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}[dir] .form-grid{margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;font-size:14px}[dir] .form-group label{margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{font-size:14px;transition:border-color .3s}[dir] .form-group input,[dir] .form-group select,[dir] .form-group textarea{padding:8px 12px;border:1px solid var(--border);border-radius:4px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none}[dir] .form-group input:focus,[dir] .form-group select:focus,[dir] .form-group textarea:focus{border-color:var(--secondary);box-shadow:0 0 0 3px rgba(52,152,219,.1)}.form-group textarea{min-height:80px;resize:vertical}.full-width{grid-column:1/-1}.btn{color:#fff;font-weight:600;transition:background .3s}[dir] .btn{background:var(--secondary);border:none;padding:10px 20px;border-radius:4px;cursor:pointer}[dir=ltr] .btn{margin-right:10px}[dir=rtl] .btn{margin-left:10px}[dir] .btn:hover:not(:disabled){background:#2980b9}.btn:disabled{opacity:.6}[dir] .btn:disabled{cursor:not-allowed}[dir] .btn-success{background:var(--success)}[dir] .btn-success:hover:not(:disabled){background:#229954}[dir] .btn-primary{background:#3498db}[dir] .btn-primary:hover:not(:disabled){background:#2980b9}.action-bar{position:sticky;bottom:0;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}[dir] .action-bar{background:var(--card);padding:15px 20px;border-top:2px solid var(--border);box-shadow:0 -2px 10px rgba(0,0,0,.1)}[dir] .notes-box{background:#e8f4f8;padding:15px;margin:15px 0}[dir=ltr] .notes-box{border-left:4px solid var(--secondary)}[dir=rtl] .notes-box{border-right:4px solid var(--secondary)}.notes-box h4{color:var(--primary)}[dir] .notes-box h4{margin-top:0}[dir] .link-box{background:#e8f8e8;border:2px solid var(--success);padding:15px;border-radius:6px;margin:15px 0;text-align:center}.link-box a{color:var(--success);font-weight:700;text-decoration:none;font-size:16px}.link-box a:hover{text-decoration:underline}.grade-table{width:100%;border-collapse:collapse}[dir] .grade-table{margin:15px 0}[dir] .grade-table td,[dir] .grade-table th{border:1px solid var(--border);padding:8px}[dir=ltr] .grade-table td,[dir=ltr] .grade-table th{text-align:left}[dir=rtl] .grade-table td,[dir=rtl] .grade-table th{text-align:right}.grade-table th{font-weight:600}[dir] .grade-table th{background:#f8f9fa}.warning-text{color:var(--warning);font-weight:700}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}[dir] body{background:#fff;margin:0;padding:0}header{color:#fff;page-break-after:avoid;position:static;top:0;width:100%;box-sizing:border-box}[dir] header{padding:20px;border-bottom:2px solid var(--border);margin:0}[dir] header h1{margin:0 0 10px 0}.student-info-header{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}[dir] .student-info-header{margin-top:10px}.student-info-header input,.student-info-header select,.student-info-header span{color:#fff;font-size:12px}[dir] .student-info-header input,[dir] .student-info-header select,[dir] .student-info-header span{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.3);padding:8px 12px;border-radius:4px}main{max-width:100%}[dir] main{margin:0;padding:20px}.progress-bar{position:relative;top:auto;z-index:auto;page-break-after:avoid}[dir] .progress-bar{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:15px;margin-bottom:20px}.progress-bar div{font-size:11px}.action-bar,.api-message,.validation-errors-summary{display:none!important}.pipeline-section{page-break-inside:avoid;break-inside:avoid}[dir] .pipeline-section{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:15px}.pipeline-section h2{color:var(--primary);font-size:16px;page-break-after:avoid}[dir] .pipeline-section h2{margin:0;padding:12px 15px;background:#f8f9fa}.pipeline-section h2:after{display:none}.section-content{display:block!important}[dir] .section-content{padding:15px}.contract-box{font-size:12px;line-height:1.6;page-break-inside:avoid}[dir] .contract-box{background:#fffbf0;border:2px solid #f39c12;padding:15px;border-radius:6px;margin:10px 0}.contract-box h3{color:#f39c12;font-size:14px}[dir] .contract-box h3{margin:0 0 8px 0}[dir] .contract-box p{margin:8px 0}.strike-counter{page-break-inside:avoid}[dir] .strike-counter{background:#fee;border:2px solid var(--warning);padding:12px;border-radius:6px;margin:10px 0;text-align:center}.strike-count{font-size:32px;font-weight:700;color:var(--warning)}.strike-btn{display:none}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}[dir] .form-grid{margin-bottom:15px}.form-grid.full-width,.form-group.full-width{grid-column:1/-1}.pipeline-section:first-of-type .form-grid{grid-template-columns:repeat(5,1fr)}.pipeline-section:nth-of-type(3) .form-grid,.pipeline-section:nth-of-type(4) .form-grid,.pipeline-section:nth-of-type(7) .form-grid{grid-template-columns:repeat(4,1fr)}.form-group{display:flex;flex-direction:column;page-break-inside:avoid}.form-group label{font-weight:600;font-size:11px}[dir] .form-group label{margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{font-size:11px;color:#000}[dir] .form-group input,[dir] .form-group select,[dir] .form-group textarea{padding:6px 8px;border:1px solid var(--border);border-radius:3px;background:#fff}.form-group textarea{min-height:50px}.notes-box{page-break-inside:avoid}[dir] .notes-box{background:#e8f4f8;padding:12px;margin:10px 0}[dir=ltr] .notes-box{border-left:4px solid var(--secondary)}[dir=rtl] .notes-box{border-right:4px solid var(--secondary)}.notes-box h4{color:var(--primary);font-size:12px}[dir] .notes-box h4{margin:0 0 8px 0}.notes-box textarea{font-size:11px}.link-box{page-break-inside:avoid}[dir] .link-box{background:#e8f8e8;border:2px solid var(--success);padding:12px;border-radius:6px;margin:10px 0;text-align:center}.link-box h4{font-size:12px}[dir] .link-box h4{margin:0 0 8px 0}.link-box p{font-size:11px}[dir] .link-box p{margin:4px 0}.link-box a{display:none}.grade-table,.grade-table td,.grade-table th{font-size:11px}[dir] .grade-table,[dir] .grade-table td,[dir] .grade-table th{border:1px solid var(--border)}.grade-table th{font-weight:600}[dir] .grade-table th{background:#f8f9fa;padding:6px}[dir] .grade-table td{padding:6px}.grade-table input{width:100%;font-size:10px}[dir] .grade-table input{padding:3px 4px;border:1px solid var(--border)}.warning-text{color:var(--warning);font-weight:700}.error-text,.success-text{display:none}.required{color:var(--warning);font-weight:700}}@media (max-width:768px){.form-grid{grid-template-columns:1fr}.action-bar{flex-direction:column}.btn{width:100%}[dir] .btn{margin-bottom:5px}[dir=ltr] .btn{margin-right:0}[dir=rtl] .btn{margin-left:0}.student-info-header{flex-direction:column}.student-info-header input{width:100%}}