.support-welcome{display:flex;align-items:center;gap:20px;padding:20px;background:var(--accentSoft);border-radius:24px;margin-bottom:18px}.support-welcome img{width:120px;height:145px;object-fit:contain}.support-welcome h2{font-size:20px;margin-bottom:8px}.support-welcome p{font-size:14px;line-height:1.5;color:var(--ink2)}.contact-link{display:flex;gap:12px;align-items:center;padding:14px 4px;color:var(--ink);border-bottom:1px solid var(--line);text-decoration:none}.contact-link>svg,.contact-link>img{width:24px;height:24px;object-fit:contain;flex-shrink:0}.contact-link span{flex:1;overflow-wrap:anywhere}.contact-link>svg:last-child{width:16px;color:var(--ink3)}.social-links{display:flex;gap:16px}.social-links>a{flex:1}[data-theme=dark] .social-links img{filter:brightness(0) invert(1)}.shortcut-list{display:grid;grid-template-columns:1fr auto;gap:14px;font-size:14px}.shortcut-list dd{margin:0;color:var(--accent)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;max-width:400px;margin-bottom:18px}.holiday-grid{display:grid;gap:8px;margin-bottom:16px}.holiday-card{display:flex;align-items:center;gap:16px;padding:14px 16px;background:var(--card);border-radius:16px}.holiday-card time{color:var(--accent);font-weight:650;font-variant-numeric:tabular-nums;min-width:48px}.holiday-card span{font-size:14px}.holiday-notice{display:flex;align-items:center;gap:12px;padding:14px;background:var(--accentSoft);border-radius:18px;margin-bottom:16px}.holiday-notice>svg{width:26px}.holiday-notice small{display:block;color:var(--ink2);font-size:12px;margin-top:4px}.year-operations{margin-top:24px}.year-operations .btn{margin:8px 8px 0 0}.pending-news{display:grid;grid-template-columns:1fr 24px;text-align:left;width:100%;padding:14px 0;gap:5px;border-top:1px solid var(--line)}.pending-news small{grid-column:1;color:var(--ink2)}.pending-news svg{grid-column:2;grid-row:1/3;width:20px}.support-welcome~.detail-card .contact-link:last-child{border:0}
@media(min-width:900px){#page[data-page=administration],#page[data-page=support],#page[data-page=calendar]{max-width:920px}.support-welcome img{width:160px;height:190px}.holiday-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.support-welcome{gap:12px;padding:14px}.support-welcome img{width:85px;height:120px}.support-welcome h2{font-size:17px}.social-links{gap:8px}}

/* v40 · clearer contact actions */
.contact-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px}.contact-action{min-width:0;display:grid;grid-template-columns:44px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:13px 14px;background:var(--card);border:1px solid var(--line);border-radius:19px;color:var(--ink);text-decoration:none;transition:transform 180ms ease,border-color 180ms ease,background-color 180ms ease}.contact-action:active{transform:scale(.985)}.contact-action-icon{width:44px;height:44px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:var(--bg2);color:var(--accent);overflow:hidden}.contact-action-icon>svg{width:22px;height:22px}.contact-action-icon>img{width:100%;height:100%;display:block;object-fit:cover}.contact-action-copy{min-width:0}.contact-action-copy b,.contact-action-copy small{display:block}.contact-action-copy b{font-size:14px;line-height:1.2;letter-spacing:-.02em}.contact-action-copy small{margin-top:4px;color:var(--ink2);font-size:11px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-action>svg:last-child{width:18px;height:18px;color:var(--ink3)}.contact-action-phone .contact-action-icon{background:var(--greenSoft);color:var(--green)}.contact-action-mail .contact-action-icon{background:var(--blueSoft);color:var(--blue)}.contact-action-telegram .contact-action-icon{background:var(--blueSoft);color:var(--blue)}.contact-action-site .contact-action-icon{background:var(--accentSoft);color:var(--accent)}.contact-action-max .contact-action-icon,.contact-action-vk .contact-action-icon{background:var(--card2);padding:5px}.contact-action-max .contact-action-icon>img,.contact-action-vk .contact-action-icon>img{border-radius:10px}.school-contact-card{padding:17px 18px;margin-bottom:12px;background:var(--card);border:1px solid var(--line);border-radius:20px}.school-contact-card h2{font-size:18px;margin:0 0 6px;letter-spacing:-.025em}.school-contact-card p{font-size:13px;line-height:1.45;color:var(--ink2);margin:0}.contact-edit{margin:2px 0 10px}
@media(max-width:560px){.contact-actions-grid{grid-template-columns:1fr}.contact-action{grid-template-columns:42px minmax(0,1fr) 18px;padding:12px 13px}.contact-action-icon{width:42px;height:42px;border-radius:14px}}
.demo-diary-banner{display:flex;gap:14px;align-items:center;padding:18px 20px;border-radius:24px;background:#fff3e9;margin:18px 0}.demo-diary-banner svg{width:26px;color:#ff6f2c}.demo-diary-banner span{display:grid;gap:3px}.demo-diary-banner small,.diary-grade-row small{color:#8d8e97}.diary-grade-list{display:grid;gap:12px}.diary-grade-row{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:22px;padding:18px 20px}.diary-grade-row>div{display:grid;gap:5px}.diary-grade-row strong{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;font-size:22px;background:#e9f8ef;color:#20a768}.diary-grade-row .grade-4{background:#fff3dd;color:#e58b16}

/* v54 */
.week-navigator{display:flex;align-items:center;gap:10px;margin:4px 0 14px}.week-arrow{width:46px;height:46px;border:0;border-radius:16px;background:var(--card);font-size:32px;line-height:1;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.week-label{min-width:0;flex:1;height:46px;border:0;border-radius:16px;background:var(--card);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:7px;box-shadow:inset 0 0 0 1px var(--line)}.week-label b{font-size:15px}.week-label small{color:var(--ink3);font-weight:700}.week-today{height:46px;border:0;border-radius:16px;padding:0 14px;background:var(--accentSoft);color:var(--accent);font-weight:800}.teacher-club-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.user-pill.club-pill{background:#fff0e5;color:#e56a21;border:1px solid #ffd8bf}.diary-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px}.diary-summary>div{background:var(--card);border-radius:22px;padding:18px;display:grid;gap:4px}.diary-summary b{font-size:28px}.diary-summary small{color:var(--ink3);font-weight:650}
/* v55 menu documents */
.menu-doc-tools{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 22px}.menu-doc-tools .btn{flex:1 1 180px}.mp-dish svg{width:20px;height:20px}
/* v56 */
.week-navigator{display:grid;grid-template-columns:46px minmax(0,1fr) 46px auto;gap:8px}.week-label{min-width:0;padding:0 10px}.week-label b{min-width:0;white-space:normal;line-height:1.1;text-align:center}.week-today{padding:0 11px;font-size:13px;white-space:nowrap}.admin-actionbar{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.admin-actionbar .btn{margin:0;min-height:48px;flex:1 1 145px}.schedule-tools.admin-actionbar{display:grid;grid-template-columns:2fr 1fr 1fr}.schedule-pdf-toolbar.admin-actionbar{margin:0}.menu-actionbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.menu-actionbar .btn{width:100%;min-width:0}.phx-date-button{width:100%;border:1px solid var(--line);border-radius:16px;background:var(--card2);padding:13px 15px;text-align:left;display:grid;gap:4px;color:var(--ink)}.phx-date-button span{font-size:12px;color:var(--ink2)}.phx-date-button b{font-size:15px}.phx-calendar{width:100%}.phx-cal-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;margin:4px 0 18px}.phx-cal-nav button{height:44px;border-radius:14px;background:var(--card2);font-size:27px}.phx-cal-nav h3{text-align:center;font-size:17px}.phx-cal-week,.phx-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.phx-cal-week span{text-align:center;color:var(--ink3);font-size:11px;font-weight:700;padding:5px 0}.phx-cal-day,.phx-cal-empty{aspect-ratio:1;min-width:0;border-radius:12px;display:grid;place-items:center}.phx-cal-day{background:var(--card2);font-weight:700;color:var(--ink)}.phx-cal-day.today{box-shadow:inset 0 0 0 1.5px var(--accent)}.phx-cal-day.selected{background:var(--accent);color:#fff}.demo-diary-shortcut{width:100%;display:grid;grid-template-columns:42px 1fr 22px;align-items:center;gap:12px;text-align:left;background:#fff3e9;border-radius:20px;padding:13px 15px;margin:0 0 14px;color:var(--ink)}.demo-diary-shortcut>svg:first-child{color:var(--accent)}.demo-diary-shortcut span{display:grid;gap:2px}.demo-diary-shortcut small{color:var(--ink2)}.schedule-closed{background:#fff1e8;border-radius:20px;padding:16px;margin:14px 0}.schedule-closed>div{display:flex;gap:12px;align-items:center}.schedule-closed svg{width:28px;color:var(--accent);flex:none}.schedule-closed span{display:grid;gap:3px}.schedule-closed small{color:var(--ink2)}
#modal .sheet-body input[type=date],#modal .sheet-body input[type=month]{max-width:100%;width:100%;box-sizing:border-box}
@media(max-width:650px){.week-navigator{grid-template-columns:42px minmax(0,1fr) 42px}.week-today{grid-column:1/-1;height:38px;width:max-content;justify-self:center}.week-label{height:50px}.week-label b{font-size:14px}.schedule-tools.admin-actionbar{grid-template-columns:1fr 1fr}.schedule-tools.admin-actionbar .btn.primary{grid-column:1/-1}.menu-actionbar{grid-template-columns:1fr 1fr}.menu-actionbar .btn:first-child{grid-column:1/-1}.admin-actionbar .btn{min-height:46px;font-size:13px;padding:10px}.sheet{max-width:calc(100vw - 16px);overflow-x:hidden}.sheet-body,.field{min-width:0}.sheet-body select,.sheet-body input,.sheet-body textarea{width:100%;max-width:100%;min-width:0}.phx-cal-grid,.phx-cal-week{gap:3px}.phx-cal-day{border-radius:10px;font-size:13px}}
@media(min-width:900px){.week-navigator{max-width:720px}.admin-actionbar{max-width:820px}.menu-actionbar{grid-template-columns:repeat(5,minmax(0,1fr))}.schedule-tools.admin-actionbar{grid-template-columns:2fr 1fr 1fr}.phx-calendar{max-width:460px;margin:auto}}
