.cc-app,.cc-app *{box-sizing:border-box}.cc-app{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;color:#333;padding:20px;background:#f5f5f5;header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:20px;border-bottom:2px solid #ddd}header h1{margin:0;font-size:24px}.connection-status{display:flex;align-items:center;gap:10px}.status-dot{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:8px}.status-dot.green{background:#22c55e;box-shadow:0 0 8px #22c55e}.status-dot.red{background:#ef4444}.status-dot.gray{background:#9ca3af}.connection-btn{display:inline-flex;align-items:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connected,.disconnected{display:flex;align-items:center;gap:10px}.tabs{display:flex;gap:5px;margin-bottom:20px;border-bottom:2px solid #ddd;padding-bottom:10px}.tab{padding:10px 20px;border:none;background:#e5e5e5;cursor:pointer;border-radius:5px 5px 0 0;font-size:14px;transition:all .2s}.tab:hover{background:#d5d5d5}.tab.active{background:#3b82f6;color:white}.card{background:white;border-radius:8px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.card,.card h2{margin-bottom:20px}.card h2{margin-top:0;font-size:20px;color:#1f2937}.btn{padding:8px 16px;border:none;border-radius:5px;cursor:pointer;font-size:14px;transition:all .2s;background:#e5e5e5}.btn:hover{background:#d5d5d5}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#3b82f6;color:white}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#6b7280;color:white}.btn-danger{background:#ef4444;color:white}.btn-danger:hover{background:#dc2626}.btn-success{background:#22c55e;color:white}.btn-sm{padding:4px 8px;font-size:12px}input,select{padding:8px 12px;border:1px solid #ddd;border-radius:5px;font-size:14px}input:focus,select:focus{outline:none;border-color:#3b82f6}.period-selector{align-items:center}.add-student,.period-selector{display:flex;gap:10px;margin-bottom:20px}.add-student input[type=text]{flex:1}table{width:100%;border-collapse:collapse}td,th{padding:10px;text-align:left;border-bottom:1px solid #eee}th{font-weight:600}th,tr:hover{background:#f9fafb}.still-out{background:#fef3c7!important}.badge-warning{background:#f59e0b}.badge-danger,.badge-warning{color:white;padding:2px 8px;border-radius:10px;font-size:12px}.badge-danger{background:#dc2626}.schedule-block{margin-top:20px;padding:15px;border:1px solid #e5e5e5;border-radius:8px}.schedule-block h3{margin-top:0;color:#3b82f6}.time-display{display:flex;gap:40px;margin-bottom:20px}.time-block{text-align:center}.time-block h4{margin:0 0 10px;color:#6b7280}.time-block .time{font-size:32px;font-weight:700;font-family:monospace;margin:0}.time-block .date{font-size:16px;color:#6b7280;margin:5px 0 0}.actions{display:flex;gap:10px;margin-bottom:20px}.terminal-card{background:#1f2937;color:#f9fafb}.terminal-card h2{color:#f9fafb}.terminal-output{background:#111827;border-radius:5px;padding:15px;min-height:200px;max-height:400px;overflow-y:auto;font-family:monospace;font-size:14px;margin-bottom:15px}.terminal-line{margin:2px 0}.terminal-line.cmd{color:#22c55e}.terminal-line.response pre{margin:0;white-space:pre-wrap;color:#93c5fd}.terminal-input{display:flex;gap:10px;align-items:center}.terminal-input .prompt{color:#22c55e;font-family:monospace;font-size:16px}.terminal-input input{flex:1;background:#374151;border:1px solid #4b5563;color:white;font-family:monospace}.calendar-paint-picker{margin-left:auto}.schedule-name-input{width:120px}.terminal-help{margin-top:10px;color:#9ca3af}footer{margin-top:40px;text-align:center;color:#9ca3af;font-size:14px}.calendar-month{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:10px}.calendar-month h4{margin:0 0 8px;text-align:center;font-size:14px;color:#333}.calendar-grid{width:100%;border-collapse:collapse}.calendar-grid th{font-size:11px;font-weight:500;color:#666;padding:4px 2px;text-align:center}.calendar-grid td.calendar-day{width:28px;height:28px;text-align:center;font-size:12px;border:1px solid #eee;transition:all .15s}.calendar-grid td.calendar-day:not(.empty):not(.weekend):hover{transform:scale(1.1);box-shadow:0 2px 8px rgba(0,0,0,.15);z-index:1;position:relative}.calendar-grid td.calendar-day.empty{background:transparent;border:none}.calendar-grid td.calendar-day.has-schedule{font-weight:600}@media (max-width:640px){padding-left:10px;padding-bottom:10px;padding-right:10px;padding-top:10px;overflow-x:hidden;header{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:14px;padding-bottom:14px}header h1{font-size:20px}.connection-status{flex-wrap:wrap}.connected,.disconnected{flex-wrap:wrap;gap:8px;font-size:14px}.tabs{flex-wrap:wrap;gap:6px;padding-bottom:10px;margin-bottom:14px;border-bottom:2px solid #ddd}.tab{flex:1 1 calc(33.333% - 6px);min-width:0;padding:10px 6px;font-size:12px;text-align:center;border-radius:6px;white-space:nowrap}@media (max-width:440px){.tab{flex:1 1 calc(50% - 6px)}}.card{padding:14px;max-width:100%;overflow-x:hidden}.card,.card h2{margin-bottom:14px}.card h2{font-size:17px}.btn{padding:10px 14px;font-size:14px;min-height:40px}.btn-sm{padding:6px 10px;font-size:12px;min-height:32px}input,select{font-size:16px;padding:9px 10px;max-width:100%}.actions,.add-student,.period-selector{flex-wrap:wrap}.add-student input[type=text]{flex:1 1 100%}.time-display{flex-direction:column;gap:14px}.time-block .time{font-size:26px}table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;max-width:100%}td,th{padding:8px 10px;font-size:13px}.calendar-container{grid-template-columns:1fr!important}.calendar-grid td.calendar-day{width:auto;height:36px;font-size:13px}.schedule-block{padding:12px}.terminal-output{min-height:160px;max-height:280px;font-size:12px}.terminal-input{flex-wrap:wrap}.terminal-input input{flex:1 1 calc(100% - 30px);min-width:0}.calendar-paint-picker{margin-left:0;flex:1 1 100%}.schedule-name-input{width:auto;flex:1 1 100%}}}