/* Layout: 黒板色のヘッダー帯に立場の切替、その下に時間割グリッドを中心とした業務画面 */
:root{
  --paper:#f4f7f5; --surface:#ffffff; --surface-2:#eaf0ed; --ink:#18261f; --muted:#56685f; --line:#d4dfd9;
  --board:#1e4a3f; --board-2:#28594c; --board-ink:#f1f5ec; --chalk:#f0c64a; --chalk-ink:#3a2d00;
  --accent:#1e6b56; --accent-ink:#ffffff;
  --warn:#b04a17; --warn-bg:#fbebe1; --ok:#25764a; --ok-bg:#e2f3e8; --info:#2b5a96; --info-bg:#e3ecf8; --wait:#7a5b00; --wait-bg:#fbf1d2;
  --c-eng:#3567a8; --c-math:#bb4c33; --c-jpn:#86539a; --c-sci:#26806a; --c-soc:#9a741a; --c-oth:#66766f;
  --f-display:"Zen Kaku Gothic Antique","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --f-body:"BIZ UDPGothic","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --r:8px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#111916; --surface:#18221e; --surface-2:#1f2b26; --ink:#e2ebe6; --muted:#97a8a0; --line:#2b3a34;
  --board:#16332b; --board-2:#1f4239; --board-ink:#eaf1e4; --chalk:#e6c158; --chalk-ink:#2e2400;
  --accent:#5fb39a; --accent-ink:#0d1a15;
  --warn:#ec9465; --warn-bg:#3a2216; --ok:#6cc290; --ok-bg:#16301f; --info:#86ade6; --info-bg:#182742; --wait:#e2c25e; --wait-bg:#33290d;
  --c-eng:#7ea6e0; --c-math:#e48a72; --c-jpn:#c194d4; --c-sci:#69c2a6; --c-soc:#d4b05a; --c-oth:#9aaaa3;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#111916; --surface:#18221e; --surface-2:#1f2b26; --ink:#e2ebe6; --muted:#97a8a0; --line:#2b3a34;
  --board:#16332b; --board-2:#1f4239; --board-ink:#eaf1e4; --chalk:#e6c158; --chalk-ink:#2e2400;
  --accent:#5fb39a; --accent-ink:#0d1a15;
  --warn:#ec9465; --warn-bg:#3a2216; --ok:#6cc290; --ok-bg:#16301f; --info:#86ade6; --info-bg:#182742; --wait:#e2c25e; --wait-bg:#33290d;
  --c-eng:#7ea6e0; --c-math:#e48a72; --c-jpn:#c194d4; --c-sci:#69c2a6; --c-soc:#d4b05a; --c-oth:#9aaaa3;
  color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.65}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--board)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--chalk);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.num,.time{font-family:var(--f-mono);font-variant-numeric:tabular-nums}

/* header */
.top{background:var(--board);color:var(--board-ink);position:sticky;top:env(safe-area-inset-top,0px);z-index:5}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding-block:12px 0}
.brand{display:flex;align-items:baseline;gap:10px;margin-right:auto}
.brand b{font-family:var(--f-display);font-weight:900;font-size:22px;letter-spacing:.06em}
.brand span{font-size:11px;letter-spacing:.12em;border:1px solid color-mix(in srgb,var(--board-ink) 40%,transparent);padding:1px 7px;border-radius:99px;opacity:.85}
.login{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}
.login label{opacity:.8}
.roles{display:flex;background:var(--board-2);border-radius:99px;padding:3px}
.roles button{border:0;background:none;color:var(--board-ink);padding:4px 12px;border-radius:99px;font-size:13px}
.roles button[aria-pressed="true"]{background:var(--chalk);color:var(--chalk-ink);font-weight:700}
.login select{background:var(--board-2);color:var(--board-ink);border:1px solid color-mix(in srgb,var(--board-ink) 25%,transparent);border-radius:6px;padding:4px 8px;max-width:180px}
nav.tabs{flex-basis:100%;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;margin-top:4px}
nav.tabs button{background:none;border:0;color:var(--board-ink);opacity:.75;padding:10px 14px 11px;white-space:nowrap;border-bottom:3px solid transparent;font-weight:700;font-size:14px}
nav.tabs button[aria-current="page"]{opacity:1;border-bottom-color:var(--chalk)}
nav.tabs .badge{display:inline-block;min-width:18px;padding:0 5px;margin-left:5px;border-radius:99px;background:var(--chalk);color:var(--chalk-ink);font-size:11px;line-height:18px;text-align:center}

main.wrap{padding-block:24px 48px;display:flex;flex-direction:column;gap:24px}
h1,h2,h3{font-family:var(--f-display);margin:0;text-wrap:balance;line-height:1.3}
h1{font-size:28px;font-weight:900;letter-spacing:.02em}
h2{font-size:19px;font-weight:700}
h3{font-size:16px;font-weight:700}
.muted{color:var(--muted)}
.eyebrow{font-size:12px;letter-spacing:.14em;color:var(--muted);font-weight:700}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.between{justify-content:space-between}
.stack{display:flex;flex-direction:column;gap:12px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.sample-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:var(--wait-bg);color:var(--wait);border-radius:var(--r);padding:10px 14px;font-size:13px}

/* buttons */
.btn{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:7px 14px;font-weight:700;font-size:14px}
.btn:hover{border-color:var(--accent)}
.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.btn.big{padding:12px 22px;font-size:16px}
.btn.danger{color:var(--warn)}
.btn.danger.armed{background:var(--warn);color:var(--surface);border-color:var(--warn)}
.btn.small{padding:4px 10px;font-size:13px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.seg button{border:0;background:var(--surface);padding:6px 12px;font-size:13px}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--paper);font-weight:700}

/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;text-align:left;display:flex;flex-direction:column;gap:2px}
.stat b{font-family:var(--f-mono);font-size:28px;line-height:1.1}
.stat.alert{border-color:var(--warn);background:var(--warn-bg)}
.stat.alert b{color:var(--warn)}
.stat small{color:var(--muted);font-size:12px}

/* lessons */
.lesson{display:flex;flex-direction:column;gap:1px;text-align:left;width:100%;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--c);border-radius:6px;padding:6px 8px;font-size:13px;line-height:1.45}
button.lesson:hover{background:var(--surface-2)}
.l-subj{font-weight:700;color:var(--c)}
.l-teacher{color:var(--muted);font-size:12px}
.l-stu{display:flex;flex-wrap:wrap;gap:2px 8px}
.l-memo{font-size:11px;color:var(--muted)}
.stu.absent{text-decoration:line-through;color:var(--muted)}
.stu em{font-style:normal;text-decoration:none;display:inline-block;margin-left:3px;background:var(--warn);color:var(--surface);font-size:10px;padding:0 4px;border-radius:3px}
.s-eng{--c:var(--c-eng)}.s-math{--c:var(--c-math)}.s-jpn{--c:var(--c-jpn)}.s-sci{--c:var(--c-sci)}.s-soc{--c:var(--c-soc)}.s-oth{--c:var(--c-oth)}

.today-grid{display:grid;grid-template-columns:110px 1fr;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.today-grid > div{padding:10px 12px;border-top:1px solid var(--line)}
.today-grid > div:nth-child(-n+2){border-top:0}
.per-label{background:var(--surface-2);display:flex;flex-direction:column}
.per-label b{font-family:var(--f-display)}
.per-label .time{font-size:12px;color:var(--muted)}
.per-lessons{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;min-width:0}

.scroller{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
table.week{border-collapse:collapse;width:100%;min-width:760px}
table.week th,table.week td{border-bottom:1px solid var(--line);border-left:1px solid var(--line);vertical-align:top;padding:6px}
table.week thead th{background:var(--surface-2);font-family:var(--f-display);font-weight:700;padding:8px;text-align:left;font-size:14px}
table.week thead th.today{background:var(--chalk);color:var(--chalk-ink)}
table.week td.today{background:color-mix(in srgb,var(--chalk) 9%,var(--surface))}
table.week th.per{width:92px;background:var(--surface-2);text-align:left;position:sticky;left:0;z-index:1}
table.week th.per small{display:block;font-family:var(--f-mono);font-weight:500;font-size:11px;color:var(--muted)}
table.week td .cell{display:flex;flex-direction:column;gap:6px;min-height:52px}
.add{border:1px dashed var(--line);background:none;color:var(--muted);border-radius:6px;padding:2px;font-size:14px}
.add:hover{border-color:var(--accent);color:var(--accent)}
.weeknav{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.weeknav strong{font-family:var(--f-mono);font-weight:500;margin:0 6px}

/* tables */
table.list{border-collapse:collapse;width:100%;min-width:720px}
table.list th{font-size:12px;letter-spacing:.08em;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--surface-2)}
table.list td{padding:10px 12px;border-bottom:1px solid var(--line)}
table.list tr.click{cursor:pointer}
table.list tr.click:hover td{background:var(--surface-2)}
.chips{display:flex;flex-wrap:wrap;gap:4px}
.chip{font-size:12px;padding:1px 8px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line)}
input[type=search],input[type=text],input[type=tel],input[type=date],select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:7px 10px;width:100%}
input[type=search]{max-width:280px}

/* absences */
.abs{display:grid;grid-template-columns:auto 1fr auto;gap:6px 16px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.abs .when{display:flex;flex-direction:column;align-items:center;min-width:64px;padding:6px 8px;border-radius:6px;background:var(--surface-2)}
.abs .when b{font-family:var(--f-mono);font-size:18px}
.abs .when small{font-size:12px;color:var(--muted)}
.abs .body{min-width:0;display:flex;flex-direction:column;gap:4px}
.abs .ops{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:10px;border-top:1px dashed var(--line);margin-top:4px}
.abs .ops input{width:auto;flex:1 1 160px}
.abs .ops select{width:auto}
.pill{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:700;white-space:nowrap}
.st-未確認{background:var(--warn-bg);color:var(--warn)}
.st-振替調整中{background:var(--wait-bg);color:var(--wait)}
.st-振替確定{background:var(--info-bg);color:var(--info)}
.st-対応済{background:var(--ok-bg);color:var(--ok)}
.st-希望{background:var(--wait-bg);color:var(--wait)}
.st-確定{background:var(--ok-bg);color:var(--ok)}

/* shifts */
.shift-row{display:grid;grid-template-columns:110px 1fr 90px;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid var(--line)}
.shift-row:first-child{border-top:0}
.shift-row.today{background:color-mix(in srgb,var(--chalk) 10%,var(--surface))}
.ptoggles{display:flex;flex-wrap:wrap;gap:6px}
.ptog{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:4px 8px;font-size:13px;min-width:74px;text-align:left;font-family:var(--f-mono)}
.cap{display:flex;flex-direction:column;gap:2px;font-size:12px;align-items:flex-start}
.cap .short{color:var(--warn);font-weight:700}
table.mcal{border-collapse:collapse;width:100%;min-width:700px;table-layout:fixed;background:var(--surface)}
table.mcal th{background:var(--surface-2);padding:6px;font-family:var(--f-display);font-size:13px;border:1px solid var(--line)}
table.mcal th.we{color:var(--muted)}
table.mcal td{border:1px solid var(--line);vertical-align:top;height:92px;padding:4px 6px}
table.mcal td.out{background:var(--surface-2);opacity:.55}
table.mcal td.today{box-shadow:inset 0 0 0 2px var(--chalk)}
.dn{display:block;font-size:12px;font-weight:700;color:var(--muted)}
.ml{display:block;font-size:12px;line-height:1.45;border-left:3px solid var(--c);padding-left:5px;margin-top:3px}
.ml .num{color:var(--muted)}
.ml.absent{text-decoration:line-through;color:var(--muted)}
.ml em{font-style:normal;margin-left:3px;background:var(--warn);color:var(--surface);font-size:10px;padding:0 4px;border-radius:3px}
.mk{display:block;font-size:11px;color:var(--info)}
.notice{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.notice.unread{border-color:var(--accent)}
.notice.imp{border-left:4px solid var(--warn)}
.nh{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:12px 16px;background:none;border:0;text-align:left}
.nh strong{font-size:15px}
.nb{margin:0 16px 16px;padding-top:12px;border-top:1px dashed var(--line);line-height:1.85;max-width:68ch}
.dot{width:9px;height:9px;border-radius:50%;background:var(--accent);display:inline-block;flex:none}
.readc{font-size:13px;color:var(--warn)}
.readc.done{color:var(--ok)}
.st-調整中{background:var(--wait-bg);color:var(--wait)}
.st-承認済{background:var(--ok-bg);color:var(--ok)}
.st-見送り{background:var(--surface-2);color:var(--muted)}
.abs.req .when b{font-family:var(--f-display);font-size:15px}
ol.choices{margin:2px 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:3px;font-size:14px}
ol.choices li.picked strong{color:var(--ok)}
table.pick{border-collapse:collapse;width:100%;min-width:420px}
table.pick th{font-size:12px;padding:4px;color:var(--muted);font-weight:700}
table.pick td{padding:2px}
.pk{width:100%;min-height:34px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:13px}
.pk.ok{color:var(--ok)}.pk.few{color:var(--wait)}
.pk.full,.pk.mine{background:var(--surface-2);color:var(--muted);cursor:not-allowed;font-size:11px}
.pk.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700;font-size:12px}
.stu em.mkb,.ml em.mkb{background:var(--info)}
input[type=number]{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:5px 8px}
.ptog .time{display:block;font-size:10px;color:var(--muted)}
.ptog[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.ptog[aria-pressed="true"] .time{color:inherit;opacity:.8}
.ptog:disabled{cursor:not-allowed;opacity:.8}
.pchips{display:flex;gap:3px}
.pc{width:24px;height:24px;display:grid;place-items:center;border-radius:4px;font-family:var(--f-mono);font-size:12px;border:1px solid var(--line);color:var(--muted);position:relative}
.pc.wish{background:var(--wait-bg);color:var(--wait);border-color:transparent}
.pc.conf{background:var(--ok-bg);color:var(--ok);border-color:transparent}
.pc.les::after{content:"";position:absolute;bottom:2px;left:50%;width:10px;height:2px;margin-left:-5px;background:currentColor}
.pc.gap{background:var(--warn);color:var(--surface);border-color:var(--warn)}
.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--muted);align-items:center}
.legend span{display:inline-flex;align-items:center;gap:6px}
td .shiftcell{display:flex;flex-direction:column;gap:6px;align-items:flex-start}

/* home (family) */
.next-list{display:flex;flex-direction:column}
.next{display:grid;grid-template-columns:96px 70px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.next:first-child{border-top:0}
.next .d{font-family:var(--f-mono)}
.empty{border:1px dashed var(--line);border-radius:var(--r);padding:28px;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:10px;align-items:center}
.steps{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:4px;text-align:left}

/* modal */
.overlay{position:fixed;inset:0;background:color-mix(in srgb,#000 45%,transparent);display:flex;align-items:flex-start;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 40px) max(16px,env(safe-area-inset-right,0px)) 40px max(16px,env(safe-area-inset-left,0px));z-index:20;overflow-y:auto}
.modal{background:var(--surface);border-radius:12px;width:100%;max-width:560px;padding:22px;display:flex;flex-direction:column;gap:14px;border:1px solid var(--line)}
.field{display:flex;flex-direction:column;gap:4px}
.field > span{font-size:13px;font-weight:700}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.checks{display:flex;flex-wrap:wrap;gap:6px 14px;max-height:180px;overflow-y:auto;padding:8px;border:1px solid var(--line);border-radius:6px}
.checks label{display:inline-flex;gap:6px;align-items:center;font-size:14px}
.radios{display:flex;flex-wrap:wrap;gap:6px}
.radios label{border:1px solid var(--line);border-radius:6px;padding:5px 12px;font-size:14px;display:inline-flex;gap:6px;align-items:center;cursor:pointer}
.radios label:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}
.modal .actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding-top:6px}
.modal .actions .left{margin-right:auto}

#toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 20px);transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:10px 18px;border-radius:8px;font-size:14px;z-index:30;max-width:calc(100% - 32px)}
footer.wrap{padding-block:0 32px;font-size:12px;color:var(--muted)}

@media (max-width:640px){
  h1{font-size:23px}
  .today-grid{grid-template-columns:1fr}
  .today-grid > div{border-top:1px solid var(--line)}
  .per-label{flex-direction:row;gap:10px;align-items:baseline}
  .shift-row{grid-template-columns:1fr;gap:6px}
  .next{grid-template-columns:80px 1fr auto}
  .next .p{display:none}
  .grid2{grid-template-columns:1fr}
  .abs{grid-template-columns:auto 1fr}
  .abs > .pill{grid-column:2;justify-self:start}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- 本番版で追加 ---------- */
body{margin:0;min-height:100vh}
.top .wrap{padding-bottom:0}
.brand span:empty{display:none}
.btn.ghost{background:transparent;color:var(--board-ink);border-color:color-mix(in srgb,var(--board-ink) 35%,transparent)}
.login span{font-size:13px;opacity:.9}
.auth{max-width:420px;margin:40px auto;display:flex;flex-direction:column;gap:14px}
.auth h1{font-size:24px}
.err{color:var(--warn);font-size:14px;margin:0}
input[type=email],input[type=password]{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:9px 12px;width:100%}
.hol{display:inline-block;font-size:11px;font-weight:700;padding:0 6px;border-radius:4px;background:var(--warn-bg);color:var(--warn);margin-left:4px}
.hol.open{background:var(--info-bg);color:var(--info)}
table.week td.closed{background:repeating-linear-gradient(135deg,var(--surface-2) 0 6px,var(--surface) 6px 12px)}
table.mcal td.closed{background:repeating-linear-gradient(135deg,var(--surface-2) 0 6px,var(--surface) 6px 12px)}
.stu small{color:var(--muted);font-size:11px;margin-left:2px}
.srow{display:grid;grid-template-columns:minmax(0,1fr) 110px 90px;gap:8px;align-items:center;padding:6px 8px;border-top:1px solid var(--line)}
.srow:first-child{border-top:0}
.srow label{display:flex;gap:8px;align-items:center;min-width:0}
.srow label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.srow select{padding:4px 6px;font-size:13px}
.srow.dim{opacity:.45}
.slist{max-height:260px;overflow-y:auto;border:1px solid var(--line);border-radius:6px}
textarea.mono{font-family:var(--f-mono);font-size:13px}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;font-size:14px}
.inactive td{color:var(--muted)}
@media (max-width:640px){.srow{grid-template-columns:1fr 1fr}.srow label{grid-column:1/-1}}

/* ---------- 印刷 ---------- */
#print-root{display:none}
@media print{
  @page{size:A4 landscape;margin:10mm}
  body{background:#fff;color:#111}
  body > *:not(#print-root){display:none!important}
  #print-root{display:block}
  .ppage{page-break-after:always;font-family:"BIZ UDPGothic","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;font-size:11pt;color:#111}
  .ppage:last-child{page-break-after:auto}
  .ppage header{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #111;padding-bottom:4px}
  .ppage .juku{font-size:10pt}.ppage h1{margin:0;font-size:18pt}.ppage .who{font-size:13pt}.ppage .who b{font-size:16pt}
  .ppage .sum{margin:6px 0;font-size:10pt}
  .ppage table{width:100%;border-collapse:collapse;table-layout:fixed}
  .ppage th{background:#eee;border:1px solid #555;padding:3px;font-size:10pt}
  .ppage th:nth-child(6){color:#1d4ed8}.ppage th:nth-child(7){color:#b91c1c}
  .ppage td{border:1px solid #555;vertical-align:top;height:23mm;padding:2px 4px}
  .ppage td.out{background:#f4f4f4;color:#aaa}
  .ppage td.closed{background:#eee}
  .ppage .dn{font-weight:700;font-size:10pt;color:#111;display:block}
  .ppage .tag{font-size:8.5pt;font-weight:700}
  .ppage .l{font-size:9.5pt;line-height:1.35}
  .ppage .notes{margin-top:6px;border:1px solid #555;padding:4px 8px;font-size:9pt}
  .ppage .notes p{margin:2px 0}
}
