*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-box{background:#fff;border-radius:16px;padding:48px;box-shadow:0 20px 60px #0000004d;max-width:420px;width:100%}.login-title{font-size:38px;font-weight:700;color:#1a202c;margin-bottom:8px;text-align:center}.login-subtitle{font-size:28px;font-weight:500;color:#667eea;margin-bottom:32px;text-align:center}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:24px;font-weight:600;color:#4a5568}.form-group input{padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:26px;transition:all .3s ease}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:14px;border:none;border-radius:8px;font-size:26px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:8px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.login-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fed7d7;color:#c53030;padding:12px 16px;border-radius:8px;font-size:24px;border-left:4px solid #fc8181}.login-footer{margin-top:24px;text-align:center}.login-footer p{font-size:24px;color:#718096}.register-link-container{margin-top:20px;text-align:center}.register-link-text{font-size:24px;color:#4a5568}.register-link{color:#667eea;text-decoration:none;font-weight:600;margin-left:8px;transition:all .2s ease}.register-link:hover{text-decoration:underline;color:#764ba2}.register-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.register-box{background:#fff;border-radius:16px;padding:48px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%}.register-title{font-size:38px;font-weight:700;color:#1a202c;margin-bottom:8px;text-align:center}.register-subtitle{font-size:28px;font-weight:500;color:#667eea;margin-bottom:32px;text-align:center}.register-form{display:flex;flex-direction:column;gap:20px}.register-form .form-group{display:flex;flex-direction:column;gap:8px}.register-form .form-group label{font-size:24px;font-weight:600;color:#4a5568}.register-form .form-group input,.register-form .form-group select{padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:26px;transition:all .3s ease;background-color:#fff}.register-form .form-group input:focus,.register-form .form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.register-form .form-group select{cursor:pointer}.register-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:14px;border:none;border-radius:8px;font-size:26px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:8px}.register-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.register-button:disabled{opacity:.6;cursor:not-allowed}.register-footer{margin-top:24px;text-align:center}.link-to-login{font-size:24px;color:#667eea;text-decoration:none;font-weight:500;transition:all .2s ease}.link-to-login:hover{text-decoration:underline;color:#764ba2}.page-header{display:flex;align-items:center;gap:20px;margin-bottom:32px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:#fff;border-radius:12px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001f}.stat-card.alert{border:2px solid #f56565}.stat-icon-wrapper{display:flex;align-items:center;justify-content:center;width:100%}.stat-icon{font-size:46px;opacity:.9}.stat-content{flex:1;text-align:center;width:100%}.stat-label{font-size:23px;color:#718096;margin-bottom:4px}.stat-value{font-size:38px;font-weight:700;color:#2d3748}.recent-patients-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014}.section-title{font-size:30px;font-weight:600;color:#1a202c;margin-bottom:20px;display:flex;align-items:center;gap:8px}.patient-name-text{font-weight:700;font-size:1.1rem;color:#1a202c;display:flex;align-items:center;gap:8px}.patient-nickname-text{font-weight:500;font-size:.95rem;color:#718096}.patient-count{font-size:24px;color:#718096;font-weight:500}.patient-row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f7fafc;border-radius:8px;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.patient-name-text{font-size:26px!important;font-weight:600;color:#2d3748;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:8px}.patient-email-text{font-size:23px!important;color:#718096;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-label{font-size:22px!important;color:#a0aec0}.score-text{font-size:26px!important;font-weight:600;color:#2d3748}.score-percentage{padding:4px 12px;border-radius:12px;font-size:23px!important;font-weight:600}.no-assessment{font-size:23px!important;color:#a0aec0;font-style:italic}.watchlist-add-btn{padding:8px 16px;border:none;border-radius:6px;font-size:23px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.watchlist-add-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.watchlist-add-btn.active:hover{transform:scale(1.05);box-shadow:0 4px 12px #667eea66}.watchlist-add-btn.inactive{background:#fff;color:#4a5568;border:2px solid #cbd5e0}.watchlist-add-btn.inactive:hover{background:#f7fafc;border-color:#667eea;color:#667eea;transform:scale(1.05)}.dashboard-loading,.dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.retry-button{padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.no-data{text-align:center;color:#a0aec0;padding:40px;font-size:14px}.page-header{display:flex;align-items:center;gap:20px;margin-bottom:16px}.page-title{font-size:42px;font-weight:700;color:#1a202c;margin:0}.group-filter-select{padding:10px 16px;font-size:18px;font-weight:600;border:2px solid #cbd5e0;border-radius:8px;background:#fff;color:#2d3748;cursor:pointer;transition:all .2s ease;min-width:160px}.group-filter-select:hover{border-color:#667eea}.group-filter-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.watchlist-count{font-size:24px;color:#718096;background:#edf2f7;padding:8px 16px;border-radius:20px;font-weight:500;margin-bottom:16px}.watchlist-patients-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014}.patients-table{display:flex;flex-direction:column;gap:12px}.patient-row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f7fafc;border-radius:8px;cursor:pointer;transition:all .2s ease;border:2px solid transparent;position:relative;-webkit-user-select:none;user-select:none}.patient-row:hover{background:#edf2f7;border-color:#667eea;transform:translate(4px)}.patient-row.dragging{opacity:.5;cursor:grabbing;box-shadow:0 4px 12px #667eea4d}.patient-row:active{cursor:grabbing}.patient-info-section{flex:1;min-width:0}.patient-name-email{display:flex;flex-direction:column;gap:4px}.patient-name-text{font-size:26px;font-weight:600;color:#2d3748;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:8px}.inactive-warning-icon{color:#e53e3e;font-size:24px;flex-shrink:0;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.patient-email-text{font-size:23px;color:#718096;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-score-section{display:flex;align-items:center;gap:12px;margin:0 20px}.score-label{font-size:22px;color:#a0aec0}.score-text{font-size:26px;font-weight:600;color:#2d3748}.score-percentage{padding:4px 12px;border-radius:12px;font-size:23px;font-weight:600}.score-percentage.high{background:#c6f6d5;color:#22543d}.score-percentage.medium{background:#feebc8;color:#7c2d12}.score-percentage.low{background:#fed7d7;color:#742a2a}.no-assessment{font-size:23px;color:#a0aec0;font-style:italic}.patient-actions{display:flex;gap:8px}.watchlist-remove-btn{width:32px;height:32px;border-radius:50%;background:#fed7d7;color:#c53030;border:none;font-size:28px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;line-height:1;padding:0}.watchlist-remove-btn:hover{background:#fc8181;color:#fff;transform:scale(1.1)}.empty-state{background:#fff;border-radius:12px;padding:80px 40px;text-align:center;box-shadow:0 2px 8px #00000014}.empty-icon{font-size:74px;margin-bottom:16px;opacity:.5}.empty-text{font-size:28px;font-weight:600;color:#2d3748;margin-bottom:8px}.empty-hint{font-size:24px;color:#a0aec0}.watchlist-loading,.watchlist-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.retry-button{padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:26px;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-button:hover{background:#5568d3}.group-badge{font-size:18px;padding:4px 12px;border-radius:6px;font-weight:600;white-space:nowrap;flex-shrink:0}.group-badge.student{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.group-badge.clinical{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.alert-bell-icon{font-size:20px;margin-left:8px;display:inline-block;animation:ring 2s ease-in-out infinite}.alert-low-icon{font-size:20px;margin-left:8px;display:inline-block;animation:shake 2s ease-in-out infinite}@keyframes ring{0%,to{transform:rotate(0)}10%,30%{transform:rotate(-10deg)}20%,40%{transform:rotate(10deg)}}@keyframes shake{0%,to{transform:translateY(0)}25%{transform:translateY(-3px)}75%{transform:translateY(3px)}}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.back-button{padding:10px 20px;background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:24px;font-weight:500;color:#4a5568;cursor:pointer;transition:all .2s ease}.back-button:hover{border-color:#667eea;color:#667eea}.header-actions{display:flex;gap:12px}.watchlist-button{padding:10px 20px;border:none;border-radius:8px;font-size:24px;font-weight:600;cursor:pointer;transition:all .3s ease}.watchlist-button.add{background:#667eea;color:#fff}.watchlist-button.add:hover{background:#5568d3;transform:translateY(-2px)}.watchlist-button.remove{background:#fed7d7;color:#c53030}.watchlist-button.remove:hover{background:#fc8181;color:#fff}.patient-info-card{background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;gap:24px;margin-bottom:24px}.patient-avatar-large{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:46px;font-weight:700}.patient-details{flex:1}.patient-name-large{font-size:1.8rem;font-weight:800;color:#1a202c;margin:0;display:flex;align-items:center;gap:12px}.patient-nickname-badge{font-size:1.2rem;font-weight:600;color:#718096}.patient-meta{display:flex;flex-wrap:wrap;gap:16px}.meta-item{font-size:24px;color:#718096;display:flex;align-items:center;gap:6px}.tab-navigation{display:flex;gap:12px;margin-bottom:24px;border-bottom:2px solid #e2e8f0;padding-bottom:12px}.tab-button{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;font-size:26px;font-weight:600;color:#718096;cursor:pointer;transition:all .3s ease;position:relative;margin-bottom:-14px}.tab-button:hover{color:#667eea}.tab-button.active{color:#667eea;border-bottom-color:#667eea}.chart-section,.history-section,.profile-section,.diary-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;margin-bottom:24px}.section-title{font-size:30px;font-weight:600;color:#1a202c;margin-bottom:20px}.history-table-container{overflow-x:auto}.history-table{width:100%;border-collapse:collapse}.history-table th{background:#f7fafc;padding:12px 16px;text-align:left;font-size:24px;font-weight:600;color:#4a5568;border-bottom:2px solid #e2e8f0}.history-table td{padding:14px 16px;font-size:24px;color:#2d3748;border-bottom:1px solid #e2e8f0}.history-table tbody tr:hover{background:#f7fafc}.percentage-badge{padding:4px 12px;border-radius:12px;font-size:23px;font-weight:600;display:inline-block}.percentage-badge.high{background:#c6f6d5;color:#22543d}.percentage-badge.medium{background:#feebc8;color:#7c2d12}.percentage-badge.low{background:#fed7d7;color:#742a2a}.level-badge{padding:6px 14px;border-radius:16px;font-size:23px;font-weight:600;display:inline-block}.level-badge.level-good{background:#c6f6d5;color:#22543d}.level-badge.level-medium{background:#feebc8;color:#7c2d12}.level-badge.level-attention{background:#fed7d7;color:#c53030}.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.profile-item{display:flex;flex-direction:column;gap:6px;padding:16px;background:#f7fafc;border-radius:8px;border-left:4px solid #667eea}.profile-label{font-size:22px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.5px}.profile-value{font-size:25px;font-weight:500;color:#2d3748;word-wrap:break-word;overflow-wrap:break-word;word-break:break-all}.diaries-container{display:grid;gap:20px}.diary-card{background:#f7fafc;border-radius:12px;padding:20px;border-left:4px solid #667eea;box-shadow:0 2px 4px #0000000a;transition:all .3s ease}.diary-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.diary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.diary-date{font-size:24px;font-weight:600;color:#4a5568}.period-marker{background:#fed7d7;color:#c53030;padding:4px 12px;border-radius:12px;font-size:22px;font-weight:600}.diary-mood{font-size:26px;font-weight:500;color:#2d3748;margin-bottom:12px}.diary-content{margin-bottom:12px}.diary-content p{font-size:24px;color:#4a5568;line-height:1.6;white-space:pre-wrap}.diary-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:12px}.diary-image{width:100%;height:150px;object-fit:cover;border-radius:8px;border:2px solid #e2e8f0;transition:all .3s ease}.diary-image:hover{transform:scale(1.05);border-color:#667eea;box-shadow:0 4px 12px #667eea4d}.diary-footer{padding-top:12px;border-top:1px solid #e2e8f0}.diary-timestamp{font-size:22px;color:#a0aec0}.patient-detail-loading,.patient-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.patient-detail-error{text-align:center;font-size:28px;color:#e53e3e;padding:40px}.spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.diary-card{cursor:pointer;background:#fdfdfd}.diary-content-preview p{font-size:24px;color:#4a5568;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all}.diary-images-preview{display:flex;gap:8px;margin-top:12px}.diary-image-thumb{width:60px;height:60px;object-fit:cover;border-radius:4px;border:1px solid #e2e8f0}.diary-more-images{width:60px;height:60px;background:#edf2f7;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#718096}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:20px}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:800px;max-height:90vh;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column}.diary-modal{padding:32px}.modal-close{position:absolute;top:20px;right:20px;background:#f7fafc;border:none;border-radius:50%;width:40px;height:40px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#718096}.modal-close:hover{background:#edf2f7;color:#2d3748}.diary-modal-header{border-bottom:2px solid #edf2f7;padding-bottom:20px;margin-bottom:24px}.modal-title{font-size:32px;font-weight:700;color:#2d3748;margin-bottom:8px}.diary-modal-date{font-size:24px;color:#718096;font-weight:500}.diary-modal-body{flex:1;overflow-y:auto;padding-right:8px}.diary-modal-meta{display:flex;align-items:center;gap:24px;margin-bottom:24px}.detail-label{font-size:24px;color:#4a5568;font-weight:600}.detail-value{font-size:26px;font-weight:700;color:#667eea}.detail-subtitle{font-size:24px;font-weight:600;color:#4a5568;margin-bottom:12px;border-left:4px solid #667eea;padding-left:12px}.content-text{font-size:26px;line-height:1.8;color:#2d3748;background:#f8fafc;padding:24px;border-radius:12px;margin-bottom:24px;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-all}.detail-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.diary-full-image{width:100%;height:200px;object-fit:cover;border-radius:12px;border:2px solid #edf2f7;transition:transform .2s}.diary-full-image:hover{transform:scale(1.02);border-color:#667eea}.diary-modal-footer{border-top:2px solid #edf2f7;padding-top:24px;margin-top:24px;display:flex;justify-content:space-between;align-items:center}.confirm-button{padding:12px 32px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:22px;font-weight:700;cursor:pointer;transition:background .2s}.confirm-button:hover{background:#5a67d8}@keyframes spin{to{transform:rotate(360deg)}}.no-data{text-align:center;color:#a0aec0;padding:40px;font-size:24px}.assignments-container{padding:24px;max-width:1400px;margin:0 auto}.assignments-header{margin-bottom:32px}.assignments-header h1{font-size:34px;font-weight:600;color:#1a202c;margin-bottom:8px}.assignments-header p{color:#718096;font-size:20px}.loading{text-align:center;padding:48px;color:#718096;font-size:22px}.assignments-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;margin-bottom:32px}.assignments-table{width:100%;border-collapse:collapse}.assignments-table thead{background:#f7fafc;border-bottom:2px solid #e2e8f0}.assignments-table th{padding:16px;text-align:left;font-size:20px;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:.5px}.assignments-table td{padding:16px;border-bottom:1px solid #e2e8f0;font-size:20px;color:#2d3748}.assignments-table tbody tr:hover{background:#f7fafc}.assigned-staff-list{display:flex;flex-direction:column;gap:8px}.assigned-staff-item{display:flex;align-items:center;gap:8px;background:#edf2f7;padding:6px 12px;border-radius:4px;font-size:19px}.assigned-staff-item span{flex:1;color:#2d3748}.unassign-btn{background:#fc8181;color:#fff;border:none;border-radius:4px;width:24px;height:24px;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:background .2s}.unassign-btn:hover{background:#f56565}.no-assignment{color:#a0aec0;font-style:italic;font-size:19px}.staff-select{flex:1;padding:8px 12px;border:1px solid #cbd5e0;border-radius:4px;font-size:20px;color:#2d3748;background:#fff;cursor:pointer;transition:border-color .2s}.staff-summary{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:24px}.staff-summary h3{font-size:24px;font-weight:600;color:#1a202c;margin-bottom:16px}.staff-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.staff-card{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;padding:16px;transition:all .2s ease}.staff-card.clickable{cursor:pointer}.staff-card.clickable:hover{background:#edf2f7;border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 8px #667eea33}.staff-name{font-size:22px;font-weight:600;color:#2d3748;margin-bottom:4px}.staff-email{font-size:19px;color:#718096;margin-bottom:12px}.staff-assignments{font-size:20px;color:#667eea;font-weight:500}.nurse-detail-container{padding:24px;max-width:1400px;margin:0 auto}.nurse-header{margin-bottom:32px}.back-button{padding:10px 20px;background:#fff;border:2px solid #cbd5e0;border-radius:6px;font-size:22px;font-weight:600;color:#2d3748;cursor:pointer;transition:all .2s;margin-bottom:16px}.back-button:hover{background:#f7fafc;border-color:#667eea;color:#667eea}.nurse-info h1{font-size:34px;font-weight:600;color:#1a202c;margin-bottom:8px}.nurse-email{font-size:22px;color:#718096;margin-bottom:4px}.patient-count{font-size:20px;color:#667eea;font-weight:500}.patients-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.patients-table{width:100%;border-collapse:collapse}.patients-table thead{background:#f7fafc;border-bottom:2px solid #e2e8f0}.patients-table th{padding:16px;text-align:left;font-size:20px;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:.5px}.patients-table td{padding:16px;border-bottom:1px solid #e2e8f0;font-size:20px;color:#2d3748}.patients-table tbody tr:hover{background:#f7fafc}.email-cell{color:#718096;font-size:19px}.assigned-nurse{display:flex;align-items:center;gap:8px;background:#edf2f7;padding:6px 12px;border-radius:4px;font-size:19px;width:fit-content}.assigned-nurse span{color:#2d3748}.unassign-small-btn{background:#fc8181;color:#fff;border:none;border-radius:4px;width:20px;height:20px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .2s}.unassign-small-btn:hover{background:#f56565}.not-assigned{color:#a0aec0;font-style:italic;font-size:19px}.assign-controls{display:flex;gap:8px;align-items:center}.staff-select{flex:1;padding:8px 12px;border:1px solid #cbd5e0;border-radius:4px;font-size:20px;color:#2d3748;background:#fff;cursor:pointer;transition:border-color .2s;min-width:150px}.staff-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.assign-btn{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:4px;font-size:20px;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.assign-btn:hover{background:#5a67d8}.assign-btn:active{background:#4c51bf}.no-data{padding:48px;text-align:center;color:#a0aec0;font-size:20px}.loading,.error{text-align:center;padding:48px;color:#718096;font-size:22px}.layout-container{display:flex;flex-direction:column;height:100vh;background:#f5f7fa}.layout-header{background:#fff;border-bottom:2px solid #e2e8f0;padding:16px 32px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000000d}.header-title{font-size:44px;font-weight:700;color:#1a202c;margin:0}.header-user{display:flex;align-items:center;gap:16px}.user-name{font-size:14px;font-weight:500;color:#4a5568}.logout-button{padding:8px 16px;background:#e53e3e;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.logout-button:hover{background:#c53030;transform:translateY(-1px)}.layout-content{display:flex;flex:1;overflow:hidden}.sidebar{width:350px;background:#fff;border-right:2px solid #e2e8f0;padding:24px 0}.sidebar-nav{display:flex;flex-direction:column;gap:8px;padding:0 16px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;border-radius:8px;font-size:31px;color:#4a5568;cursor:pointer;transition:all .2s ease;text-align:left}.nav-item:hover{background:#edf2f7}.nav-item.active{background:#e0e7ff;color:#667eea;font-weight:600}.nav-icon{font-size:20px}.nav-label{flex:1}.main-content{flex:1;overflow-y:auto;padding:32px}#root{width:100%;height:100vh;margin:0;padding:0}
