body{background-color:#f9f9f9;color:#333;line-height:1.6;padding:20px;max-width:1100px;margin:0 auto}header{background-color:var(--primary-color);color:#fff;padding:20px;border-radius:var(--border-radius);margin-bottom:20px;box-shadow:0 2px 5px #0000001a}h1{margin-bottom:10px}.main-content{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 768px){.main-content{grid-template-columns:2fr 1fr}}.panel{background:#fff;border-radius:var(--border-radius);padding:20px;box-shadow:0 2px 5px #0000001a}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--light-color)}.teacher-list{max-height:600px;overflow-y:auto}.search-box{padding:10px;border:1px solid #ddd;border-radius:var(--border-radius);margin-bottom:15px;width:100%;font-size:16px}.teacher-item{display:flex;align-items:center;padding:10px;border-bottom:1px solid #eee;transition:background-color .2s}.teacher-item:hover{background-color:#f5f8fa}.teacher-name{flex:1;font-weight:500}.absence-type{display:flex;align-items:center;gap:10px}select{padding:8px;border-radius:var(--border-radius);border:1px solid #ddd;background-color:#fff}.period-selector{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px;margin-bottom:5px}.period-btn{width:30px;height:30px;border-radius:50%;border:1px solid #ddd;background-color:#fff;cursor:pointer;font-weight:700}.period-btn.selected{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.summary-section{margin-top:20px}.btn{padding:10px 15px;border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:700;transition:background-color .3s}.summary-header{margin-bottom:10px}.badge{display:inline-block;padding:3px 8px;border-radius:12px;font-size:.8em;font-weight:700;color:#fff;background-color:var(--primary-color);margin-left:5px}.badge-success{background-color:var(--success-color)}.badge-warning{background-color:var(--warning-color)}.badge-danger{background-color:var(--danger-color)}.input-group{display:flex;margin-bottom:15px}.input-group input{flex:1;padding:10px;border:1px solid #ddd;border-radius:var(--border-radius) 0 0 var(--border-radius);font-size:16px}.input-group button{border-radius:var(--border-radius)}.input-group-trip{flex-direction:column}.trip-inputs{display:flex;gap:10px;margin-bottom:10px}.input-group-credits{gap:10px}.hours-input{width:70px;text-align:center;padding:10px;border:1px solid #ddd;border-radius:0;font-size:16px}.credit-list{margin-top:10px}.credit-item,.trip-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee}.credit-name{font-weight:500}.credit-hours{font-weight:700;display:flex;align-items:center;gap:8px}.hours-control{display:flex;align-items:center}.hours-btn{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;padding:0}.summary-list{list-style:none}.summary-item{padding:10px;border-bottom:1px solid #eee}.summary-name{font-weight:700}.summary-periods{color:#777;font-size:.9em}.tabs{display:flex;margin-bottom:15px;border-bottom:1px solid #ddd}.tab{padding:10px 20px;cursor:pointer;border-bottom:2px solid transparent;font-weight:500}.tab.active{border-bottom-color:var(--primary-color);color:var(--primary-color)}.action-buttons{display:flex;gap:10px;margin-top:15px}#period-summary{display:none}.class-trip-list{margin-top:10px}.class-trip-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee}.class-name{font-weight:500}.trip-type{display:flex;align-items:center;gap:8px}@media print{.no-print{display:none}body{background-color:#fff;padding:0}.panel{box-shadow:none;border:1px solid #ddd}}:root{--primary-color: #3498db;--secondary-color: #2980b9;--success-color: #2ecc71;--warning-color: #f39c12;--danger-color: #e74c3c;--light-color: #ecf0f1;--dark-color: #34495e;--border-radius: 6px}*{box-sizing:border-box;margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}body{background-color:#f9f9f9;color:#333;line-height:1.6;padding:20px}.container{max-width:1200px;margin:0 auto}.header{background-color:var(--primary-color);color:#fff;padding:20px;border-radius:var(--border-radius);margin-bottom:20px;box-shadow:0 2px 5px #0000001a}.header h1{font-size:28px;margin-bottom:10px;font-weight:500}.header p{font-size:16px}.output-container{background-color:#fff;border-radius:var(--border-radius);box-shadow:0 2px 5px #0000001a;padding:20px;margin-bottom:20px}.output-container h2{color:#333;margin-bottom:15px;font-size:20px;font-weight:500;padding-bottom:10px;border-bottom:1px solid var(--light-color)}.output-textarea{width:100%;min-height:300px;border:1px solid #ddd;border-radius:var(--border-radius);padding:12px;font-family:monospace;font-size:14px;resize:vertical;margin-bottom:15px}.btn{padding:10px 15px;border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:700;transition:background-color .3s;display:inline-block;text-decoration:none}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--secondary-color)}.btn-success{background-color:var(--success-color);color:#fff}.btn-success:hover{background-color:#27ae60}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:#c0392b}.buttons-container{display:flex;gap:10px;margin-top:15px}.notification{padding:10px;border-radius:var(--border-radius);margin-bottom:15px;display:none}.notification-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}
