body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ai-processing-overlay{display:flex;justify-content:center}.ai-processing-card{animation:card-pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 10px 40px rgba(102,126,234,.4);max-width:300px;padding:24px 32px;text-align:center;width:100%}@keyframes card-pulse{0%,to{box-shadow:0 10px 40px rgba(102,126,234,.4)}50%{box-shadow:0 10px 60px rgba(102,126,234,.6)}}.ai-brain-animation{margin-bottom:16px}.ai-brain-icon{stroke:#fff;animation:brain-glow 1.5s ease-in-out infinite}@keyframes brain-glow{0%,to{filter:drop-shadow(0 0 8px rgba(255,255,255,.6));transform:scale(1)}50%{filter:drop-shadow(0 0 20px rgba(255,255,255,.9));transform:scale(1.05)}}.neural-dot{fill:#fff;animation:neural-pulse .8s ease-in-out infinite}.neural-dot:first-child{animation-delay:0s}.neural-dot:nth-child(2){animation-delay:.1s}.neural-dot:nth-child(3){animation-delay:.2s}.neural-dot:nth-child(4){animation-delay:.3s}.neural-dot:nth-child(5){animation-delay:.4s}@keyframes neural-pulse{0%,to{r:1;opacity:.3}50%{r:1.5;opacity:1}}.ai-processing-message{animation:message-fade 1.5s ease-in-out;color:#fff;font-size:16px;font-weight:600;margin-bottom:16px;min-height:24px}@keyframes message-fade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ai-processing-bar{background:hsla(0,0%,100%,.3);border-radius:4px;height:6px;margin-bottom:12px;overflow:hidden}.ai-processing-bar-fill{animation:progress-move 1.5s ease-in-out infinite;background:#fff;border-radius:4px;height:100%;width:30%}@keyframes progress-move{0%{margin-left:0;width:0}50%{margin-left:30%;width:40%}to{margin-left:100%;width:0}}.ai-model-badge{color:hsla(0,0%,100%,.8);font-size:11px;font-weight:500;letter-spacing:.5px}.sign-preview{display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:clamp(12px,3.5vw,16px);gap:8px}.sign-preview-box{background:#fff;border:2px solid #333;border-radius:8px;overflow:hidden}.sign-preview-box .box-header{background:#c41e3a;color:#fff;font-size:clamp(12px,3.5vw,14px);font-weight:700;padding:clamp(4px,1.5vw,6px) clamp(8px,3vw,12px)}.sign-preview-box .box-content{padding:clamp(8px,3vw,12px)}.duration-slot-box{display:flex;flex-direction:row}.duration-slot-box .duration-label-header{align-items:center;background:#1565c0;color:#fff;display:flex;font-size:clamp(12px,3.5vw,14px);font-weight:700;justify-content:center;min-width:clamp(22px,7vw,28px);padding:clamp(4px,2vw,8px) clamp(4px,1.5vw,6px);text-orientation:mixed;writing-mode:vertical-rl}.duration-slot-box .box-content{flex:1 1;padding:clamp(6px,2vw,8px) clamp(8px,3vw,12px)}.duration-slot-row{align-items:stretch;display:flex;flex-direction:column}.duration-slot-row:last-child{margin-bottom:0}.duration-marker-bottom,.duration-marker-top{align-items:center;display:flex;padding-left:4px}.duration-marker-bottom .duration-value,.duration-marker-top .duration-value{color:#666;font-size:clamp(10px,2.8vw,12px);font-weight:500}.duration-slot-content-wrapper{align-items:stretch;display:flex;flex-direction:row}.duration-slot-content{align-items:center;display:flex;flex:1 1;flex-direction:row;flex-wrap:wrap;gap:clamp(2px,1vw,4px);padding:2px 0}@media (max-width:400px){.duration-slot-content{align-items:flex-start;flex-direction:column}}.duration-slot-content .metered-price{align-items:center;border:1px solid transparent;border-radius:4px;box-sizing:border-box;display:flex;font-weight:700;gap:clamp(4px,1.5vw,6px);justify-content:center;min-height:clamp(28px,9vw,36px);padding:clamp(4px,1.5vw,6px) clamp(8px,3vw,12px)}.duration-slot-content .metered-price.editable{border-color:#333}.duration-slot-content .metered-price .unit{color:#000;font-size:clamp(.8rem,2.5vw,1rem)}.duration-slot-content .metered-price .price{color:#c00;font-size:clamp(.9rem,2.8vw,1.1rem)}.duration-slot-content .fixed-price{align-items:center;border:1px solid transparent;border-radius:4px;box-sizing:border-box;display:flex;font-weight:700;gap:clamp(4px,1.5vw,6px);justify-content:center;min-height:clamp(28px,9vw,36px);padding:clamp(4px,1.5vw,6px) clamp(8px,3vw,12px)}.duration-slot-content .fixed-price.editable{border-color:#333}.duration-slot-content .fixed-price .label{color:#333;font-size:clamp(.7rem,2.2vw,.85rem)}.duration-slot-content .fixed-price .price{color:#c00;font-size:clamp(.9rem,2.8vw,1.1rem)}.duration-max{align-items:center;border:1px solid transparent;border-radius:4px;box-sizing:border-box;display:flex;gap:clamp(2px,1vw,4px);min-height:clamp(28px,9vw,36px);padding:clamp(4px,1.5vw,6px) clamp(6px,2.5vw,10px)}.duration-max.editable{border-color:#1565c0}.duration-max .label{color:#333;font-size:clamp(.65rem,2vw,.75rem);font-weight:700}.duration-max .price{color:#c00;font-size:clamp(.85rem,2.5vw,1rem);font-weight:700}.day-filter-box{display:flex;flex-direction:row}.day-filter-box .day-filter-label{align-items:center;color:#fff;display:flex;font-size:clamp(12px,3.5vw,14px);font-weight:700;justify-content:center;min-width:clamp(22px,7vw,28px);padding:clamp(4px,2vw,8px) clamp(4px,1.5vw,6px);text-orientation:mixed;writing-mode:vertical-rl}.day-filter-box .box-content{flex:1 1;padding:clamp(6px,2vw,8px) clamp(8px,3vw,12px)}.time-slots-section{margin-bottom:8px}.time-slot-row{align-items:stretch;display:flex;flex-direction:column}.time-marker-bottom,.time-marker-top{align-items:center;display:flex;padding-left:4px}.time-marker-bottom .time-value,.time-marker-top .time-value{color:#666;font-size:clamp(10px,2.8vw,12px);font-weight:500}.time-slot-content-wrapper{align-items:stretch;display:flex;flex-direction:row}.time-slot-content{align-items:center;display:flex;flex:1 1;flex-direction:row;flex-wrap:wrap;gap:clamp(2px,1vw,4px);padding:2px 0}@media (max-width:400px){.time-slot-content{align-items:flex-start;flex-direction:column}}.slot-color-band{border-radius:2px;flex-shrink:0;margin-right:clamp(4px,1.5vw,8px);width:clamp(4px,1.5vw,6px)}.metered-price{align-items:center;border:1px solid transparent;border-radius:4px;box-sizing:border-box;display:flex;font-weight:700;gap:clamp(3px,1.2vw,6px);justify-content:center;min-height:clamp(24px,8vw,36px);padding:clamp(3px,1.2vw,6px) clamp(6px,2.5vw,12px)}.metered-price.editable{border-color:#333}.metered-price .unit{color:#000;font-size:clamp(.7rem,2.2vw,1rem)}.metered-price .price{color:#c00;font-size:clamp(.8rem,2.5vw,1.1rem)}.fixed-price{align-items:center;border:1px solid transparent;border-radius:4px;box-sizing:border-box;display:flex;font-weight:700;gap:clamp(3px,1.2vw,6px);justify-content:center;min-height:clamp(24px,8vw,36px);padding:clamp(3px,1.2vw,6px) clamp(6px,2.5vw,12px)}.fixed-price.editable{border-color:#333}.fixed-price .label{color:#333;font-size:clamp(.6rem,2vw,.85rem)}.fixed-price .price{color:#c00;font-size:clamp(.8rem,2.5vw,1.1rem)}.period-max{align-items:center;border:1px solid transparent;border-radius:4px;box-sizing:border-box;display:flex;gap:clamp(2px,1vw,4px);min-height:clamp(24px,8vw,36px);padding:clamp(3px,1.2vw,6px) clamp(5px,2vw,10px)}.period-max.editable{border-color:#ff6b00}.period-max .label{color:#333;font-size:clamp(.55rem,1.8vw,.75rem);font-weight:700}.period-max .price{color:#c00;font-size:clamp(.75rem,2.2vw,1rem);font-weight:700}.cap-slots-section{border-top:1px dashed #999;margin-top:clamp(4px,2vw,8px);padding-top:clamp(4px,2vw,8px)}.cap-slot-row{align-items:center;border:1px solid transparent;border-radius:4px;box-sizing:border-box;display:flex;gap:clamp(3px,1.2vw,6px);margin-bottom:clamp(3px,1.2vw,6px);min-height:clamp(24px,8vw,36px);padding:clamp(3px,1.2vw,6px) clamp(5px,2vw,10px)}.cap-slot-row.editable{border-color:#ff6b00}.cap-slot-row .cap-label{color:#333;font-size:clamp(.6rem,2vw,.85rem);font-weight:700}.cap-slot-row .cap-value{color:#c00;font-size:clamp(.8rem,2.5vw,1.1rem);font-weight:700}.cap-slot-row .cap-repeat{color:#666;font-size:clamp(.55rem,1.8vw,.75rem);font-weight:400}.notes-box{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#6c757d;display:flex;flex-direction:column;font-size:clamp(10px,2.5vw,12px);gap:2px;padding:clamp(4px,1.5vw,6px) clamp(8px,3vw,12px)}.notes-box .note-item{align-items:center;display:flex;gap:clamp(4px,1.5vw,6px)}.notes-box .note-label{font-weight:500}.notes-box .note-value{color:#495057}.notes-box .note-value.note-unset{color:#adb5bd;font-style:italic}.notes-box .note-item.note-editable{border:1px dashed transparent;border-radius:4px;cursor:pointer;margin:-2px -4px;padding:2px 4px;transition:background-color .15s,border-color .15s}.notes-box .note-item.note-editable:hover{background-color:#e9ecef;border-color:#adb5bd}