 .calendar-container{max-width:800px;margin:0 auto;background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,0.05);}.input-group{margin-bottom:2rem;display:flex;gap:1.5rem;flex-wrap:wrap;align-items:flex-end;background:#F7F9FD;padding:1.5rem;border-radius:8px;border:1px solid #D7E0EC;}.form-control{flex:1;min-width:200px;}.form-label{display:block;margin-bottom:0.5rem;font-weight:700;color:#18253F;}.form-input,.form-select{width:100%;padding:0.8rem;border:1px solid #D7E0EC;border-radius:4px;font-size:1rem;}.result-box{display:none;background:#EAF1FB;border:2px solid #2196f3;border-radius:12px;padding:1.5rem;margin-bottom:2rem;text-align:center;}.result-header{font-size:0.9rem;color:#004999;margin-bottom:0.5rem;font-weight:700;}.result-date{font-size:2.5rem;font-weight:700;color:#004999;line-height:1.2;margin-bottom:0.5rem;}.result-meta{font-size:0.9rem;color:#18253F;}.badge-alert{display:inline-block;background:#ffecb3;color:#bf360c;padding:2px 8px;border-radius:4px;font-size:0.85rem;margin-top:4px;}.calendar-view{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem;}.calendar-month{background:white;border:1px solid #D7E0EC;border-radius:8px;padding:1rem;width:100%;max-width:350px;}.calendar-title{text-align:center;margin-bottom:0.8rem;color:#18253F;font-weight:700;}.calendar-table{display:table;width:100%;border-collapse:collapse;font-size:0.9rem;}.calendar-table th,.calendar-table td{text-align:center;padding:6px 2px;vertical-align:top;}.calendar-table th{font-weight:normal;color:#5E6B7C;font-size:0.85rem;border-bottom:1px solid #eee;}.calendar-table th.sun{color:#B3261E;}.calendar-table th.sat{color:#004999;}.calendar-table td{height:50px;}.day-num{display:block;margin-bottom:2px;}.calendar-table td.sun{color:#B3261E;background:#FBE3E3;}.calendar-table td.sat{color:#004999;background:#EAF1FB;}.calendar-table td.holiday{color:#B3261E;background:#FBE3E3;}.calendar-table td.mark-start{background:#D8EBDA !important;border:2px solid #04893A;font-weight:bold;}.calendar-table td.mark-end{background:var(--color-notice-bg) !important;border:2px solid var(--color-notice-accent);color:var(--color-notice-accent);font-weight:bold;}.calendar-table td.mark-middle{background:#D8EBDA;}.mark-label{font-size:0.7rem;border-radius:3px;color:white;padding:1px 3px;display:inline-block;}.mark-start .mark-label{background:#04893A;}.mark-end .mark-label{background:var(--color-notice-accent);}.info-section{background:#F7F9FD;border-radius:8px;padding:1.5rem;margin-top:3rem;}.info-title{font-size:1.1rem;font-weight:700;margin-bottom:1rem;padding-left:0.8rem;border-left:4px solid var(--color-primary);}.info-list li{position:relative;padding-left:1.2rem;margin-bottom:0.5rem;line-height:1.6;font-size:0.95rem;}.info-list li::before{content:"•";position:absolute;left:0;color:var(--color-primary);font-weight:bold;}.calendar-container [hidden]{display:none !important;}.mode-switch{display:flex;justify-content:center;margin-bottom:1.5rem;}.mode-switch-btn{flex:1;max-width:240px;padding:0.7rem 1rem;border:1px solid var(--color-primary);background:#fff;color:var(--color-primary);font-weight:700;font-size:0.95rem;cursor:pointer;}.mode-switch-btn:first-child{border-radius:6px 0 0 6px;}.mode-switch-btn:last-child{border-radius:0 6px 6px 0;border-left:0;}.mode-switch-btn.is-active{background:var(--color-primary);color:#fff;}.mode-switch-btn:focus-visible{outline:2px solid var(--color-notice-accent);outline-offset:2px;}.result-steps{display:grid;grid-template-columns:auto auto;gap:0.35rem 1rem;justify-content:center;text-align:left;max-width:520px;margin:0.8rem auto 0;}.result-steps dt{font-weight:700;color:#18253F;}.result-steps dd{margin:0;color:#18253F;}.result-note{max-width:520px;margin:0.8rem auto 0;font-size:0.85rem;color:#5E6B7C;text-align:left;}.calendar-table td.mark-register{background:#D8EBDA !important;border:2px solid #04893A;font-weight:bold;}.mark-register .mark-label{background:#04893A;}.calendar-table td.mark-delivery{background:#EAF1FB !important;border:2px solid var(--color-primary);color:var(--color-primary);font-weight:bold;}.mark-delivery .mark-label{background:var(--color-primary);}@media (max-width:768px){.calendar-table th,.calendar-table td{white-space:normal;}}@media (max-width:480px){.mode-switch-btn{font-size:0.9rem;padding:0.6rem 0.5rem;}.result-steps{grid-template-columns:1fr;gap:0.15rem;}.result-steps dd{margin-bottom:0.5rem;}.calendar-container{padding:1rem;}.result-box{padding:1rem 0.75rem;}.calendar-month{padding:0.75rem 0.5rem;}}
