* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; background: #f5f5f5; padding: 20px; } .container { max-width: 1400px; margin: 0 auto; } header { background: white; padding: 20px; border-radius: 8px; margin-bottom: 20px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } header h1 { margin-bottom: 15px; color: #333; } .week-navigation { display: flex; align-items: center; gap: 20px; } .week-navigation button { padding: 8px 16px; background: #4CAF50; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; } .week-navigation button:hover { background: #45a049; } #week-range { font-weight: 600; color: #555; } .actions { margin-bottom: 20px; display: flex; gap: 10px; } .btn { padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; } .btn-primary { background: #2196F3; color: white; } .btn-primary:hover { background: #0b7dda; } .schedule-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 15px; } .day-column { background: white; border-radius: 8px; padding: 15px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .day-header { font-weight: 600; font-size: 16px; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 2px solid #4CAF50; color: #333; } .day-items { min-height: 200px; } .item { background: #f9f9f9; padding: 10px; margin-bottom: 8px; border-radius: 4px; border-left: 3px solid #4CAF50; cursor: pointer; transition: background 0.2s; } .item:hover { background: #f0f0f0; } .item.task { border-left-color: #FF9800; } .item.event { border-left-color: #2196F3; } .item-title { font-weight: 500; margin-bottom: 4px; } .item-time { font-size: 12px; color: #666; } .item-actions { margin-top: 8px; display: flex; gap: 5px; } .item-actions button { padding: 4px 8px; font-size: 11px; border: none; border-radius: 3px; cursor: pointer; } .btn-edit { background: #FFC107; color: #333; } .btn-delete { background: #f44336; color: white; } /* Модальное окно */ .modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.5); } .modal-content { background-color: white; margin: 5% auto; padding: 30px; border-radius: 8px; width: 90%; max-width: 500px; position: relative; } .close { position: absolute; right: 20px; top: 15px; font-size: 28px; font-weight: bold; color: #aaa; cursor: pointer; } .close:hover { color: #000; } .form-group { margin-bottom: 15px; } .form-group label { display: block; margin-bottom: 5px; font-weight: 500; color: #333; } .form-group input, .form-group select, .form-group textarea { width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; } .form-group textarea { min-height: 80px; resize: vertical; } .checkbox-group { display: flex; align-items: center; gap: 8px; } .checkbox-group input[type="checkbox"] { width: auto; } .weekdays-select { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; } .weekdays-select label { display: flex; align-items: center; gap: 5px; font-weight: normal; } @media (max-width: 1200px) { .schedule-grid { grid-template-columns: repeat(4, 1fr); } } @media (max-width: 768px) { .schedule-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 480px) { .schedule-grid { grid-template-columns: 1fr; } }