.time-picker{display:grid;gap:6px}.time-picker__label{color:var(--text-secondary);font-size:13px}.time-picker__button{width:100%;min-height:46px;border:1px solid var(--border);border-radius:0;padding:10px 12px;background:var(--white);text-align:left;cursor:pointer}.time-picker__button:focus{outline:none;border-color:var(--text-secondary)}.time-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.time-slot{min-width:0;aspect-ratio:1.35/1;border:1px solid var(--border);border-radius:0;background:var(--white);color:var(--text);font:inherit;font-size:16px;font-weight:650;display:grid;place-items:center;cursor:pointer}.time-slot.is-emphasized{font-weight:800}.time-slot:active,.time-slot.is-selected{background:var(--active)}.time-slot:focus-visible{outline:2px solid var(--text);outline-offset:2px}.time-slot.is-disabled,.time-slot:disabled{cursor:default;opacity:.45;background:var(--app-bg);color:var(--text-muted)}.time-slot.is-occupied,.time-slot.is-occupied:disabled{opacity:1;background:#E6E4E1;color:var(--text-secondary)}.time-range-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.time-range-fields .time-picker{min-width:0}.time-range-fields .time-picker__button{width:100%;text-align:center;white-space:nowrap}.time-modal{display:grid;gap:16px}.time-wheel{display:grid;grid-template-columns:1fr 1fr;gap:12px}.time-wheel__column{display:grid;gap:6px;min-width:0}.time-wheel__label{color:var(--text-secondary);font-size:13px}.time-wheel__viewport{position:relative;height:188px;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;border:1px solid var(--border);border-radius:0;background:var(--white);scrollbar-width:none;padding:70px 0}.time-wheel__viewport::-webkit-scrollbar{display:none}.time-wheel__viewport::before,.time-wheel__viewport::after{content:"";position:absolute;left:0;right:0;height:70px;z-index:2;pointer-events:none}.time-wheel__viewport::before{top:0;background:linear-gradient(var(--white),rgba(255,255,255,0))}.time-wheel__viewport::after{bottom:0;background:linear-gradient(rgba(255,255,255,0),var(--white))}.time-wheel__item{display:block;width:100%;height:48px;border:0;background:transparent;color:var(--text-muted);font-size:20px;scroll-snap-align:center;cursor:pointer}.time-wheel__item.is-selected{color:var(--text);font-weight:700}.time-wheel__viewport:focus-within{outline:2px solid var(--border);outline-offset:-2px}

.time-timeline{position:relative;display:grid;gap:0;background:var(--white);padding:8px 0 20px}.time-timeline__slot{position:relative;z-index:1;display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-rows:1fr;min-height:30px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.time-timeline__hour{padding:0 10px 0 0;color:var(--text-secondary);font-size:13px;line-height:1;transform:translateY(-6px);text-align:right}.time-timeline__slot[data-time-slot-from$=":30"] .time-timeline__hour{visibility:hidden}.time-timeline__line{position:relative;display:block;min-width:0;height:1px;margin-top:0;background:var(--border)}.time-timeline__slot:hover .time-timeline__line,.time-timeline__slot:focus-visible .time-timeline__line{background:var(--text-secondary)}.time-timeline__slot:focus-visible{outline:none}.time-timeline__slot:focus-visible .time-timeline__line{box-shadow:0 0 0 2px var(--border)}.time-timeline__usages{position:absolute;top:8px;bottom:20px;left:56px;right:0;z-index:3;pointer-events:none}.time-timeline__usage{position:absolute;left:0;right:0;pointer-events:none}.journal-record{position:absolute;left:0;right:0;top:0;width:100%;height:100%;min-height:30px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:#EFFFBB;color:var(--text);box-shadow:0 2px 6px rgba(17,17,17,.08);font-size:12px;line-height:1.2;text-align:left;cursor:pointer;pointer-events:auto;overflow:hidden}.journal-record--paid{background:#DDE8D7}.journal-record--no-show{background:#F1DADA}.journal-record__head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px;flex:0 0 auto;min-width:0;margin:-7px -10px 4px;padding:7px 10px 5px;border-radius:9px 9px 0 0;background:#E7FF99}.journal-record--paid .journal-record__head{background:#B4D1B8}.journal-record--no-show .journal-record__head{background:#E3B5B5}.journal-record__identity,.journal-record__total,.journal-record__phone,.journal-record__service{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-record__identity{font-size:13px;font-weight:700}.journal-record__total{font-size:13px;font-weight:700;text-align:right}.journal-record__phone{flex:0 0 auto;color:var(--text-secondary);opacity:.72}.journal-record__service{flex:0 0 auto;color:var(--text)}.journal-record--break{cursor:default;background:#E6E4E1}

.journal-day-columns{width:100%;overflow-x:auto;overscroll-behavior-x:contain}.journal-day-columns__inner{width:100%}.journal-day-columns__headings{display:grid;grid-template-columns:56px repeat(var(--journal-column-count),minmax(104px,1fr));align-items:end;gap:0;padding:0 0 10px}.journal-day-columns__heading{min-width:0;padding:0 6px;font-size:12px;line-height:1.2;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time-timeline--columns{background:transparent}.time-timeline--columns .time-timeline__slot{cursor:default}.time-timeline--columns .time-timeline__slot:hover .time-timeline__line{background:var(--border)}.journal-work-columns{position:absolute;top:8px;bottom:20px;left:56px;right:0;z-index:2;display:grid;grid-template-columns:repeat(var(--journal-column-count),minmax(104px,1fr));pointer-events:none}.journal-work-column{position:relative;min-width:0}.journal-work-field{position:absolute;left:3px;right:3px;background:var(--white);overflow:visible;pointer-events:auto;cursor:pointer}.journal-work-field.is-conflict{background:#FDE7E7}.journal-work-field__usage{position:absolute;left:4px;right:4px;z-index:3;pointer-events:none}.journal-work-field__usage .journal-record{left:0;right:0;width:100%}

.time-day-state{display:flex;align-items:center;justify-content:center;min-height:120px;margin:16px 0;padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--white);color:var(--text-secondary);font-size:15px;font-weight:600}

.record-screen--time .record-time-list{display:flex;flex-direction:column;gap:0;width:min(100%,430px);margin:0 auto;overflow:auto}.record-screen--time .record-time-option{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;aspect-ratio:auto;border:0;border-radius:0;background:var(--white);font-size:18px;font-weight:500;text-align:center;padding:0 16px;color:var(--text)}.record-screen--time .record-time-option.is-quarter{font-weight:800;background:var(--white);color:var(--text)}.record-screen--time .record-time-option:not(.is-quarter){color:var(--text-muted)}

@media(max-width:360px){.time-range-fields{gap:8px}.time-slots{gap:8px}.time-slot{font-size:15px}}

.time-slots--hour-rows{display:flex;grid-template-columns:none;gap:8px;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px 0 6px}
.time-slots--hour-rows::-webkit-scrollbar{display:none}
.time-slots--hour-rows .time-slot{box-sizing:border-box;flex:0 0 calc((100% - 16px)/3);width:calc((100% - 16px)/3);min-width:calc((100% - 16px)/3);height:42px;min-height:42px;aspect-ratio:auto;border-radius:0;padding:0 8px;font-size:14px;font-weight:400;box-shadow:0 4px 10px rgba(0,0,0,.09)}
.time-slots--hour-rows .time-slot.is-emphasized{font-weight:800}

.work-time-row{display:grid;gap:6px}.work-time-row__label{color:var(--text-secondary);font-size:13px}.work-time-row__fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.work-time-row__fields .field{grid-template-columns:auto 1fr;align-items:center;gap:7px}.work-time-row__fields .field>span{font-size:13px}@media(max-width:360px){.work-time-row__fields{gap:6px}}

.journal-record--event{border-left:4px solid var(--journal-event-color,#777A7D);background:color-mix(in srgb,var(--journal-event-color,#777A7D) 16%,#fff);display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.journal-event__time{font-size:.78em;opacity:.75}
.journal-event__title{font-weight:700}
.journal-usage__overlap{position:absolute;right:6px;bottom:4px;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border:1px solid currentColor;border-radius:9px;background:var(--white);font-size:11px;font-weight:800;line-height:1}
