/* FIX 04 · live theme, A4 layouts and low-cost ambient motion */
:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.brand-block{cursor:pointer;border-radius:8px}
.template-picker04{margin:0 0 24px}.template-picker04 h2{font-size:18px;margin:0 0 6px}.template-grid04{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.template-choice04{display:flex;flex-direction:column;align-items:start;gap:8px;padding:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;text-align:left;cursor:pointer;min-width:0}.template-choice04 b{font-size:14px}.template-choice04 small{font-size:12px;color:var(--text-2)}.template-choice04.selected,.background-choice04.selected{border:2px solid var(--primary);background:var(--primary-soft)}.template-mini04{width:44px;height:62px;display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:6px;background:var(--canvas);border:1px solid var(--border);border-radius:3px}.template-mini04 i{display:block;background:var(--primary);opacity:.55;border-radius:1px}.template-mini04 i:first-child{grid-column:1/-1}.template-mini04.ribbon{grid-template-columns:1fr}.template-mini04.editorial i:nth-child(2){grid-column:1/-1;grid-row:2/4}.template-mini04.sidebar i:first-child{grid-column:1;grid-row:1/4}.template-mini04.cards i:first-child{grid-column:auto}.tuition-fields .template-grid04{grid-template-columns:repeat(2,minmax(0,1fr))}.tuition-fields .template-choice04{padding:10px}.tuition-fields .template-choice04 small{display:none}
.slip-preview-area{min-width:0}.tuition-preview-wrap{width:100%;max-height:none}.a4-slip.v6-slip{box-sizing:border-box!important;width:794px!important;min-width:794px!important;max-width:none!important;height:1123px!important;min-height:1123px!important;padding:42px!important;border-radius:0!important;background:#fff!important;color:#293443!important;position:relative;border:0;overflow:visible;font-size:14px!important;line-height:1.5;--ink04:#293443;--tint04:color-mix(in srgb,var(--primary) 9%,white);--accent04:color-mix(in srgb,var(--primary) 55%,#263045);--secondary04:#426b70;--primary-soft:color-mix(in srgb,var(--primary) 10%,white);--primary-strong:var(--accent04);--text:#293443;--canvas:var(--tint04);--surface:#fff;--border:#dfe4e9;--text-2:#536577}.a4-slip *{box-sizing:border-box;overflow-wrap:anywhere}.a4-slip h1{font-size:29px!important;text-align:left!important;margin:12px 0 26px!important;color:var(--accent04)!important;letter-spacing:0}.a4-slip .slip-top{font-size:14px;min-height:28px;align-items:center;color:var(--accent04);font-weight:700;border-bottom:2px solid var(--accent04);padding-bottom:10px}.a4-slip .slip-grid{display:grid!important;grid-template-columns:1.1fr 1fr!important;gap:20px!important}.a4-slip .slip-box{background:#fff;border:1px solid #dfe4e9;border-radius:10px;padding:20px}.a4-slip h3{color:var(--accent04);font-size:14px;letter-spacing:.7px}.a4-slip .slip-row{grid-template-columns:118px 1fr;font-size:13px;align-items:start;padding:8px 0}.a4-slip .slip-row b{white-space:normal}.a4-slip .slip-total{background:var(--tint04)}.a4-slip .amount{color:var(--accent04)!important;font-size:32px!important;line-height:1.3}.a4-slip .slip-section{padding:16px 0 0;margin:18px 0 0;border-top:1px solid #dfe4e9}.a4-slip .remark-block{margin:10px 0}.a4-slip p{color:#293443!important;line-height:1.5}.a4-slip .slip-foot{font-size:12px;background:var(--tint04);color:#536577;margin-top:24px;padding:12px 16px;border-radius:4px}.a4-slip .slip-bank{color:#364656}.a4-slip .slip-qr{display:block;width:112px;height:112px;object-fit:contain}.a4-slip .slip-dates{gap:5px}.a4-slip .slip-date{min-width:45px;font-size:12px;border-radius:4px;padding:4px 6px;background:var(--tint04);color:var(--accent04)}
.a4-slip.template-ribbon{border-top:16px solid var(--accent04);padding-top:26px!important}.template-ribbon>.slip-total{display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;margin:0 0 20px;padding:18px 22px;background:var(--accent04);color:white}.template-ribbon>.slip-total h3,.template-ribbon>.slip-total .amount,.template-ribbon>.slip-total .slip-bank{color:white!important}.template-ribbon>.slip-total .slip-bank{grid-column:1}.template-ribbon>.slip-total .slip-qr{grid-column:2;grid-row:1/4;margin:0 0 0 18px}.a4-slip.template-ribbon .slip-grid{grid-template-columns:1fr!important}.template-ribbon .slip-grid>.slip-box{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.template-ribbon .slip-grid>.slip-box>h3{grid-column:1/-1}.template-ribbon .slip-grid>.slip-box>.slip-dates{grid-column:1/-1}
.template-editorial .slip-top{border:0}.a4-slip.template-editorial h1{font-size:34px!important;border-bottom:4px solid var(--accent04);padding-bottom:22px}.template-editorial>.slip-section:first-of-type{border:0;background:var(--tint04);padding:20px 24px;border-radius:0}.template-editorial .remark-block{display:grid;grid-template-columns:100px 1fr;gap:16px;border-bottom:1px solid #dfe4e9;padding-bottom:8px}.template-editorial .remark-block p{margin:0}.template-editorial .slip-grid{margin-top:24px}.template-editorial .slip-grid .slip-box{border-radius:0}
.slip-sidebar-layout04{display:grid;grid-template-columns:248px 1fr;gap:28px}.slip-sidebar-left04{background:var(--tint04);padding:16px;border-radius:8px}.slip-sidebar-left04>.slip-box{padding:0;background:none;border:0}.slip-sidebar-left04>.slip-total{border-top:2px solid var(--accent04);margin-top:24px;padding-top:20px}.slip-sidebar-left04 .slip-row{grid-template-columns:1fr;gap:4px}.slip-sidebar-left04 .slip-row b{text-align:left}.slip-sidebar-left04 .amount{font-size:27px!important}.slip-sidebar-main04 .slip-section:first-child{margin-top:0;border:0;padding-top:0}.slip-sidebar-main04 .remark-block{padding:10px 0;border-bottom:1px solid #dfe4e9}.template-sidebar .slip-foot{margin-top:32px}
.slip-card-layout04{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.slip-card-layout04>.slip-section{padding:20px;margin:0;border:1px solid #dfe4e9;border-radius:12px;background:#f0f6f4}.slip-card-layout04>.slip-section:first-child{grid-column:1/-1;background:var(--tint04)}.slip-card-layout04>.slip-section:last-child{background:#f5f1fa}.template-cards .remark-block{display:grid;grid-template-columns:100px 1fr;gap:16px}.template-cards .remark-block p{margin:0}.a4-slip.template-cards>.slip-grid>.slip-box:first-child{background:#faf6ee}.template-cards .slip-foot{background:#fff;border-top:2px solid var(--accent04);border-radius:0}
.calendar-help04{font-size:14px;color:var(--text-2);line-height:1.6}.calendar-scroll{max-height:68vh;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-behavior:auto}.day-lanes{user-select:none;touch-action:pan-y}.calendar-week-v6{min-width:1120px}.cal-event-v6{cursor:grab;touch-action:none;background:color-mix(in srgb,var(--event-color) 16%,white)!important;border:1px solid color-mix(in srgb,var(--event-color) 50%,white)!important;border-left:4px solid var(--event-color)!important;color:#243345!important;border-radius:7px!important;box-shadow:none!important;transition:box-shadow .15s!important;padding:5px 6px!important;display:flex;flex-direction:column;gap:2px;overflow:hidden!important}.cal-event-v6:hover{transform:none!important;box-shadow:0 2px 8px #0002!important;z-index:6}.cal-event-v6 b{font-size:11px}.cal-event-v6 span{font-size:12px;line-height:1.25}.cal-event-v6 small{font-size:10px;line-height:1.3}.event-status04{font-size:10px;font-style:normal;margin-top:auto;white-space:nowrap}.cal-event-v6 .resize04{position:absolute;bottom:0;left:0;right:0;height:9px;cursor:ns-resize}.resize04:after{content:'';display:block;width:20px;height:3px;border-radius:2px;background:var(--event-color);margin:4px auto 0}.selection-ghost04{position:absolute;left:2px;right:2px;z-index:20;border:2px solid var(--primary);background:var(--primary-soft);color:var(--text);padding:4px;pointer-events:none;border-radius:6px;font-size:12px;font-weight:700}.cal-month-day .resize04{display:none}.cal-month-day .cal-event-v6{cursor:pointer;min-height:78px}.background-settings04{margin-top:24px}.background-grid04{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:20px 0}.background-choice04{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:20px 8px;display:flex;flex-direction:column;gap:12px;align-items:center;cursor:pointer}.background-choice04 span{font-size:30px;color:var(--primary-strong)}.background-choice04 b{font-size:14px}.background-options04{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.background-options04>.field{min-width:160px}.linked-head04{display:flex;align-items:center;justify-content:space-between;gap:20px}.linked-head04 h2{font-size:22px;margin:10px 0}.linked-head04 h2 small{font-size:15px;color:var(--text-2);font-weight:400}.report-linked04 summary{cursor:pointer;padding:14px 0;font-size:14px}.linked-lessons04{display:grid}.linked-lesson04{display:grid;grid-template-columns:118px 1fr 100px;text-align:left;gap:16px;padding:16px 0;color:var(--text);border:0;border-top:1px solid var(--border);background:transparent;font-size:14px;cursor:pointer}.linked-lesson04 span span{white-space:pre-wrap}.linked-lesson04 small{display:block;font-size:12px;color:var(--text-2);margin:6px 0}.linked-lesson04:hover{background:var(--primary-soft)}
#ambient04{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;opacity:var(--ambient-opacity,.14)}.app-shell{position:relative;z-index:1}.main-content{background:transparent}#ambient04[hidden]{display:none}#ambient04 i{position:absolute;display:block;animation-duration:var(--ambient-speed,32s);animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}#ambient04 i:nth-child(1){left:4%;top:9%}#ambient04 i:nth-child(2){left:28%;top:56%;animation-delay:-6s}#ambient04 i:nth-child(3){left:48%;top:14%;animation-delay:-12s}#ambient04 i:nth-child(4){left:70%;top:60%;animation-delay:-18s}#ambient04 i:nth-child(5){left:86%;top:20%;animation-delay:-24s}#ambient04 i:nth-child(6){left:14%;top:80%;animation-delay:-30s}
#ambient04[data-effect=aurora] i{width:55vw;height:55vw;max-width:720px;max-height:720px;background:radial-gradient(ellipse,var(--primary),transparent 68%);border-radius:50%;animation-name:ambient-drift04}#ambient04[data-effect=aurora] i:nth-child(even){background:radial-gradient(ellipse,#68b9ad,transparent 68%)}#ambient04[data-effect=bubbles] i{width:130px;height:130px;border:2px solid var(--primary);background:var(--primary-soft);border-radius:50%;animation-name:ambient-rise04}#ambient04[data-effect=bubbles] i:nth-child(even){width:70px;height:70px}#ambient04[data-effect=petals] i{width:55px;height:80px;background:var(--primary);border-radius:100% 0 100% 0;animation-name:ambient-petal04}#ambient04[data-effect=stars] i{width:18px;height:18px;background:var(--primary);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);animation-name:ambient-twinkle04}#ambient04[data-effect=waves] i{width:130vw;height:40vh;border:3px solid var(--primary);border-radius:50%;left:-15%!important;top:var(--wave-y,80%)!important;animation-name:ambient-wave04}#ambient04[data-effect=waves] i:nth-child(2n){--wave-y:70%;animation-delay:-16s}#ambient04[data-effect=waves] i:nth-child(3n){--wave-y:90%;animation-delay:-8s}#ambient04[data-effect=grid]{background-image:linear-gradient(var(--primary) 1px,transparent 1px),linear-gradient(90deg,var(--primary) 1px,transparent 1px);background-size:48px 48px;animation:ambient-grid04 var(--ambient-speed) linear infinite}#ambient04[data-effect=grid] i{display:none}
@keyframes ambient-drift04{to{transform:translate(8vw,-9vh) scale(1.2)}}@keyframes ambient-rise04{to{transform:translate(3vw,-18vh)}}@keyframes ambient-petal04{to{transform:translate(8vw,15vh) rotate(120deg)}}@keyframes ambient-twinkle04{0%{opacity:.15;transform:scale(.7)}100%{opacity:1;transform:scale(1.4) rotate(90deg)}}@keyframes ambient-wave04{to{transform:translateY(-4vh) rotate(6deg)}}@keyframes ambient-grid04{to{background-position:48px 48px}}
@media(prefers-reduced-motion:reduce){#ambient04,#ambient04 i{animation:none!important}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}body.no-effects #ambient04{display:none}
@media(max-width:820px){.template-grid04{grid-template-columns:repeat(2,minmax(0,1fr))}.background-grid04{grid-template-columns:repeat(2,minmax(0,1fr))}.linked-head04{align-items:start;flex-direction:column;gap:8px}.linked-lesson04{grid-template-columns:80px 1fr;gap:10px}.linked-lesson04>b{grid-column:2}.background-options04{gap:16px}.a4-slip .slip-grid{grid-template-columns:1.1fr 1fr!important}.a4-slip.template-ribbon .slip-grid{grid-template-columns:1fr!important}.slip-preview-area{overflow:hidden!important;padding:12px!important}.tuition-fields{padding:16px!important}.template-choice04{min-height:44px}.cal-toolbar select{max-width:100%}}
@page{size:A4 portrait;margin:0}@media print{body *{visibility:hidden}.a4-slip,.a4-slip *{visibility:visible}.a4-slip{position:absolute!important;left:0;top:0;zoom:1!important;box-shadow:none!important;width:210mm!important;height:297mm!important}#ambient04{display:none!important}}

.profile-linked04{margin:16px 0;padding:12px 16px;background:var(--canvas);border:1px solid var(--border);border-radius:10px;font-size:14px}.profile-linked04 summary{padding:8px 0;cursor:pointer;font-weight:700}.profile-linked04>div{padding:12px 0;border-top:1px solid var(--border)}.profile-linked04 p{white-space:pre-wrap;margin:8px 0}.profile-linked04 small{color:var(--text-2)}
.template-ribbon>.slip-total:has(.slip-qr)>h3,.template-ribbon>.slip-total:has(.slip-qr)>.amount{grid-column:1}.template-ribbon>.slip-total:has(.slip-qr)>.slip-bank{text-align:left}.linked-head04{flex-wrap:wrap}
