.schedule-content{max-width:1600px}.schedule-panel{overflow:hidden}.schedule-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 23px;flex-wrap:wrap}.view-switch{display:flex;gap:3px;padding:3px;border-radius:9px;background:#edf5ef}.view-switch button{border:0;border-radius:7px;background:transparent;padding:8px 13px;color:#618172;font-size:12px;font-weight:700;cursor:pointer}.view-switch button.selected{background:#fff;color:#176345;box-shadow:0 1px 4px #1950371c}.schedule-date-picker{border:1px solid #dfe9e2;border-radius:8px;padding:8px 10px;color:#285446;background:#fff;font-size:12px}.date-switch{display:flex;align-items:center;gap:8px}.date-switch>button:not(.today-link){width:32px;height:32px;border:1px solid #dfe9e2;border-radius:7px;background:#fff;color:#476d58;display:grid;place-items:center}.date-switch>div{display:flex;align-items:center;gap:9px;min-width:170px;justify-content:center;color:#204c3a;font-size:13px;font-weight:700;text-transform:capitalize}.today-link{background:#e8f5ec;color:#117b5b;border:0;border-radius:7px;padding:8px 11px;font-size:11px;font-weight:700;margin-left:8px}.doctor-filter{border:1px solid #dfe9e2;border-radius:8px;padding:9px 12px;min-width:180px;color:#285446;background:#fff;font-size:12px}.archive-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #dfe9e2;border-radius:8px;padding:9px 12px;background:#fff;color:#7a5b4a;font-size:12px;font-weight:700;cursor:pointer}.shift-trigger{display:inline-flex;align-items:center;gap:7px;border:1px solid #bedfca;border-radius:8px;padding:9px 12px;background:#eaf7ed;color:#176345;font-size:12px;font-weight:700;cursor:pointer}.schedule-summary{display:flex;gap:24px;background:#f8fbf9;border-top:1px solid #edf2ee;border-bottom:1px solid #edf2ee;padding:13px 23px;color:#8ca397;font-size:11px}.schedule-summary strong{color:#1c6249;font-size:14px;margin-right:3px}.schedule-mismatch{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 23px;background:#fff5e8;color:#7c4b1d;font-size:12px}.schedule-mismatch button{border:1px solid #e8c69d;border-radius:7px;background:#fff;color:#70451c;padding:6px 9px;cursor:pointer}.schedule-previous-branch{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 23px;background:#f4f7f5;color:#43574b;font-size:12px}.schedule-previous-branch button{border:1px solid #cedbd2;border-radius:7px;background:#fff;color:#43574b;padding:6px 9px;cursor:pointer}.schedule-scroll,.week-scroll{overflow-x:auto}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));min-width:1085px}.week-day-heading{width:100%;min-height:70px;display:flex;flex-direction:column;gap:5px;align-items:flex-start;text-align:left;border:0;border-bottom:1px solid #e8eee9;border-right:1px solid #e8eee9;background:#f4f9f5;color:#27543c;padding:12px;cursor:pointer}.week-day-heading.current{background:#e9f5eb}.week-day-heading strong{font-size:12px;text-transform:capitalize}.week-day-heading small{color:#7b9b85;font-size:10px}.week-room{padding:10px 8px 14px;border-bottom:1px solid #edf1ed;border-right:1px solid #e8eee9;min-height:110px;min-width:0}.week-room.current{background:#fbfefa}.week-room-heading{display:flex;justify-content:space-between;align-items:center;gap:4px;margin-bottom:9px;color:#5c8069;font-size:10px}.week-room-heading button{display:grid;place-items:center;border:0;border-radius:5px;background:#e4f3e9;color:#168052;width:23px;height:23px;cursor:pointer}.week-room-actions{display:flex;gap:4px}.week-shift{display:flex;flex-direction:column;gap:3px;width:100%;margin-bottom:6px;padding:8px;border:1px solid #bddbe8;border-left:3px solid #397fa6;border-radius:6px;background:#eaf5fa;color:#275a71;text-align:left}button.week-shift{cursor:pointer}.week-shift b{font-size:10px}.week-shift span{font-size:11px;font-weight:700;line-height:1.3}.week-shift.override,.calendar-shift.override{border-color:#d7b7e5;border-left-color:#8c5aa7;background:#f4eefa;color:#70498a}.schedule-days-off{display:flex;flex-wrap:wrap;gap:7px;padding:9px 23px;background:#fff8ee;border-bottom:1px solid #f2e7d5}.schedule-day-hint{padding:8px 23px;color:#537c63;background:#f2f9f3;border-bottom:1px solid #e3eee5;font-size:11px}.schedule-days-off button,.schedule-days-off span{border:1px solid #e8d9bb;border-radius:7px;background:#fff;color:#8b6032;padding:6px 9px;font-size:11px}.schedule-days-off button{cursor:pointer}.doctor-day-off{color:#a36b34!important;font-weight:700}.override-day-off{display:flex;align-items:center;gap:8px;margin:18px 0;color:#456e57;font-size:12px;font-weight:700}.override-through{display:flex;flex-direction:column;gap:7px;max-width:240px;color:#6a8978;font-size:11px;font-weight:700}.override-through input{border:1px solid #dce9df;border-radius:7px;padding:9px}.override-slots{display:flex;flex-direction:column;gap:10px}.override-slot{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:10px;border:1px solid #e0ebe3;border-radius:8px}.override-slot label{display:flex;flex:1;min-width:100px;flex-direction:column;gap:5px;color:#6a8978;font-size:11px;font-weight:700}.override-slot input,.override-slot select{width:100%;border:1px solid #dce9df;border-radius:7px;padding:8px}.override-slot .secondary-button{padding:8px}.week-room-empty{color:#a1b5a8;font-size:10px;padding:7px 2px}.week-event{display:flex;flex-direction:column;gap:3px;width:100%;margin:0 0 6px;padding:8px;text-align:left;border:1px solid #cce8d3;border-left:3px solid #169b65;border-radius:6px;background:#eaf7ed;color:#25513c;cursor:pointer}.week-event b{font-size:10px}.week-event span,.week-event small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-event span{font-size:11px;font-weight:700}.week-event small{font-size:9px;color:#658574}.week-event.status-cancelled,.week-event.status-no_show{background:#f7eeee;border-color:#eddada;border-left-color:#c88787;opacity:.7}.calendar-board{display:grid;min-width:370px}.calendar-corner,.calendar-doctor{height:55px;display:flex;align-items:center;border-bottom:1px solid #e3ece5;background:#fff}.calendar-doctor-details{display:flex;flex-direction:column;gap:3px;min-width:0}.calendar-doctor-details small{color:#397fa6;font-size:10px}.calendar-shift{position:absolute;z-index:0;left:2px;right:2px;width:calc(100% - 4px);padding:0;border:1px dashed #9dc9d7;border-left:3px solid #397fa6;border-radius:5px;background:#eaf5fa9c;color:#39718c;text-align:left;font-size:10px;font-weight:700;overflow:hidden;pointer-events:none}.calendar-shift-action{position:absolute;z-index:3;left:5px;max-width:calc(100% - 4px);margin:2px;padding:3px 6px;border:1px solid #9dc9d7;border-radius:4px;background:#eaf5fa;color:#39718c;font-size:10px;font-weight:700;text-align:left;cursor:pointer;pointer-events:auto}.calendar-shift-action:hover,.calendar-shift-action:focus-visible{background:#d8edf5;outline:2px solid #397fa6;outline-offset:1px}.calendar-corner{justify-content:center;color:#9bada1;font-size:10px;border-right:1px solid #e3ece5}.calendar-doctor{padding:0 16px;gap:10px;border-right:1px solid #e3ece5;font-size:12px;color:#294f3e}.doctor-dot{background:#e3f2e9;color:#23835a;border-radius:50%;width:29px;height:29px;display:grid;place-items:center;font-weight:800}.time-rail{height:756px;position:relative;border-right:1px solid #e3ece5}.time-rail>div{height:54px;font-size:10px;color:#9bb0a2;text-align:center;transform:translateY(-6px)}.time-rail-button{width:100%;padding:2px 0;border:0;border-radius:4px;background:transparent;color:#658574;font:inherit;cursor:pointer}.time-rail-button:hover,.time-rail-button:focus-visible{background:#e4f5e9;color:#176e4a;outline:2px solid #169b65;outline-offset:-2px}.calendar-column{height:756px;position:relative;border-right:1px solid #e3ece5;background:repeating-linear-gradient(to bottom,#fff 0,#fff 53px,#eaf0eb 53px,#eaf0eb 54px)}.calendar-slot{position:absolute;z-index:1;left:3px;width:calc(100% - 6px);padding:0 8px;border:0;border-radius:4px;background:transparent;color:#a5c7b1;font-size:10px;font-weight:700;text-align:right;cursor:pointer}.calendar-slot:hover,.calendar-slot:focus-visible{background:#d9f3e4;color:#176e4a;outline:2px solid #169b65;outline-offset:-2px}.calendar-event{position:absolute;z-index:4;left:5px;right:5px;width:calc(100% - 10px);background:#e4f5e9;border:1px solid #bde4ca;border-left:3px solid #169b65;color:#25513c;border-radius:6px;text-align:left;padding:3px 6px;overflow:hidden;display:flex;flex-direction:column;gap:1px;box-shadow:0 2px 5px #0b573316}.calendar-event .event-heading{display:flex;align-items:center;gap:6px;min-width:0;width:100%}.calendar-event.compact{justify-content:center}.calendar-event.very-short{padding:0 4px}.calendar-event:hover{filter:brightness(.97);z-index:5}.calendar-event .event-time{font-size:9px;font-weight:800;color:#378a5c;flex-shrink:0;line-height:12px}.calendar-event strong{font-size:11px;min-width:0;line-height:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event small{color:#628c71;font-size:9px;line-height:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.status-confirmed{background:#e4f0ff;border-color:#c2dcfb;border-left-color:#4a89d4}.calendar-event.status-confirmed .event-time{color:#4a82bd}.calendar-event.status-arrived,.calendar-event.status-in_chair{background:#fff3d9;border-color:#f1dfae;border-left-color:#dfa232}.calendar-event.status-arrived .event-time,.calendar-event.status-in_chair .event-time{color:#b4812b}.calendar-event.status-completed{background:#edf2ef;border-color:#dde6e0;border-left-color:#829a86}.calendar-event.status-completed .event-time{color:#748b79}.calendar-event.status-cancelled,.calendar-event.status-no_show{background:#f7eeee;border-color:#eddada;border-left-color:#c88787;opacity:.7}.calendar-event.status-cancelled .event-time,.calendar-event.status-no_show .event-time{color:#b47878}.schedule-empty{padding:85px 20px;text-align:center;color:#9ab4a0}.schedule-empty h2{font-size:17px;margin:13px 0 5px}.schedule-empty p{font-size:12px;max-width:360px;margin:auto;line-height:1.5}.appointment-modal{width:min(650px,100%)}.patient-picker{border:1px solid #dbe8df;display:flex;align-items:center;gap:8px;padding:0 12px;min-height:41px;border-radius:8px;color:#85a494;position:relative}.patient-picker:focus-within{border-color:#36ad79}.patient-picker input{border:0;outline:0;width:100%;font-size:12px}.chosen-check{color:#238456;font-size:10px;font-weight:700;white-space:nowrap}.patient-matches{position:absolute;top:42px;left:0;right:0;z-index:3;background:#fff;border:1px solid #dce9df;border-radius:8px;box-shadow:0 10px 25px #063c2226;max-height:210px;overflow:auto}.patient-matches button{width:100%;border:0;background:#fff;display:flex;justify-content:space-between;padding:12px 13px;color:#244f3a;font-size:12px}.patient-matches button:hover{background:#f1f8f3}.patient-matches small{color:#8ca89a}.appointment-detail{background:#fff;width:min(450px,100%);border-radius:14px;overflow:hidden}.detail-content{padding:21px 27px}.detail-time{display:flex;gap:10px;align-items:center;padding:13px;border-radius:8px;background:#eff8f1;color:#257557;font-size:12px;text-transform:capitalize;margin-bottom:12px}.detail-time span{margin-left:auto;white-space:nowrap;font-weight:800}.appointment-comment{background:#f8faf8;color:#577966;border-radius:8px;padding:12px;white-space:pre-wrap;font-size:11px}.cancelled-detail{margin-top:14px;padding:12px;border-radius:8px;background:#fff4ee;color:#704c3d;font-size:12px}.cancelled-detail p{margin:7px 0}.cancelled-detail small{color:#967666}.cancel-form{margin-top:16px;border-top:1px solid #e7eee9;padding-top:14px}.cancel-form label{display:flex;flex-direction:column;gap:7px;color:#6a8978;font-size:11px;font-weight:700}.cancel-form textarea{border:1px solid #dce9df;border-radius:7px;padding:10px;font-size:12px;resize:vertical}.cancel-form>div{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.archive-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#13291b55;display:flex;justify-content:flex-end}.archive-panel{width:min(460px,100vw);height:100%;overflow-y:auto;background:#fff;box-shadow:-12px 0 35px #102d1a30}.archive-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:25px 24px 20px;border-bottom:1px solid #e7eee9}.archive-header h2{margin:7px 0;color:#234d39;font-size:22px}.archive-header p{margin:0;color:#809b89;font-size:12px;text-transform:capitalize}.archive-list{padding:18px 20px}.archive-empty{color:#849f90;font-size:13px}.archive-entry{display:flex;flex-direction:column;gap:7px;border:1px solid #eee1d9;border-left:3px solid #c88787;border-radius:9px;padding:14px;margin-bottom:12px;background:#fffaf7;color:#574b43;font-size:12px}.archive-entry>span,.archive-entry small{color:#7d8f83}.archive-entry-date{font-weight:800;text-transform:capitalize}.shift-form-note{margin:0 0 18px;color:#658574;font-size:12px}.shift-modal-footer .shift-delete{margin-right:auto;border:1px solid #e4c6c6;border-radius:8px;background:#fff4f4;color:#a54343;padding:9px 12px;font-weight:700;cursor:pointer}.shift-actions-modal{width:min(480px,100%)}.shift-action-context{margin:0 0 18px;color:#526b5c}.shift-action-list{display:grid;gap:10px}.shift-action-list .secondary-button,.shift-action-list .text-button{width:100%;justify-content:center;text-align:center}.archive-entry p{margin:2px 0;line-height:1.45}.archive-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}.archive-actions button{border:1px solid #cbded0;border-radius:7px;padding:8px 10px;background:#fff;color:#276447;font-size:11px;font-weight:700;cursor:pointer}.archive-actions button:first-child{background:#e8f5eb}.archive-actions button:disabled{opacity:.6;cursor:default}.restore-explanation{margin:0 0 17px;padding:10px 12px;border-radius:7px;background:#fff4e8;color:#805735;font-size:12px}.restore-fields{margin-top:16px}.status-label{display:flex;flex-direction:column;gap:7px;color:#6a8978;font-size:11px;font-weight:700;margin-top:19px}.status-label select{border:1px solid #dce9df;border-radius:7px;padding:10px;color:#25543c;font-size:12px}.admin-section{margin-bottom:20px}.admin-section-head{display:flex;justify-content:space-between;align-items:center;padding:21px 23px}.admin-heading{display:flex;align-items:center;gap:12px;color:#268160}.admin-heading p{color:#93a99c;font-size:11px;margin:3px 0 0}.admin-list-item{display:flex;gap:14px;align-items:center;padding:15px 23px;border-top:1px solid #edf2ee}.staff-avatar,.room-icon{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:#e8f4eb;color:#277553;font-size:13px;font-weight:800;flex:none}.admin-list-main{flex:1;min-width:0}.admin-list-main strong,.admin-list-main small{display:block}.admin-list-main strong{color:#244f3a;font-size:12px}.admin-list-main small{color:#97a89b;font-size:10px;margin-top:3px}.active-badge{color:#2f8955;background:#e8f5ec;border-radius:5px;padding:6px 8px;font-size:10px;font-weight:700}.active-badge.inactive{background:#f4eded;color:#a47575}.admin-note{display:flex;align-items:center;gap:8px;color:#85a092;font-size:11px}.admin-modal{width:min(560px,100%)}.form-hint{color:#95a99c;font-size:11px;margin:15px 0 0}@media(max-width:700px){.schedule-toolbar{gap:12px}.view-switch{order:0}.date-switch{order:2;width:100%}.schedule-date-picker{order:1}.doctor-filter{order:3;width:100%}.archive-trigger{order:4;width:100%}.shift-trigger{order:5;width:100%;justify-content:center}.date-switch{justify-content:space-between}.date-switch>div{min-width:0;font-size:11px}.schedule-summary{gap:10px;font-size:10px;justify-content:space-between}.admin-section-head{gap:10px;align-items:flex-start;flex-direction:column}.admin-list-item{flex-wrap:wrap}.admin-list-item .text-button{margin-left:50px}.detail-time{flex-wrap:wrap}}.plans-header{display:flex;justify-content:space-between;align-items:center;gap:18px}.plan-empty-inline{color:#799485;font-size:12px;padding:18px 24px;margin:0}.plan-new-form,.plan-detail,.service-form{border-top:1px solid #e5eee7;padding:22px 24px}.plan-new-form h3,.service-form h3{margin:0 0 16px;color:#28583e;font-size:17px}.plan-new-form label,.plan-meta-form label,.plan-form-grid label,.service-form-grid label{display:flex;flex-direction:column;gap:7px;color:#527260;font-size:11px;font-weight:800}.plan-new-form label{margin-bottom:13px}.plan-new-form input,.plan-new-form textarea,.plan-new-form select,.plan-meta-form input,.plan-meta-form textarea,.plan-meta-form select,.plan-form-grid input,.plan-form-grid textarea,.plan-form-grid select,.service-form-grid input{width:100%;border:1px solid #d8e7dc;border-radius:8px;background:#fff;padding:10px 11px;color:#254b38;font-size:12px}.plan-form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.plan-list{border-top:1px solid #e5eee7}.plan-list-row{width:100%;border:0;border-bottom:1px solid #edf2ee;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:15px;padding:15px 24px;text-align:left;cursor:pointer}.plan-list-row:hover,.plan-list-row.selected{background:#f5faf6}.plan-list-row>span:first-child{display:flex;flex-direction:column;gap:4px}.plan-list-row strong,.plan-detail h3{color:#28583e;font-size:13px}.plan-list-row small{color:#8ba293;font-size:11px}.plan-list-row b{color:#245d42;font-size:14px;white-space:nowrap}.plan-status{border-radius:6px;padding:6px 9px;font-size:11px;font-weight:800;white-space:nowrap;background:#eef2ef;color:#667f6e}.plan-status.active{background:#e2f2e7;color:#247449}.plan-status.cancelled{background:#f0f0f0;color:#818d85}.plan-status.completed{background:#e5effa;color:#356d9b}.plan-detail-head,.plan-items-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.plan-detail-head h3{margin:0;font-size:18px}.plan-detail-head strong{color:#245d42;font-size:19px}.plan-meta-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(140px,1fr) auto;align-items:end;gap:12px;margin:20px 0}.plan-meta-form .wide{grid-column:1 / 3}.plan-meta-form button{grid-column:3}.plan-comment{color:#527260;white-space:pre-wrap;font-size:12px}.plan-variants-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #e5eee7;padding-top:18px;margin-top:20px}.plan-variants-heading h4,.plan-variant-meta h4{margin:0;color:#28583e;font-size:14px}.plan-variants-heading p{margin:5px 0 0;color:#819a8b;font-size:11px}.plan-variants-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:13px}.plan-variant-card{min-width:0;display:flex;flex-direction:column;gap:9px;padding:15px;border:1px solid #dfeae2;border-radius:10px;background:#fff}.plan-variant-card.chosen{border-color:#8bc29b;background:#f7fbf8}.plan-variant-card.viewing{box-shadow:0 0 0 2px #d7eadc inset}.plan-variant-card-head{display:flex;align-items:center;justify-content:space-between;gap:9px}.plan-variant-card-head strong{color:#28583e;font-size:13px}.plan-variant-card-head span{display:inline-flex;align-items:center;gap:4px;color:#247449;font-size:10px;font-weight:800}.plan-variant-total{color:#245d42;font-size:19px}.plan-variant-card>small{color:#819a8b;font-size:11px}.plan-variant-card>p{margin:0;color:#527260;white-space:pre-wrap;font-size:11px;line-height:1.5}.plan-variant-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:5px}.plan-variant-actions button{min-height:34px;padding:0 10px;font-size:10px}.plan-variant-actions .plan-delete-button{display:inline-flex;align-items:center;gap:6px;border:1px solid #edd9d6;padding:0 10px}.plan-variant-delete-confirm{margin-top:3px}.plan-variant-meta{margin-top:16px;padding:16px;border:1px solid #e0ece3;border-radius:10px;background:#fbfdfb}.plan-variant-meta-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11px;margin:13px 0}.plan-variant-meta-fields label{display:flex;flex-direction:column;gap:7px;color:#527260;font-size:11px;font-weight:800}.plan-variant-meta-fields .wide{grid-column:1 / -1}.plan-variant-meta-fields input,.plan-variant-meta-fields textarea{width:100%;border:1px solid #d8e7dc;border-radius:8px;background:#fff;padding:10px 11px;color:#254b38;font-size:12px}.plan-items-head{margin-top:20px;border-top:1px solid #e5eee7;padding-top:18px}.plan-items-head h4,.plan-item-form h4{color:#28583e;font-size:14px;margin:0}.plan-item{border-bottom:1px solid #edf2ee;padding:15px 0;display:flex;align-items:center;gap:15px}.plan-item-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.plan-item-main strong{color:#315b43;font-size:13px}.plan-item-main small,.plan-item-cost small{color:#8ba293;font-size:11px}.plan-item-main p{margin:2px 0 0;color:#527260;white-space:pre-wrap;font-size:11px}.plan-item-cost{min-width:125px;display:flex;flex-direction:column;align-items:end;gap:4px}.plan-item-cost strong{color:#245d42;font-size:13px}.plan-delete-trigger{width:40px;height:40px;flex:none;display:grid;place-items:center;border:1px solid #edd9d6;border-radius:8px;background:#fff;color:#a4514b;cursor:pointer}.plan-delete-trigger:hover{background:#fff5f3;border-color:#d99e97}.plan-delete-confirm{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;padding:12px;border:1px solid #edd9d6;border-radius:8px;background:#fff9f8;color:#85443f;font-size:12px}.plan-delete-confirm span{flex:1;min-width:220px}.plan-delete-button{min-height:38px;border:0;border-radius:7px;padding:0 15px;background:#af4f48;color:#fff;font-size:12px;font-weight:800;cursor:pointer}.plan-delete-button:disabled{opacity:.65;cursor:wait}.plan-item-form{border:1px solid #e0ece3;border-radius:10px;background:#fbfdfb;padding:18px;margin-top:18px}.plan-number-control{display:flex;align-items:stretch;width:100%;gap:5px}.plan-form-grid .plan-number-control input{flex:1;min-width:0;width:0;text-align:center}.plan-number-control button{width:44px;min-height:44px;flex:none;border:1px solid #cfe2d4;border-radius:8px;background:#fff;color:#28583e;font-size:20px;font-weight:700;cursor:pointer}.plan-number-control button:hover:not(:disabled){background:#ecf7ee;border-color:#9dc8a7}.plan-number-control button:disabled{opacity:.4;cursor:default}.plan-number-error{color:#b54b3d;font-size:11px}.plan-form-grid,.service-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.service-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-form-grid .wide,.plan-form-grid .wide{grid-column:1 / -1}.plan-fixed-service{color:#315b43;font-size:12px;align-self:center}.plan-hint{color:#819a8b;font-size:11px;line-height:1.5}.plan-bottom-hint{padding:0 24px 20px;margin:0}.service-price{color:#245d42;white-space:nowrap;font-size:13px}.service-active{display:inline-flex;align-items:center;gap:8px;margin-top:15px;color:#527260;font-size:12px}.service-import{padding:17px 24px;border-top:1px solid #e5eee7}.service-import-label{display:inline-flex;align-items:center;gap:9px;color:#28583e;font-size:13px;font-weight:800;cursor:pointer}.service-import-label input{max-width:250px;font-size:12px}.service-import .plan-hint{margin:8px 0 0}.service-import-success{color:#247449;font-size:12px;font-weight:700}.service-import-preview{margin-top:17px;padding:15px;border:1px solid #d8e7dc;border-radius:9px;background:#fbfdfb;color:#315b43;font-size:12px}.service-import-preview>p{margin:8px 0 12px}.service-import-changes{max-height:300px;overflow:auto;border-top:1px solid #e5eee7}.service-import-changes>div{display:grid;grid-template-columns:85px minmax(0,1fr) auto;gap:12px;padding:8px 0;border-bottom:1px solid #edf2ee}.service-import-changes b{color:#467b57}.service-search{display:flex;align-items:center;gap:12px;padding:14px 24px;border-top:1px solid #e5eee7;color:#819a8b;font-size:11px}.service-search input{flex:1;min-width:0;border:1px solid #d8e7dc;border-radius:8px;padding:9px 11px;color:#254b38;font-size:12px}.plan-picker-panel{margin-top:18px;padding:18px;background:#fbfdfb;border:1px solid #dcebe0;border-radius:10px}.plan-picker-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.plan-picker-head h4{margin:0;color:#28583e;font-size:15px}.plan-picker-head p,.service-picker-group p{margin:6px 0 0;color:#819a8b;font-size:11px}.plan-picker-doctor{display:flex;flex-direction:column;gap:6px;max-width:300px;margin:15px 0;color:#527260;font-size:11px;font-weight:800}.plan-picker-doctor select{padding:9px 11px;border:1px solid #d8e7dc;border-radius:8px;background:#fff;color:#254b38}.service-picker-search{display:flex;align-items:center;gap:9px;margin-top:16px;border:1px solid #c9e0d0;border-radius:9px;background:#fff;padding:0 12px;color:#467b57}.service-picker-search input{width:100%;border:0;outline:none;padding:13px 0;color:#254b38;font-size:12px}.service-picker-group{margin-top:20px}.service-picker-group h5{margin:0 0 9px;color:#28583e;font-size:12px}.service-picker-row{display:flex;align-items:stretch;gap:6px;margin:5px 0}.service-picker-choice{flex:1;min-width:0;display:flex;align-items:center;gap:13px;border:1px solid #e4eee7;border-radius:8px;padding:10px 12px;background:#fff;text-align:left;cursor:pointer;color:#315b43}.service-picker-choice:hover{border-color:#8fc5a3;background:#f6fbf7}.service-picker-choice:disabled{opacity:.6;cursor:wait}.service-picker-choice>span:first-child{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.service-picker-choice strong{font-size:12px}.service-picker-choice small{color:#819a8b;font-size:10px}.service-picker-choice b{flex:none;white-space:nowrap;font-size:12px}.service-picker-add{color:#247449;font-size:11px;font-weight:800;white-space:nowrap}.service-picker-star{flex:none;border:1px solid #e4eee7;border-radius:8px;background:#fff;color:#9aaea0;padding:0 12px;cursor:pointer}.service-picker-configure{flex:none;border:1px solid #e4eee7;border-radius:8px;background:#fff;color:#527260;padding:0 11px;font-size:11px;cursor:pointer}.service-picker-configure:hover{border-color:#8fc5a3}.service-picker-star.selected{color:#d89c36;background:#fffaf0}.service-picker-star:hover{border-color:#d89c36}.service-picker-category{border-bottom:1px solid #e4eee7}.service-picker-category summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;padding:11px 2px;color:#315b43;font-size:12px;font-weight:800}.service-picker-category summary span{color:#819a8b;font-weight:600}.service-picker-category[open]{padding-bottom:9px}.service-picker-success{color:#247449;font-size:12px;font-weight:700}.plan-picker-detailed{margin-top:18px}@media(max-width:800px){.plan-meta-form,.plan-form-grid{grid-template-columns:1fr 1fr}.plan-meta-form .wide,.plan-meta-form button{grid-column:1 / -1}.plan-item{flex-wrap:wrap}}@media(max-width:540px){.plans-header,.plan-list-row{flex-wrap:wrap}.plan-list-row{grid-template-columns:1fr auto}.plan-list-row b{grid-column:1 / -1}.plan-meta-form,.plan-form-grid,.service-form-grid{grid-template-columns:1fr}.service-picker-choice{flex-wrap:wrap}.service-picker-add{display:none}.plan-meta-form .wide{grid-column:auto}}.documents-layout{display:grid;gap:18px}.document-template-list{display:flex;flex-wrap:wrap;gap:10px}.document-template-list button{background:#fff;border:1px solid #d8e6df;border-radius:9px;padding:13px 16px;text-align:left;cursor:pointer;min-width:190px}.document-template-list button.selected{border-color:#117b5b;background:#ecf8f1}.document-template-list strong,.document-template-list span{display:block}.document-template-list span{font-size:12px;color:#688277;margin-top:4px}.document-create-form{border-top:1px solid #e4eee8;margin-top:20px;padding-top:16px}.document-hint,.document-meta{color:#678175;font-size:13px;line-height:1.5}.document-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:14px 0}.document-fields .wide{grid-column:1 / -1}.document-fields label,.document-editor label:not(.document-active){display:grid;gap:7px;color:#345847;font-size:13px;font-weight:600}.document-fields input,.document-fields select,.document-editor input:not([type=checkbox]),.document-editor select,.document-editor textarea{box-sizing:border-box;width:100%;border:1px solid #d5e3da;border-radius:8px;padding:10px 12px;font:inherit;color:#243d2f;background:#fff}.document-editor{display:grid;gap:15px}.document-editor textarea{resize:vertical;min-height:250px;line-height:1.5}.document-active{display:flex;gap:8px;align-items:center;font-size:13px}.document-variables{display:flex;flex-wrap:wrap;gap:7px}.document-variables button{border:1px solid #d5e3da;border-radius:7px;background:#f7fbf8;padding:7px 10px;cursor:pointer;color:#315c48}.document-variables code{display:block;font-size:11px;color:#6b8677}.document-actions{display:flex;gap:9px;flex-wrap:wrap}.document-history>div{padding:13px 0;border-top:1px solid #e8eee9;display:flex;align-items:center;justify-content:space-between;gap:12px}.document-history strong,.document-history small{display:block}.document-history small{color:#71877b;margin-top:5px}.document-error{color:#a42828;font-size:13px}.document-success{color:#117b5b;font-size:13px}.document-modal{width:min(800px,calc(100vw - 30px));max-height:calc(100vh - 30px);overflow-y:auto}.document-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.6 Georgia,Times New Roman,serif;color:#222;padding:22px;border:1px solid #e3e8e3;border-radius:8px;background:#fff}.document-frame{width:100%;height:min(62vh,720px);border:1px solid #d5e3da;border-radius:8px;background:#fff;margin-top:16px}.document-select-label{display:grid;gap:7px;margin-bottom:15px;font-size:13px;font-weight:600;color:#345847}.document-select-label select{border:1px solid #d5e3da;border-radius:8px;padding:10px 12px;font:inherit;background:#fff}@media(max-width:650px){.document-fields{grid-template-columns:1fr}.document-fields .wide{grid-column:auto}.document-history>div{align-items:flex-start}}.staff-specialty{display:flex;gap:8px;align-items:center;margin-top:5px}.staff-specialty input{border:1px solid #d5e3da;border-radius:6px;padding:5px 8px;font-size:12px;min-width:180px}.medical-chart{overflow:hidden}.medical-header{display:flex;justify-content:space-between;align-items:center;gap:18px}.medical-editor{border-top:1px solid #e5eee7;padding:22px 24px 25px;background:#fcfefd}.medical-editor-head,.medical-visit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.medical-editor-head h3{margin:5px 0 0;color:#23503a;font-size:18px}.medical-meta{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin:22px 0}.medical-meta label,.medical-fields label{display:flex;flex-direction:column;gap:7px;color:#527260;font-size:11px;font-weight:800}.medical-meta label{min-width:220px;flex:1}.medical-meta input,.medical-meta select,.medical-fields input,.medical-fields textarea{width:100%;border:1px solid #d8e7dc;border-radius:8px;background:#fff;padding:10px 11px;color:#254b38;font-size:12px;outline-color:#4ba479}.medical-work-section{grid-column:1 / -1;display:grid;gap:14px;border-top:1px solid #e4eee7;padding:19px 0}.medical-work-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.medical-work-heading strong{color:#315e44;font-size:13px}.medical-work-heading p{color:#799485;font-size:11px;margin:5px 0 0}.medical-work-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:12px;border:1px solid #e0ece3;background:#fff;border-radius:9px;padding:12px}.medical-work-row>div:first-child{display:grid;gap:4px}.medical-work-row strong{font-size:12px;color:#2d5b42}.medical-work-row small{font-size:11px;color:#849b8a}.medical-work-details{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid #e7efe8;padding-top:12px}.medical-work-details label{min-width:0}.medical-work-details input,.medical-work-details select{width:100%;border:1px solid #d8e7dc;border-radius:8px;padding:10px;background:#fff;color:#254b38}.medical-work-total{justify-self:end;color:#24563c;font-size:15px}.medical-work-section>label{max-width:100%}@media(max-width:700px){.medical-work-heading{align-items:flex-start;flex-direction:column}.medical-work-row{grid-template-columns:1fr auto}.medical-work-details{grid-template-columns:1fr}}.medical-fixed-doctor{color:#6c8a77;font-size:12px;padding:12px 0}.medical-fixed-doctor strong{color:#26553e}.medical-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.medical-fields textarea{min-height:72px;resize:vertical;line-height:1.45}.medical-tooth-section{grid-column:1 / -1;border-top:1px solid #e4eee7;border-bottom:1px solid #e4eee7;padding:18px 0}.medical-tooth-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin-bottom:12px}.medical-tooth-head strong{color:#315e44;font-size:12px}.medical-tooth-head span,.medical-tooth-hint{color:#799485;font-size:11px}.medical-tooth-hint{margin:10px 0 0;line-height:1.5}.medical-tooth-section>select{width:min(280px,100%)}.medical-tooth-section select,.medical-tooth-section input{border:1px solid #d8e7dc;border-radius:8px;background:#fff;padding:10px 11px;color:#254b38;font-size:12px}.medical-tooth-result{display:grid;grid-template-columns:auto auto minmax(180px,1fr) minmax(180px,1fr);align-items:end;gap:10px;margin-top:14px;padding:12px;border:1px solid #e4eee7;border-radius:9px;background:#fff}.medical-tooth-result>strong{color:#2d5f43;font-size:13px;padding-bottom:10px}.medical-tooth-result>.text-button{justify-self:start;margin-bottom:8px}.medical-tooth-result label{min-width:0}.medical-tooth-result input,.medical-tooth-result select{width:100%}.medical-saved-results{grid-column:1 / -1}.medical-saved-results p{font-weight:700}.medical-editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}.medical-empty{display:flex;flex-direction:column;align-items:center;gap:9px;padding:55px 18px;color:#79a48a;text-align:center}.medical-empty strong{color:#315b43;font-size:15px}.medical-empty span{font-size:12px}.medical-visit{padding:22px 24px;border-top:1px solid #eaf0eb}.medical-visit-head>div:first-child{display:flex;flex-direction:column;gap:5px}.medical-visit-head strong{color:#28513c;font-size:13px}.medical-visit-head span{color:#8ca396;font-size:11px}.medical-visit-actions{display:flex;align-items:center;gap:14px}.medical-status{border-radius:6px;padding:6px 9px;font-size:10px!important;font-weight:800}.medical-status.draft{background:#fff4e3;color:#a57430!important}.medical-status.completed{background:#e7f5e9;color:#258052!important}.medical-visit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 25px;margin-top:19px}.medical-visit-fields small{color:#8ea89a;font-size:10px;font-weight:800}.medical-visit-fields p{color:#335542;font-size:12px;line-height:1.5;white-space:pre-wrap;margin:5px 0 0}.medical-no-notes{color:#9bad9f;font-size:12px;margin:15px 0 0}.medical-confirm-dialog{width:min(470px,100%)}.medical-confirm-dialog .modal-body{padding-top:16px;padding-bottom:18px}.medical-confirm-dialog .modal-body p{margin:0;color:#496657;font-size:13px;line-height:1.6}@media(max-width:700px){.medical-header,.medical-editor-actions{flex-wrap:wrap}.medical-fields,.medical-visit-fields{grid-template-columns:1fr}.medical-tooth-section{grid-column:auto}.medical-tooth-result{grid-template-columns:1fr 1fr}.medical-tooth-result label{grid-column:1 / -1}}.teeth-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.teeth-count{color:#678977;font-size:12px;font-weight:700}.teeth-body{padding:23px 25px 30px}.teeth-instruction{margin:0 0 20px;color:#678575;font-size:13px}.fdi-chart{max-width:1020px;margin:0 auto}.fdi-arch-label{text-align:center;color:#618571;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin:13px 0 10px}.fdi-arch-label.lower{border-top:1px solid #e4eee7;padding-top:19px;margin-top:24px}.fdi-row{display:grid;grid-template-columns:1fr 1fr;gap:26px}.fdi-group-label{display:block;text-align:center;color:#789584;font-size:11px;margin-bottom:9px}.fdi-teeth{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.fdi-tooth{min-width:0;min-height:46px;border:1px solid #dbe8de;border-radius:9px;background:#f5f8f6;color:#5d7867;font-size:14px;font-weight:800;cursor:pointer}.fdi-tooth:hover{border-color:#17845c}.fdi-tooth.selected{outline:3px solid #247f5b;outline-offset:2px}.fdi-tooth.healthy,.teeth-legend i.healthy,.tooth-current.healthy{background:#ddf2e4;color:#257549;border-color:#a8d5b8}.fdi-tooth.attention,.teeth-legend i.attention,.tooth-current.attention{background:#fce9dc;color:#ad5b2d;border-color:#edc8ab}.fdi-tooth.treated,.teeth-legend i.treated,.tooth-current.treated{background:#e2edfa;color:#386d9f;border-color:#b9cfe8}.fdi-tooth.missing,.teeth-legend i.missing,.tooth-current.missing{background:#fff0dc;color:#8b4b13;border-color:#e3a85f}.fdi-tooth{position:relative}.fdi-tooth-mark{position:absolute;top:2px;right:4px;color:#b33a32;font-size:16px;font-weight:800;line-height:1;pointer-events:none}.teeth-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:11px 20px;margin:23px 0;color:#678575;font-size:11px}.teeth-legend span{display:inline-flex;align-items:center;gap:6px}.teeth-legend i{width:13px;height:13px;border:1px solid #dbe8de;border-radius:4px;background:#f5f8f6}.tooth-detail{border-top:1px solid #e4eee7;padding-top:25px}.tooth-detail-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.tooth-detail h3{color:#24503a;margin:5px 0 0;font-size:18px}.tooth-current{padding:8px 12px;border:1px solid #dbe8de;border-radius:8px;background:#f5f8f6;color:#5d7867;font-size:12px;font-weight:800}.tooth-update{display:grid;grid-template-columns:minmax(190px,1fr) minmax(250px,2fr) auto;align-items:end;gap:13px;margin:23px 0}.tooth-update label{display:flex;flex-direction:column;gap:7px;color:#527260;font-size:11px;font-weight:800}.tooth-update select,.tooth-update textarea{border:1px solid #d8e7dc;border-radius:8px;background:#fff;padding:10px 11px;color:#254b38;font-size:12px}.tooth-update textarea{resize:vertical;min-height:41px}.tooth-update button{white-space:nowrap}.tooth-history h4{color:#2a5740;font-size:13px;margin:0 0 10px}.tooth-history>p{color:#789584;font-size:12px}.tooth-event{border-top:1px solid #edf2ee;padding:13px 0;display:flex;flex-direction:column;gap:4px}.tooth-event strong{color:#2e5841;font-size:13px}.tooth-event span{color:#849c8c;font-size:11px}.tooth-event p{white-space:pre-wrap;margin:3px 0 0;color:#3e604b;font-size:12px}.medical-picker{grid-column:1 / -1;border:1px solid #e3eee6;border-radius:9px;background:#fff;padding:10px 18px 18px}.medical-picker summary{cursor:pointer;color:#2c7650;font-size:12px;font-weight:800}.medical-picker .fdi-tooth{min-height:34px;font-size:11px}@media(max-width:850px){.tooth-update{grid-template-columns:1fr}.fdi-row{gap:9px}.fdi-teeth{gap:2px}.fdi-tooth{min-height:36px;font-size:11px}}@media(max-width:530px){.teeth-body{padding:18px 12px}.fdi-row{grid-template-columns:1fr;gap:12px}.fdi-group-label{margin-bottom:5px}}.finance-page{display:grid;gap:18px}.finance-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.finance-totals>div{background:#fff;border:1px solid #e2ebe5;border-radius:13px;padding:18px;display:grid;gap:8px}.finance-totals span{color:#668071;font-size:13px}.finance-totals strong{font-size:22px;color:#214632}.finance-actions{display:flex;flex-wrap:wrap;gap:10px}.finance-form,.finance-history{padding:22px}.finance-form h2,.finance-history h2{margin:0 0 8px}.finance-form p{color:#698071}.finance-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:18px 0}.finance-fields label{display:grid;gap:6px;font-size:13px;font-weight:600;color:#365b45}.finance-fields input,.finance-fields select{width:100%;min-width:0;padding:11px;border:1px solid #cbded1;border-radius:8px;background:#fff;font:inherit}.finance-wide{grid-column:1 / -1}.finance-entry{display:grid;grid-template-columns:175px minmax(0,1fr) auto auto;align-items:center;gap:15px;border-top:1px solid #edf2ee;padding:16px 0;font-size:13px}.finance-entry>div:first-child,.finance-entry>div:nth-child(2){display:grid;gap:4px}.finance-entry span,.finance-entry small{color:#778d7e}.finance-amount{white-space:nowrap;color:#214632;font-size:15px}.finance-entry.voided{opacity:.6}.finance-entry.voided .finance-amount{text-decoration:line-through}.finance-void-reason{grid-column:1 / -1}.finance-visit{border-top:1px solid #edf2ee;padding:18px 0}.finance-visit-heading{display:flex;justify-content:space-between;gap:15px;align-items:start}.finance-visit-heading>div{display:grid;gap:5px}.finance-visit-heading small,.finance-visit-services small{color:#778d7e;font-size:12px}.finance-visit-services{list-style:none;margin:14px 0;padding:0 0 0 14px;border-left:2px solid #dbe9df}.finance-visit-services li{display:flex;justify-content:space-between;gap:15px;padding:7px 0;font-size:13px}.finance-visit-services li span{display:grid;gap:3px}.finance-visit-services li strong{white-space:nowrap}.finance-visit-total{display:grid;gap:3px;text-align:right}.finance-visit-total small{color:#778d7e}.finance-visit>.text-button{margin-right:18px;margin-bottom:4px}.finance-discount-dialog{width:min(780px,100%)}.finance-discount-dialog .modal-body{padding-top:18px}.finance-discount-dialog .modal-body>p:first-child{margin:0 0 18px;color:#496657}.finance-percent-label{display:grid;gap:7px;color:#365b45;font-size:13px;font-weight:700}.finance-discount-general{max-width:230px}.finance-percent-control{display:flex;min-width:0;height:42px;border:1px solid #cbded1;border-radius:8px;overflow:hidden;background:#fff}.finance-percent-control input{min-width:0;width:100%;flex:1;padding:8px;border:0;outline:0;text-align:center;font:inherit}.finance-percent-control button{width:42px;flex:0 0 42px;border:0;background:#eef6f0;color:#214632;font-size:20px;font-weight:700}.finance-percent-control button:hover:not(:disabled){background:#dcefe1}.finance-percent-control button:disabled{color:#a6b9ac;cursor:default}.finance-percent-control:focus-within{border-color:#36ad79;box-shadow:0 0 0 3px #36ad791a}.finance-percent-control.invalid{border-color:#cf6959}.finance-percent-error{color:#b54b3d;font-size:11px}.finance-discount-services{margin-top:15px;border-top:1px solid #edf2ee}.finance-discount-service{display:grid;grid-template-columns:minmax(0,1fr) 190px 120px;gap:15px;align-items:center;padding:14px 0;border-bottom:1px solid #edf2ee}.finance-discount-service>div:first-child,.finance-discount-service-total{display:grid;gap:5px}.finance-discount-service small{color:#778d7e;font-size:12px}.finance-discount-service-total{text-align:right}.finance-discount-summary{display:flex;justify-content:space-between;gap:15px;margin-top:18px;font-weight:700;color:#214632}.finance-discount-dialog .modal-footer{padding:18px 27px}.finance-cancel-dialog{width:min(470px,100%)}.finance-cancel-dialog .modal-body{display:grid;gap:14px;padding-top:18px}.finance-cancel-dialog .modal-body p{margin:0;color:#496657;font-size:13px;line-height:1.6}.finance-cancel-dialog .modal-body label{color:#365b45;font-size:13px;font-weight:700}.finance-cancel-dialog textarea{width:100%;min-height:88px;padding:11px;border:1px solid #cbded1;border-radius:8px;font:inherit;resize:vertical}.finance-cancel-dialog .modal-footer{padding:18px 27px}@media(max-width:900px){.finance-totals,.finance-fields{grid-template-columns:repeat(2,1fr)}.finance-entry{grid-template-columns:1fr auto}}@media(max-width:600px){.finance-totals,.finance-fields,.finance-entry{grid-template-columns:1fr}.finance-entry{gap:6px}}@media(max-width:600px){.finance-discount-service{grid-template-columns:1fr 1fr}.finance-discount-service>div:first-child{grid-column:1 / -1}}.patient-files-layout{display:grid;gap:18px}.patient-files-upload{display:flex;align-items:end;gap:12px;margin:20px 0;flex-wrap:wrap}.patient-files-upload label,.patient-file-edit label{display:grid;gap:5px;color:#71817d;font-size:12px}.patient-files-upload select,.patient-file-edit select{min-height:38px;min-width:150px;padding:7px 30px 7px 10px;border:1px solid #dce6e1;border-radius:8px;background:#fff;color:#263a34;font:inherit}.patient-files-upload input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.patient-files-upload>span{color:#71817d;font-size:13px}.patient-files-progress{display:flex;align-items:center;gap:12px;margin:-8px 0 18px;color:#60736e;font-size:13px}.patient-files-progress-track{flex:1;height:6px;overflow:hidden;border-radius:8px;background:#e6ece9}.patient-files-progress-track>div{height:100%;border-radius:inherit;background:#197b68;transition:width .15s ease}.patient-files-list{border-top:1px solid #e6ece9}.patient-file-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #e6ece9}.patient-file-main{display:flex;min-width:0;flex-direction:column;gap:4px}.patient-file-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-file-main span,.patient-file-main small{color:#71817d;font-size:13px}.patient-file-visit{color:#317563!important}.patient-file-edit{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:8px}.patient-file-edit select{min-width:130px;min-height:34px}.patient-file-actions{display:flex;flex-wrap:wrap;gap:8px}.patient-file-preview-backdrop{z-index:1000}.patient-file-preview{display:flex;flex-direction:column;width:min(1000px,calc(100vw - 32px));height:min(850px,calc(100vh - 32px));overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 24px 80px #17382e40}.patient-file-preview>header,.patient-file-preview>footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid #e6ece9}.patient-file-preview>header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-file-preview>footer{justify-content:flex-end;border-top:1px solid #e6ece9;border-bottom:0}.patient-file-preview-content{display:grid;flex:1;min-height:0;place-items:center;overflow:auto;background:#f2f5f4}.patient-file-preview-content img{max-width:100%;max-height:100%;object-fit:contain}.patient-file-preview-content iframe{width:100%;height:100%;border:0;background:#fff}.patient-file-visit-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.patient-file-visit-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:8px;background:#f0f6f3;color:#31584c;font-size:13px}@media(max-width:600px){.patient-file-row{align-items:flex-start;flex-direction:column}.patient-file-main,.patient-file-actions{width:100%}}:root{font-family:DM Sans,Arial,sans-serif;color:#17332e;background:#f5f8f7;font-synthesis:none}.staging-environment{padding-top:36px}.staging-banner{position:fixed;z-index:10000;inset:0 0 auto;min-height:36px;display:flex;align-items:center;justify-content:center;padding:5px 12px;background:#8c1d18;color:#fff;font-size:13px;font-weight:800;letter-spacing:.08em;text-align:center}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default}.app-shell{display:flex;min-height:100vh}.sidebar{width:254px;flex:none;background:#103d36;color:#e5f4ee;display:flex;flex-direction:column;padding:26px 14px 18px}.brand,.login-brand{display:flex;align-items:center;gap:11px;padding:0 13px}.brand-mark{width:40px;height:40px;border-radius:12px;background:#d8f2e3;color:#0c624a;display:grid;place-items:center;flex:none}.brand strong,.login-brand strong{display:block;font-family:Manrope,sans-serif;letter-spacing:-.04em;font-size:17px}.brand small{display:block;font-size:10px;color:#9bc6b9;margin-top:2px;letter-spacing:.08em;text-transform:uppercase}.sidebar-section-label{font-size:10px;letter-spacing:.14em;color:#82b0a4;font-weight:700;padding:39px 13px 13px}.sidebar-section-label.later{padding-top:31px}.nav{display:grid;gap:4px}.nav button{border:0;background:transparent;color:#b8d5ca;width:100%;display:flex;align-items:center;gap:13px;text-align:left;padding:12px 13px;border-radius:9px;font-size:13px;font-weight:600}.nav button svg{flex:none}.nav button.active{background:#226052;color:#fff}.nav button:not(:disabled):hover{background:#246052}.nav button:disabled{opacity:.52}.nav button span{margin-left:auto;font-size:10px;font-weight:500;color:#acd0c3}.sidebar-bottom{margin-top:auto}.sidebar-hint{background:#1d5146;border:1px solid #2f6859;border-radius:13px;padding:16px 13px;display:flex;gap:10px;color:#d8efe4}.sidebar-hint svg{flex:none;margin-top:2px;color:#a4dfc2}.sidebar-hint strong{font-size:12px}.sidebar-hint p{margin:7px 0 0;color:#a8cabc;font-size:11px;line-height:1.5}.main{min-width:0;flex:1}.topbar{height:76px;background:#fff;border-bottom:1px solid #e3ece7;display:flex;align-items:center;justify-content:space-between;padding:0 40px}.breadcrumb{color:#48645c;font-size:12px;font-weight:600}.breadcrumb span{color:#b8c8c1;margin:0 10px}.top-right{display:flex;align-items:center;gap:12px}.user-switch-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d8e7df;border-radius:8px;background:#fff;color:#365d4f;padding:8px 10px;font-size:12px;cursor:pointer}.user-switch-button:hover{background:#f2f8f4}.branch-select{display:flex;align-items:center;gap:7px;margin-right:15px;font-size:12px;color:#819890}.branch-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:#21483d;font-weight:700;outline:none;cursor:pointer;padding-right:2px}.branch-select svg{pointer-events:none;color:#55796e}.user-avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#e4f2e9;color:#2d7655;font-weight:800}.user-info strong,.user-info small{display:block}.user-info strong{font-size:12px}.user-info small{font-size:10px;color:#87a198;margin-top:2px}.content{max-width:1460px;margin:auto;padding:38px 40px 70px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:29px}.eyebrow{font-size:10px;font-weight:800;color:#2d9271;letter-spacing:.15em}.page-heading h1,.card-title h1{font-family:Manrope,sans-serif;font-size:29px;letter-spacing:-.055em;margin:8px 0 7px;color:#123c33}.page-heading p,.card-title p{font-size:13px;color:#8a9d95;margin:0}.primary-button,.secondary-button{min-height:39px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 17px;font-weight:700;font-size:12px;white-space:nowrap}.primary-button{background:#117b5b;border:1px solid #117b5b;color:#fff;box-shadow:0 3px 8px #0f7c5824}.primary-button:hover{background:#0d6e50}.primary-button:disabled{opacity:.65}.secondary-button{background:#fff;border:1px solid #d8e6df;color:#28584b}.secondary-button:hover{background:#f4f8f6}.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}.stats-strip>div{background:#fff;border:1px solid #e3ece7;border-radius:11px;padding:17px 20px}.stats-strip span,.stats-strip strong{display:block}.stats-strip span{color:#8da199;font-size:11px;font-weight:600}.stats-strip strong{font-family:Manrope,sans-serif;font-size:18px;margin-top:6px;color:#18483a}.stats-strip strong small{font:400 11px DM Sans,sans-serif;color:#9cad9f}.panel{background:#fff;border:1px solid #e2ebe5;border-radius:12px;box-shadow:0 3px 18px #204e3608}.panel-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 24px 20px}.panel h2{font-family:Manrope,sans-serif;font-size:15px;letter-spacing:-.025em;margin:0;color:#1e4338}.panel-top p{font-size:11px;color:#92a59b;margin:5px 0 0}.search-box{height:38px;width:275px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #e0eae3;border-radius:8px;color:#83a094}.search-box:focus-within{border-color:#2eab7b}.search-box input{border:0;outline:0;width:100%;font-size:12px;color:#173f32}.search-box input::placeholder{color:#a3b5ab}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{background:#f9fbfa;color:#99aba1;font-size:10px;letter-spacing:.1em;font-weight:800;padding:13px 24px}td{border-top:1px solid #edf2ee;padding:15px 24px;font-size:12px;color:#456359}tbody tr{cursor:pointer}tbody tr:hover{background:#f8fcf9}td:last-child{color:#94b0a1;width:35px}.patient-cell{display:flex;align-items:center;gap:12px}.patient-cell strong{font-size:12px;color:#24483b}.patient-avatar{width:34px;height:34px;border-radius:9px;background:#e4f3ea;color:#267654;display:grid;place-items:center;font-size:11px;font-weight:800;flex:none}.id-tag{background:#f0f6f2;color:#608679;padding:6px 8px;border-radius:5px;font-size:10px;font-weight:700}.empty-state{text-align:center;padding:64px 20px 73px;color:#aac4b2}.empty-state h3{color:#24483b;font:700 16px Manrope,sans-serif;margin:14px 0 6px}.empty-state p{color:#8fa79b;font-size:12px}.text-button{border:0;background:transparent;color:#147e5f;font-weight:700;display:inline-flex;gap:6px;align-items:center;font-size:12px}.today-panel{padding:55px;text-align:center;display:flex;align-items:center;flex-direction:column;color:#2c9971}.today-panel h2{font-size:18px;margin:20px 0 5px}.today-panel p{color:#879e91;font-size:13px;margin-bottom:22px}.alert{margin:15px 40px 0;background:#fff0ed;border:1px solid #ffd8cf;border-radius:8px;padding:10px 14px;color:#a84735;font-size:12px;display:flex;justify-content:space-between}.alert button{border:0;background:none;color:inherit}.back-button{display:flex;align-items:center;gap:8px;border:0;background:none;color:#6b8f7e;font-weight:700;font-size:12px;padding:0;margin-bottom:25px}.card-hero{display:flex;align-items:center;gap:19px;margin-bottom:27px}.card-avatar{width:73px;height:73px;border-radius:16px;background:#e2f2e8;color:#288061;display:grid;place-items:center;font:800 23px Manrope,sans-serif;flex:none}.card-title{flex:1}.card-title h1{margin:4px 0 5px}.card-title p span{margin:0 6px}.tabs{display:flex;gap:27px;border-bottom:1px solid #dfeae3;overflow-x:auto;margin-bottom:22px}.tabs button{border:0;background:none;color:#9aafa4;padding:13px 0;font-size:12px;font-weight:700;white-space:nowrap}.tabs button.active{color:#0b805c;border-bottom:2px solid #0b805c}.tabs button:disabled{opacity:.6}.card-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:17px}.card-panel{padding:23px 24px}.card-panel .panel-top{padding:0 0 20px}.card-panel h2{margin-bottom:20px}.card-panel .panel-top h2{margin:0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.detail-grid .wide{grid-column:1/-1}.detail-grid dt{font-size:10px;color:#93a69d;margin-bottom:7px}.detail-grid dd{margin:0;color:#294a3e;font-size:12px;font-weight:600}.summary-row{display:flex;justify-content:space-between;border-bottom:1px solid #edf2ee;padding:12px 0;font-size:11px}.summary-row span{color:#8da59a}.summary-row strong{color:#315a48}.muted-note{color:#9bad9f;font-size:11px;line-height:1.5;margin:18px 0 0}.notes-text{font-size:12px;color:#6a8979;white-space:pre-wrap;line-height:1.6}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#092b2394;display:flex;justify-content:center;align-items:center;padding:20px;z-index:10}.patient-modal{background:#fff;width:min(690px,100%);max-height:95vh;display:flex;flex-direction:column;border-radius:15px;box-shadow:0 20px 80px #001f1844}.modal-header{padding:22px 27px;border-bottom:1px solid #e9eee9;display:flex;align-items:center;justify-content:space-between}.modal-header h2{font:800 20px Manrope,sans-serif;margin:4px 0 0;color:#1d493a}.icon-button{border:0;background:transparent;color:#809c8f;padding:5px}.modal-body{overflow:auto;padding:8px 27px 25px}.form-section-title{font-size:11px;font-weight:800;color:#2b674d;margin:20px 0 13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label,.login-card label{display:flex;flex-direction:column;gap:7px;color:#4b6d5d;font-size:11px;font-weight:700}.form-grid label.wide{grid-column:1/-1}.form-grid em{color:#d85a4b;font-style:normal}.form-grid input,.form-grid select,.form-grid textarea,.login-card input{width:100%;border:1px solid #dbe8df;background:#fff;border-radius:7px;outline:0;padding:10px 11px;color:#234d3b;font-size:12px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.login-card input:focus{border-color:#36ad79;box-shadow:0 0 0 3px #36ad791a}.form-grid textarea{resize:vertical}.modal-footer{display:flex;justify-content:flex-end;gap:9px;padding:17px 27px;border-top:1px solid #e9eee9}.duplicate-warning{background:#fff8e8;border:1px solid #f1dfb3;border-radius:8px;color:#9a712d;padding:12px;font-size:11px;margin-top:13px}.duplicate-warning strong{display:block;margin-bottom:6px}.form-error{background:#fff0ed;color:#b34f3b;padding:10px;border-radius:7px;font-size:12px;margin:12px 0}.loading-screen{height:100vh;display:grid;place-items:center;color:#106949;font:800 22px Manrope,sans-serif}.login-page{min-height:100vh;display:grid;grid-template-columns:48% 52%;background:#f7faf8}.login-side{background:linear-gradient(145deg,#0a3c31,#0a6547);padding:38px 9%;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.login-brand{padding:0}.login-brand strong{font-size:20px}.login-statement .eyebrow{color:#91d9ae}.login-statement h1{font:800 clamp(38px,4vw,60px)/1.14 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0}.login-statement p{max-width:420px;color:#a8d1ba;font-size:15px;line-height:1.6}.login-footer{color:#a4cbb5;font-size:12px}.login-main{display:grid;place-items:center;padding:30px}.login-card{width:min(370px,100%)}.login-icon{width:48px;height:48px;border-radius:12px;background:#e6f4e9;color:#187c56;display:grid;place-items:center;margin-bottom:25px}.login-card h2{font:800 25px Manrope,sans-serif;color:#153d30;letter-spacing:-.04em;margin:0 0 5px}.login-card>p{font-size:12px;color:#8da397;margin:0 0 31px}.login-card label{font-size:12px;margin-bottom:17px;color:#375b47}.login-card input{padding:12px;font-size:13px}.login-submit{width:100%;justify-content:space-between;margin-top:8px;height:45px;font-size:13px}.login-card>small{display:block;text-align:center;color:#9eb1a3;font-size:11px;margin-top:22px}.mobile-menu{display:none}@media(max-width:950px){.sidebar{width:205px}.content{padding:30px 22px}.topbar{padding:0 22px}.card-grid{grid-template-columns:1fr}.tabs{gap:20px}.stats-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.sidebar{position:fixed;z-index:5;top:0;bottom:0;transform:translate(-100%);transition:transform .2s}.sidebar.open{transform:translate(0)}.mobile-menu{display:block}.topbar{height:65px}.breadcrumb{display:none}.top-right{margin-left:auto}.user-info{display:none}.branch-select{margin-right:0}.user-switch-button{width:36px;height:36px;padding:0}.user-switch-button span{display:none}.content{padding:25px 15px}.page-heading{align-items:flex-start}.page-heading h1{font-size:25px}.stats-strip{grid-template-columns:1fr 1fr}.stats-strip>div:last-child{display:none}.panel-top{display:block}.search-box{margin-top:15px;width:100%}th,td{padding:12px 14px;white-space:nowrap}.card-hero{flex-wrap:wrap}.card-title h1{font-size:22px}.card-hero .secondary-button{margin-left:90px}.login-page{grid-template-columns:1fr}.login-side{min-height:190px;padding:25px}.login-statement,.login-footer{display:none}.login-main{padding:50px 25px}.form-grid{grid-template-columns:1fr}}.form-grid label:has(em){display:block}.form-grid label:has(em) input{margin-top:7px}.card-actions{display:flex;gap:9px;flex-wrap:wrap}.appointment-history>div{padding:14px 0;border-top:1px solid #edf2ee;display:flex;align-items:center;gap:20px;font-size:12px}.appointment-history strong{color:#28533c;min-width:150px}.appointment-history span{color:#51705e;flex:1}.appointment-history small{color:#91a698}@media(max-width:680px){.card-hero .card-actions{margin-left:90px}.card-hero .secondary-button{margin-left:0}.appointment-history>div{display:block}.appointment-history span,.appointment-history small{display:block;margin-top:4px}}
