.hp-modal{display:none;position:fixed;inset:0;z-index:13000;background:rgba(7,16,28,.72);padding:20px;align-items:center;justify-content:center;backdrop-filter:blur(5px)}
.hp-modal.active{display:flex}.hp-open{overflow:hidden}.hp-shell{width:min(1100px,100%);max-height:94vh;background:var(--card-bg,#172438);color:var(--text-color,#edf3fa);border:1px solid #ffffff25;border-radius:20px;box-shadow:0 20px 70px #0008;overflow:hidden;display:flex;flex-direction:column}.hp-shell header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #ffffff20}.hp-shell header h2{font-size:1.3rem;margin:3px 0}.hp-shell header small,.hp-muted{color:#adbbce}.hp-shell header>button{font-size:26px}.hp-shell form{min-height:0;display:flex;flex-direction:column;flex:1;overflow:hidden}.hp-body{padding:20px 24px;overflow:auto;min-height:0;overscroll-behavior:contain}.hp-shell footer{display:flex;gap:10px;align-items:center;padding:16px 24px;border-top:1px solid #ffffff20;background:#132034}.hp-shell footer span{flex:1;font-size:.85rem;overflow-wrap:anywhere}.hp-shell input,.hp-shell select,.hp-shell button{font:inherit;color:inherit}.hp-shell input:not([type=checkbox]),.hp-shell select{min-height:40px;padding:8px 10px;background:#0c192b;border:1px solid #ffffff35;border-radius:9px;box-sizing:border-box;min-width:0;width:100%;color-scheme:dark}.hp-shell input[type=checkbox]{accent-color:#75b4ef;width:18px;height:18px;vertical-align:middle;margin-right:8px}.hp-shell button{cursor:pointer;min-height:40px;padding:8px 14px;background:#ffffff0d;border:1px solid #ffffff35;border-radius:10px}.hp-shell button:disabled{opacity:.55;cursor:wait}.hp-shell .hp-primary{background:#3879be;border-color:#76ace4}.hp-shell button:hover{background:#ffffff20}.hp-explanation{background:#ffffff08;padding:14px 16px;border-radius:12px;line-height:1.6}.hp-explanation p{margin:7px 0 0;font-size:.9rem}.hp-master{display:flex;align-items:center;gap:6px;margin:20px 0;font-weight:600}.hp-global{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.hp-global label{display:grid;gap:7px;font-size:.85rem}.hp-muted{font-size:.84rem;line-height:1.55;margin:15px 0}.hp-heater{border:1px solid #ffffff25;border-radius:14px;margin:14px 0;background:#ffffff04}.hp-heater summary{padding:15px;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:10px;list-style:none}.hp-heater summary label{display:flex;align-items:center}.hp-heater summary span{margin-left:auto;font-size:.8rem;color:#b8c8dc}.hp-heater-body{padding:0 15px 15px}.hp-profiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hp-profile{padding:12px;background:#ffffff06;border-radius:10px;min-width:0}.hp-profile>strong{display:block;font-size:.9rem;margin-bottom:10px}.hp-setting{display:flex;gap:8px;align-items:center}.hp-setting>select{flex:1}.hp-temperature{display:flex;align-items:center;gap:5px}.hp-temperature input{max-width:85px}.hp-schedule-heading{margin:18px 0 10px;display:flex;justify-content:space-between;align-items:center;gap:12px}.hp-rule{padding:13px;border:1px solid #ffffff25;border-radius:10px;margin:10px 0}.hp-rule-top{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:10px;align-items:center}.hp-rule-top label{display:flex;align-items:center;gap:7px;font-size:.85rem}.hp-days{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0;font-size:.85rem}.hp-days label{display:flex;align-items:center}.hp-rule .hp-setting{max-width:440px}
@media(max-width:760px){.hp-modal{padding:8px}.hp-shell{max-height:97vh;border-radius:14px}.hp-shell header,.hp-body,.hp-shell footer{padding:15px}.hp-global{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-profiles{grid-template-columns:1fr}.hp-rule-top{grid-template-columns:1fr 1fr auto}.hp-rule-top>select{grid-column:1/-1}.hp-rule-top>button{grid-column:3;grid-row:2}.hp-heater summary span{width:100%;margin:0 0 0 26px}.hp-shell footer{flex-wrap:wrap}.hp-shell footer span{flex-basis:100%}.hp-shell footer button{flex:1}.hp-days{gap:10px}.hp-schedule-heading>strong{font-size:.9rem}}

@media(max-width:760px){.hp-rule-top{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-rule-top label{display:grid;min-width:0}.hp-rule-top>button{grid-column:1/-1;grid-row:auto;justify-self:end}.hp-shell input[type=time]{font-size:14px}.hp-shell{box-sizing:border-box}}
