
html[data-sx-shell][data-ui5][data-ui6] {--ui105-control:40px;--ui105-line:#dbe5f0;--ui105-radius:7px;--ui105-pad:24px;}
html[data-sx-shell][data-ui5][data-ui6] :is(#view,#mModal,#pkModal,.lp104-dialog) :is(button,a,input,select,textarea){box-sizing:border-box;}
html[data-sx-shell][data-ui5][data-ui6] :is(#view,#mModal,#pkModal,.lp104-dialog) :is(button,a[role=button]):not(:disabled):not([aria-disabled=true]){cursor:pointer;}
html[data-sx-shell][data-ui5][data-ui6] :is(#view,#mModal,#pkModal,.lp104-dialog) :is(button,a,summary,input,select,textarea):focus-visible{outline:2px solid #5688da!important;outline-offset:2px!important;}
html[data-sx-shell][data-ui5][data-ui6] :is(#view,#mModal,#pkModal) .btn:not(.ui102-icon-only):not(:disabled):not([aria-disabled=true]):active{box-shadow:inset 0 0 0 999px #12305b0c!important;}
html[data-sx-shell][data-ui5][data-ui6] body :is(#view,.modal) .btn.ui102-icon-only[aria-expanded=true],
html[data-sx-shell][data-ui5][data-ui6] body :is(#view,.modal) .btn.ui102-icon-only:active:not(:disabled):not([aria-disabled=true]){background:#dce9ff!important;color:#245cb6!important;}
html[data-sx-shell][data-ui5][data-ui6] :is(#view,#mModal,#pkModal,.lp104-dialog) [aria-disabled=true]{cursor:not-allowed!important;opacity:.55;}
html[data-sx-shell][data-ui5][data-ui6] :is(#view,#mModal,#pkModal) .btn.ui102-icon-only{cursor:pointer;}
/* A common baseline for normal single-line fields and their matching choice frame. */
html[data-sx-shell][data-ui5][data-ui6] :is(#mModal,#pkModal) .form-grid{align-items:start!important;column-gap:20px!important;row-gap:16px!important;}
html[data-sx-shell][data-ui5][data-ui6] :is(#mModal,#pkModal) .form-grid>.fld{min-width:0;margin:0!important;gap:0!important;}
html[data-sx-shell][data-ui5][data-ui6] :is(#mModal,#pkModal) .form-grid>.fld>label{display:block;min-height:20px;line-height:20px!important;margin:0 0 6px!important;font-size:13px!important;font-weight:550;}
html[data-sx-shell][data-ui5][data-ui6] :is(#mModal,#pkModal) .fld>:is(input.inp:not([type=checkbox]):not([type=radio]):not([type=hidden]),select.inp,.inp.ro){height:40px!important;min-height:40px!important;max-width:100%;box-sizing:border-box;padding:8px 11px!important;border-radius:7px!important;line-height:22px!important;}
html[data-sx-shell][data-ui5][data-ui6] :is(#mModal,#pkModal) .fld>.sx-choice{box-sizing:border-box;min-height:40px!important;margin:0!important;padding:4px 8px!important;display:flex;align-items:center;flex-wrap:wrap;gap:6px!important;border-radius:7px!important;}
html[data-sx-shell][data-ui5][data-ui6] :is(#mModal,#pkModal) .fld>.sx-choice .sx-choice-item{min-height:28px!important;box-sizing:border-box;margin:0!important;padding:2px 9px!important;line-height:22px!important;display:inline-flex;align-items:center;gap:6px;}
html[data-sx-shell][data-ui5][data-ui6] :is(#mModal,#pkModal) .fld>.sx-choice input{margin:0!important;flex:none;}
html[data-sx-shell][data-ui5][data-ui6] :is(#mModal,#pkModal) textarea.inp{width:100%;max-width:100%;min-height:72px;line-height:1.6;box-sizing:border-box;border-radius:7px!important;}
/* Unified chrome: same left/right edge, one body scroller, stable footer. */
html[data-sx-shell][data-ui5][data-ui6] :is(#mModal,#pkModal)>.mh{box-sizing:border-box;padding-left:24px!important;padding-right:24px!important;min-height:60px;}
html[data-sx-shell][data-ui5][data-ui6] :is(#mModal,#pkModal)>.mb{box-sizing:border-box;padding-left:24px!important;padding-right:24px!important;scrollbar-gutter:stable;overscroll-behavior:contain;}
html[data-sx-shell][data-ui5][data-ui6] :is(#mModal,#pkModal)>.mf{box-sizing:border-box;padding:12px 24px!important;min-height:64px;gap:10px;}
html[data-sx-shell][data-ui5][data-ui6] :is(#mModal,#pkModal)>.mf>.btn{min-height:38px!important;line-height:22px!important;margin:0!important;}
/* The data-cell contains the flex container, never the other way round. */
html[data-sx-shell][data-ui5][data-ui6] :is(#view,#mModal,#pkModal) table td.v4-ops{display:table-cell!important;vertical-align:middle!important;height:auto!important;}
html[data-sx-shell][data-ui5][data-ui6] .lp104-cell-actions{gap:6px;align-items:center;}
/* Diagnostic template: preserve columns/inputs/options while aligning control frames. */
html[data-sx-shell][data-ui5][data-ui6] #mModal.ui5-template-modal #mBody>.ch{padding:12px 0!important;margin:12px 0 0!important;min-height:0!important;border-radius:0!important;font-size:15px!important;}
html[data-sx-shell][data-ui5][data-ui6] #mModal.ui5-template-modal #mBody>.sx33-tabs{margin-top:0!important;border-radius:0!important;}
html[data-sx-shell][data-ui5][data-ui6] #mModal.ui5-template-modal table:has([data-c-item]){width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;}
html[data-sx-shell][data-ui5][data-ui6] #mModal.ui5-template-modal table:has([data-c-item]) :is(th,td){box-sizing:border-box;padding:12px!important;vertical-align:top!important;}
html[data-sx-shell][data-ui5][data-ui6] #mModal.ui5-template-modal table:has([data-c-item]) th{height:44px;line-height:20px;text-align:left;white-space:normal!important;}
html[data-sx-shell][data-ui5][data-ui6] #mModal.ui5-template-modal table:has([data-c-item]) :is(th,td):first-child{width:56px!important;text-align:center!important;}
html[data-sx-shell][data-ui5][data-ui6] #mModal.ui5-template-modal table:has([data-c-item]) :is(th,td):nth-child(2){width:26%!important;}
html[data-sx-shell][data-ui5][data-ui6] #mModal.ui5-template-modal table:has([data-c-item]) :is(th,td):nth-child(3){width:98px!important;}
html[data-sx-shell][data-ui5][data-ui6] #mModal.ui5-template-modal table:has([data-c-item]) :is(th,td):nth-child(5){width:150px!important;}
html[data-sx-shell][data-ui5][data-ui6] #mModal.ui5-template-modal table:has([data-c-item]) :is(th,td):last-child{width:56px!important;text-align:center!important;}
html[data-sx-shell][data-ui5][data-ui6] #mModal.ui5-template-modal table:has([data-c-item]) td>.inp{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;}
html[data-sx-shell][data-ui5][data-ui6] #mModal.ui5-template-modal table:has([data-c-item]) input.inp{height:40px!important;min-height:40px!important;box-sizing:border-box;padding:8px 10px!important;font-size:14px!important;}
html[data-sx-shell][data-ui5][data-ui6] #mModal.ui5-template-modal table:has([data-c-item]) td>[data-c-res]{height:40px!important;min-height:40px!important;margin:0!important;white-space:nowrap!important;}
html[data-sx-shell][data-ui5][data-ui6] #mModal.ui5-template-modal table:has([data-c-item]) td:first-child{line-height:40px!important;}
html[data-sx-shell][data-ui5][data-ui6] #mModal.ui5-template-modal textarea[data-c-item]{height:72px!important;min-height:72px!important;line-height:22px!important;padding:8px 10px!important;}
html[data-sx-shell][data-ui5][data-ui6] #mModal.ui5-template-modal :is(input,textarea):disabled{opacity:1!important;color:#364b65!important;background:#f7f9fc!important;}
/* Half-height result composition. Numbers stay readable, no transform scale. */
#mModal .ld104-overview{gap:12px;align-items:stretch;}
#mModal .ld104-outcome{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:38px 14px auto;gap:3px 12px;padding:10px 16px;min-height:96px;box-sizing:border-box;border-radius:10px;}
#mModal .ld104-outcome-top{font-size:13px;align-items:center;}
#mModal .ld104-outcome-top>svg{display:none;}
#mModal .ld104-result-number{gap:7px;margin:0;align-items:baseline;justify-content:flex-end;}
#mModal .ld104-result-number>b{font-size:34px;line-height:38px;letter-spacing:-.5px;}
#mModal .ld104-result-number>span{font-size:13px;}
#mModal .ld104-result-bottom{grid-column:1/-1;margin:0;padding:0;gap:10px;}
#mModal .ld104-result-bottom .ld103-progress{height:6px;}
#mModal .ld104-result-bottom>strong{font-size:13px;}
#mModal .ld104-outcome>p{grid-column:1/-1;font-size:11px;line-height:16px;margin:0;}
#mModal .ld104-gaps{padding:8px 16px;min-height:96px;box-sizing:border-box;gap:0;border-radius:10px;border-left-width:3px;}
#mModal .ld104-gap-heading{min-height:30px;gap:8px;}
#mModal .ld104-gap-heading>div{gap:9px;}
#mModal .ld104-gap-heading strong{font-size:23px;}
#mModal .ld104-gap-heading span{font-size:13px;}
#mModal .ld104-filter-link{min-height:30px;}
#mModal .ld104-gap-list{margin-top:1px;}
#mModal .ld104-gap-item{padding:5px 22px 3px 0;min-height:40px;gap:1px;}
#mModal .ld104-gap-item strong{line-height:19px;font-size:12.5px;}
#mModal .ld104-gap-item span{font-size:11px;line-height:16px;}
#mModal .ld104-clear-message{padding:3px 0;gap:9px;}
#mModal .ld104-clear-message>svg{width:26px;height:26px;padding:5px;}
#mModal .ld104-clear-message strong{font-size:13px;}
#mModal .ld104-clear-message span{font-size:11px;margin-top:2px;}
#mModal .ld104-secondary{margin-top:10px;}
/* Read-only record/file surface. No external document-rendering service. */
.sc105-files{display:grid;gap:8px;margin:10px 0;}
.sc105-file{display:flex;align-items:center;gap:12px;border:1px solid #dce6f1;background:#fbfcff;border-radius:8px;padding:10px 12px;}
.sc105-file-icon{display:flex;align-items:center;justify-content:center;flex:0 0 34px;height:38px;border-radius:5px;background:#edf3fc;color:#416b9c;font-size:10px;font-weight:700;}
.sc105-file-info{min-width:0;flex:1;}
.sc105-file-info strong{display:block;font-size:13px;font-weight:600;color:#294966;overflow-wrap:anywhere;}
.sc105-file-info small{display:block;margin-top:3px;font-size:12px;color:#708098;}
.sc105-actions{display:flex;gap:7px;flex:none;flex-wrap:wrap;align-items:center;}
.sc105-button{font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 11px;min-height:36px;border:1px solid #cddbee;border-radius:6px;background:#fff;color:#2e60a1;cursor:pointer;font-size:13px;font-weight:550;text-decoration:none;}
.sc105-button:hover:not(:disabled){background:#eaf2ff;border-color:#9ab8e5;}
.sc105-button:active:not(:disabled){background:#dce9fb;}
.sc105-button:disabled{opacity:.55;cursor:not-allowed;}
.sc105-question{padding:14px 16px;margin-top:10px;background:#fff;border:1px solid #dfe7f2;border-radius:9px;}
.sc105-question h4{font-size:14px;margin:0 0 9px!important;color:#294a6b;line-height:1.7;}
.sc105-question h4 small{font-size:11px;color:#70839c;font-weight:500;margin-left:8px;}
.sc105-answer{margin:0;line-height:1.8;color:#29435e;background:#f3f7fc;padding:9px 12px;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;}
.sc105-options{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:6px;}
.sc105-options li{padding:5px 9px;font-size:13px;color:#687d95;border:1px solid transparent;border-radius:5px;line-height:1.5;}
.sc105-options .is-checked{color:#2357a0;background:#edf4ff;border-color:#cdddf6;font-weight:600;}
.sc105-options .sc105-marker{display:inline-block;width:22px;}
.sc105-note{font-size:12px;line-height:1.7;color:#6a7e94;margin:10px 0;}
.sc105-warning{border-left:3px solid #c89c57;background:#fff8ed;color:#7e613a;padding:10px 12px;font-size:12px;line-height:1.8;border-radius:0 6px 6px 0;}
.sc105-original{font-size:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f8fc;border:1px solid #e1e8f1;border-radius:7px;padding:12px;margin:8px 0;}
.sc105-document{width:100%;height:min(53vh,560px);min-height:260px;border:1px solid #dce4ef;border-radius:8px;background:#f4f7fb;}
.sc105-image{display:block;max-width:100%;max-height:54vh;margin:12px auto;object-fit:contain;border-radius:6px;}
.sc105-video{display:block;width:100%;max-height:54vh;background:#162738;}
.sc105-error{margin:9px 0 0;color:#a64940;font-size:13px;line-height:1.6;}
.sc105-diagnostic-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;border-bottom:1px solid #e2eaf3;padding-bottom:9px;}
.sc105-diagnostic-title strong{font-size:15px;color:#294c6d;}
.sc105-diagnostic-title span{color:#6b7c92;font-size:12px;}
.lp104-body .lp104-type-table{table-layout:fixed;min-width:720px;}
.lp104-type-table .lp104-link{white-space:nowrap;}
@media (max-width:800px){
 html[data-sx-shell][data-ui5][data-ui6] :is(#mModal,#pkModal)>.mh,
 html[data-sx-shell][data-ui5][data-ui6] :is(#mModal,#pkModal)>.mb,
 html[data-sx-shell][data-ui5][data-ui6] :is(#mModal,#pkModal)>.mf{padding-left:16px!important;padding-right:16px!important;}
 #mModal .ld104-overview{grid-template-columns:1fr;}
 .sc105-file{flex-wrap:wrap;}.sc105-actions{margin-left:46px;}
}
@media (prefers-reduced-motion:reduce){.sc105-button{transition:none;} }
/* Three 40px icons plus the explicit portrait entry share one action baseline;
   the diagnostic profile in polish.js owns the 270px column width. */
html[data-sx-shell][data-ui5][data-ui6] #view table:has([data-v4c="tprev"]) .lp104-cell-actions{flex-wrap:nowrap;align-items:center;}
html[data-sx-shell][data-ui5][data-ui6] #view table:has([data-v4c="tprev"]) [data-v96r8-pt]{height:40px!important;min-height:40px!important;display:inline-flex;align-items:center;white-space:nowrap;}
/* The same normal choice frame in full-page teacher forms, not only modals. */
html[data-sx-shell][data-ui5][data-ui6] #view .form-grid>.fld>.sx-choice{box-sizing:border-box;min-height:40px!important;margin:0!important;padding:4px 8px!important;display:flex;align-items:center;flex-wrap:wrap;gap:6px!important;border-radius:7px!important;}
html[data-sx-shell][data-ui5][data-ui6] #view .form-grid>.fld>.sx-choice .sx-choice-item{min-height:28px!important;box-sizing:border-box;margin:0!important;padding:2px 9px!important;line-height:22px!important;display:inline-flex;align-items:center;gap:6px;}
html[data-sx-shell][data-ui5][data-ui6] #view .form-grid>.fld>.sx-choice input{margin:0!important;flex:none;}
