.routine-page-layout{grid-template-columns:320px 1fr;align-items:start;gap:20px;margin-top:1.5rem;display:grid}.routine-sidebar,.routine-main{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a}.section-title{color:var(--text-color);border-bottom:2px solid var(--primary-color);margin-bottom:14px;padding-bottom:8px;font-size:1.05rem;font-weight:700}.manual-form{flex-direction:column;gap:10px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.form-group{flex-direction:column;gap:4px;display:flex}.form-group.full{grid-column:1/-1}.form-group label{color:var(--text-muted);font-size:.8rem;font-weight:500}.form-group input,.form-group select{border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);box-sizing:border-box;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6d28d926}.form-group input::placeholder{color:var(--text-muted);opacity:.7}.day-checkboxes{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.day-checkboxes label{color:var(--text-color);cursor:pointer;background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:.85rem;transition:all .2s;display:flex}.day-checkboxes label:hover{border-color:var(--primary-color)}.day-checkboxes label:has(input:checked){background:var(--primary-color);border-color:var(--primary-color);color:#fff}.day-checkboxes input[type=checkbox]{width:14px;height:14px;accent-color:var(--primary-color)}.quick-days{gap:6px;margin-bottom:8px;display:flex}.quick-day-btn{border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:.8rem;font-weight:600;transition:all .2s}.quick-day-btn:hover{border-color:var(--primary-color);background:#6d28d91a}.quick-day-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.btn-submit{background:var(--primary-gradient);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:10px;padding:12px 16px;font-size:.95rem;font-weight:600;transition:transform .2s,box-shadow .2s}.btn-submit:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6d28d94d}.btn-submit:active{transform:translateY(0)}.search-panel{margin-bottom:16px}.search-row{gap:8px;margin-bottom:8px;display:flex}.search-row select,.search-row input{border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);border-radius:8px;outline:none;flex:1;min-height:42px;padding:10px 14px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.search-row select:focus,.search-row input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6d28d926}.search-row select{cursor:pointer;flex:none;min-width:140px}.search-row input::placeholder{color:var(--text-muted);opacity:.7}.search-results{border:1px solid var(--border-color);background:var(--bg-color);border-radius:8px;max-height:200px;overflow-y:auto}.search-result-item{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:8px 10px;font-size:.85rem;display:flex}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#ffffff0d}.result-info{flex:1}.result-course{color:var(--text-color);font-weight:600}.result-meta{color:var(--text-muted);font-size:.78rem}.btn-add{background:var(--primary-gradient);color:#fff;cursor:pointer;border:none;border-radius:20px;padding:4px 12px;font-size:.78rem}.btn-add:disabled{background:var(--border-color);color:var(--text-muted);cursor:default}.routine-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.routine-actions{gap:8px;display:flex}.btn-action{border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;display:flex}.btn-action.primary{background:var(--primary-gradient);border:none}body.light-mode .btn-action.primary{background:var(--text-color);color:var(--bg-color);border:1px solid var(--text-color)}.btn-action:hover{opacity:.9}.routine-table-wrapper{border:1px solid var(--border-color);border-radius:8px;overflow-x:auto}.planner-table{border-collapse:collapse;width:100%;min-width:600px;font-size:.9rem}.planner-table th,.planner-table td{border:1px solid var(--border-color);text-align:center;vertical-align:top;min-width:70px;padding:8px 6px}.planner-table th{background:var(--primary-color);color:#fff;border-bottom:2px solid var(--primary-color);font-size:.85rem;font-weight:600}.planner-table td:first-child{background:var(--border-color);white-space:nowrap;font-size:.8rem;font-weight:600}.course-block{background:var(--border-color);color:#fff;text-align:left;border-radius:8px;flex-direction:column;max-width:130px;margin:3px;padding:6px 10px;font-size:.8rem;font-weight:600;display:inline-flex;position:relative;box-shadow:0 2px 6px #00000040}body.light-mode .course-block{background:var(--text-color);color:var(--bg-color);box-shadow:0 2px 6px #00000040}.course-block .course-name{margin-bottom:2px;font-size:.82rem;font-weight:700}.course-block .faculty{opacity:.9;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:400;display:block;overflow:hidden}.course-block .room{opacity:.85;background:#ffffff26;border-radius:3px;width:fit-content;margin-top:2px;padding:1px 4px;font-size:.7rem;font-weight:500;display:block}.course-block .remove-btn{color:#fff;cursor:pointer;background:#0003;border:none;border-radius:50%;padding:2px 5px;font-size:.75rem;line-height:1;transition:background .2s;position:absolute;bottom:2px;right:2px}.course-block .remove-btn:hover{color:#fff;background:#ef4444}.routine-summary{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:12px;font-size:.85rem;display:flex}.empty-routine{text-align:center;color:var(--text-muted);padding:40px 20px}@media (max-width:900px){.routine-page-layout{grid-template-columns:1fr}.routine-sidebar{order:2}.routine-main{order:1}}@media (max-width:600px){.form-row{grid-template-columns:1fr}.search-row{flex-direction:column}.routine-header{flex-direction:column;align-items:stretch}.routine-actions{justify-content:stretch}.btn-action{flex:1;justify-content:center}}
