.panel{margin:0 0 14px;padding:17px;border:1px solid #2a3237;background:#111619}
.panelTitle{margin:0 0 7px;color:#fff;font-size:14px;font-weight:800}
.panelText{margin:0;color:#9aa4aa;font-size:11px;line-height:1.55}
.form{display:flex;flex-wrap:wrap;margin:-6px}
.field{width:50%;padding:6px}
.field.full{width:100%}
.field label{display:block;margin-bottom:6px;color:#939da2;font-size:10px;font-weight:800;text-transform:uppercase}
.input{width:100%;height:44px;padding:0 11px;border:1px solid #3a444a;background:#0b0f11;color:#fff;outline:none}
.input:focus{border-color:#c71920}
.actions{margin-top:14px}
.note{margin-top:12px;padding:11px 12px;border-left:3px solid #59666c;background:#0d1214;color:#8f999f;font-size:10px;line-height:1.55}
.note.ok{border-left-color:#20a95a;background:#0f1e15}
.note.warn{border-left-color:#d49a31;background:#211a0e}
.msg{min-height:18px;margin-top:10px;font-size:11px;font-weight:800}
.msg.ok{color:#86dda2}
.msg.err{color:#ef8d87}
.choiceGrid{display:flex;flex-wrap:wrap;margin:-4px}
.choice{flex:1 1 120px;min-height:44px;margin:4px;padding:0 9px;border:1px solid #394349;background:#101416;color:#aeb7bc;font-size:11px;font-weight:800}
.choice:hover{background:#181e21;color:#fff}
.choice.sel{color:#fff;border-color:#2d7547;background:#12301e}
.summary{margin-top:14px;padding:12px 13px;border-left:3px solid #c71920;background:#0d1214;color:#e6eaec;font-size:12px;font-weight:800;line-height:1.5}


/* Impostazioni - password compatte a sinistra */
.passwordOnly{
  max-width:620px;
}
.pwform{
  margin-top:18px;
}
.pwfield{
  width:100%;
  margin-bottom:16px;
}
.pwfield label{
  display:block;
  margin-bottom:6px;
  color:#939da2;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
}
.shortpw{
  display:block;
  width:320px;
  max-width:100%;
}
.pwform .actions{
  margin-top:4px;
}

.timerTimeForm{margin-top:12px;max-width:520px}.timerTimeForm .field{max-width:250px}.timerLimitNote{max-width:520px}.activeTimersPanel{margin-top:20px;border:1px solid #2a3237;background:#0f1416}.activeTimersHead{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;border-bottom:1px solid #2a3237;background:#12181b}.activeTimersTitle{font-size:14px;font-weight:800;color:#fff}.activeTimersSub{margin-top:3px;font-size:10px;color:#7f898f}.activeTimerCount{min-width:78px;padding:7px 9px;border:1px solid #2d7547;background:#102218;color:#87dfa3;text-align:center;font-size:10px;font-weight:800}.activeTimers{padding:0}.timerEmpty{padding:20px 16px;color:#748087;font-size:11px}.activeTimerRow{display:grid;grid-template-columns:minmax(140px,1.5fr) minmax(100px,.8fr) minmax(120px,1fr) minmax(150px,1.2fr);gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid #242c30}.activeTimerRow:last-child{border-bottom:0}.timerDevice{font-size:12px;font-weight:800;color:#f0f3f4}.timerAction{font-size:10px;font-weight:800;color:#8bdca6}.timerDuration,.timerEnd{font-size:10px;color:#9aa4aa}.timerRemaining{font-size:12px;font-weight:800;color:#fff;text-align:right}.timerRemaining strong{color:#87dfa3}


.durationQuick .choice{
  flex:1 1 120px;
}
.timerMinutesOnly{
  width:220px;
  max-width:100%;
}
.timerMinutesOnly .input{
  width:160px;
  max-width:100%;
  font-size:18px;
  font-weight:800;
}
