*{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;padding:0}body{background:#f0f4f8;min-height:100vh}.navbar{background:#fff;border-bottom:1px solid #e0e0e0;height:57px;justify-content:space-between;padding:10px 24px;position:sticky;top:0;z-index:100}.navbar,.navbar-left{align-items:center;display:flex}.navbar-left{gap:12px}.navbar-logo{align-items:center;display:flex;gap:10px}.navbar-logo img{height:120px;width:auto}.navbar-greeting{color:#1a1a2e;font-size:18px;font-weight:600;letter-spacing:-.3px}.navbar-right{align-items:center;display:flex;gap:12px}.navbar-time-block{align-items:flex-end;display:flex;flex-direction:column}.navbar-time{color:#2563eb;font-size:15px;font-weight:600}.navbar-date{color:#888;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.navbar-divider{background:#e0e0e0;height:32px;width:1px}.navbar-doctor-block{align-items:flex-start;display:flex;flex-direction:column}.navbar-doctor-name{color:#1a1a2e;font-size:14px;font-weight:600}.navbar-doctor-ward{color:#888;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.hamburger{border:none;color:#1a1a2e;font-size:20px;padding:4px}.hamburger,.logout-btn{background:none;cursor:pointer}.logout-btn{border:1px solid #e0e0e0;border-radius:8px;color:#666;font-size:13px;padding:6px 14px}.app-layout{display:flex;height:calc(100vh - 57px)}.sidebar{background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;overflow:hidden;width:320px}.sidebar-header{border-bottom:1px solid #f0f0f0;padding:16px}.sidebar-title{color:#1a1a2e;font-size:16px;font-weight:600;margin-bottom:12px}.register-btn{align-items:center;background:#2563eb;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px;width:100%}.register-btn:hover{background:#1d4ed8}.patient-list{flex:1 1;overflow-y:auto;padding:8px}.patient-item{align-items:center;border-radius:10px;cursor:pointer;display:flex;gap:12px;margin-bottom:4px;padding:10px 12px;transition:background .2s}.patient-item:hover{background:#f0f4ff}.patient-item.active{background:#e8f0fe}.patient-avatar{align-items:center;background:#2563eb;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:40px;justify-content:center;width:40px}.patient-info h4{color:#1a1a2e;font-size:14px;font-weight:600}.patient-info p{color:#888;font-size:12px;margin-top:2px}.no-patients{color:#888;font-size:14px;padding:32px 16px;text-align:center}.patient-menu-trigger{border-radius:4px;color:#888;cursor:pointer;display:none;font-size:18px;margin-left:auto;padding:4px 8px;position:relative}.patient-item:hover .patient-menu-trigger{display:block}.patient-menu{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 20px #0000001a;min-width:170px;overflow:hidden;position:absolute;right:0;top:24px;z-index:100}.patient-menu-item{color:#1a1a2e;cursor:pointer;font-size:13px;padding:10px 14px}.patient-menu-item:hover{background:#f0f4ff}.patient-menu-item.danger{color:#dc2626}.patient-menu-item.danger:hover{background:#fef2f2}.calendar-section{border-top:1px solid #f0f0f0;padding:16px}.calendar-title{color:#1a1a2e;font-size:14px;font-weight:600;margin-bottom:12px}.calendar-nav{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.calendar-nav button{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:4px 8px}.calendar-nav span{color:#1a1a2e;font-size:14px;font-weight:600}.calendar-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.calendar-day-header{color:#888;font-size:11px;font-weight:500;padding:4px 0;text-align:center}.calendar-day{border-radius:6px;color:#1a1a2e;cursor:pointer;font-size:12px;padding:6px 2px;position:relative;text-align:center;transition:background .15s}.calendar-day:hover{background:#e8f0fe}.calendar-day.today{background:#2563eb;color:#fff;font-weight:600}.calendar-day.today-unselected{background:#dbeafe;color:#2563eb;font-weight:600}.calendar-day.selected{background:#2563eb;color:#fff;font-weight:600}.calendar-day.other-month{color:#ccc}.patient-count-badge{align-items:center;background:#1e3a5f!important;border-radius:50%;color:#fff!important;display:flex;font-size:9px;height:14px;justify-content:center;position:absolute;right:2px;top:1px;width:14px}.calendar-day.selected .patient-count-badge,.calendar-day.today .patient-count-badge{background:#fff;color:#2563eb}.main-content{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;overflow-y:auto;padding:32px}.no-patient-selected{color:#888;text-align:center}.no-patient-selected h2{color:#1a1a2e;font-size:20px;font-weight:600;margin-bottom:8px}.dictation-container{align-items:center;display:flex;flex-direction:column;max-width:700px;width:100%}.patient-header{margin-bottom:32px;text-align:center}.patient-header h2{color:#1a1a2e;font-size:24px;font-weight:700}.patient-header p{color:#888;font-size:14px;margin-top:4px}.patient-header .reason{color:#2563eb;font-size:14px;margin-top:4px}.mic-btn{align-items:center;background:#2563eb;border:none;border-radius:50%;box-shadow:0 4px 20px #2563eb40;cursor:pointer;display:flex;height:110px;justify-content:center;margin-bottom:32px;transition:all .2s;width:110px}.mic-btn:hover{box-shadow:0 6px 28px #2563eb59;transform:scale(1.04)}.mic-btn.recording{animation:pulse 1.5s infinite;background:#ef4444}.mic-btn.processing{background:#6b7280;cursor:not-allowed}@keyframes pulse{0%,to{box-shadow:0 4px 20px #ef44444d}50%{box-shadow:0 4px 40px #ef444499}}.mic-icon{font-size:36px}.note-type-tabs{display:flex;gap:8px;margin-bottom:24px}.tab-btn{background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px;transition:all .2s}.tab-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}.tab-btn:hover:not(.active){background:#f0ffe8;border-color:#d4edda}.transcript-box{background:#fff;border:1px solid #e0e0e0;border-radius:12px;color:#1a1a2e;font-size:15px;line-height:1.6;margin-bottom:16px;min-height:150px;padding:20px;width:100%}.processing-text{color:#888;gap:8px}.action-bar,.processing-text{align-items:center;display:flex}.action-bar{justify-content:space-between;width:100%}.next-patient-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 20px}.action-btns,.next-patient-btn{display:flex;gap:8px}.save-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:10px 20px}.save-btn.saved{background:#f0fdf4;border-color:#22c55e;color:#16a34a}.export-wrapper{position:relative}.export-btn{align-items:center;background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:10px 20px}.export-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:8px;bottom:48px;box-shadow:0 4px 20px #0000001a;min-width:180px;overflow:hidden;position:absolute;right:0}.export-option{color:#1a1a2e;cursor:pointer;font-size:14px;padding:12px 16px}.export-option:hover{background:#f0f4ff}.image-upload-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:16px;padding:20px;width:100%}.image-upload-section label{color:#666;display:block;font-size:14px;margin-bottom:8px}.image-upload-input{border:1px solid #e0e0e0;border-radius:8px;font-size:14px;padding:10px;width:100%}.note-container{max-width:700px;width:100%}.note-header{margin-bottom:24px;text-align:center}.note-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:16px;padding:20px}.note-section h3{color:#888;font-size:12px;letter-spacing:1px;text-transform:uppercase}.note-field,.note-section h3{margin-bottom:12px}.note-field label{color:#888;display:block;font-size:12px;margin-bottom:4px}.note-field-value{border:1px solid #0000;border-radius:8px;color:#1a1a2e;cursor:pointer;font-size:15px;min-height:36px;padding:8px 12px}.note-field-value:hover{background:#f9f9f9;border-color:#e0e0e0}.note-field-value.low-confidence{background:#fffbeb;border-color:#fcd34d}.note-field-value.medium-confidence{background:#fff7ed;border-color:#fdba74}.note-field input,.note-field textarea{border:1px solid #2563eb;border-radius:8px;font-size:15px;outline:none;padding:8px 12px;width:100%}.med-row{grid-gap:8px;background:#f9f9f9;border-radius:8px;display:grid;gap:8px;grid-template-columns:2fr 1fr 2fr;margin-bottom:8px;padding:8px 12px}.med-row span{color:#1a1a2e;font-size:14px}.error-banner{background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:16px;padding:12px 16px}.login-page{align-items:center;background:#f0f4f8;display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;max-width:400px;padding:40px;width:100%}.login-logo{margin-bottom:28px;text-align:center}.login-logo img{height:180px;margin-bottom:4px;width:auto}.login-logo h1{color:#1a1a2e;font-size:26px;font-weight:700;margin-bottom:2px;margin-top:0}.login-logo p{color:#888;font-size:13px;margin-top:2px}.form-group{margin-bottom:16px}.form-group label{color:#444;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.form-group input{border:1px solid #e0e0e0;border-radius:8px;font-size:15px;outline:none;padding:10px 14px;transition:border .2s;width:100%}.form-group input:focus{border-color:#2563eb}.login-btn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:12px;width:100%}.login-btn:hover{background:#1d4ed8}.modal-overlay{align-items:center;background:#0006;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:200}.modal{background:#fff;border-radius:16px;max-width:400px;padding:32px;width:100%}.modal h3{color:#1a1a2e;font-size:18px;font-weight:600;margin-bottom:20px}.modal-actions{display:flex;gap:8px;margin-top:20px}.modal-cancel{background:#fff;border:1px solid #e0e0e0;border-radius:8px}.modal-cancel,.modal-submit{cursor:pointer;flex:1 1;font-size:14px;padding:10px}.modal-submit{background:#2563eb;border:none;border-radius:8px;color:#fff;font-weight:500}