*{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:800px;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}.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}input[type=date],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}.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}.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:.75rem;margin-bottom:.75rem;flex-wrap:wrap;align-items:flex-end}.timeline-row:last-child{margin-bottom:0}.timeline-field{flex:1 1;min-width:100px}.timeline-field label{display:block;font-size:.7rem;color:#666;margin-bottom:.25rem;font-weight:500}.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}.time-end-group{min-width:160px}.end-time-wrapper{display:flex;align-items:center;gap:.5rem}.end-time-wrapper input[type=time]{flex:1 1}.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}}