.task-day-panel>header{gap:12px}.task-add-button{margin-left:auto;white-space:nowrap}.task-input-dialog .task-create-panel{margin:0!important;border:0!important;background:#fff!important;padding:0!important;grid-template-columns:1fr!important}.task-input-dialog .task-memo-field,.task-input-dialog .task-form-actions{grid-column:auto!important}.task-completed-meta{color:#18794e!important;font-weight:800}
.content-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.content-panel-head h2{flex:0 0 auto;margin:0;white-space:nowrap;font-size:clamp(20px,1.7vw,27px)}.content-panel-head p{flex:1 1 auto;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(11px,.9vw,14px)}.content-manage-button{flex:0 0 auto;white-space:nowrap;border:1px solid #b9d9ea;border-radius:9px;background:#edf7fc;color:#176b9a;padding:7px 10px;font-weight:800}.managed-content-item{position:relative}.managed-content-item time,.update-history-item time{display:block;margin-top:7px;color:#7b8c98;font-size:11px}.content-item-actions{display:flex;gap:5px;margin-top:9px}.content-item-actions button{border:1px solid #cadbe6;border-radius:7px;background:#fff;padding:5px 8px;font-size:11px}.content-item-actions .danger{color:#b83d3d}.content-empty{padding:24px;text-align:center;color:var(--muted);background:#f5f9fc;border-radius:11px}
.managed-content-item{min-width:0}.managed-content-item>b,.managed-content-item>p,.notice-list article>b,.notice-list article>p,.update-history-item h3,.update-history-item>p{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.managed-content-item>b,.notice-list article>b,.update-history-item h3{font-size:13px}.managed-content-item>p,.notice-list article>p,.update-history-item>p{font-size:11px!important;line-height:1.35!important}
.update-history-panel{min-width:0;max-width:100%;overflow:hidden}.update-history-panel .section-heading{min-width:0;max-width:100%;overflow:hidden}.update-history-list{width:100%;min-width:0;max-width:100%;overflow:hidden}.update-history-list>.update-history-item,.update-history-list>.managed-content-item{width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}.update-history-item header{min-width:0;max-width:100%;overflow:hidden}.update-history-item header h3{min-width:0;flex:1 1 auto}.update-history-item header b{flex:0 0 auto}.update-history-item>p,.managed-content-item.update-card>p{width:100%;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-transfer-dialog{border:0;background:transparent;padding:18px;width:min(460px,calc(100vw - 28px));max-width:none}.file-transfer-dialog::backdrop{background:#102b3b66;backdrop-filter:blur(2px)}.file-transfer-card{border:1px solid #c9dce8;border-radius:18px;background:#fff;padding:22px;box-shadow:0 22px 60px #0b283b40}.file-transfer-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.file-transfer-card h2{margin:2px 0 0}.file-transfer-card header button{border:0;border-radius:9px;background:#edf4f8;width:34px;height:34px;font-size:22px;color:#335766}.file-transfer-card>strong{display:block;margin:20px 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-transfer-progress{height:14px;border-radius:999px;background:#dce9f0;overflow:hidden}.file-transfer-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1178ad,#32a7cf);transition:width .15s ease}.file-transfer-meta{display:flex;align-items:center;justify-content:space-between;margin-top:10px;color:#58717e}.file-transfer-meta b{font-size:20px;color:#126d9f}.file-transfer-card>p{min-height:22px;margin:16px 0 0;color:#59717d}.file-transfer-card>footer{display:flex;justify-content:flex-end;margin-top:16px}.file-transfer-card>footer button{min-width:96px;border:1px solid #d95b5b;border-radius:10px;background:#fff3f3;color:#b32626;padding:9px 14px;font-weight:700}.file-transfer-dialog[data-state="success"] .file-transfer-progress i{background:#2e9b68}.file-transfer-dialog[data-state="error"] .file-transfer-progress i{background:#d34c4c}.file-transfer-dialog[data-state="error"] .file-transfer-card>p{color:#b33b3b}.file-transfer-dialog[data-state="cancelled"] .file-transfer-progress i{background:#8a9aa3}.file-transfer-dialog[data-state="cancelled"] .file-transfer-card>p{color:#596a73}
.portal-update-button{margin-top:8px!important;border:1px solid #4f8db3!important;border-radius:12px!important;background:#164b70!important;color:#fff!important;box-shadow:0 7px 18px #061d2b30}.portal-update-button:hover{background:#1f638f!important;transform:translateY(-1px)}.portal-update-button.update-available[data-update-highlight]{background:#ffd43b!important;border-color:#ffd43b!important;color:#142d42!important;box-shadow:0 0 0 4px #ffd43b26,0 8px 20px #0002}
.program-access-item .program-update-action{order:2}.program-access-item>b{order:3}.program-access-item>span{order:1}.program-access-item .program-update-action{margin-left:auto}.program-access-item>b{margin-left:0}
.install-app-button{border-color:#78bce2!important;background:#e9f6fd!important;color:#075f91!important;font-weight:900!important}.install-app-button.install-ready{background:#147eb7!important;border-color:#147eb7!important;color:#fff!important;box-shadow:0 8px 20px #147eb733}
@media(max-width:900px){.sidebar{width:min(290px,88vw)!important;max-height:100dvh;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:max(24px,env(safe-area-inset-bottom))!important}.sidebar .logo,.sidebar .sidebar-today,.sidebar nav,.sidebar .connection-note,.sidebar .logout-button{flex-shrink:0}.sidebar .connection-note{margin-top:24px!important}.sidebar .logout-button{margin-top:0!important;margin-bottom:0!important}.sidebar nav{padding-bottom:4px}}
@media(max-width:900px){
  html,body{width:100%;max-width:100%;min-width:0;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{min-height:100dvh}
  .app-shell,.content,.content>.page,.topbar,.topbar-title,.page-title-row,.program-page{min-width:0;max-width:100%}
  .content{width:100%;padding-left:max(12px,env(safe-area-inset-left))!important;padding-right:max(12px,env(safe-area-inset-right))!important;padding-bottom:max(32px,env(safe-area-inset-bottom))!important;margin:0!important}
  .topbar{width:100%;padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
  .topbar h1{font-size:clamp(18px,5.6vw,25px);overflow-wrap:anywhere}
  .profile{flex:0 0 auto}
  .sidebar{width:clamp(250px,86vw,310px)!important;padding-left:max(16px,env(safe-area-inset-left))!important;padding-right:16px!important;padding-top:max(20px,env(safe-area-inset-top))!important}
  .sidebar nav{width:100%}.nav-button{width:100%;min-height:46px;white-space:normal;overflow-wrap:anywhere}
  .home-info-grid,.program-access-list,.app-grid,.calendar-dashboard-grid{width:100%;min-width:0}
  img,svg,video,canvas{max-width:100%;height:auto}
  input,select,textarea,button{max-width:100%}
  dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);margin:auto}
  .dialog-card{max-height:calc(100dvh - 20px);overflow:auto}
  .content.program-mode{height:100dvh;padding:0!important}
  .content.program-mode .topbar{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
  .program-page{width:100%;height:calc(100dvh - 94px)}
  #externalProgramTabs,.nice-toolbar-main{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
}
@media(max-width:420px){
  .content{padding-left:max(9px,env(safe-area-inset-left))!important;padding-right:max(9px,env(safe-area-inset-right))!important}
  .topbar{gap:8px}.menu-button{flex:0 0 38px}.profile>span{width:36px;height:36px}
  .sidebar{width:min(92vw,290px)!important}
  .home-panel,.app-card{padding:16px}.section-heading{margin-top:24px}
}
@media(max-width:340px){.sidebar{width:calc(100vw - 18px)!important}.topbar h1{font-size:17px}.profile{display:none}}
.schedule-menu-button{display:none;border:0;border-radius:10px;background:#e6f2fa;color:#145d89;font-size:23px;line-height:1;width:42px;height:42px;place-items:center;flex:0 0 42px}
@media(max-width:900px){.schedule-menu-button{display:grid}.calendar-home-top{justify-content:flex-start!important;gap:10px}.calendar-home-top>.profile{margin-left:auto!important}}
@media(max-width:380px){.schedule-menu-button{width:38px;height:38px;flex-basis:38px}.calendar-home-top{gap:7px}.calendar-home-top .home-title-row h1{font-size:19px}}
.login-card .remember-login{display:flex;align-items:center;gap:9px;width:max-content;font-weight:600;color:#526761}.login-card .remember-login input{width:18px;height:18px;margin:0;padding:0;accent-color:#176b9a}.login-card .remember-login span{white-space:nowrap}
.upload-conflict-dialog{border:0;background:transparent;padding:18px;width:min(500px,calc(100vw - 28px));max-width:none}.upload-conflict-dialog::backdrop{background:#102b3b66;backdrop-filter:blur(2px)}.upload-conflict-dialog>section{border:1px solid #c9dce8;border-radius:18px;background:#fff;padding:22px;box-shadow:0 22px 60px #0b283b40}.upload-conflict-dialog header{display:flex;align-items:flex-start;justify-content:space-between}.upload-conflict-dialog strong{display:block;margin:20px 0 8px;padding:12px;border-radius:10px;background:#f1f6f9;overflow-wrap:anywhere}.upload-conflict-dialog p{color:#59717d}.upload-conflict-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.upload-conflict-dialog footer button{min-height:40px;border:1px solid #c9dce8;border-radius:9px;padding:0 14px;background:#fff;color:#244858;font-weight:800}.upload-conflict-dialog footer button[data-upload-conflict="rename"]{border-color:#2182b5;color:#116b99}.upload-conflict-dialog footer button.danger{border-color:#dc6b63;background:#c84138;color:#fff}@media(max-width:520px){.upload-conflict-dialog footer{display:grid;grid-template-columns:1fr 1fr}.upload-conflict-dialog footer button:first-child{grid-column:1/-1;order:3}}
.db-leave-dialog{width:min(620px,calc(100vw - 28px));border:0;border-radius:18px;box-shadow:0 24px 70px #1238}.db-leave-dialog::backdrop{background:#102f4277}.db-leave-dialog .dialog-card{display:grid;gap:14px;margin:0}.db-leave-dialog h2{margin:0}.db-leave-dialog p{margin:0;color:#526d7e}.db-leave-dialog footer{display:flex;align-items:center;gap:8px}.db-leave-dialog .danger-button{background:#fff;color:#b42318;border:1px solid #efb4ae}.db-leave-dialog button:disabled{opacity:.55;cursor:wait}
[data-external-view="repair-info"]{display:none!important}
/* 태블릿 사이드바 터치 스크롤: 내부 항목이 축소되지 않게 하고 본문으로 스크롤이 전달되지 않게 합니다. */
.sidebar{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}
.sidebar>.logo,.sidebar>.sidebar-today,.sidebar>nav,.sidebar>.connection-note,.sidebar>.sidebar-server-status,.sidebar>.logout-button{flex:0 0 auto}
