.time-input-wrapper{display:flex;flex-direction:column;gap:6px}.time-input-container{display:flex;align-items:center;gap:8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:2px;transition:all .15s ease}.time-input-container:focus-within{border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f61a}.time-input-error .time-input-container{border-color:var(--accent-red)}.time-input-disabled .time-input-container{background:var(--bg-secondary);opacity:.7;cursor:not-allowed}.time-input-field{flex:1;border:none;background:transparent;padding:10px 12px;font-size:14px;font-family:inherit;color:var(--text-primary);outline:none}.time-input-field::placeholder{color:var(--text-secondary);opacity:.6}.time-input-disabled .time-input-field{cursor:not-allowed}.time-period-toggle{display:flex;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-color);margin-right:4px}.time-period-highlight{animation:pulse-border 1s ease-in-out infinite}@keyframes pulse-border{0%,to{border-color:var(--accent-blue)}50%{border-color:var(--accent-purple)}}.time-period-btn{padding:6px 10px;font-size:12px;font-weight:600;border:none;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.time-period-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.time-period-btn.active{background:var(--accent-blue);color:#fff}.time-period-btn:disabled{cursor:not-allowed;opacity:.5}.time-input-hint{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--accent-blue);animation:fade-in .2s ease}.time-input-hint i{font-size:11px}@keyframes fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.time-input-error-msg{font-size:12px;color:var(--accent-red)}@media (max-width: 480px){.time-period-btn{padding:6px 8px;font-size:11px}.time-input-field{padding:8px 10px;font-size:13px}}.color-picker{display:flex;flex-direction:column;gap:12px}.color-picker-presets{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.color-preset{width:40px;height:40px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative}.color-preset:hover{transform:scale(1.1);box-shadow:0 4px 8px #00000026}.color-preset.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--accent-blue)}.color-picker-custom-toggle{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;cursor:pointer;font-size:13px;color:var(--text-primary);transition:all .2s ease}.color-picker-custom-toggle:hover{background:var(--bg-tertiary)}.color-picker-custom{display:flex;gap:8px;align-items:center;padding:8px;background:var(--bg-secondary);border-radius:6px}.color-input{width:60px;height:40px;border:1px solid var(--border-primary);border-radius:6px;cursor:pointer}.color-text-input{flex:1;padding:8px 12px;border:1px solid var(--border-primary);border-radius:6px;font-size:13px;font-family:SF Mono,Monaco,Courier New,monospace;background:var(--bg-primary);color:var(--text-primary)}.color-text-input:focus{outline:none;border-color:var(--accent-blue)}.layer-panel{position:fixed;right:0;top:128px;bottom:0;width:300px;background:var(--surface-primary, #ffffff);border-left:1px solid var(--border-secondary, #e5e7eb);z-index:20;display:flex;flex-direction:column;overflow:hidden;box-shadow:-2px 0 16px #0000000f}.dark .layer-panel{background:#1a1a1e;border-left-color:#2a2a2e;box-shadow:-2px 0 16px #0000004d}.lp-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-secondary, #e5e7eb)}.lp-header-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.lp-header-title i{font-size:14px;color:var(--text-tertiary, #9ca3af)}.lp-close{background:none;border:none;width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-tertiary, #9ca3af);font-size:12px;transition:all .15s ease}.lp-close:hover{background:var(--surface-hover, #f3f4f6);color:var(--text-primary)}.lp-content{flex:1;overflow-y:auto;padding:6px 0}.lp-section{padding:10px 14px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary, #9ca3af)}.lp-row{display:flex;align-items:center;gap:10px;padding:6px 14px;margin:1px 6px;border-radius:6px;cursor:pointer;transition:background .12s ease;user-select:none}.lp-row:hover{background:var(--surface-hover, #f9fafb)}.lp-row--active{background:#3b82f60f}.lp-row--active:hover{background:#3b82f61a}.lp-row--sub{padding-left:38px}.lp-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.lp-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.lp-label{flex:1;font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-label--dim{color:var(--text-tertiary, #9ca3af)}.lp-badge{font-size:11px;font-weight:600;color:var(--text-tertiary, #9ca3af);background:var(--surface-secondary, #f3f4f6);padding:1px 7px;border-radius:10px;min-width:20px;text-align:center}.lp-active-pip{width:6px;height:6px;border-radius:50%;background:#3b82f6;flex-shrink:0}.lp-toggle{position:relative;width:30px;height:16px;flex-shrink:0;cursor:pointer}.lp-toggle input{opacity:0;width:0;height:0;position:absolute}.lp-toggle-track{position:absolute;inset:0;border-radius:8px;background:var(--border-primary, #d1d5db);transition:background .2s ease}.lp-toggle input:checked+.lp-toggle-track{background:#3b82f6}.lp-toggle-thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s ease}.lp-toggle input:checked~.lp-toggle-thumb{transform:translate(14px)}.lp-toggle--red input:checked+.lp-toggle-track{background:#e11d48}.lp-toggle--green input:checked+.lp-toggle-track{background:#22c55e}.lp-toggle--purple input:checked+.lp-toggle-track{background:#8b5cf6}.lp-chevron{background:none;border:none;width:18px;height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-tertiary, #9ca3af);font-size:9px;transition:all .15s ease;flex-shrink:0;border-radius:4px;padding:0}.lp-chevron:hover{color:var(--text-primary);background:var(--surface-hover, #f3f4f6)}.lp-controls{padding:6px 14px 8px 38px}.lp-controls-row{display:flex;align-items:center;gap:8px}.lp-controls-label{font-size:10px;font-weight:500;color:var(--text-tertiary, #9ca3af);white-space:nowrap;min-width:40px}.lp-slider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:var(--border-secondary, #e5e7eb);border-radius:2px;outline:none}.lp-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#8b5cf6;cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px #0003}.lp-slider--red::-webkit-slider-thumb{background:#e11d48}.lp-controls-value{font-size:10px;font-weight:600;color:var(--text-secondary, #6b7280);min-width:28px;text-align:right;font-variant-numeric:tabular-nums}.lp-hint{font-size:10px;color:var(--text-tertiary, #9ca3af);padding:2px 14px 6px 38px;line-height:1.4}.lp-hint--success{color:#22c55e;font-weight:500}.lp-hint i{margin-right:4px;font-size:9px}.lp-action-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 10px;font-size:11px;font-weight:600;border:1px solid var(--border-primary, #d1d5db);border-radius:6px;background:var(--surface-primary, #fff);color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .15s ease}.lp-action-btn:hover{border-color:var(--border-primary, #9ca3af);background:var(--surface-hover, #f9fafb)}.lp-action-btn--active{border:2px solid #e11d48;background:#e11d480f;color:#e11d48}.lp-action-btn--active:hover{background:#e11d481a}.lp-divider{height:1px;background:var(--border-secondary, #e5e7eb);margin:6px 14px}.lp-group-list{padding:2px 6px 6px 34px}.lp-group-item{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:5px;cursor:pointer;transition:background .12s ease;margin-bottom:1px}.lp-group-item:hover{background:var(--surface-hover, #f9fafb)}.lp-group-color{width:10px;height:10px;border-radius:3px;flex-shrink:0;border:1px solid rgba(0,0,0,.08)}.lp-group-name{flex:1;font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-group-count{font-size:10px;color:var(--text-tertiary, #9ca3af);font-weight:600}.lp-group-delete{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:none;border-radius:4px;color:var(--text-tertiary, #9ca3af);cursor:pointer;opacity:0;transition:all .15s ease;flex-shrink:0;font-size:10px;padding:0}.lp-group-item:hover .lp-group-delete{opacity:1}.lp-group-delete:hover{background:#ef44441a;color:#ef4444}.lp-add-group{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:6px 10px;margin-top:4px;background:#3b82f6;color:#fff;border:none;border-radius:5px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease}.lp-add-group:hover{background:#2563eb}.lp-add-group i{font-size:10px}.lp-group-empty{padding:14px 8px;text-align:center;font-size:11px;color:var(--text-tertiary, #9ca3af);line-height:1.5}.lp-footer{padding:10px 14px;border-top:1px solid var(--border-secondary, #e5e7eb);display:flex;align-items:center;gap:8px;font-size:11px}.lp-footer-label{font-weight:600;color:var(--text-tertiary, #9ca3af);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.lp-footer-value{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--text-primary);flex:1}.lp-footer-value i{font-size:11px}@media (max-width: 768px){.layer-panel{width:100%;max-width:280px}}.group-dialog-backdrop{position:fixed;inset:0;background:#0009;z-index:1500;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.group-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:540px;max-height:90vh;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;z-index:1501;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.group-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--border-color);background:var(--bg-subtle)}.group-dialog-title{display:flex;align-items:center;gap:12px}.group-dialog-title i{font-size:22px;color:var(--accent-purple)}.group-dialog-title h3{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.group-dialog-close{background:none;border:none;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.group-dialog-close:hover{background:var(--bg-hover);color:var(--text-primary)}.group-dialog-content{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:24px}.group-selected-summary{background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border:2px solid rgba(34,197,94,.3);border-radius:12px;padding:16px}.group-selected-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.group-selected-header i{font-size:18px}.group-selected-count{font-size:15px;font-weight:600;color:var(--text-primary)}.group-selected-list{display:flex;flex-direction:column;gap:8px}.group-selected-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border-radius:8px;font-size:14px;color:var(--text-primary)}.group-selected-item i{font-size:12px;color:var(--text-tertiary)}.group-selected-more{padding:8px 12px;text-align:center;font-size:13px;font-weight:600;color:var(--text-secondary);background:#fff;border-radius:8px}.group-form-field{display:flex;flex-direction:column;gap:8px}.group-form-label{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:6px}.group-form-required{color:#ef4444;font-weight:700}.group-form-optional{font-size:12px;font-weight:500;color:var(--text-tertiary)}.group-form-input,.group-form-textarea{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;font-size:15px;color:var(--text-primary);background:#fff;transition:all .2s ease;font-family:inherit}.group-form-input:focus,.group-form-textarea:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f61a}.group-form-input::placeholder,.group-form-textarea::placeholder{color:var(--text-tertiary)}.group-form-textarea{resize:vertical;min-height:80px}.group-color-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.group-color-option{width:100%;aspect-ratio:1;border:3px solid transparent;border-radius:10px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;box-shadow:0 2px 8px #0000001a}.group-color-option:hover{transform:scale(1.1);box-shadow:0 4px 16px #0003}.group-color-option.active{border-color:var(--text-primary);box-shadow:0 4px 16px #0000004d;transform:scale(1.05)}.group-color-option i{text-shadow:0 2px 4px rgba(0,0,0,.3)}.group-form-error{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ef44441a;border:2px solid rgba(239,68,68,.3);border-radius:8px;color:#dc2626;font-size:14px;font-weight:500}.group-form-error i{font-size:16px}.group-dialog-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--border-color);margin-top:8px}.group-dialog-actions button{min-width:120px;gap:8px}.group-dialog-actions button i{font-size:14px}@media (max-width: 640px){.group-dialog{width:95%;max-width:none}.group-dialog-header,.group-dialog-content{padding:20px}.group-color-grid{grid-template-columns:repeat(4,1fr)}.group-dialog-actions{flex-direction:column-reverse}.group-dialog-actions button{width:100%}}
