* { box-sizing: border-box; } body { width: 360px; margin: 0; font-family: system-ui, sans-serif; font-size: 13px; color: #222; } .top { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; background: #006699; color: #fff; } .top h1 { margin: 0; font-size: 16px; } .master { display: flex; align-items: center; gap: 6px; } .switch { position: relative; display: inline-block; width: 40px; height: 22px; } .switch input { display: none; } .slider { position: absolute; cursor: pointer; inset: 0; background: #ccc; border-radius: 22px; transition: 0.2s; } .slider::before { content: ""; position: absolute; height: 18px; width: 18px; left: 2px; top: 2px; background: #fff; border-radius: 50%; transition: 0.2s; } .switch input:checked + .slider { background: #4caf50; } .switch input:checked + .slider::before { transform: translateX(18px); } .tabs { display: flex; border-bottom: 1px solid #ddd; } .tabs button { flex: 1; padding: 8px; border: none; background: #f5f5f5; cursor: pointer; } .tabs button.active { background: #fff; font-weight: bold; border-bottom: 2px solid #006699; } .tab { padding: 12px; } .tab h2 { margin: 0 0 8px; font-size: 14px; } .tab h3 { margin: 12px 0 6px; font-size: 12px; color: #555; } .profile-list { list-style: none; margin: 0 0 8px; padding: 0; } .profile-list li { display: flex; align-items: center; gap: 6px; padding: 6px; border: 1px solid #ddd; border-radius: 4px; margin-bottom: 6px; } .profile-list .name { flex: 1; } .profile-list .user { color: #777; font-size: 11px; } .btn { padding: 6px 10px; border: 1px solid #ccc; border-radius: 4px; background: #fff; cursor: pointer; } .btn.primary { background: #006699; color: #fff; border-color: #006699; } .btn-row { display: flex; gap: 6px; margin-top: 6px; } .form input { width: 100%; padding: 6px; margin-bottom: 6px; border: 1px solid #ccc; border-radius: 4px; } .form .row { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; } .course-row { border: 1px solid #ddd; border-radius: 4px; padding: 6px; margin-bottom: 6px; } .course-row .grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; } .course-row input { margin-bottom: 4px; } .status { margin-top: 8px; font-size: 12px; } .status.error { color: #c00; } .status.ok { color: #080; }