:root{--green:#146452;--ink:#173b36;--muted:#667c77;--line:#dce7e2;--bg:#f5f8f6}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Noto Sans JP,sans-serif;font-size:15px;line-height:1.7}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;color:var(--ink);background:#fff;border:1px solid #c5d9ce;border-radius:9px;padding:9px 17px;font-weight:600}button:hover{background:#edf4ef}button:disabled{opacity:.5;cursor:default}.primary{background:var(--green);border-color:var(--green);color:#fff;border-radius:10px;padding:12px 23px;font-weight:700;text-decoration:none;display:inline-block}.primary:hover{color:#fff;background:#0f5042}a{color:var(--green)}header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:18px;padding:19px max(5%,20px);display:flex}header>div{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.brand{align-items:center;gap:12px;font-size:22px;text-decoration:none;display:flex}.brand small{color:var(--muted);font-size:12px;font-weight:400}main{max-width:1240px;margin:auto;padding:36px 24px}.heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:25px;display:flex}.heading p{color:var(--muted);margin:5px 0}.heading h1{letter-spacing:.01em;margin:4px 0;font-size:30px}.eyebrow{letter-spacing:.18em;font-size:11px;font-weight:700;color:var(--green)!important}h2{margin:0 0 18px;font-size:21px}h3{font-size:16px}label{flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}input,select,textarea{color:#163e35;background:#fff;border:1px solid #c7d8cf;border-radius:7px;min-width:0;padding:9px 11px}textarea{resize:vertical}small,.muted{color:var(--muted);font-size:12px;font-weight:400}.filters{border:1px solid var(--line);background:#fff;border-radius:13px;flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:25px;padding:20px;display:flex}.sectionHeading{flex-wrap:wrap;align-items:center;gap:20px;margin:28px 0 14px;display:flex}.sectionHeading h2{margin:0 auto 0 0}.message{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;margin:10px 0;padding:20px 23px;font-weight:400;display:block}.message:hover{background:#fff;border-color:#92b9a8;box-shadow:0 4px 16px #153e3510}.message h3{margin:9px 0 4px;font-size:18px}.message p{color:var(--muted);margin:0 0 12px;font-size:12px}.messageMeta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:13px;font-size:12px;display:flex}.messageMeta>span,.tag{color:var(--green);background:#edf3ef;border-radius:4px;padding:2px 10px;font-size:12px}.messageMeta time{margin-right:auto}.flagged{border-left:4px solid #dc9444}.flag,.alert{color:#8c4b09;background:#fff1dc}.flag,.pending,.done{border-radius:4px;padding:2px 8px;font-size:12px}.pending{color:#93510f;background:#fff0dc}.done{color:#22654b;background:#e0f2e8}.stats{color:var(--muted);flex-wrap:wrap;gap:8px 22px;font-size:12px;font-weight:400;display:flex}.stats b{color:var(--ink);margin-left:4px;font-size:15px}.composer,.detail,.settings{border:1px solid var(--line);background:#fff;border-radius:13px;margin:22px 0;padding:28px}.composer p{font-size:13px}.composer fieldset,.reply fieldset{border:0;margin:20px 0;padding:0}.composer legend,.reply legend{color:var(--green);margin-bottom:10px;font-size:14px;font-weight:700}.composer label,.reply label{margin:13px 0}.check{flex-direction:row;align-items:center;gap:9px;display:flex;font-weight:400!important}.check input{width:17px;height:17px;accent-color:var(--green);flex-shrink:0}.targets{background:#f5f8f6;border-radius:8px;max-height:240px;padding:12px;overflow:auto}.row{flex-wrap:wrap;gap:10px;display:flex}.error,.notice,.alert{border-radius:8px;padding:13px 18px}.error{color:#a32626;background:#fceae7}.notice{color:#215a41;background:#e1f2e9}.detailTop{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.body{white-space:pre-wrap;overflow-wrap:anywhere;margin:30px 0;line-height:1.9}.attachments{background:#f3f7f4;margin-bottom:22px;padding:16px}.attachments h3{margin-top:0}.attachments a{overflow-wrap:anywhere;padding:6px;display:block}.replyState{gap:20px;margin:20px 0;display:flex}.replyState strong{color:var(--green)}.choices{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.choices>div{background:#f0f5f2;grid-template-columns:1fr auto;gap:10px;min-width:160px;padding:14px;display:grid}.choices progress{width:100%;accent-color:var(--green);grid-column:1/3}.tableWrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:800px;font-size:12px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap;padding:12px 10px}th{background:#f2f6f3}td.comment{white-space:pre-wrap;overflow-wrap:anywhere;min-width:180px;max-width:360px}.reply{border-top:1px solid var(--line);margin:25px 0;padding:15px 0}.danger{color:#b22e26;border-color:#dfb6af;margin-top:25px}.pagination{justify-content:space-between;margin:20px 0;display:flex}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);background:#fff;border-radius:12px;padding:40px}.settings summary{cursor:pointer;font-weight:700}.settings textarea{margin-bottom:15px}footer{color:var(--muted);text-align:center;padding:30px;font-size:12px}.login{border:1px solid var(--line);background:#fff;border-radius:18px;max-width:620px;margin:12vh auto;padding:40px}.mark{letter-spacing:.2em;color:var(--green);font-size:13px}@media (max-width:700px){header{align-items:start;padding:15px}.brand small,header>div>span{display:none}header>div{gap:10px;font-size:12px}header button{padding:5px 8px;font-size:12px}main{padding:24px 14px}.heading{flex-direction:column;align-items:start}.heading h1{font-size:24px}.filters{gap:10px;padding:15px}.filters label{flex:40%}.composer,.detail,.settings{padding:18px}.message{padding:17px}.stats{gap:8px 15px}.sectionHeading{gap:10px}.login{margin:40px 14px}}textarea::placeholder,input::placeholder{color:#9aa7a1;opacity:1;font-weight:400}textarea.choice-placeholder::placeholder{color:#a4afa9;font-style:italic}.notebook-shell{min-height:100svh}.notebook-shell-content{min-width:0;margin-left:248px}.notebook-sidebar{z-index:40;border-right:1px solid var(--line);background:#fff;flex-direction:column;width:248px;display:flex;position:fixed;inset:0 auto 0 0}.notebook-side-head{align-items:center;gap:12px;padding:25px 22px 18px;display:flex}.notebook-logo{color:var(--green);align-items:center;gap:13px;font-size:27px;font-weight:700;text-decoration:none;display:flex}.notebook-logo>span{font-size:21px;line-height:1.4}.notebook-logo small{letter-spacing:.06em;font-size:10px;font-weight:400;display:block}.notebook-account{border-bottom:1px solid var(--line);padding:15px 23px 20px}.notebook-account>span{color:var(--green);letter-spacing:.08em;margin-bottom:8px;font-size:11px;display:block}.notebook-account>strong{font-size:16px;display:block}.notebook-account p{color:var(--muted);overflow-wrap:anywhere;margin:6px 0 0;font-size:12px}.notebook-side-nav{flex:1;min-height:0;padding:18px 13px;overflow-y:auto}.notebook-side-nav>a{color:#536b60;border-radius:9px;margin:4px 0;padding:12px 14px;font-size:14px;font-weight:600;text-decoration:none;display:block}.notebook-side-nav>a:hover{background:#f3f7f4}.notebook-side-nav>a[aria-current=page]{color:#146452;background:#e6f3eb}.notebook-side-bottom{border-top:1px solid var(--line);flex-shrink:0;padding:16px}.notebook-side-bottom button{width:100%;font-size:13px}.notebook-topbar,.notebook-menu-close{display:none}.notebook-overlay{z-index:35;background:#102c2480;border:0;border-radius:0;width:100%;height:100%;padding:0;position:fixed;inset:0}.notebook-overlay:hover{background:#102c2480}.notebook-switcher{margin-bottom:20px}.notebook-switcher summary{color:#fff;cursor:pointer;background:#146452;border-radius:9px;padding:12px;font-size:13px;font-weight:700}.notebook-switcher p{color:var(--muted);margin:9px 3px;font-size:11px}.notebook-switcher button{text-align:left;background:#f4f8f5;width:100%;margin-top:7px;padding:10px;font-size:12px;display:block}.notebook-switcher button small{display:block}.notebook-switcher button:disabled{cursor:default;color:#748078;opacity:.7;background:#edf0ed}.notebook-shell .heading>.primary[hidden]{display:none}.notebook-shell .targets label{min-height:36px;padding:5px}.notebook-shell .targets label:has(input:disabled){color:#7b8680}.notebook-shell .targets label:has(input:checked){background:#e7f3eb;border-radius:6px}.notebook-shell .targets label input{cursor:pointer}.notebook-shell .targets label input:disabled{cursor:not-allowed}@media (max-width:900px){.notebook-shell-content{margin-left:0}.notebook-topbar{z-index:25;border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:20px;padding:12px 16px;display:flex;position:sticky;top:0}.notebook-topbar>button{padding:7px 10px;font-size:13px}.notebook-topbar>strong{font-size:16px}.notebook-sidebar{transition:transform .18s;transform:translate(-100%)}.notebook-sidebar.is-open{transform:translate(0)}.notebook-menu-close{margin-left:auto;padding:3px 10px;font-size:24px;display:block}.notebook-sidebar:not(.is-open){visibility:hidden}}@media print{.notebook-sidebar,.notebook-topbar,.notebook-overlay{display:none!important}.notebook-shell-content{margin-left:0}}@media (prefers-reduced-motion:reduce){.notebook-sidebar{transition:none}}@media (min-width:901px){.notebook-overlay{display:none}}.filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));align-items:end;display:grid}.filters label:first-child{min-width:0}.filters label{min-width:0;margin:0}.filters select,.filters input,.filters>button{box-sizing:border-box;width:100%;height:44px;min-height:44px;padding:10px 12px;font-size:14px;line-height:1.4}.filters>button{align-self:end;margin:0}.filters input[type=date]::-webkit-datetime-edit{padding:0}.recipient-layout{grid-template-columns:minmax(230px,.85fr) minmax(320px,1.5fr);align-items:start;gap:18px;display:grid}.recipient-layout.guardian-picker{grid-template-columns:1fr}.recipient-panel{border:1px solid var(--line);background:#fcfefc;border-radius:10px;min-width:0;padding:16px}.recipient-panel h3{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0 0 14px;font-size:14px;display:flex}.recipient-panel h3 small{color:#27654d;background:#e8f2eb;border-radius:20px;padding:3px 9px}.recipient-search{margin:10px 0!important}.recipient-search input{width:100%;height:42px;font-size:14px}.recipient-panel .row{gap:6px;margin:10px 0}.recipient-panel .row button{padding:6px 9px;font-size:12px;font-weight:500}.class-card-grid{overscroll-behavior:contain;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));align-content:start;gap:8px;max-height:260px;margin-top:12px;padding:5px;display:grid;overflow-y:auto}.class-card-grid>label,.student-card-grid>label{overflow-wrap:anywhere;background:#fff;border:1px solid #dae4dd;border-radius:7px;min-height:44px;line-height:1.6;margin:0!important;padding:10px!important;font-size:12px!important}:is(.class-card-grid>label:has(input:checked),.student-card-grid>label:has(input:checked)){background:#e9f5ed;border-color:#79b191}.class-card-grid label input,.student-card-grid label input{cursor:pointer;width:18px;height:18px}.recipient-row span{min-width:0}.recipient-row small{color:#8c6c56;font-size:10px;display:block}.recipient-row:has(input:disabled){color:#89958d;background:#f3f5f3}.recipient-groups{overscroll-behavior:contain;background:#f4f8f5;border:1px solid #dce7df;border-radius:8px;max-height:390px;padding:8px;overflow-y:auto}.recipient-count{color:var(--muted);margin:10px 0;font-size:12px!important}.recipient-class-group{background:#fff;border:1px solid #dbe5de;border-radius:7px;margin:0 0 8px}.recipient-class-group:last-child{margin-bottom:0}.recipient-class-group summary{cursor:pointer;color:#235c46;list-style:revert;justify-content:space-between;align-items:center;gap:8px;padding:11px 12px;font-size:12px;font-weight:700;display:flex}.recipient-class-group summary:before{content:"▸";flex-shrink:0}.recipient-class-group[open] summary:before{content:"▾"}.recipient-class-group summary span{white-space:nowrap;margin-left:auto;font-size:10px;font-weight:400}.recipient-group-actions{padding:0 10px}.student-card-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:7px;padding:10px;display:grid}.recipient-panel .muted{margin-bottom:0;font-size:11px}@media (max-width:1100px){.recipient-layout{grid-template-columns:1fr}.class-card-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));max-height:200px}}@media (max-width:540px){.filters{grid-template-columns:1fr}.recipient-panel{padding:12px}.student-card-grid{grid-template-columns:1fr}.recipient-groups{max-height:350px}.class-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.senderBadge{border:1px solid #0000;border-radius:999px;align-items:center;padding:3px 10px;font-size:13px;font-weight:700;line-height:1.6;display:inline-flex}.senderBadge.senderSchool{color:#1e40af;background:#dbeafe;border-color:#93c5fd}.senderBadge.senderGuardian{color:#9a3412;background:#ffedd5;border-color:#fdba74}.filters>button.refreshButton{color:#fff;background:#167d8d;border-color:#167d8d;justify-self:start;width:88px;min-width:88px}.filters>button.refreshButton:hover:enabled{background:#106171;border-color:#106171}.filters>button.refreshButton:disabled{cursor:default}.message .recipientNames,.detail .recipientNames{color:var(--ink);overflow-wrap:anywhere;white-space:normal}.guardian-staff-targets{margin-top:18px}.guardian-staff-targets .student-card-grid{max-height:280px;overflow:auto}.composer .composer-field-title{color:var(--green);font-size:14px;font-weight:700}.filters .filter-description{flex:0 0 100%;grid-column:1/-1;min-width:0}.filter-description h2{margin:0 0 4px;font-size:16px}.filter-description p{color:var(--muted);margin:0;font-size:12px}.filters .filter-date-range{gap:10px;min-width:0;display:flex}.filters .filter-date-range label{flex:1;min-width:0}.filters .filter-date-range input{width:100%;min-width:0}@media (max-width:700px){.filters .filter-date-range{flex:100%}.filters>label{min-width:0}.filters .refreshButton{width:100%}}.filters>button.refreshButton{white-space:nowrap;width:auto;min-width:max-content}.fixed-selection{overflow-wrap:anywhere;background:#f0f5f2;border-radius:9px;min-height:44px;padding:10px 12px;font-size:14px;line-height:1.7;display:block}.selection-summary{color:var(--ink);overflow-wrap:anywhere;flex-wrap:wrap;gap:4px 3em;margin:0;font-size:14px;display:flex}.filters .selection-summary{flex:100%;grid-column:1/-1;margin:0}.composer .selection-summary{margin:0 0 12px}.message-marks{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.messageMeta>.message-marks{background:0 0;padding:0}.message-marks .pending{color:#8a3900;background:#fff0d5;border:1px solid #e4a54c;font-weight:700}.message-marks .done{border:1px solid #95cbb0}.non-homeroom-mark{color:#5b2494;background:#f3e8ff;border:1px solid #c5a2e6;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:700;line-height:1.7;display:inline-block}.detail>.message-marks{margin-bottom:6px}.message.message-reply-pending{border:2px solid #e4a54c}.message.message-reply-done{border:2px solid #95cbb0}.message.message-non-homeroom{border:2px solid #c5a2e6}.subject-heading{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.subject-heading label{margin:0}.urgent-toggle{color:#b30047}.urgent-mark{color:#fff;background:#f06;border-radius:.3rem;padding:.15rem .5rem}.message.message-urgent,.message.message-urgent:hover,.message.message-urgent:focus-visible{background:#ffebf3}.composer #notebook-subject{width:100%;margin-top:6px;display:block}.message-body-panel{background:#f7faf8;border:2px solid #a8c9bc;border-radius:12px;margin:0;padding:20px 22px}.message-body-section{margin:20px 0}.message-body-section>h3{color:var(--green);margin:0 0 8px;font-size:15px}.message-body-panel .body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.9}@media (max-width:600px){.message-body-panel{padding:16px}}.message-title-panel{border-bottom:2px solid #a8c9bc;margin:16px 0;padding:0 0 16px}.message-title-label{color:var(--green);margin:0 0 5px;font-size:13px;font-weight:700}.message-title-panel h2{overflow-wrap:anywhere;margin:0;font-size:24px;line-height:1.5}@media (max-width:600px){.message-title-panel h2{font-size:21px}}.primary.compose-button{color:#fff;background:#f06;border-color:#f06;box-shadow:0 3px 9px #f063}.primary.compose-button:hover{color:#fff;background:#d90057;border-color:#d90057}.primary.compose-button:focus-visible{outline-offset:3px;outline:3px solid #ff83b5}.composer-body-heading{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.composer-privacy-note{color:#667c77;font-size:12px;font-weight:400}.notebook-topbar>strong{align-items:center;gap:8px;display:flex}.notebook-topbar>strong>svg{flex-shrink:0}.filters.push-settings{flex-direction:column;align-items:flex-start;display:flex}.filters.push-settings>button{align-self:flex-start;width:auto;max-width:100%;height:auto;min-height:44px}
