:root{--green:#0F6B5C;--deep:#153E35;--mint:#DCEEE4;--cream:#FBFAF6;--gold:#D4A85B;--text:#2C453F;--muted:#75867C;--line:#E4EBE3;--white:#fff;--shadow:0 14px 42px rgba(29,76,61,.07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);font:15px/1.65 system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--text)}button,input,textarea,select{font:inherit}button{cursor:pointer}input,textarea,select{max-width:100%;color:var(--text)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.demo-bar{background:#E6F2E7;text-align:center;padding:6px;font-size:12px;color:#3B6D5B;font-weight:700}.sitehead{height:77px;display:flex;gap:20px;align-items:center;padding:0 max(28px,calc((100vw - 1240px)/2));background:#fffdf9;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;gap:11px;line-height:1.2;margin-right:auto}.logo img{width:45px;height:45px;border-radius:12px}.logo b{display:block;color:var(--green);font-size:23px;letter-spacing:.035em}.logo small{display:block;font-size:10px;color:#7BA496;letter-spacing:.22em}.sitehead nav{display:flex;gap:25px;align-items:center}.sitehead nav a{font-weight:750;font-size:13px;color:#647871;white-space:nowrap}.sitehead nav .selected{color:var(--green);border-bottom:2px solid var(--green);padding:24px 0}.sitehead .return{border:1px solid #d3e5da;border-radius:10px;padding:8px 13px;color:var(--green);font-size:12px;font-weight:750;white-space:nowrap}.banner{background:radial-gradient(circle at 75% 8%,#CCE7DB 0,transparent 34%),linear-gradient(115deg,#E8F2E7,#F9F7EF);overflow:hidden;border-bottom:1px solid #E2EADF}.banner-inner{max-width:1240px;margin:auto;min-height:270px;padding:43px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px}.super{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:850;color:#54907E}.super.dark{color:#6C9687}.banner h1{color:var(--deep);font-size:clamp(30px,3.2vw,42px);margin:15px 0 10px}.banner h1 em{font-style:normal;color:var(--green);box-shadow:inset 0 -10px #BDE5CF}.banner p{font-size:15px;color:#637970;line-height:1.9;margin-bottom:14px}.banner-points{display:flex;gap:15px;flex-wrap:wrap;font-size:12px;color:#53846C;font-weight:750}.banner-illustration{position:relative;width:285px;height:196px;flex-shrink:0}.paper-icon{background:#fff;width:152px;height:195px;transform:rotate(8deg);border-radius:13px;box-shadow:0 18px 28px #24584120;padding:36px 24px;position:absolute;top:0;left:50px}.paper-icon i{font-style:normal;color:#69A990;display:block;font-size:26px}.paper-icon span{display:block;background:#DDECE4;height:7px;border-radius:9px;margin-top:13px}.paper-icon .short{width:55%}.stamp{position:absolute;top:113px;left:130px;background:#fff7e9;color:#9C7840;box-shadow:0 9px 25px #B79B6840;border:1px solid #E9D8AC;border-radius:14px;padding:11px 15px;transform:rotate(-6deg);font-size:11px;line-height:1.55}.stamp strong{font-size:12px}.sparkle{position:absolute;color:#D3A753;font-size:34px}.sparkle1{top:6px;right:30px}.sparkle2{top:118px;left:0}.shell{max-width:1240px;margin:auto;padding:37px 28px 60px}.type-panel{background:white;border:1px solid var(--line);border-radius:22px;padding:25px 27px 27px;box-shadow:var(--shadow);margin-bottom:29px}.type-title{display:flex;justify-content:space-between;align-items:center}.type-title h2,.section-heading h2,.preview-header h2{font-size:22px;margin:5px 0 15px}.type-note{font-size:11px;color:#AD8843;background:#fff8e9;padding:6px 12px;border-radius:50px}.type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.type-card{background:#fff;border:1.5px solid #E1E8E2;text-align:left;border-radius:15px;display:flex;flex-direction:column;gap:5px;padding:18px 16px;min-height:142px;transition:.16s}.type-card:hover{border-color:#9DCAB7;transform:translateY(-2px)}.type-card.active{background:#F0F8F1;border-color:#78B79D;box-shadow:inset 0 0 0 1px #78B79D}.type-emoji{font-size:23px;color:#4B927B}.type-card b{color:#234A3D;font-size:16px}.type-card small{font-size:11px;color:#688275;line-height:1.55}.workgrid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:26px;align-items:start}.section-heading{padding:0 4px 3px}.section-heading p{font-size:12px;color:#73877E;line-height:1.65}.form-card{background:white;padding:25px 25px 22px;border-radius:19px;box-shadow:var(--shadow);border:1px solid var(--line);margin-bottom:18px}.card-top{display:flex;align-items:center;gap:12px;margin-bottom:22px}.circle-number{width:34px;height:34px;background:#E6F2E9;border-radius:11px;display:grid;place-items:center;font-weight:800;color:var(--green);flex-shrink:0}.card-top h3{font-size:17px;margin:0}.card-top small{color:#84978B;font-size:11px}.field-grid{display:grid;gap:14px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800;color:#435F53}label input,label select,label textarea,.field-control{background:#FCFDFB;border:1px solid #DDE7DE;border-radius:11px;padding:11px 12px;width:100%;font-size:13px;font-weight:500;outline:none;transition:border-color .15s,box-shadow .15s}label textarea{min-height:90px;resize:vertical;line-height:1.8}label input:focus,label select:focus,label textarea:focus{border-color:#8DBDA6;box-shadow:0 0 0 3px #E3F2E9}#period-label.hidden{display:none}.activity-choice{min-height:107px;background:#F7FBF8;border:1px dashed #BCD8C8;border-radius:13px;padding:14px}.activity-empty{display:flex;align-items:center;gap:12px;min-height:72px}.activity-symbol{display:grid;place-items:center;width:49px;height:49px;border-radius:15px;background:#E1F0E6;color:#66A185;font-size:24px}.activity-empty b{font-size:13px}.activity-empty p{margin:2px 0 0;font-size:11px;color:#8A9A90}.activity-selected{display:flex;gap:13px;align-items:start}.activity-selected img{width:100px;height:83px;border-radius:10px;object-fit:cover;flex-shrink:0}.activity-selected h4{margin:0 0 5px;font-size:15px}.activity-selected p{font-size:11px;line-height:1.6;color:#60786C;margin:0}.activity-selected .chips{margin-top:6px}.activity-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:13px}.primary,.secondary,.quiet{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:11px;min-height:42px;padding:11px 16px;font-weight:800;font-size:13px;border:1px solid transparent;transition:.15s}.primary{background:var(--green);color:#fff}.primary:hover{background:#0B534A}.primary.outline{color:var(--green);background:#F0F8F2;border-color:#AED5C0}.secondary{background:#F9F7EF;color:var(--deep);border-color:#D6E3D7}.quiet{background:transparent;color:#7B897D;padding:7px 0}.field-note{font-size:10px;line-height:1.65;margin:12px 0 0;color:#829188}.dynamic-field{margin-bottom:20px}.dynamic-field:last-child{margin:0}.field-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.field-head label{display:inline;font-weight:850;font-size:13px}.field-hint{font-size:11px;color:#81948A;margin:0 0 8px}.dynamic-field textarea{width:100%;display:block;border-radius:10px;border:1px solid #DDE7DE;background:#FCFDFB;min-height:98px;padding:11px 12px;resize:vertical;font-size:13px;line-height:1.8;color:var(--text)}.dynamic-field textarea:focus{outline:3px solid #E3F2E9;border-color:#8DBDA6}.example-btn{font-size:11px;white-space:nowrap;background:#F0F7EF;color:#28785D;border:1px solid #CDE5D3;border-radius:7px;padding:5px 9px}.examples{background:#F6FAF6;border-radius:12px;padding:12px;margin-top:8px;display:grid;gap:7px;border:1px solid #D8EBDD}.examples p{font-size:10px;color:#6E8476;margin:0 0 2px}.suggestion{display:block;width:100%;border:1px solid #DEE9DF;border-radius:9px;background:white;padding:9px;text-align:left;color:#3F6553;font-size:12px;line-height:1.6}.suggestion:hover{border-color:#79B199}.safety-note{padding:15px 18px;border-radius:14px;display:flex;gap:12px;background:#F3F0E7;border:1px solid #E9E2D4;color:#665E46}.safety-note b{font-size:12px}.safety-note p{font-size:11px;line-height:1.8;margin:4px 0 0}.preview-pane{min-width:0}.preview-sticky{position:sticky;top:97px}.preview-header{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 2px}.preview-header h2 small{font-size:11px;font-weight:500;color:#9AA99F}.live-dot{font-size:10px;background:#E9F3EA;color:#558A6A;border-radius:40px;padding:7px 10px;white-space:nowrap}.paper-surround{background:#E8EDE8;padding:20px;border-radius:18px;box-shadow:var(--shadow);max-height:690px;overflow:auto}.paper{background:white;aspect-ratio:210 / 297;min-height:530px;padding:28px 27px 35px;box-shadow:0 8px 20px #496E5730;color:#333;overflow-wrap:anywhere}.paper-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #327D66;padding:0 0 12px;margin-bottom:15px}.paper-heading h3{font-size:20px;font-weight:800;color:#224A3C;margin:0}.paper-heading small{font-size:10px;color:#779387;font-weight:700}.paper-meta{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:10px;margin-bottom:15px;color:#57675C}.paper-meta b{color:#293F33}.paper-section{margin:0 0 15px}.paper-section h4{background:#ECF5EE;border-left:3px solid #6EAC89;padding:5px 9px;font-size:11px;color:#345E49;margin:0 0 7px;line-height:1.5}.paper-section p{margin:0;font-size:11px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.paper-placeholder{color:#AAB6AD!important;font-style:italic}.paper-bottom{border-top:1px solid #E1E9E3;padding-top:10px;margin-top:18px;font-size:9px;color:#83968D;line-height:1.7}.export-panel{border:1px solid var(--line);padding:18px;margin-top:15px;border-radius:16px;background:#fff;box-shadow:var(--shadow)}.export-panel p{font-size:11px;line-height:1.65;color:#778A7D;margin:0 0 13px}.export-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.export-actions button{padding:12px 5px}.other-actions{display:flex;justify-content:space-around;margin-top:13px}.other-actions button{border:none;background:transparent;color:#698172;font-size:11px;font-weight:750}.guidance{margin-top:34px;background:linear-gradient(120deg,#EAF3E9,#F8F7EF);border:1px solid #DCE9DB;border-radius:18px;padding:25px 30px}.guidance span{font-size:11px;font-weight:850;color:#579274}.guidance h2{font-size:18px;margin:9px 0}.guidance p{font-size:12px;color:#5D7265;max-width:900px;line-height:1.9}.guidance div{display:flex;gap:20px;flex-wrap:wrap}.guidance a{font-size:11px;color:#27745C;text-decoration:underline;text-underline-offset:4px}footer{border-top:1px solid var(--line);background:#fffdf9;padding:23px max(28px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;color:#84968B;font-size:11px}footer a{color:var(--green);font-weight:750}dialog{padding:0;border:0;border-radius:22px;max-width:min(750px,calc(100vw - 20px));width:750px;max-height:min(88vh,900px);box-shadow:0 35px 100px #203B3766}dialog::backdrop{background:#172F2AB8;backdrop-filter:blur(3px)}.modal-box{padding:24px;max-height:88vh;display:flex;flex-direction:column}.modal-header{display:flex;align-items:start;justify-content:space-between;gap:10px}.modal-header h2{font-size:24px;margin:5px 0}.modal-header p{font-size:12px;color:#798C7E}.close-modal{background:#F0F4F0;border:0;border-radius:11px;width:35px;height:35px;font-size:23px;flex-shrink:0;color:#38584B}.modal-filters{display:grid;grid-template-columns:1fr 180px;gap:12px;margin:9px 0}.activity-count{color:#758B79;font-size:11px;margin:3px 0 9px}.modal-list{overflow-y:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-right:3px}.pick-card{border:1px solid #E0EAE0;border-radius:13px;background:#fff;display:flex;gap:10px;padding:9px;text-align:left;min-height:106px}.pick-card:hover{background:#F4FAF5;border-color:#97CBB0}.pick-card img{width:94px;height:90px;border-radius:8px;object-fit:cover;flex-shrink:0}.pick-card b{font-size:13px;color:#2F5645}.pick-card p{font-size:11px;color:#76867A;line-height:1.55;margin:3px 0}.chips{font-size:10px;color:#3E8567}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);padding:11px 20px;border-radius:12px;background:#174A3D;color:white;font-size:13px;box-shadow:0 8px 24px #163F3755;opacity:0;pointer-events:none;transition:.18s;z-index:101}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1100px){.sitehead{padding:0 22px}.banner-inner{padding:37px 22px}.shell{padding:30px 18px}.workgrid{gap:14px}.paper-surround{padding:12px}.paper{padding:24px 20px}}@media(max-width:850px){.banner-illustration{display:none}.banner-inner{min-height:225px}.type-grid{grid-template-columns:repeat(2,1fr)}.workgrid{grid-template-columns:1fr}.preview-sticky{position:static}.paper-surround{max-height:none}.paper{min-height:550px;aspect-ratio:auto}.sitehead nav{display:none}.preview-pane{margin-top:12px}}@media(max-width:560px){.demo-bar{font-size:10px;padding:7px 10px}.sitehead{height:65px;padding:0 14px}.logo img{width:39px;height:39px}.logo b{font-size:21px}.sitehead .return{font-size:10px;padding:7px}.banner-inner{padding:30px 18px}.banner h1{font-size:29px}.banner p{font-size:13px}.shell{padding:18px 12px 37px}.type-panel{padding:19px 14px;border-radius:15px}.type-title h2{font-size:20px}.type-note{display:none}.type-grid{gap:8px}.type-card{min-height:133px;padding:13px 11px}.type-card b{font-size:15px}.type-card small{font-size:10px}.form-card{padding:20px 15px;border-radius:14px}.field-grid.two{gap:12px}.field-grid.two label{font-size:11px}.field-grid.two input,.field-grid.two select{padding:10px 8px}.section-heading h2{font-size:20px}.export-actions{grid-template-columns:1fr}.modal-box{padding:16px}.modal-list{grid-template-columns:1fr}.modal-filters{grid-template-columns:1fr 115px}.pick-card img{width:84px;height:77px}.guidance{padding:20px}.guidance div{gap:10px}.paper{padding:24px 17px}footer{padding:20px;gap:15px;flex-wrap:wrap}}
@media print{@page{size:A4;margin:15mm}html,body{background:#fff!important;color:#000!important}body>*:not(main){display:none!important}.shell{padding:0;max-width:none;margin:0}.shell>*:not(.workgrid){display:none!important}.workgrid{display:block!important}.editor{display:none!important}.preview-pane{display:block!important}.preview-sticky{position:static!important}.preview-header,.export-panel{display:none!important}.paper-surround{background:none!important;padding:0!important;border-radius:0!important;box-shadow:none!important;max-height:none!important;overflow:visible!important}.paper{aspect-ratio:auto!important;min-height:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important;width:auto!important}.paper-heading h3{font-size:20pt}.paper-meta{font-size:10pt}.paper-section h4{font-size:11pt;break-after:avoid}.paper-section p{font-size:10pt;line-height:1.7}.paper-section{break-inside:avoid}.paper-bottom{font-size:8pt}.paper-placeholder{color:#999!important}}

/* ----- 帳票デザイン改善 v2: 著作物の紙面を複製せず、一覧性だけを参考にした独自帳票 ----- */
.preview-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.expand-preview{font-size:11px;font-weight:800;color:#185F4F;background:#fff;border:1px solid #C7DDD1;padding:7px 10px;border-radius:8px;white-space:nowrap}
.expand-preview:hover{background:#EAF4ED}
.paper-surround{background:#E4EAE5;scrollbar-color:#8BAC99 #EEF2EE}
.paper-surround.landscape-surround{padding:16px;overflow:auto}
.paper{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.55;letter-spacing:0;aspect-ratio:210 / 297;min-height:0;padding:23px 24px 25px;color:#29493D;background:white}
.paper-weekly,.paper-monthly,.paper-lesson{aspect-ratio:297 / 210;min-width:690px;padding:24px 25px 23px}
.paper h3{letter-spacing:0}
.doc-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid #28765D}
.doc-heading h3{margin:0 0 2px;font-size:22px;font-weight:800;color:#1B4938}
.doc-kicker{display:block;color:#78A38E;letter-spacing:.13em;font-size:8px;font-weight:850}
.doc-subtitle{font-size:10px;color:#607B69}
.doc-mark{flex:none;color:#236B52;font-size:10px;font-weight:850;letter-spacing:.06em}
.doc-metas{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;border:1px solid #D6E7D8;background:#F5F9F4;margin-bottom:14px}
.doc-metas>div{padding:6px 9px;border-right:1px solid #D6E7D8;min-width:0}
.doc-metas>div:last-child{border-right:0}
.doc-metas b{display:block;color:#5C876F;font-size:8px;font-weight:850}
.doc-metas span{display:block;font-size:10px;overflow-wrap:anywhere}
.doc-band{background:#DDEDE2;border-left:4px solid #247B59;color:#275E45;padding:6px 11px;margin:11px 0 9px;font-weight:850;font-size:11px;letter-spacing:.025em}
.doc-band small{color:#668671;font-size:9px;font-weight:500;margin-left:10px;letter-spacing:0}
.doc-grid{display:grid;gap:9px;min-width:0}
.doc-grid .doc-panel{min-width:0}
.doc-panel{border:1px solid #D8E8DC;background:#fff;min-width:0}
.doc-section-title{font-size:9px;font-weight:850;background:#E9F3EA;color:#255D45;padding:6px 9px;border-bottom:1px solid #D8E8DC}
.doc-content{min-height:42px;padding:9px 10px;font-size:10px;white-space:normal;line-height:1.7;overflow-wrap:anywhere}
.doc-empty{color:#A5B8A8;font-size:9px}
.doc-diary-upper{grid-template-columns:1fr 1fr;margin-bottom:13px}
.doc-diary-main{grid-template-columns:1fr 1fr}
.doc-diary-main .doc-content{min-height:145px}
.doc-diary-bottom{grid-template-columns:1fr 1fr;margin-top:10px}
.doc-diary-bottom .doc-content{min-height:95px}
.doc-foot{margin-top:15px;padding-top:7px;border-top:1px solid #D6E6D9;color:#81968A;display:flex;gap:10px;justify-content:space-between;font-size:8px;line-height:1.55}
.doc-week-intro{grid-template-columns:1fr 1fr;margin:9px 0}
.doc-week-intro .doc-content{min-height:43px}
.doc-week-bottom{grid-template-columns:1fr 1fr 1fr;margin:9px 0}
.doc-week-bottom .doc-content{min-height:40px}
.doc-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:10px;line-height:1.6}
.doc-table th,.doc-table td{border:1px solid #C9D9CB;vertical-align:top;overflow-wrap:anywhere}
.doc-table thead th{padding:7px 5px;background:#E6F2E8;color:#215C42;font-weight:850;text-align:center;font-size:10px}
.doc-table thead th small{font-size:8px;color:#7C9A83;margin-left:3px}
.doc-headcell{background:#F0F7F0;color:#2B6C4D;font-weight:850;padding:8px 6px;text-align:center;font-size:9px}
.doc-table td .doc-content{min-height:65px;padding:8px 7px;font-size:9px}
.doc-week-table tr:first-child td .doc-content{min-height:98px}
.doc-week-table tr:nth-child(2) td .doc-content{min-height:93px}
.doc-month-intro{grid-template-columns:1fr 1fr;margin-bottom:9px}
.doc-month-table td .doc-content{min-height:51px}
.doc-month-table .domain-label{vertical-align:middle;font-size:10px}
.doc-month-bottom{grid-template-columns:1fr 1fr 1fr;margin-top:10px}
.doc-month-bottom .doc-content{min-height:45px}
.doc-lesson-intro{grid-template-columns:1fr 1fr;margin-bottom:8px}
.doc-lesson-tools{grid-template-columns:1fr 1fr}
.doc-lesson-table tr td .doc-content{min-height:83px}
.doc-lesson-table .phase-label{vertical-align:middle;font-size:11px}
.doc-lesson-bottom{grid-template-columns:1fr 1fr;margin-top:10px}
.doc-lesson-bottom .doc-content{min-height:46px}
.layout-help{display:inline-flex;align-items:center;font-size:11px;font-weight:800;color:#4B7B61;background:#ECF6ED;padding:6px 12px;border-radius:18px;margin-bottom:9px}
.special-block{margin-top:15px;background:#F9FCF9;border:1px solid #DCECDF;border-radius:15px;padding:16px}
.special-header{border-bottom:1px solid #DCE8DC;padding-bottom:12px;margin-bottom:12px}
.special-header strong{display:block;font-size:15px;color:#2C634B;margin-bottom:5px}
.special-header small{display:block;color:#738B79;font-size:11px;line-height:1.7}
.weekday-item{display:grid;grid-template-columns:39px minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start;padding:11px 0;border-bottom:1px solid #DFECE2}
.weekday-item:last-child{border:0}
.weekday-badge{background:#DCEEE0;border:1px solid #BED8C5;color:#1C7352;font-size:14px;font-weight:850;border-radius:11px;height:40px;display:grid;place-items:center}
.weekday-item label,.domain-pair label,.phase-item label{font-size:11px}
.special-block textarea{resize:vertical;border:1px solid #D8E5DB;border-radius:9px;padding:9px 10px;line-height:1.7;background:white;width:100%;font-size:12px;min-height:73px}
.special-block textarea:focus,.special-block input:focus{outline:3px solid #DEEFE5;border-color:#81B7A0}
.domain-item{padding:12px 0;border-bottom:1px solid #DDEADF}
.domain-item:last-child{border:0}
.domain-name{display:block;color:#276C4D;font-size:12px;margin-bottom:8px}
.domain-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.phase-item{padding:13px 0;border-bottom:1px solid #DDEADF}
.phase-item:last-child{border:0}
.phase-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.phase-head strong{font-size:13px;color:#256B4B}
.phase-head label{display:flex;flex-direction:row;align-items:center;gap:8px}
.phase-head input{width:81px;padding:7px;border:1px solid #D8E5DB;background:white;border-radius:8px}
.phase-item>label{margin-top:8px}
.picker-help{font-size:11px;color:#718576}
.zoom-dialog{padding:0;width:min(1200px,96vw);max-width:96vw;max-height:93vh;overflow:auto;border-radius:15px}
.zoom-box{padding:16px;background:#E9EEE9;min-height:40vh}
.zoom-top{display:flex;justify-content:space-between;align-items:center;padding:0 4px 13px;color:#385A4A}
.zoom-top button{border:1px solid #C7DDD1;border-radius:8px;background:#fff;color:#2A6C4E;padding:8px 15px;font-size:12px;font-weight:850}
.expanded-paper{display:flex;justify-content:center;align-items:start}
.expanded-paper .paper{width:100%;max-width:1060px;min-width:0;box-shadow:0 6px 15px #153E3520}
.expanded-paper .paper-diary{max-width:680px;min-width:0}
.expanded-paper .paper-weekly,.expanded-paper .paper-monthly,.expanded-paper .paper-lesson{min-width:690px}
.expanded-paper .doc-content{font-size:12px;min-height:55px}
.expanded-paper .doc-section-title{font-size:11px}
.expanded-paper .doc-table td .doc-content{font-size:11px}
@media(max-width:850px){.paper-weekly,.paper-monthly,.paper-lesson{min-width:690px}.paper-surround{overflow-x:auto}.preview-header{align-items:start}.preview-controls{justify-content:flex-end}.expand-preview{font-size:10px}}
@media(max-width:560px){.doc-metas{grid-template-columns:1fr 1fr}.doc-metas>div:nth-child(2){border-right:0}.doc-metas>div:nth-child(-n+2){border-bottom:1px solid #D6E7D8}.weekday-item{grid-template-columns:36px minmax(0,1fr)}.weekday-item label:last-child{grid-column:2}.domain-pair{grid-template-columns:1fr}.paper-diary .doc-grid{grid-template-columns:1fr}.paper-diary .doc-diary-main .doc-content{min-height:80px}.paper{padding:18px 15px}.paper-weekly,.paper-monthly,.paper-lesson{padding:24px 25px}.preview-header h2{font-size:18px}.preview-controls{gap:4px}.live-dot{padding:5px;font-size:9px}.expand-preview{padding:5px;font-size:10px}}
@media print{
 .paper-surround,.paper-surround.landscape-surround{max-height:none!important;overflow:visible!important}
 .paper,.paper-weekly,.paper-monthly,.paper-lesson{aspect-ratio:auto!important;width:100%!important;min-width:0!important;padding:0!important;box-shadow:none!important}
 .paper-diary .doc-grid{grid-template-columns:1fr 1fr}
 .doc-section-title{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .doc-band,.doc-metas,.doc-table thead th,.doc-headcell{ -webkit-print-color-adjust:exact;print-color-adjust:exact}
 .paper-section,.doc-panel,.doc-table tr{break-inside:avoid}
 .doc-content{font-size:10pt;min-height:40px}
 .doc-table td .doc-content{font-size:9pt;min-height:35px}
 .doc-week-table tr:first-child td .doc-content,.doc-week-table tr:nth-child(2) td .doc-content{min-height:90px}
 .doc-month-table td .doc-content{min-height:55px}
 .doc-lesson-table tr td .doc-content{min-height:80px}
 .doc-mark,.doc-foot{font-size:8pt}
 .doc-heading h3{font-size:20pt}
 .doc-section-title{font-size:10pt}
 .doc-metas b{font-size:8pt}
 .doc-metas span{font-size:9pt}
 .doc-empty{color:#aaa!important}
}
@media print{
 .doc-heading{margin-bottom:7px;padding-bottom:5px}
 .doc-heading h3{font-size:17pt;line-height:1.2}
 .doc-kicker{font-size:6pt}
 .doc-subtitle{font-size:8pt}
 .doc-metas{margin-bottom:7px}
 .doc-metas>div{padding:3px 5px}
 .doc-metas b{font-size:7pt}
 .doc-metas span{font-size:8pt}
 .doc-grid{gap:5px}
 .doc-panel .doc-content{font-size:9pt;line-height:1.4;padding:5px 6px;min-height:22px}
 .doc-section-title{font-size:9pt;padding:3px 6px}
 .doc-band{font-size:9pt;margin:5px 0;padding:4px 7px}
 .doc-band small{font-size:7pt}
 .doc-table th,.doc-table thead th{font-size:9pt;padding:4px 5px}
 .doc-table .doc-headcell{font-size:8pt;padding:4px 5px}
 .doc-table td .doc-content{font-size:8.5pt;min-height:18px;padding:4px 5px;line-height:1.45}
 .doc-month-table td .doc-content{min-height:29px}
 .doc-lesson-table tr td .doc-content{min-height:43px}
 .doc-week-table tr:first-child td .doc-content,.doc-week-table tr:nth-child(2) td .doc-content{min-height:54px}
 .doc-foot{font-size:7pt;margin-top:8px;padding-top:4px}
 .doc-week-intro .doc-content,.doc-month-intro .doc-content,.doc-month-bottom .doc-content,.doc-week-bottom .doc-content,.doc-lesson-intro .doc-content,.doc-lesson-tools .doc-content,.doc-lesson-bottom .doc-content{min-height:24px}
}
@media print{
 .doc-kicker{display:none}
 .doc-month-bottom,.doc-week-bottom,.doc-lesson-bottom,.doc-diary-bottom{margin-bottom:11px}
}

/* v4: plan draft helpers */
.autofill-panel{background:#EAF5ED;border:1px solid #C9E2D1;border-radius:13px;padding:14px 16px;margin:0 0 20px;color:#2D624B}
.autofill-panel[hidden]{display:none!important}
.autofill-panel strong{font-size:13px;display:block;margin-bottom:4px}
.autofill-panel p{font-size:11px;line-height:1.85;margin:0;color:#597968}
.autofill-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.bulk-helper,.bulk-clear{border:1px solid #A9CDB6;background:#fff;padding:7px 11px;border-radius:9px;color:#176847;font-size:11px;font-weight:750}
.bulk-helper:hover{background:#EDF8EF}
.bulk-clear{color:#687C70;border-color:#D6E1D7;background:transparent}
.special-header .bulk-helper{margin-top:9px}
@media(max-width:600px){.autofill-actions button{flex:1 1 100%}}

/* v6: selectable weekly activity calendar */
.week-calendar .special-header strong{font-size:14px}
.week-calendar-quick{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:15px 0 19px}
.week-quick-day{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;text-align:left;background:#fff;border:1px solid #D0E5D7;border-radius:12px;padding:10px 8px;min-width:0;color:#194F3B;cursor:pointer}
.week-quick-day:hover,.week-quick-day:focus-visible{background:#E9F5ED;border-color:#5CA58A}
.week-quick-day strong{font-size:16px}.week-quick-day small{color:#688C7C;font-size:10px}.week-quick-day span{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.weekday-calendar-item{grid-template-columns:44px minmax(0,1fr)!important;gap:7px 10px;padding:14px 0}
.weekday-calendar-item .weekday-badge{height:auto;min-height:34px;display:flex;flex-direction:column;gap:1px;align-items:center;justify-content:center;line-height:1.3}
.weekday-calendar-item .weekday-badge small{font-size:8px;opacity:.85}
.weekday-calendar-item .weekday-main{min-width:0}
.weekday-calendar-item .weekday-main textarea{width:100%}
.weekday-calendar-item .weekday-care{grid-column:2;min-width:0}
.weekday-calendar-item .weekday-care textarea{width:100%}
.day-actionline{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.day-actionline b{color:#245A47;font-size:12px}
.calendar-pick-btn{border:1px solid #A7CEBB;border-radius:8px;padding:7px 9px;background:#fff;color:#0D6957;font-size:11px;font-weight:700;cursor:pointer}
.calendar-pick-btn:hover{background:#E8F5ED}
.day-chosen{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px}
.day-chosen:empty{display:none}
.day-chip{display:inline-flex;align-items:center;gap:5px;background:#E1F2E7;border:1px solid #C2DFC9;color:#205944;padding:4px 5px 4px 9px;border-radius:999px;font-size:11px}
.day-chip button{border:0;background:transparent;color:#396C58;cursor:pointer;font-size:14px;line-height:1;padding:2px 4px}
.day-chip button:hover{color:#AF422F;background:#FBE8E2;border-radius:50%}
.pick-more{display:block;width:100%;border:1px solid #B4D7C5;border-radius:11px;padding:12px;color:#135C4A;background:#E9F5ED;font-weight:700;cursor:pointer;margin-top:10px}
@media(max-width:560px){.week-calendar-quick{gap:4px}.week-quick-day{padding:8px 5px;min-height:78px}.week-quick-day span{font-size:9px}.week-quick-day strong{font-size:14px}}
