/* 여러 날짜 간격 계산기: 나이 계산기(age-calculator.css)와 같은 Toolify 홈 팔레트·규격을 사용합니다. */
.mdi-page [hidden]{display:none!important}
.mdi-page .icon-btn{background:transparent;border-color:var(--line);color:var(--ink);width:38px;height:38px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* 상단 소개 · 페이지 내 탭 (age-calculator와 동일) */
.mdi-intro{padding:16px 0 14px}.breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.intro-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;padding-top:10px}.intro-grid h1{font-size:25px;letter-spacing:-.8px;line-height:1.3;margin:6px 0 0;word-break:keep-all}.intro-grid h1 span{color:var(--green)}.intro-description{font-size:13px;color:var(--muted);line-height:1.6;word-break:keep-all;margin-top:6px}.formula-card{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#edf3e8;border:1px solid #dce6d5;border-radius:10px;white-space:nowrap}.mdi-chip{padding:4px 8px;border-radius:6px;background:#fff;border:1px solid #cfe0cc;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:12px;font-weight:700;color:#4a5c4d;font-style:normal}.mdi-chip-result{color:var(--green)}.mdi-op{font-size:12px;font-weight:700;color:#8ba28c}
.page-links{display:flex;gap:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;margin-bottom:14px;flex-wrap:wrap}.page-links a{color:var(--muted);font-size:12px;text-decoration:none;font-weight:650}.page-links a:first-child{color:var(--green)}.page-links a:hover{text-decoration:underline;color:var(--green)}

/* 입력 60~65% : 요약 35~40% */
.calculator-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:14px;align-items:start}.input-panel,.result-box{border:1px solid var(--line);border-radius:14px;padding:20px 22px;min-width:0}.input-panel{display:flex;flex-direction:column;background:#fff}.result-box{position:sticky;top:14px;display:flex;flex-direction:column;background:#eff4e9;border-color:#d8e3cf}.panel-heading{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.panel-heading h2{font-size:16px;letter-spacing:-.4px;margin:1px 0 0}.panel-heading p{font-size:11px;color:var(--muted);line-height:1.6;margin-top:3px;word-break:keep-all}.step-number{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#edf3e8;color:var(--green);font-size:10px;font-weight:750;flex-shrink:0}.result-box .step-number{background:#dfead7}
.mdi-page input:focus,.mdi-page button:focus-visible{border-color:var(--green);box-shadow:0 0 0 3px #15776012;outline:2px solid transparent}

/* 날짜 목록: 한 영역 안의 compact row, 컨트롤 높이 40px 통일 */
.input-panel{--mdi-gap:12px}.date-list{display:flex;flex-direction:column;padding-bottom:var(--mdi-gap)}
.date-entry{min-width:0;padding-top:6px;scroll-margin-block:16px}.date-entry:first-child{padding-top:0}.date-entry+.date-entry{border-top:1px solid var(--line)}
.date-row{display:grid;grid-template-columns:28px minmax(0,1fr) 76px auto auto;align-items:center;gap:8px}
.row-number{font-size:11px;font-weight:750;letter-spacing:.5px;color:var(--green);text-align:center}
.date-field{position:relative;min-width:0}.date-field .date-input{padding-right:40px;font-variant-numeric:tabular-nums}.date-input[aria-invalid=true]{border-color:#d9b8a3}.date-picker-btn{position:absolute;top:50%;right:4px;display:grid;place-items:center;width:32px;height:32px;margin:0;padding:0;transform:translateY(-50%);border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}.date-picker-btn:hover{background:#eaf1e4;color:var(--green)}.date-native{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.mdi-page input[type=text]{width:100%;min-width:0;height:40px;margin:0;padding:0 12px;border:1px solid #cedace;border-radius:9px;background:#fff;color:var(--ink);font-size:13px;line-height:1.2;box-sizing:border-box}
.memo-toggle,.order-controls button,.delete-row{width:auto;height:40px;margin:0;padding:0 10px;border:1px solid #cedace;border-radius:9px;background:#fff;font-size:12px;font-weight:650;line-height:1;cursor:pointer;box-sizing:border-box}
.memo-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:var(--muted);white-space:nowrap}.memo-toggle:hover,.memo-toggle[aria-expanded=true]{background:#f3f6ef;border-color:#a7c1a3;color:var(--green)}.memo-toggle.has-memo{color:var(--green)}.memo-toggle.has-memo:not([aria-expanded=true])::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}
.order-controls{display:flex;gap:4px}.order-controls button{display:grid;place-items:center;width:32px;padding:0;color:var(--muted);font-size:13px}.order-controls button:hover:not(:disabled){background:#eaf1e4;border-color:#a7c1a3;color:var(--green)}
.delete-row{color:#925c39}.delete-row:hover:not(:disabled){background:#fbf3ef;border-color:#d9b8a3}
.order-controls button:disabled,.delete-row:disabled{opacity:.35;cursor:default}
/* 순서 변경 FLIP: 겹치는 순간 비치지 않게 배경을 채우고, 누른 항목을 위로 올린다 */
.date-entry.is-swapping{position:relative;z-index:1;background:#fff;will-change:transform}.date-entry.is-swapping-lead{z-index:2}
.date-row.is-flash{animation:mdi-flash .8s ease-out}@keyframes mdi-flash{0%,25%{background:#eaf1e4;box-shadow:0 0 0 4px #eaf1e4;border-radius:10px}100%{background:transparent;box-shadow:0 0 0 4px transparent;border-radius:10px}}
.memo-row{padding:6px 0 0 36px}
.interval-result{display:flex;align-items:baseline;gap:6px;min-height:22px;padding:2px 0 6px 36px;color:var(--green);line-height:1.4}
.interval-arrow{width:12px;font-size:11px;text-align:center;flex-shrink:0}.interval-result strong{font-size:12px;font-weight:750}.interval-result small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.interval-result.is-empty strong{font-weight:500;color:#8b9a94}.interval-result.is-empty{color:#8b9a94}.interval-result.is-reverse,.interval-result.is-reverse small{color:#925c39}.interval-result.is-duplicate strong{color:var(--muted)}

/* 날짜 추가 · 옵션 · 실행 */
.list-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;border-top:1px solid var(--line);padding:var(--mdi-gap) 0}.add-date-button{grid-column:2;width:auto;min-height:36px;padding:0 16px;border:1px solid #cedace;border-radius:9px;background:#fff;color:var(--green);font-size:12px;font-weight:700;cursor:pointer}.add-date-button:hover:not(:disabled){background:#eaf1e4;border-color:#a7c1a3}.add-date-button:disabled{opacity:.5;cursor:default}.limit-message{grid-column:3;justify-self:end;margin:0;font-size:10px;color:var(--muted)}
.quick-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:var(--mdi-gap) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quick-row>span{font-size:11px;font-weight:750;color:var(--ink);white-space:nowrap;margin-right:2px}.opt-chip{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:auto;height:30px;margin:0;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--green);font-family:inherit;font-size:11px;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer}.opt-chip:hover,.chip-check:hover .opt-chip{background:#eaf1e4;border-color:#a7c1a3}.chip-check{position:relative;display:inline-flex;margin:0}.chip-check input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.chip-check input:checked+.opt-chip{background:#dfead7;border-color:var(--green)}.chip-check input:checked+.opt-chip::before{content:"✓";margin-right:4px}.chip-check input:focus-visible+.opt-chip{box-shadow:0 0 0 3px #15776022}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}.actions button{width:auto;min-height:42px;padding:10px 18px;border:1px solid var(--green);border-radius:9px;background:var(--green);color:#fff;font-size:12px;font-weight:700;cursor:pointer}.actions button:hover{background:#115f4c}.actions button.secondary{background:#fff;border-color:#cedace;color:var(--green)}.actions button.secondary:hover{background:#eaf1e4;border-color:#a7c1a3}.copy-feedback{font-size:11px;font-weight:700;color:var(--green)}.input-note{font-size:10px;color:var(--muted);margin-top:14px;text-align:center}

/* 계산 요약: 밝은 패널 + 얇은 divider, 핵심 숫자만 포인트 컬러 */
.total-hero{padding:2px 0 14px;border-bottom:1px solid #d2dfc9}.total-hero>span{display:block;color:var(--muted);font-size:11px}.total-hero>strong{display:block;color:var(--green);font-size:clamp(28px,3vw,34px);font-weight:800;letter-spacing:-1px;line-height:1.25;margin:4px 0 2px}.total-hero>strong.is-reverse{color:#925c39}.total-hero>p{font-size:13px;font-weight:650;color:var(--ink);line-height:1.5;word-break:keep-all}.total-hero>small{display:block;margin-top:3px;font-size:11px;color:var(--muted)}.total-hero>small:empty{display:none}
.stat-list{margin:0;padding:6px 0;border-bottom:1px solid #d2dfc9}.stat-row{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:0 10px;padding:7px 0}.stat-row dt{font-size:12px;color:var(--muted)}.stat-row dd{margin:0;font-size:14px;font-weight:750;color:var(--ink)}.stat-row .stat-range{grid-column:1/-1;margin-top:2px;font-size:10px;font-weight:500;color:var(--muted)}.stat-row .stat-range:empty{display:none}
.business-summary dl{margin:0}.stat-title{margin:2px 0 0;font-size:11px;color:var(--muted)}.heading-note{display:block}
.count-summary{margin-top:12px;font-size:11px;color:var(--muted)}.result-note{margin-top:6px;font-size:10px;color:var(--muted);line-height:1.75;word-break:keep-all}

/* 하단 안내 영역 (age-calculator와 동일) */
.reference-heading{margin:46px 0 22px}.reference-heading .eyebrow{margin-bottom:6px}.reference-heading h2{font-size:25px;letter-spacing:-.8px;margin-bottom:6px}.reference-heading>p:last-child{font-size:13px;color:var(--muted)}.reference-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:22px;align-items:stretch}.info-section{border:1px solid var(--line);border-radius:13px;background:#fff;padding:25px;min-width:0}.info-section h2{font-size:18px;letter-spacing:-.4px;margin-bottom:12px}.info-section p{font-size:12px;color:var(--muted);line-height:1.9;word-break:keep-all;margin-bottom:8px}.info-list{margin:8px 0 0;padding-left:19px;font-size:12px;color:var(--muted);line-height:1.9}.info-list li{margin-bottom:5px}.info-section .helper{font-size:10px;margin-top:10px}.mdi-formula{margin:12px 0;padding:11px 13px;border-radius:9px;background:#f3f6ef;color:var(--ink);font-size:12px;font-weight:750;text-align:center}
.use-case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.use-case-grid article{padding:18px;border:1px solid var(--line);border-radius:11px;background:#fff}.use-case-grid span{color:var(--green);font-size:10px;font-weight:750}.use-case-grid h3{margin:8px 0 6px;font-size:14px;color:var(--ink)}.use-case-grid p{font-size:11px;color:var(--muted);line-height:1.7;margin:0}
.faq-section{display:grid;grid-template-columns:1fr 1.8fr;gap:40px;border-top:1px solid var(--line);padding-top:34px;margin-top:42px}.faq-heading h2{font-size:25px;letter-spacing:-.7px;margin-bottom:8px}.faq-heading p:last-child{font-size:12px;color:var(--muted)}.faq-item{border-bottom:1px solid var(--line)}.faq-item:first-child{border-top:1px solid var(--line)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;font-size:14px;font-weight:650;cursor:pointer;list-style:none;word-break:keep-all}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:'＋';color:var(--green);flex-shrink:0;font-weight:400;font-size:18px}.faq-item[open] summary::after{content:'−'}.faq-answer{padding:0 24px 18px 0;font-size:13px;line-height:1.9;color:var(--muted);word-break:keep-all}
.related-section{border-top:1px solid var(--line);margin-top:38px;padding-top:30px}.related-section h2{font-size:22px;letter-spacing:-.6px;margin-bottom:20px}.related-section .eyebrow{margin-bottom:6px}.related-links{display:grid;grid-template-columns:1fr 1fr;gap:16px}.related-links>a{display:flex;align-items:center;gap:16px;padding:20px;text-decoration:none;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#f3f6ef}.related-links>a:hover{background:#eaf1e4;border-color:#a7c1a3}.related-links>a>span:first-child{display:grid;place-items:center;width:31px;font-size:25px;color:var(--green)}.related-links>a>span:last-child{margin-left:auto;color:var(--green)}.related-links h3{font-size:14px;margin-bottom:3px}.related-links p{font-size:11px;color:var(--muted)}.mdi-page .home-footer{margin-top:42px}

@media(min-width:800px){.mdi-page .header-actions{flex-direction:row-reverse;gap:20px}}
@media(max-width:900px){.formula-card{display:none}.calculator-layout{grid-template-columns:1fr}.result-box{position:static}.input-panel,.result-box{padding:18px}.reference-grid{gap:16px}.info-section{padding:20px}.use-case-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.reference-grid{grid-template-columns:1fr}.faq-section{grid-template-columns:1fr;gap:22px}}
@media(max-width:700px){.intro-grid{grid-template-columns:1fr;gap:8px}.intro-grid h1{font-size:22px}.mdi-intro{padding:14px 0 10px}.page-links{gap:0;justify-content:space-between;padding:10px 0}.page-links a{font-size:11px}.reference-heading{margin-top:30px}.faq-section{margin-top:26px;padding-top:24px}.related-links{grid-template-columns:1fr;gap:10px}.related-links>a{padding:18px}.info-section{padding:21px}.mdi-page .home-footer{margin-top:30px}}
/* 모바일: 날짜 input 한 줄 + 보조 버튼 한 줄로 wrap, 터치 영역 44px */
@media(max-width:560px){.date-row{grid-template-columns:28px auto auto 1fr;row-gap:6px}.date-row .date-field{grid-column:2/-1}.row-number{grid-row:1;align-self:center}.memo-toggle{grid-column:2;grid-row:2}.order-controls{grid-column:3;grid-row:2}.delete-row{grid-column:4;grid-row:2;justify-self:start}.mdi-page input[type=text],.memo-toggle,.order-controls button,.delete-row{height:44px}.memo-toggle{min-width:88px}.order-controls button{width:38px}.date-entry{padding-top:8px}.interval-result{padding-top:4px}.memo-row{padding-top:6px}.actions button{flex:1 1 0}.list-footer{grid-template-columns:1fr auto}.add-date-button{grid-column:1;width:100%;min-height:44px}.limit-message{grid-column:2}.use-case-grid{grid-template-columns:1fr}}
@media(max-width:380px){.mdi-page .page-wrapper{padding-left:16px;padding-right:16px}.intro-grid h1{font-size:20px}.intro-description{font-size:12px}.input-panel,.result-box{padding:15px}.info-section{padding:18px 15px}}
@media(prefers-reduced-motion:reduce){.mdi-page *{scroll-behavior:auto!important;transition:none!important}.date-row.is-flash{animation:none}}
