.schedule-page{min-height:100vh;background:linear-gradient(135deg,var(--color-primary-bg) 0%,var(--color-neutral-bg-02) 100%);padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.page-header{background:var(--color-primary-main);color:var(--color-text-05);padding:3rem 2rem 4rem;position:relative;overflow:hidden;margin-bottom:0;border-radius:0}.header-content{max-width:1200px;margin:0 auto;text-align:center;position:relative;z-index:2}.header-decoration{position:absolute;top:0;right:0;width:300px;height:300px;background:var(--color-accent);opacity:.1;border-radius:50%;transform:translate(100px,-100px)}.schedule-types-container{max-width:1200px;margin:-2rem auto 0;padding:0 2rem;position:relative;z-index:3}.schedule-types-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:4rem}.schedule-type-card{background:var(--color-primary-bg);border:2px solid var(--color-neutral-border-01);border-radius:16px;padding:2rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px var(--color-shadow-white);position:relative;overflow:hidden}.schedule-type-card:hover{border-color:var(--color-primary-main);transform:translateY(-8px);box-shadow:0 12px 40px var(--color-shadow-black)}.schedule-type-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary-main),var(--color-primary-hover));transform:scaleX(0);transition:transform .3s ease}.schedule-type-card:hover:before{transform:scaleX(1)}.schedule-type-card:active{transform:translateY(-4px);background:var(--color-neutral-bg-02)}.card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.type-icon{font-size:1.5rem;font-weight:700;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--color-secondary);border-radius:12px;color:var(--color-primary-main);margin-bottom:0;text-align:center;text-transform:uppercase;letter-spacing:.5px}.type-title{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text-01);flex:1;text-align:left}.type-description{margin:0 0 1.5rem;color:var(--color-text-02);line-height:1.6;text-align:center;min-height:3rem}.card-footer{display:flex;justify-content:flex-end;align-items:center}.type-arrow{font-size:1.5rem;color:var(--color-primary-main);font-weight:600;transition:transform .3s ease;position:static;transform:none;top:auto;right:auto}.controls-container{padding-bottom:12px;overflow:hidden}.control-section{border-bottom:1px solid var(--color-neutral-border-01)}.control-section:last-child{border-bottom:none}.section-title{font-size:1.25rem;font-weight:600;color:var(--color-text-01);margin:0 0 1.5rem;display:flex;align-items:center;gap:.75rem}.section-icon{width:24px;height:24px;color:var(--color-primary-main)}.controls-grid{display:grid;grid-template-columns:1fr;gap:0}.control-item{display:flex;flex-direction:column;gap:.5rem}.control-label{font-weight:500;color:var(--color-text-02);font-size:.95rem}select{padding:.75rem 1rem;border:2px solid var(--color-neutral-border-01);border-radius:8px;background:var(--color-primary-bg);color:var(--color-text-01);font-size:1rem;transition:all .3s ease;cursor:pointer}select:hover{border-color:var(--color-primary-main)}select:focus{outline:none;border-color:var(--color-primary-main);box-shadow:0 0 0 3px var(--color-primary-bg-op)}select:disabled{background:var(--color-neutral-bg-02);color:var(--color-text-03);cursor:not-allowed;border-color:var(--color-neutral-border-02)}.mode-section{padding:2rem;border-bottom:1px solid var(--color-neutral-border-01)}.mode-toggle{display:flex;align-items:center;gap:1rem}.mode-label{font-weight:500;color:var(--color-text-02);font-size:1rem}.toggle-switch{position:relative;width:60px;height:32px;background:var(--color-neutral-border-01);border-radius:16px;cursor:pointer;transition:background .3s ease}.toggle-switch.active{background:var(--color-primary-main)}.toggle-thumb{position:absolute;top:2px;left:2px;width:28px;height:28px;background:var(--color-primary-bg);border-radius:50%;transition:transform .3s ease;box-shadow:0 2px 4px var(--color-shadow-black)}.toggle-thumb.active{transform:translate(28px)}.action-section{padding:2rem;display:flex;flex-direction:column;gap:1rem;align-items:center}.load-schedule-btn{background:var(--color-primary-main);color:var(--color-text-05);border:none;border-radius:12px;padding:1rem 2rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.75rem;min-width:200px;justify-content:center}.load-schedule-btn:hover:not(.disabled){background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 8px 25px var(--color-shadow-black)}.load-schedule-btn:active:not(.disabled){transform:translateY(0);background:var(--color-primary-active)}.load-schedule-btn.disabled{background:var(--color-text-03);color:var(--color-text-04);cursor:not-allowed;transform:none;box-shadow:none}.loading-spinner{width:20px;height:20px;border:2px solid transparent;border-top:2px solid var(--color-text-05);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{display:flex;align-items:center;gap:.75rem;background:var(--color-error-bg);color:var(--color-error-text);padding:1rem 1.5rem;border-radius:8px;border:1px solid var(--color-error-bg-hover);font-weight:500}.error-icon{width:24px;height:24px;background:var(--color-error-text);color:var(--color-primary-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.schedule-display{padding-top:1rem;overflow:hidden}.view-type-buttons,.week-mode-buttons{display:flex;gap:.5rem}.view-toggle-btn{padding:.75rem 1.5rem;border:2px solid var(--color-neutral-border-01);background:var(--color-primary-bg);color:var(--color-text-02);border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:500;font-size:.95rem;white-space:nowrap}.view-toggle-btn:hover{border-color:var(--color-primary-main);color:var(--color-primary-main)}.view-toggle-btn.active{background:var(--color-primary-main);border-color:var(--color-primary-main);color:var(--color-text-05)}.back-button{position:absolute;left:0;top:50%;transform:translateY(-50%);background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:var(--color-text-05);padding:.75rem 1.25rem;border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-button:hover{background:#ffffff40;border-color:#ffffff4d;transform:translateY(-50%) translate(-2px)}.back-button:active{transform:translateY(-50%) translate(0)}.back-icon{width:20px;height:20px;transition:transform .3s ease}.back-button:hover .back-icon{transform:translate(-2px)}.page-title{font-size:3rem;font-weight:700;margin:0 0 1rem;color:var(--color-text-05);text-shadow:0 2px 4px var(--color-shadow-black)}.page-subtitle{font-size:1.25rem;margin:0;color:var(--color-text-05-op);font-weight:400}.schedule-content{max-width:100dvw;position:relative;background:var(--color-primary-bg);border-radius:16px;z-index:3;margin:-2rem auto 2rem;padding:1.5rem;box-shadow:0 4px 20px var(--color-shadow-white)}.schedule-type-card.legacy:hover .type-arrow{transform:translate(4px) translateY(-4px)}.schedule-type-card.legacy{border-color:var(--color-primary-main);border-width:3px}.schedule-type-card.legacy:hover{border-color:var(--color-primary-hover);box-shadow:0 12px 40px var(--color-primary-bg-op)}.schedule-type-card.legacy:before{background:linear-gradient(90deg,var(--color-primary-main),var(--color-primary-hover))}.schedule-type-card.disabled{opacity:.6;cursor:not-allowed;background:var(--color-neutral-bg-02);border-color:var(--color-neutral-border-02);position:relative}.schedule-type-card.disabled:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--color-skeleton-light);border-radius:14px;pointer-events:none}.schedule-type-card.disabled:hover{transform:none;border-color:var(--color-neutral-border-02);box-shadow:0 4px 20px var(--color-shadow-white);background:var(--color-neutral-bg-02)}.schedule-type-card.disabled .type-icon{background:var(--color-neutral-bg-03);color:var(--color-text-03)}.schedule-type-card.disabled .type-title,.schedule-type-card.disabled .type-description{color:var(--color-text-03)}.schedule-type-card:hover .type-arrow{transform:translate(8px);color:var(--color-primary-hover)}.schedule-type-card.disabled .type-arrow{color:var(--color-text-03)}@media (min-width: 1921px){.schedule-content{max-width:90dvw;margin:-2rem auto 2rem;box-shadow:0 0 20px #0000001a}}@media (max-width: 768px){.page-header{padding:2rem 1rem 3rem}.page-title{font-size:2.5rem}.page-subtitle{font-size:1.1rem}.schedule-types-container{padding:0 1rem;margin-top:-1.5rem}.schedule-types-grid{grid-template-columns:1fr;gap:1.5rem}.schedule-type-card{padding:1.5rem}.type-icon{width:50px;height:50px;font-size:1.25rem}.type-title{font-size:1.25rem}.back-button{position:static;transform:none;margin-bottom:1rem;align-self:flex-start;background:#fff3;border-color:#ffffff4d;order:-1}.back-button:hover{transform:none}.header-content{display:flex;flex-direction:column;align-items:center;padding-left:1rem;padding-right:1rem}.schedule-content{margin-top:-1.5rem}.controls-grid{grid-template-columns:1fr;gap:0}.mode-section,.action-section{padding:.5rem}.view-type-buttons,.week-mode-buttons{justify-content:center}.view-toggle-btn{text-align:center;flex:1}}:root{--color-primary-main: #13875E;--color-primary-hover: #0D635A;--color-primary-active: #0A4F47;--color-primary-bg: #FFFFFF;--color-primary-bg-op: rgba(19, 135, 94, .1);--color-secondary: #F0F9F6;--color-accent: #31A774;--color-neutral-bg-01: #FAFAFA;--color-neutral-bg-02: #F5F5F5;--color-neutral-bg-03: #EEEEEE;--color-neutral-border-01: #E4E4E4;--color-neutral-border-02: #D9D9D9;--color-text-01: #343434;--color-text-02: #707070;--color-text-03: #9F9F9F;--color-text-04: #B8B8B8;--color-text-05: #FFFFFF;--color-text-05-op: rgba(255, 255, 255, .8);--color-error-bg: #FEF2F2;--color-error-bg-hover: #FEE2E2;--color-error-text: #DC2626;--color-shadow-white: rgba(0, 0, 0, .05);--color-shadow-black: rgba(0, 0, 0, .15);--color-skeleton-light: rgba(0, 0, 0, .05)}
