*{box-sizing:border-box;padding:0;margin:0}body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.container{max-width:1000px;margin:0 auto;padding:2rem}.form-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 10px 40px rgba(0,0,0,.2)}.logo{text-align:center;margin-bottom:1.5rem}.logo h1{color:#333;font-size:1.5rem;margin-bottom:.5rem}.logo p{color:#666;font-size:.9rem}h2{color:#333;margin:1.5rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #667eea;font-size:1.1rem}.section-description{color:#718096;font-size:.9rem;margin:-.5rem 0 1rem}.form-group{margin-bottom:1.25rem}label{display:block;margin-bottom:.5rem;font-weight:600;color:#444;font-size:.95rem}.required:after{content:" *";color:#e53e3e}.field-hint{display:block;font-size:.8rem;color:#718096;font-weight:400;margin-bottom:.5rem}input[type=date],input[type=email],input[type=number],input[type=text],input[type=time],select{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s}input:focus,select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.service-options{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;margin-bottom:1rem}@media (max-width:700px){.service-options{grid-template-columns:1fr}}.service-card{padding:1.25rem;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s;text-align:center}.service-card:hover{border-color:#667eea;background:#f7fafc}.service-card.selected{border-color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.service-card h3{font-size:.95rem;margin-bottom:.25rem}.service-card p{font-size:.8rem;opacity:.8}.intensity-options{display:flex;gap:1rem;margin-top:1rem}.intensity-btn{flex:1 1;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-weight:600;transition:all .2s}.intensity-btn:hover{border-color:#667eea}.intensity-btn.selected{border-color:#667eea;background:#667eea;color:#fff}.funded-by-options{display:flex;gap:1rem;margin-top:.5rem}.funded-btn{flex:1 1;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-weight:600;transition:all .2s}.funded-btn:hover{border-color:#667eea}.funded-btn.selected{border-color:#667eea;background:#667eea;color:#fff}.location-options{display:flex;gap:1rem;margin-top:.5rem}.location-btn{flex:1 1;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-weight:600;transition:all .2s}.location-btn:hover{border-color:#667eea}.location-btn.selected{border-color:#667eea;background:#667eea;color:#fff}.weekly-schedule-section{margin:2rem 0;padding:1.5rem 1rem;width:100vw;position:relative;left:50%;transform:translateX(-50%);background:#f8fafc;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;box-sizing:border-box}.weekly-schedule-section h2{margin-bottom:.5rem;color:#333;padding-left:1rem}.schedule-hint{color:#718096;font-size:.9rem;margin-bottom:1rem;padding-left:1rem}.schedule-options{display:flex;align-items:center;gap:1rem;margin:0 1rem 1rem;padding:.75rem 1rem;background:#f7fafc;border-radius:8px;border:1px solid #e2e8f0}.grid-period-selector{display:flex;align-items:center;gap:.75rem}.grid-period-selector label{font-weight:600;font-size:.85rem;color:#4a5568}.period-buttons{display:flex;gap:.25rem}.period-btn{padding:.35rem .75rem;border:1px solid #cbd5e0;background:#fff;border-radius:6px;font-size:.8rem;font-weight:500;color:#4a5568;cursor:pointer;transition:all .15s}.period-btn:hover{background:#edf2f7;border-color:#a0aec0}.period-btn.selected{background:#667eea;border-color:#667eea;color:#fff}.schedule-controls{display:flex;flex-wrap:wrap;gap:1rem;margin:0 1rem 1rem;padding:1rem;background:#fff;border-radius:8px;border:1px solid #e2e8f0}.control-group{display:flex;align-items:center;gap:.5rem}.control-group label{font-weight:600;font-size:.9rem;color:#444;margin-bottom:0}.ratio-buttons,.support-type-buttons{display:flex;gap:.25rem}.stype-btn{padding:.5rem 1rem;border:3px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s;color:var(--stype-color,#4a5568);border-color:var(--stype-color,#e2e8f0)}.stype-btn:not(.selected):not(.add-type){background:color-mix(in srgb,var(--stype-color,#e2e8f0) 10%,#fff)}.stype-btn.selected{color:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--stype-color,#667eea) 40%,transparent),0 4px 12px color-mix(in srgb,var(--stype-color,#667eea) 40%,transparent);transform:scale(1.05)}.stype-btn.add-type{border-style:dashed;border-color:#a0aec0;color:#718096;background:transparent}.stype-btn.add-type:hover{border-color:#667eea;color:#667eea;background:rgba(102,126,234,.05)}.stype-edit-wrapper{display:inline-block}.stype-edit-input{padding:.5rem .75rem;border:2px solid #667eea;border-radius:8px;font-size:.9rem;font-weight:600;width:120px;outline:none;box-shadow:0 0 0 3px rgba(102,126,234,.2)}.stype-btn.select{border-color:#3182ce;color:#3182ce;background:rgba(49,130,206,.1)}.stype-btn.select.selected{background:#3182ce;color:#fff;box-shadow:0 0 0 3px rgba(49,130,206,.4),0 4px 12px rgba(49,130,206,.4);transform:scale(1.05)}.stype-btn.clear{border-color:#e53e3e;color:#e53e3e;background:rgba(229,62,62,.1)}.stype-btn.clear.selected{background:#e53e3e;color:#fff;box-shadow:0 0 0 3px rgba(229,62,62,.4),0 4px 12px rgba(229,62,62,.4);transform:scale(1.05)}.stype-btn.undo{border-color:#718096;color:#718096;background:rgba(113,128,150,.1)}.stype-btn.undo:hover:not(:disabled){background:#718096;color:#fff}.stype-btn.undo:disabled{opacity:.4;cursor:not-allowed}.tools-group{margin-left:2rem;padding-left:2rem;border-left:2px solid #e2e8f0}.ratio-btn-small{padding:.4rem .6rem;border:2px solid #e2e8f0;border-radius:6px;background:#fff;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.ratio-btn-small.selected{background:#667eea;border-color:#667eea;color:#fff}.action-buttons{margin-left:auto;gap:.5rem!important}.apply-btn,.clear-btn,.copy-btn,.paste-btn{padding:.4rem .75rem;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.apply-btn{background:#667eea;color:#fff}.apply-btn:hover:not(:disabled){background:#5a67d8}.clear-btn{background:#e53e3e;color:#fff}.clear-btn:hover:not(:disabled){background:#c53030}.copy-btn,.paste-btn{background:#718096;color:#fff}.copy-btn:hover:not(:disabled),.paste-btn:hover:not(:disabled){background:#4a5568}.apply-btn:disabled,.clear-btn:disabled,.copy-btn:disabled,.paste-btn:disabled{opacity:.5;cursor:not-allowed}.timeline-scroll-container{overflow-x:hidden;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.timeline-grid-horizontal{display:flex;flex-direction:column;width:100%}.time-header-row{display:flex;border-bottom:2px solid #e2e8f0;position:-webkit-sticky;position:sticky;top:0;background:#f8fafc;z-index:10}.time-header{flex:1 1;min-width:0;height:28px;display:flex;align-items:flex-end;justify-content:flex-start;font-size:.5rem;color:#718096;overflow:visible;position:relative;padding-bottom:2px}.time-header span{position:absolute;left:0;transform:translateX(-50%);white-space:nowrap}.time-header.hour-start:after{content:"";position:absolute;left:0;bottom:0;width:1px;height:6px;background:#cbd5e0}.time-header.hour-start span{font-weight:600;color:#4a5568;font-size:.55rem}.time-header.sub-hour:after{content:"";position:absolute;left:0;bottom:0;width:1px;height:4px;background:#e2e8f0}.time-header.sub-hour span{font-size:.45rem;color:#a0aec0}.day-label-cell{width:40px;min-width:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#f8fafc;font-weight:600;font-size:.75rem;color:#444;border-right:2px solid #e2e8f0}.day-row{display:flex;border-bottom:1px solid #e2e8f0}.day-row:last-child{border-bottom:none}.slot-cell{flex:1 1;min-width:0;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;border-right:1px solid #f0f0f0}.slot-cell.hour-start{border-left:1px solid #d0d0d0}.slot-cell:hover{background:#edf2f7}.slot-cell.selected{outline:2px solid #2d3748;outline-offset:-2px;z-index:1}.slot-cell.filled{color:#fff}.slot-cell.filled:hover{opacity:.9}.slot-cell .cell-ratio{font-size:.45rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);transform:rotate(0deg);white-space:nowrap}.slot-cell.sunday-wrap{position:relative;border-top:3px solid #f59e0b!important}.slot-cell.sunday-wrap:before{content:"↩";position:absolute;top:2px;left:2px;font-size:.5rem;font-weight:700;color:#f59e0b}.wrap-indicator{display:none}.slot-cell.sleepover-preview{opacity:.7}.slot-cell.sleepover-cursor{cursor:crosshair}.schedule-summary-vertical{margin:1rem;padding:1rem;background:#fff;border-radius:8px;border:1px solid #e2e8f0}.schedule-summary-vertical h3{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#2d3748}.schedule-summary-vertical .no-schedule{color:#718096;font-size:.9rem;margin:0}.schedule-summary-vertical .summary-list{list-style:none;padding:0;margin:0}.schedule-summary-vertical .summary-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid #f0f0f0}.schedule-summary-vertical .summary-row:last-child{border-bottom:none}.schedule-summary-vertical .summary-color{width:20px;height:20px;border-radius:4px;flex-shrink:0}.schedule-summary-vertical .summary-text{font-weight:500;color:#2d3748}.schedule-summary-vertical .unscheduled-note{margin:.75rem 0 0;padding-top:.5rem;border-top:1px solid #e2e8f0;color:#718096;font-size:.85rem}.shift-questions{background:#fffbeb;border:1px solid #fbbf24;border-radius:10px;padding:1rem;margin:1rem;display:flex;flex-direction:column;gap:1rem}.shift-question{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.shift-question label{font-weight:600;color:#92400e;font-size:.95rem;margin-bottom:0}.shift-time-input{width:160px!important;max-width:160px;padding:.4rem .5rem;border:2px solid #fbbf24;border-radius:6px;font-size:.95rem;background:#fff;flex-shrink:0}.shift-time-input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px rgba(251,191,36,.2)}.care-goals-section{margin-top:2rem;padding-top:1.5rem;border-top:2px solid #e2e8f0}.care-goals-section h2{margin-top:0}.care-goals-section h2 .required-star{color:#e53e3e;font-weight:400}.care-goals-description{color:#666;font-size:.9rem;margin-bottom:1.25rem}.care-goals-list{display:flex;flex-direction:column;gap:1.25rem}.care-goal-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:1rem}.care-goal-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.care-goal-color{width:16px;height:16px;border-radius:4px;flex-shrink:0}.care-goal-label{font-weight:600;color:#333;font-size:.95rem;margin-bottom:0}.care-goal-hours{color:#718096;font-size:.85rem;font-weight:400}.care-goal-input{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical;min-height:80px;transition:all .2s}.care-goal-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.care-goal-input::placeholder{color:#a0aec0}.expand-btn{margin-left:auto;padding:.35rem .75rem;background:#f0f4ff;border:1px solid #667eea;border-radius:6px;color:#667eea;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.expand-btn:hover{background:#667eea;color:#fff}.care-goal-blocks{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.care-goal-block{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem}.block-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.block-label{font-weight:600;color:#4a5568;font-size:.9rem}.block-duration{color:#718096;font-size:.8rem;background:#edf2f7;padding:.15rem .5rem;border-radius:4px}.split-btn{margin-left:auto;padding:.25rem .6rem;background:#fff;border:1px solid #cbd5e0;border-radius:4px;color:#4a5568;font-size:.75rem;cursor:pointer;transition:all .2s}.split-btn:hover{background:#edf2f7;border-color:#a0aec0}.split-btn.reset{color:#e53e3e;border-color:#feb2b2}.split-btn.reset:hover{background:#fff5f5;border-color:#fc8181}.split-time-selector{background:#f0f4ff;border:1px solid #c3dafe;border-radius:8px;padding:.75rem;margin-bottom:.5rem}.split-time-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.split-time-row label{font-size:.85rem;color:#4a5568;font-weight:500;margin-bottom:0}.split-time-row select{padding:.4rem .6rem;border:1px solid #cbd5e0;border-radius:6px;font-size:.85rem;background:#fff;min-width:80px}.split-time-row select:focus{outline:none;border-color:#667eea}.apply-split-btn{padding:.4rem .75rem;background:#667eea;border:none;border-radius:6px;color:#fff;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.apply-split-btn:hover{background:#5a67d8}.cancel-split-btn{padding:.4rem .75rem;background:#fff;border:1px solid #cbd5e0;border-radius:6px;color:#4a5568;font-size:.8rem;cursor:pointer;transition:all .2s}.cancel-split-btn:hover{background:#edf2f7}.care-goal-input.block-input{min-height:60px}.split-goals{gap:.5rem}.split-goal-item,.split-goals{display:flex;flex-direction:column}.split-goal-item{gap:.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.5rem}.split-header{display:flex;align-items:center;gap:.5rem}.split-label{font-size:.85rem;color:#4a5568;font-weight:600}.split-btn.small{padding:.15rem .5rem;font-size:.7rem;margin-left:auto}.split-time-selector.sub{background:#f7fafc;border-color:#e2e8f0;padding:.5rem;margin-top:.25rem}.care-goal-input.split-input{min-height:50px;font-size:.9rem}.schedule-summary{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 1rem 0;padding:1rem;background:#fff;border-radius:8px;border:1px solid #e2e8f0}.summary-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500}.summary-color{width:16px;height:16px;border-radius:4px}.sleepover-question{background:#fff;padding:1.5rem;border-radius:12px;margin:1rem;border:2px solid #e2e8f0}.question-text{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:1rem}.yes-no-buttons{display:flex;gap:1rem}.yn-btn{padding:.75rem 2rem;font-size:1rem;font-weight:600;border:2px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s}.yn-btn:hover{border-color:#667eea}.yn-btn.selected.yes{background:#48bb78;border-color:#48bb78;color:#fff}.yn-btn.selected.no{background:#718096;border-color:#718096;color:#fff}.sleepover-config{background:#fff;padding:1.5rem;border-radius:12px;margin:1rem;border:2px solid #9f7aea}.sleepover-config h3{color:#9f7aea;margin-bottom:.5rem}.config-hint{color:#718096;font-size:.9rem;margin-bottom:1rem}.sleepover-days-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.sleepover-day-card{border:2px solid #e2e8f0;border-radius:10px;padding:1rem;background:#f8fafc;transition:all .2s}.sleepover-day-card.enabled{border-color:#9f7aea;background:rgba(159,122,234,.05)}.day-toggle{display:flex;align-items:center;gap:.75rem}.day-toggle .day-name{font-weight:600;font-size:1rem;color:#333}.toggle-switch{position:relative;display:inline-block;width:50px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#9f7aea}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}.sleepover-details{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.ratio-select,.time-select{display:flex;align-items:center;gap:.5rem}.ratio-select label,.time-select label{font-size:.85rem;color:#666;margin-bottom:0}.ratio-select select,.time-select select{padding:.4rem .6rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.9rem;min-width:80px}.end-time-display{display:flex;align-items:center;gap:.5rem;padding:.4rem .8rem;background:rgba(159,122,234,.1);border-radius:6px}.end-time-display .arrow{color:#9f7aea;font-weight:700}.end-time-display .end-time{font-weight:600;color:#9f7aea}.apply-sleepover-btn,.start-sleepover-mode-btn{display:block;width:100%;padding:1rem;background:linear-gradient(135deg,#9f7aea,#667eea);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.apply-sleepover-btn:hover,.start-sleepover-mode-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(159,122,234,.3)}.sleepover-ratio-select{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.sleepover-ratio-select label{font-weight:600;color:#444;margin-bottom:0}.sleepover-mode-banner{background:linear-gradient(135deg,#9f7aea,#667eea);color:#fff;padding:1rem 1.5rem;margin:1rem;border-radius:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.banner-content{display:flex;align-items:center;gap:.75rem}.banner-icon{font-size:1.5rem}.banner-text{font-size:1rem}.wrap-warning{display:inline-block;background:rgba(245,158,11,.3);padding:.25rem .5rem;border-radius:4px;margin-left:.5rem;font-weight:600;animation:wrap-flash .5s ease-in-out}@keyframes wrap-flash{0%{background:rgba(245,158,11,.6)}to{background:rgba(245,158,11,.3)}}.exit-sleepover-mode-btn{padding:.5rem 1rem;background:hsla(0,0%,100%,.2);color:#fff;border:2px solid #fff;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.exit-sleepover-mode-btn:hover{background:#fff;color:#9f7aea}.hour-cell.sleepover-preview{animation:sleepover-pulse 1s ease-in-out infinite}@keyframes sleepover-pulse{0%,to{opacity:.5}50%{opacity:.8}}.hour-cell.sleepover-cursor{cursor:crosshair}.day-time-wrapper{display:flex;gap:.5rem;align-items:center}.day-time-wrapper input[type=time]{min-width:130px}.day-select-small{padding:.4rem .5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.85rem;min-width:65px}.day-select-small:disabled{background:#f7f7f7;color:#666}.schedule-section{background:#f7fafc;border-radius:12px;padding:1.5rem;margin-top:1rem}.schedule-day{display:grid;grid-template-columns:120px 1fr 1fr auto;grid-gap:.75rem;gap:.75rem;align-items:center;padding:.75rem;background:#fff;border-radius:8px;margin-bottom:.5rem}@media (max-width:600px){.schedule-day{grid-template-columns:1fr;gap:.5rem}}.schedule-day input,.schedule-day select{padding:.5rem}.add-day-btn{background:#48bb78;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;margin-top:.5rem}.add-day-btn:hover{background:#38a169}.remove-btn{background:#e53e3e;color:#fff;border:none;width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:1.2rem}.remove-btn:hover{background:#c53030}.running-total{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 1.5rem;border-radius:10px;margin-top:1rem;display:flex;justify-content:space-between;align-items:center}.running-total .label{font-weight:500}.running-total .value{font-size:1.5rem;font-weight:700}.funding-section{background:#f7fafc;border-radius:12px;padding:1.5rem;margin-top:1rem}.funding-display{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;margin-top:1rem}@media (max-width:600px){.funding-display{grid-template-columns:1fr}}.funding-card{background:#fff;padding:1rem;border-radius:8px;text-align:center}.funding-card .label{font-size:.85rem;color:#666;margin-bottom:.25rem}.funding-card .value{font-size:1.25rem;font-weight:700;color:#667eea}.care-ratio-options{display:flex;gap:1rem;margin-top:.5rem}.ratio-btn{flex:1 1;padding:1rem;border:2px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-weight:700;font-size:1.1rem;transition:all .2s}.ratio-btn.selected,.ratio-btn:hover{border-color:#667eea}.ratio-btn.selected{background:#667eea;color:#fff}.sta-days{margin-top:1rem}.sta-day-row{gap:.75rem;margin-bottom:.5rem}.sta-day-row,.sta-day-row span{display:flex;align-items:center}.sta-day-row span{background:#667eea;color:#fff;width:28px;height:28px;border-radius:50%;justify-content:center;font-weight:600;font-size:.85rem}.sta-day-row select{flex:1 1}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;width:100%;padding:1rem;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;margin-top:2rem;transition:all .2s}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,.4)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.success-message{text-align:center;padding:3rem}.success-message .icon{font-size:4rem;margin-bottom:1rem}.success-message h2{border:none;color:#48bb78;font-size:1.5rem}.success-message p{color:#666;margin-bottom:1.5rem}.new-form-btn{background:#667eea;color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;cursor:pointer;font-weight:600}.loading{display:inline-block;width:20px;height:20px;border-radius:50%;border:2px solid #fff;border-top-color:transparent;animation:spin .8s linear infinite;margin-right:.5rem}@keyframes spin{to{transform:rotate(1turn)}}.error-message{background:#fed7d7;color:#c53030;padding:1rem;border-radius:8px;margin-bottom:1rem}.roster-toggle{margin:1.5rem 0}.toggle-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:500;color:#333}.toggle-label input[type=checkbox]{width:20px;height:20px;accent-color:#667eea;cursor:pointer}.roster-section{background:#f8f9ff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid #e2e8f0}.roster-section h3{color:#333;font-size:1rem;margin-bottom:.5rem}.roster-description{color:#666;font-size:.85rem;margin-bottom:1rem}.roster-hours-summary{background:#fff;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;border:1px solid #e2e8f0}.hours-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.hours-filled{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;transition:width .3s ease}.hours-text{display:flex;justify-content:space-between;font-size:.75rem;color:#666}.hours-text span:first-child{font-weight:600;color:#667eea}.roster-limit-message{text-align:center;padding:1rem;background:#c6f6d5;color:#276749;border-radius:8px;font-weight:600;font-size:.9rem;margin-top:.5rem}.roster-item{background:#fff;border-radius:8px;padding:1rem;margin-bottom:1rem;border:1px solid #e2e8f0;position:relative}.roster-row{display:flex;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap;align-items:flex-end}.roster-row:last-child{margin-bottom:0}.roster-field{flex:1 1;min-width:120px}.roster-field label{display:block;font-size:.75rem;color:#666;margin-bottom:.25rem;font-weight:500}.roster-field input[type=time],.roster-field select{width:100%;padding:.5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.9rem}.roster-field input[type=time]:focus,.roster-field select:focus{outline:none;border-color:#667eea}.support-type-toggle{display:flex;gap:.25rem}.type-btn{flex:1 1;padding:.5rem;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.type-btn:first-child{border-radius:6px 0 0 6px}.type-btn:last-child{border-radius:0 6px 6px 0}.type-btn.selected{background:#667eea;color:#fff;border-color:#667eea}.care-ratio-mini{display:flex;gap:.25rem}.ratio-mini-btn{flex:1 1;padding:.5rem .25rem;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s;border-radius:4px}.ratio-mini-btn.selected{background:#48bb78;color:#fff;border-color:#48bb78}.ratio-mini-btn:disabled{background:#e2e8f0;color:#a0aec0;border-color:#e2e8f0;cursor:not-allowed}.ratio-mini-btn:disabled.selected{background:#a0aec0;color:#fff;border-color:#a0aec0}.remove-roster-btn{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;border-radius:50%;border:none;background:#fed7d7;color:#c53030;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1}.remove-roster-btn:hover{background:#fc8181;color:#fff}.add-roster-btn{flex:1 1;padding:.75rem;background:#fff;border:2px dashed #667eea;color:#667eea;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s}.add-roster-btn:hover{background:#667eea;color:#fff;border-style:solid}.timeline-container{position:relative;padding-left:100px;margin-left:10px}.timeline-line{position:absolute;left:90px;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:2px}.timeline-item{position:relative;margin-bottom:1rem;display:flex;align-items:flex-start}.timeline-item.timeline-add{margin-bottom:0}.timeline-marker{position:absolute;left:-100px;width:100px;display:flex;align-items:center;top:.75rem}.marker-time{text-align:right;font-size:.7rem;line-height:1.3;padding-right:10px;flex:1 1}.marker-dot{width:14px;height:14px;background:#667eea;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px #667eea;flex-shrink:0;position:relative;left:4px;z-index:1}.marker-dot.add-dot{background:#48bb78;box-shadow:0 0 0 2px #48bb78}.day-label{display:block;font-weight:600;color:#667eea}.time-label{display:block;color:#666}.timeline-card{flex:1 1;background:#fff;border-radius:8px;padding:1rem 2.5rem 1rem 1rem;border:1px solid #e2e8f0;position:relative;box-shadow:0 2px 4px rgba(0,0,0,.05)}.timeline-row{display:flex;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap;align-items:flex-end}.timeline-row:last-child{margin-bottom:0}.timeline-field{flex:0 0 auto;min-width:120px}.timeline-field label{display:block;font-size:.7rem;color:#666;margin-bottom:.25rem;font-weight:500;white-space:nowrap}.timeline-field input[type=number],.timeline-field input[type=time],.timeline-field select{width:100%;padding:.4rem .5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.85rem}.timeline-field input:focus,.timeline-field select:focus{outline:none;border-color:#667eea}.readonly-field .readonly-value{padding:.4rem .5rem;background:#f7f7f7;border:1px solid #e2e8f0;border-radius:6px;font-size:.85rem;color:#666}.prefilled-hint{font-size:.7rem;color:#999;font-weight:400}.time-end-group{min-width:200px}.end-time-wrapper{display:flex;align-items:center;gap:.5rem}.end-time-wrapper input[type=time]{flex:1 1;min-width:130px}.end-time-wrapper .day-select-small{min-width:65px}.next-day-toggle{display:flex;align-items:center;gap:.25rem;font-size:.7rem;color:#666;cursor:pointer;white-space:nowrap}.next-day-toggle input[type=checkbox]{width:14px;height:14px;accent-color:#667eea}.block-summary{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #e2e8f0;font-size:.75rem;color:#888}.km-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0;display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.km-section .form-group{margin-bottom:0}@media (max-width:600px){.timeline-container{padding-left:80px;margin-left:0}.timeline-line{left:70px}.timeline-marker{left:-80px;width:80px}.marker-dot{left:4px}.marker-time{padding-right:8px;font-size:.65rem}.timeline-row{flex-direction:column}.time-end-group,.timeline-field{min-width:100%}.km-section{grid-template-columns:1fr}}