.s47-auth-loading .app-shell,.s47-login-open .app-shell{visibility:hidden}.s47-auth-loading,.s47-login-open{overflow:hidden}
#s47-loading,#s47-login{position:fixed;inset:0;z-index:9999;background:linear-gradient(135deg,#eef3ff 0%,#f7f9fc 58%,#eef8f5 100%);display:grid;place-items:center;padding:24px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#132238}
.s47-loading-card{width:min(380px,90vw);padding:34px;border-radius:24px;background:#fff;box-shadow:0 24px 80px rgba(20,43,81,.16);display:flex;flex-direction:column;align-items:center;gap:10px}.s47-loading-card span{color:#65758b;font-size:14px}.s47-spinner{width:34px;height:34px;border:3px solid #dce5f4;border-top-color:#315fdd;border-radius:50%;animation:s47spin .8s linear infinite}@keyframes s47spin{to{transform:rotate(360deg)}}
.s47-login-shell{width:min(980px,96vw);min-height:590px;background:#fff;border-radius:28px;box-shadow:0 32px 100px rgba(20,43,81,.2);overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr}.s47-login-brand{padding:58px;background:linear-gradient(145deg,#162b5a,#234896 58%,#2b66d4);color:#fff;display:flex;flex-direction:column}.s47-logo-mark{width:42px;height:42px;display:grid;grid-template-columns:repeat(2,1fr);gap:4px;margin-bottom:12px}.s47-logo-mark span{background:#fff;border-radius:3px}.s47-logo-mark span:nth-child(2){opacity:.8}.s47-logo-mark span:nth-child(3){opacity:.7}.s47-logo-mark span:nth-child(4){opacity:.45}.s47-login-brand>div:nth-child(2){display:flex;flex-direction:column}.s47-login-brand>div:nth-child(2) strong{font-size:22px}.s47-login-brand>div:nth-child(2) small{opacity:.7;letter-spacing:.08em}.s47-login-brand h1{font-size:38px;line-height:1.12;margin:76px 0 18px;max-width:500px}.s47-login-brand p{font-size:16px;line-height:1.7;color:#dce8ff;max-width:500px}.s47-login-brand ul{margin:auto 0 0;padding:0;list-style:none;display:grid;gap:11px}.s47-login-brand li:before{content:'✓';display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.16);margin-right:9px}
.s47-login-panel{padding:58px 54px;display:flex;flex-direction:column;justify-content:center}.s47-sprint-badge{align-self:flex-start;padding:6px 10px;border-radius:999px;background:#edf2ff;color:#315fdd;font-size:12px;font-weight:700}.s47-login-panel h2{font-size:30px;margin:24px 0 8px}.s47-login-panel>p{color:#6b778b;margin:0 0 30px}.s47-login-panel form{display:grid;gap:16px}.s47-login-panel label{font-size:13px;font-weight:700;color:#334155;display:grid;gap:7px}.s47-login-panel input{height:46px;border:1px solid #d5ddea;border-radius:11px;padding:0 13px;font-size:14px;outline:none}.s47-login-panel input:focus{border-color:#315fdd;box-shadow:0 0 0 3px rgba(49,95,221,.12)}.s47-login-panel form button{height:48px;border:0;border-radius:11px;background:#315fdd;color:white;font-weight:800;font-size:14px;cursor:pointer}.s47-login-panel form button:disabled{opacity:.65}.s47-login-error{min-height:18px;color:#c73939;font-size:13px}.s47-demo-note{margin-top:24px;padding:14px;border-radius:12px;background:#f6f8fc;display:grid;grid-template-columns:1fr auto;gap:4px 12px}.s47-demo-note strong{grid-row:1/3;align-self:center}.s47-demo-note code{font-size:12px;color:#42526b}.s47-security-note{margin-top:18px;color:#7b8798;line-height:1.5}
.s47-backend-strip{margin:-4px 0 18px;padding:13px 16px;border:1px solid #cce8dc;border-radius:13px;background:#f4fbf7;display:flex;align-items:center;gap:16px}.s47-backend-strip>div:first-child{display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:center}.s47-backend-strip strong{font-size:13px;color:#176445}.s47-backend-strip small{grid-column:2;color:#60766d}.s47-live-dot{width:9px;height:9px;background:#28a66d;border-radius:50%;box-shadow:0 0 0 5px rgba(40,166,109,.12)}.s47-mode-pills{display:flex;gap:6px;margin-left:auto}.s47-mode-pills span{padding:5px 8px;border-radius:7px;background:#e2f4eb;color:#257154;font-size:10px;font-weight:800}.s47-mode-pills span.demo{background:#fff3d9;color:#876719}.s47-backend-strip button{border:1px solid #bdd7ca;background:#fff;color:#265d48;border-radius:9px;padding:8px 11px;font-weight:700;cursor:pointer}
.s47-context-popup{position:fixed;z-index:9000;width:350px;padding:8px;border:1px solid #dce3ed;background:#fff;border-radius:14px;box-shadow:0 18px 55px rgba(35,54,83,.2)}.s47-popup-title{padding:10px 11px;font-weight:800;color:#27364a;display:flex;flex-direction:column}.s47-popup-title small{font-weight:500;color:#8490a1;margin-top:2px}.s47-context-popup button{width:100%;border:0;background:#fff;border-radius:10px;padding:10px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;color:#26364a}.s47-context-popup button:hover,.s47-context-popup button.active{background:#f0f4ff}.s47-popup-avatar{width:35px;height:35px;border-radius:10px;background:#e9efff;color:#315fdd;display:grid;place-items:center;font-weight:800}.s47-context-popup button>span:nth-child(2),.s47-context-popup button>span:first-child:not(.s47-popup-avatar){display:flex;flex-direction:column;flex:1}.s47-context-popup button small{color:#7b8798;margin-top:2px}.s47-context-popup button b{color:#2d62dc}.s47-year-popup{width:310px}.s47-year-popup em{font-style:normal;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:800}.s47-year-popup em.active{background:#e3f5eb;color:#24734e}.s47-year-popup em.planning{background:#fff3d8;color:#856416}.s47-year-popup em.archived{background:#eef0f4;color:#667085}.s47-chevron{font-size:15px;margin-left:3px}.s47-logout{border:0;background:#eef2f8;color:#5e6d81;border-radius:8px;padding:6px 8px;margin-left:8px;font-size:11px;font-weight:700;cursor:pointer}.user-block{align-items:center}
.s47-audit-overlay{position:fixed;inset:0;z-index:9500;background:rgba(15,25,42,.35);display:flex;justify-content:flex-end}.s47-audit-drawer{width:min(460px,94vw);height:100%;background:#fff;box-shadow:-16px 0 50px rgba(20,34,57,.2);display:flex;flex-direction:column}.s47-audit-drawer header{padding:22px;border-bottom:1px solid #e6eaf0;display:flex;justify-content:space-between;align-items:flex-start}.s47-audit-drawer header span{font-size:11px;color:#26815a;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.s47-audit-drawer h2{margin:4px 0 0}.s47-audit-drawer header button{border:0;background:#f1f3f7;width:34px;height:34px;border-radius:9px;font-size:22px;cursor:pointer}.s47-audit-loading,.s47-empty{padding:28px;color:#6c788b}.s47-audit-list{padding:14px 20px;overflow:auto}.s47-audit-list article{display:flex;gap:12px;padding:14px 2px;border-bottom:1px solid #edf0f4}.s47-audit-icon{width:29px;height:29px;flex:none;border-radius:50%;background:#e4f4ec;color:#257151;display:grid;place-items:center;font-weight:900}.s47-audit-list article>div{display:flex;flex-direction:column;gap:3px}.s47-audit-list strong{font-size:13px;color:#25354a}.s47-audit-list small,.s47-audit-list time{font-size:11px;color:#7d8999}.s47-toast{position:fixed;right:22px;bottom:22px;z-index:9900;background:#1f684c;color:#fff;padding:12px 16px;border-radius:11px;box-shadow:0 12px 35px rgba(0,0,0,.18);font-size:13px;font-weight:700}.s47-toast.error{background:#a83a3a}
@media(max-width:760px){.s47-login-shell{grid-template-columns:1fr;min-height:auto}.s47-login-brand{display:none}.s47-login-panel{padding:34px 26px}.s47-backend-strip{align-items:flex-start;flex-wrap:wrap}.s47-mode-pills{margin-left:0}.s47-context-popup{width:min(350px,calc(100vw - 24px));left:12px!important}.s47-backend-strip small{grid-column:1/3}.s47-backend-strip button{margin-left:auto}}

/* Sprint 4.7 — Okul Logosu ve Görsel Kimlik */
.s47-login-logo{width:190px;height:auto;filter:brightness(0) invert(1);object-fit:contain;object-position:left center}.s47-login-brand h1{margin-top:76px}.s47-mode-pills span.brand{background:#e9e7ff;color:#5746a4}.s47-strip-actions{display:flex;gap:7px}.s47-strip-actions button:first-child{border-color:#c9c3f0;color:#54449a;background:#faf9ff}
.s47-system-brand-mark{display:grid!important;place-items:center!important;background:transparent!important;overflow:visible!important}.s47-system-brand-mark span{display:none!important}.s47-system-brand-mark img{display:block;width:34px;height:34px;object-fit:contain}.context-avatar.s47-has-logo{background:#fff!important;border:1px solid #d9e0ea!important;overflow:hidden;padding:3px}.context-avatar.s47-has-logo img{width:100%;height:100%;object-fit:contain;border-radius:5px}
.s47-brand-overlay{position:fixed;inset:0;z-index:9600;background:rgba(15,25,42,.42);display:flex;justify-content:flex-end;backdrop-filter:blur(2px)}.s47-brand-drawer{width:min(720px,96vw);height:100%;background:#f6f8fc;box-shadow:-18px 0 60px rgba(20,34,57,.22);display:flex;flex-direction:column;color:#25354a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.s47-brand-drawer>header{padding:20px 24px;background:#fff;border-bottom:1px solid #e3e8f0;display:flex;justify-content:space-between;align-items:flex-start}.s47-brand-drawer>header span{font-size:10px;font-weight:900;color:#5b4db0;letter-spacing:.08em}.s47-brand-drawer>header h2{margin:4px 0 3px;font-size:24px}.s47-brand-drawer>header p{margin:0;color:#7a8798;font-size:13px}.s47-drawer-close{width:36px;height:36px;border:0;border-radius:10px;background:#f1f3f7;color:#556274;font-size:24px;cursor:pointer}.s47-brand-scroll{padding:18px 22px 30px;overflow:auto;display:grid;gap:15px}.s47-brand-summary,.s47-brand-section{background:#fff;border:1px solid #e2e7ef;border-radius:16px}.s47-brand-summary{padding:15px 16px;display:flex;align-items:center;gap:13px}.s47-brand-summary>img{width:130px;height:34px;object-fit:contain;object-position:left}.s47-brand-summary>div{display:flex;flex-direction:column;gap:2px;flex:1}.s47-brand-summary strong{font-size:13px}.s47-brand-summary small{font-size:11px;color:#7a8798}.s47-permission{padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.s47-permission.ok{background:#e4f5ec;color:#24704e}.s47-permission.locked{background:#fff0dc;color:#8b621d}.s47-readonly-note{padding:12px 14px;border:1px solid #efd9b8;background:#fff9ee;border-radius:12px;color:#765a2d;font-size:12px;line-height:1.5}.s47-brand-section{padding:18px}.s47-section-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.s47-section-title span{display:block;font-size:9px;font-weight:900;color:#596a82;letter-spacing:.09em}.s47-section-title h3{margin:3px 0 0;font-size:17px}.s47-section-title>small{font-size:10px;color:#8a96a7;background:#f2f4f8;padding:5px 7px;border-radius:6px}.s47-logo-current{min-height:82px;border:1px solid #e1e7ef;border-radius:13px;padding:12px;display:flex;align-items:center;gap:14px;background:#fafbfd}.s47-logo-current>img{width:88px;height:56px;object-fit:contain;background:#fff;border:1px solid #e5e9ef;border-radius:9px;padding:5px}.s47-logo-current>div:not(.s47-empty-logo){display:flex;flex-direction:column;gap:4px}.s47-logo-current strong{font-size:13px}.s47-logo-current small{font-size:11px;color:#798697}.s47-empty-logo{width:64px;height:56px;border-radius:10px;background:#e8edff;color:#5367be;display:grid;place-items:center;font-weight:900}.s47-drop-zone{margin-top:10px;border:1.5px dashed #b7c4d7;border-radius:12px;padding:15px;display:flex;flex-direction:column;align-items:center;gap:3px;color:#506179;cursor:pointer;background:#fbfcfe;transition:.15s}.s47-drop-zone:hover,.s47-drop-zone.dragging{border-color:#5c6fc7;background:#f3f5ff}.s47-drop-zone.disabled{opacity:.55;cursor:not-allowed}.s47-drop-zone strong{font-size:12px}.s47-drop-zone small{font-size:10px;color:#8895a6}.s47-logo-actions{display:flex;gap:8px;margin-top:11px}.s47-brand-drawer button{font-family:inherit}.s47-brand-drawer button.primary{border:0;background:#315fdd;color:#fff}.s47-logo-actions button,.s47-brand-drawer>footer button{height:38px;border:1px solid #d5dce7;background:#fff;color:#445268;border-radius:9px;padding:0 13px;font-weight:800;font-size:11px;cursor:pointer}.s47-brand-drawer button:disabled{opacity:.45;cursor:not-allowed}.s47-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.s47-mode-grid label{position:relative}.s47-mode-grid input{position:absolute;opacity:0;pointer-events:none}.s47-mode-grid label>span{min-height:72px;border:1px solid #dfe5ed;border-radius:11px;padding:11px;display:flex;flex-direction:column;gap:4px;cursor:pointer;background:#fafbfd}.s47-mode-grid input:checked+span{border-color:#536bd0;background:#f2f4ff;box-shadow:0 0 0 2px rgba(83,107,208,.1)}.s47-mode-grid input:disabled+span{opacity:.6;cursor:not-allowed}.s47-mode-grid b{font-size:11px}.s47-mode-grid small{font-size:9px;color:#7b8798}.s47-toggle-list{margin-top:13px;border-top:1px solid #edf0f4}.s47-toggle-list>label{padding:12px 2px;border-bottom:1px solid #edf0f4;display:flex;align-items:center;gap:12px}.s47-toggle-list>label>span{display:flex;flex-direction:column;gap:2px;flex:1}.s47-toggle-list b{font-size:12px}.s47-toggle-list small{font-size:10px;color:#7f8b9b}.s47-toggle-list input{position:absolute;opacity:0}.s47-toggle-list i{width:38px;height:22px;border-radius:999px;background:#ccd3de;position:relative;transition:.15s}.s47-toggle-list i:after{content:'';position:absolute;width:16px;height:16px;top:3px;left:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.15s}.s47-toggle-list input:checked+i{background:#315fdd}.s47-toggle-list input:checked+i:after{left:19px}.s47-toggle-list input:disabled+i{opacity:.55}.s47-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.s47-preview-grid article{min-height:210px;border:1px solid #dde4ee;border-radius:13px;background:#fff;padding:12px;box-shadow:0 7px 18px rgba(42,56,81,.06)}.s47-preview-logos{height:42px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #edf0f4;padding-bottom:9px}.s47-preview-logos img{max-width:105px;height:28px;object-fit:contain}.s47-preview-logos img.school{max-width:55px}.s47-logo-divider{height:22px;width:1px;background:#dfe4eb}.s47-school-placeholder{height:28px;padding:0 8px;border:1px dashed #b8c2d0;border-radius:6px;display:grid;place-items:center;font-size:8px;color:#778499}.s47-preview-no-logo{font-size:9px;color:#99a3b1;font-style:italic}.s47-preview-copy{padding:10px 0 8px;display:flex;flex-direction:column;gap:2px}.s47-preview-copy strong{font-size:10px;color:#536278}.s47-preview-copy b{font-size:13px}.s47-preview-copy small{font-size:9px;color:#8490a0}.s47-mini-grid{height:78px;border:1px solid #e4e8ef;border-radius:6px;background:repeating-linear-gradient(to right,transparent 0,transparent calc(20% - 1px),#e8ecf2 calc(20% - 1px),#e8ecf2 20%),repeating-linear-gradient(to bottom,#f8f9fb 0,#f8f9fb 18px,#e8ecf2 18px,#e8ecf2 19px)}.s47-output-note{margin-top:12px;padding:10px 11px;border-radius:9px;background:#f3f5f9;color:#667386;font-size:10px;line-height:1.45}.s47-brand-drawer>footer{padding:13px 22px;background:#fff;border-top:1px solid #e1e6ed;display:flex;align-items:center;justify-content:space-between;gap:12px}.s47-brand-drawer>footer>div{display:flex;flex-direction:column;gap:2px}.s47-brand-drawer>footer strong{font-size:11px}.s47-brand-drawer>footer small{font-size:9px;color:#8590a0}.s47-brand-drawer>footer button{min-width:135px}
@media(max-width:760px){.s47-login-logo{width:165px}.s47-strip-actions{width:100%}.s47-strip-actions button{flex:1}.s47-brand-drawer{width:100vw}.s47-brand-scroll{padding:14px}.s47-brand-summary{align-items:flex-start;flex-wrap:wrap}.s47-brand-summary>img{width:120px}.s47-mode-grid{grid-template-columns:1fr}.s47-preview-grid{grid-template-columns:1fr}.s47-brand-drawer>footer{position:sticky;bottom:0}.s47-brand-drawer>footer>div{display:none}}

/* Sprint 4.7 — Onaylı EduTimePlan kurumsal kimliği */
:root{--etp-navy:#0B1740;--etp-blue:#2563EB;--etp-light-blue:#60A5FA;--etp-ice:#F3F5F9}
.sidebar{background:#0F1A35!important}.nav-item.active{color:#0F1A35!important;background:#F7F4EE!important;border-color:#E8D5A3!important;box-shadow:inset 3px 0 0 #C0392B!important}.sprint-pill{background:#F7F4EE!important;color:#0F1A35!important}.primary-button{background:#C0392B!important;border-color:#C0392B!important}.s47-approved-brand{display:block!important;padding:1px 5px 24px!important;height:auto!important}.s47-approved-brand>img{display:block;width:194px;height:58px;object-fit:contain;object-position:left center}.s47-system-brand-mark{display:none!important}.s47-login-logo{width:330px!important;max-width:100%;filter:none!important}.s47-login-brand{background:radial-gradient(circle at 14% 12%,rgba(192,57,43,.2),transparent 34%),linear-gradient(145deg,#0F1A35,#111E3B 58%,#25304A)!important}.s47-login-brand h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.025em}.s47-login-panel form button,.s47-brand-drawer button.primary{background:#C0392B!important}.s47-mode-pills span.output{background:#F2E7C8;color:#7E5B1B}.s47-strip-actions .primary-output{background:#0F1A35;color:#fff;border-color:#0F1A35}.s47-strip-actions .primary-output:hover{background:#25304A}.s47-brand-summary>img{width:165px;height:48px}.s47-preview-logos img{max-width:145px;height:36px}
/* Program çıktıları */
.s47-output-overlay{position:fixed;inset:0;z-index:9700;background:rgba(6,15,38,.55);display:grid;place-items:center;padding:20px;backdrop-filter:blur(4px)}.s47-output-drawer{width:min(1480px,98vw);height:min(940px,96vh);background:#f4f6fa;border-radius:20px;box-shadow:0 32px 100px rgba(4,11,30,.35);display:flex;flex-direction:column;overflow:hidden;color:#172033;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.s47-output-drawer>header{height:76px;flex:none;padding:16px 22px;background:#fff;border-bottom:1px solid #dfe5ee;display:flex;align-items:flex-start;justify-content:space-between}.s47-output-drawer>header span{font-size:10px;letter-spacing:.11em;font-weight:900;color:#2563EB}.s47-output-drawer>header h2{margin:3px 0 1px;font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:500;color:#0B1740}.s47-output-drawer>header p{margin:0;color:#7a8798;font-size:11px}.s47-output-close{width:38px;height:38px;border:0;border-radius:10px;background:#f1f3f7;font-size:25px;color:#506078;cursor:pointer}.s47-output-layout{display:grid;grid-template-columns:330px minmax(0,1fr);min-height:0;flex:1}.s47-output-controls{overflow:auto;padding:17px;background:#fff;border-right:1px solid #dfe5ee}.s47-output-data-note{padding:12px;border:1px solid #d8e2f4;background:#f5f8ff;border-radius:12px;display:grid;gap:3px}.s47-output-data-note b{font-size:11px;color:#234fba}.s47-output-data-note span{font-size:9px;line-height:1.5;color:#62718a}.s47-control-group{display:grid;gap:7px;margin-top:15px}.s47-control-group>label{font-size:10px;font-weight:900;color:#4e5d73;letter-spacing:.04em}.s47-control-group>small{font-size:9px;color:#8490a1}.s47-control-group select{height:40px;border:1px solid #d6dde8;border-radius:9px;background:#fff;padding:0 10px;color:#27364a;font-size:11px;outline:none}.s47-control-group select:focus{border-color:#2563EB;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.s47-segmented{display:grid;grid-template-columns:1fr 1fr;gap:6px}.s47-segmented label{position:relative}.s47-segmented input{position:absolute;opacity:0}.s47-segmented span{height:38px;border:1px solid #d8dfe9;border-radius:9px;display:grid;place-items:center;background:#fafbfd;font-size:10px;font-weight:800;cursor:pointer}.s47-segmented input:checked+span{background:#edf3ff;color:#204eaf;border-color:#4d77d8;box-shadow:0 0 0 2px rgba(37,99,235,.08)}.s47-output-toggles{margin-top:16px;border-top:1px solid #e9edf3}.s47-output-toggles>label{padding:11px 1px;border-bottom:1px solid #e9edf3;display:flex;gap:10px;align-items:center}.s47-output-toggles>label>span{display:grid;gap:1px;flex:1}.s47-output-toggles b{font-size:10px}.s47-output-toggles small{font-size:8px;color:#8490a1}.s47-output-toggles input{position:absolute;opacity:0}.s47-output-toggles i{width:36px;height:21px;border-radius:999px;background:#cbd3df;position:relative}.s47-output-toggles i:after{content:"";position:absolute;left:3px;top:3px;width:15px;height:15px;background:#fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:.15s}.s47-output-toggles input:checked+i{background:#2563EB}.s47-output-toggles input:checked+i:after{left:18px}.s47-output-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:7px;margin-top:15px}.s47-output-actions button{height:42px;border:1px solid #d2dae6;border-radius:10px;background:#fff;color:#415169;font-weight:800;font-size:10px;cursor:pointer}.s47-output-actions button.primary{background:#0B1740;color:#fff;border-color:#0B1740}.s47-output-actions button:disabled{opacity:.45;cursor:not-allowed}.s47-output-audit{margin-top:12px;padding:10px;border:1px dashed #c5cfde;border-radius:10px;background:#fafbfd;display:grid;gap:3px}.s47-output-audit strong{font-size:8px;letter-spacing:.1em;color:#66748a}.s47-output-audit code{font-size:8px;color:#304260;word-break:break-all}.s47-output-audit small{font-size:8px;color:#8a95a5}.s47-output-preview{min-width:0;display:flex;flex-direction:column;background:#e8ecf3}.s47-output-preview-bar{height:51px;flex:none;padding:9px 17px;background:#f9fafc;border-bottom:1px solid #d8dfe8;display:flex;align-items:center;justify-content:space-between}.s47-output-preview-bar>div{display:grid;gap:2px}.s47-output-preview-bar span{font-size:8px;font-weight:900;letter-spacing:.11em;color:#6b7890}.s47-output-preview-bar strong{font-size:11px;color:#26364b}.s47-output-preview-bar em{font-style:normal;padding:5px 8px;border-radius:999px;background:#e7f3eb;color:#28704f;font-size:8px;font-weight:800}.s47-paper-stage{min-height:0;flex:1;overflow:auto;padding:22px;display:grid;place-items:start center}.s47-paper{position:relative;background:#fff;box-shadow:0 16px 50px rgba(19,32,56,.17);overflow:hidden;color:#0B1740;padding:28px;transition:.2s}.s47-paper.landscape{width:min(100%,1120px);aspect-ratio:297/210}.s47-paper.portrait{width:min(760px,100%);aspect-ratio:210/297}.s47-paper-watermark{position:absolute;width:42%;max-height:58%;object-fit:contain;left:50%;top:55%;transform:translate(-50%,-50%);opacity:.055;z-index:0}.s47-paper-watermark.school{opacity:.045}.s47-paper>*:not(.s47-paper-watermark){position:relative;z-index:1}.s47-paper-header{display:flex;align-items:center;gap:12px;border-bottom:1px solid #d1d8e3;padding-bottom:9px}.s47-paper-logos{display:flex;align-items:center;gap:10px;min-width:190px}.s47-paper-logos .system-logo{width:172px;height:50px;object-fit:contain;object-position:left}.s47-paper-logos .school-logo{max-width:66px;height:49px;object-fit:contain}.s47-print-logo-divider{width:1px;height:34px;background:#d4dbe6}.s47-paper-school{display:flex;flex-direction:column;gap:2px;flex:1}.s47-paper-school strong{font-size:12px}.s47-paper-school span{font-size:9px;color:#5d6a80}.s47-paper-meta{text-align:right;display:flex;flex-direction:column;gap:3px}.s47-paper-meta span{font-size:8px;font-weight:900;letter-spacing:.12em}.s47-paper-meta small{font-size:7px;color:#7a8798}.s47-paper-title{display:flex;align-items:center;justify-content:space-between;padding:10px 0 9px}.s47-paper-title span{font-size:8px;font-weight:900;letter-spacing:.12em;color:#54647d}.s47-paper-title h2{font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:500;margin:3px 0 1px}.s47-paper-title p{font-size:9px;color:#768195;margin:0}.s47-paper-corner-mark{width:47px;height:47px}.s47-paper-table-wrap{position:relative}.s47-schedule-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:8px}.s47-schedule-table th,.s47-schedule-table td{border:1px solid #c4cedb;text-align:center;padding:5px 3px;height:49px}.s47-schedule-table thead th{height:auto;background:#0B1740;color:#fff;font-size:8px;padding:6px 3px}.s47-schedule-table .period{width:78px}.s47-schedule-table tbody th{background:#f1f4f8}.s47-schedule-table tbody th b,.s47-schedule-table tbody th small,.s47-schedule-table td strong,.s47-schedule-table td small{display:block}.s47-schedule-table tbody th small,.s47-schedule-table td small{font-size:6.5px;color:#627087;margin-top:2px}.s47-schedule-table td.empty{color:#a4acb9}.s47-paper.compact .s47-schedule-table th,.s47-paper.compact .s47-schedule-table td{height:37px;padding:3px 2px}.s47-paper-footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #d1d8e3;margin-top:8px;padding-top:5px;color:#717d90;font-size:6px}.s47-paper-footer span:nth-child(2){text-align:center;flex:1}.s47-paper.portrait .s47-paper-logos .system-logo{width:135px}.s47-paper.portrait .s47-paper-header{gap:8px}.s47-paper.portrait .s47-paper-school{display:none}.s47-paper.portrait .s47-schedule-table{font-size:6.8px}.s47-paper.portrait .s47-schedule-table .period{width:58px}.s47-paper.portrait .s47-schedule-table th,.s47-paper.portrait .s47-schedule-table td{padding:3px 2px;height:54px}.s47-paper.portrait .s47-schedule-table td small:nth-of-type(n+2){display:none}
@media(max-width:1000px){.s47-output-overlay{padding:0}.s47-output-drawer{width:100vw;height:100vh;border-radius:0}.s47-output-layout{grid-template-columns:280px minmax(700px,1fr)}.s47-paper-stage{place-items:start}.s47-mode-pills{display:none}}@media(max-width:760px){.s47-approved-brand>img{width:185px}.s47-output-layout{display:block;overflow:auto}.s47-output-controls{border-right:0}.s47-output-preview{min-height:620px}.s47-output-drawer>header h2{font-size:20px}.s47-paper-stage{padding:12px;overflow:auto}.s47-paper{min-width:760px}.s47-output-actions{position:sticky;bottom:0;background:#fff;padding:8px 0}}

/* Sprint 4.7.1 — Program çıktısı kaydırma ve final SVG marka seti */
body.s47-output-open{overflow:hidden}
.s47-output-overlay{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow-y:auto;
  overflow-x:hidden;
  padding:12px 20px 32px;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.s47-output-drawer{
  height:auto;
  min-height:calc(100vh - 44px);
  max-height:none;
  margin:auto 0;
  overflow:visible;
}
.s47-output-layout{
  flex:0 0 auto;
  min-height:calc(100vh - 120px);
  align-items:stretch;
}
.s47-output-controls{overflow:visible}
.s47-output-preview{min-height:790px}
.s47-paper-stage{
  min-height:740px;
  overflow:visible;
  padding-bottom:34px;
}
.s47-paper-logos .system-logo{
  width:188px;
  height:56px;
  border-radius:7px;
}
.s47-paper.portrait .s47-paper-logos .system-logo{width:148px}
.s47-paper-corner-mark{border-radius:12px}
.s47-brand-summary>img,.s47-preview-logos img{border-radius:7px}
@media(max-width:1000px){
  .s47-output-overlay{padding:0 0 28px;overflow:auto}
  .s47-output-drawer{width:100%;min-height:100vh;height:auto;border-radius:0;margin:0}
  .s47-output-layout{min-height:0;overflow-x:auto}
  .s47-output-preview{min-height:790px}
}
@media(max-width:760px){
  .s47-output-layout{display:block;overflow:visible}
  .s47-output-controls{overflow:visible}
  .s47-output-preview{min-height:680px}
  .s47-paper-stage{overflow-x:auto;overflow-y:visible}
}

.s47-approved-brand>img{width:208px;height:42px;object-fit:contain;object-position:left center}

/* Sprint 4.7.2 — Premium SaaS visual system and definitive output scroll fix */
:root{
  --etp-navy:#0C1A45;
  --etp-blue:#3B82F6;
  --etp-bg:#F8F9FC;
  --etp-border:#E5E7EB;
  --etp-muted:#6B7280;
  --etp-green:#10B981;
  font-family:"Space Grotesk",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#0C1A45;
  background:var(--etp-bg);
}
body{background:var(--etp-bg);color:var(--etp-navy)}
button,textarea,select,input{font-family:"Space Grotesk",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* Fixed 220 px premium navigation */
.sidebar{
  width:220px;
  padding:0 12px 16px;
  background:#0C1A45;
  border-right:0;
  box-shadow:none;
}
.brand.s47-approved-brand{
  height:64px;
  padding:0 12px;
  margin:0 0 18px;
  justify-content:flex-start;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.s47-approved-brand>img{width:170px;max-height:40px;object-fit:contain;object-position:left center}
.nav-list{gap:6px}
.nav-item{
  min-height:40px;
  gap:10px;
  padding:0 12px;
  color:rgba(255,255,255,.7);
  border:0;
  border-radius:7px;
  font-size:13px;
  font-weight:400;
  box-shadow:none;
}
.nav-item svg{width:16px;height:16px;opacity:.9}
.nav-item:hover{color:#fff;background:rgba(255,255,255,.07)}
.nav-item.active{
  color:#0C1A45;
  background:#fff;
  border:0;
  box-shadow:none;
  font-weight:600;
}
.sidebar-note{
  align-items:center;
  gap:8px;
  margin:0 4px;
  padding:9px 11px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}
.sidebar-note .status-dot{width:7px;height:7px;margin:0;background:#3B82F6;box-shadow:none}
.sidebar-note strong{font-size:11px;font-weight:500;color:#fff}
.sidebar-note small{display:none}
.app-stage{width:calc(100% - 220px);margin-left:220px}

/* 56 px top navigation, border only */
.topbar{
  min-height:56px;
  height:56px;
  padding:0 22px;
  background:#fff;
  border-bottom:1px solid #E5E7EB;
  backdrop-filter:none;
  box-shadow:none;
}
.topbar-context,.topbar-actions{gap:12px}
.context-select,.year-select{
  height:42px;
  padding:4px 10px;
  border:0;
  border-radius:6px;
}
.context-select:hover,.year-select:hover{background:#F8F9FC;border-color:transparent}
.context-select{position:relative;padding-right:25px}
.context-select:after{content:"";position:absolute;right:-7px;top:9px;width:1px;height:24px;background:#E5E7EB}
.context-avatar{width:32px;height:32px;border-radius:7px;color:#0C1A45;background:#EFF6FF;font-size:10px}
.context-select strong{font-size:14px;font-weight:600;color:#0C1A45}
.context-select small{font-size:12px;font-weight:300;color:#6B7280}
.year-select{font-size:13px;font-weight:600;color:#0C1A45}
.sprint-pill{
  padding:6px 11px;
  color:#0C1A45;
  background:#fff;
  border:1px solid #0C1A45;
  border-radius:6px;
  font-size:11px;
  font-weight:600;
}
.user-avatar{width:34px;height:34px;border-radius:50%;background:#0C1A45;font-size:11px}
.user-block strong{font-size:13px;font-weight:600;color:#0C1A45}
.user-block small{font-size:12px;font-weight:300;color:#6B7280}
.s47-logout{
  height:32px;
  margin-left:2px;
  padding:0 8px;
  border:0;
  background:transparent;
  color:#6B7280;
  border-radius:6px;
  font-size:12px;
  font-weight:500;
}
.s47-logout:hover{color:#0C1A45;background:#F8F9FC}

/* Page frame */
.main-stage{padding:24px 22px 48px}
.page-header{align-items:center;margin-bottom:20px}
.breadcrumb{margin-bottom:8px;color:#6B7280;font-size:11px;font-weight:500;letter-spacing:.08em}
.page-header h1{font-size:28px;line-height:1.15;font-weight:700;letter-spacing:-.035em;color:#0C1A45}
.page-header p{max-width:560px;margin-top:7px;color:#6B7280;font-size:14px;font-weight:300}
.page-header-actions{gap:10px}
.secondary-button,.primary-button{
  min-height:36px;
  height:36px;
  padding:0 13px;
  border-radius:6px;
  font-size:13px;
  font-weight:600;
  box-shadow:none;
}
.secondary-button{color:#0C1A45;background:#fff;border:1px solid #0C1A45}
.secondary-button:hover:not(:disabled){background:#F8F9FC;border-color:#0C1A45;box-shadow:none}
.primary-button{color:#fff;background:#0C1A45;border:1px solid #0C1A45}
.primary-button:hover:not(:disabled){background:#14275E}

/* Single inline status strip */
.policy-banner{display:none!important}
.s47-backend-strip{
  min-height:52px;
  margin:0 0 18px;
  padding:12px 16px;
  gap:14px;
  border:1px solid #BBF7D0;
  border-radius:8px;
  background:#F0FDF4;
  box-shadow:none;
}
.s47-backend-strip>div:first-child{display:flex;align-items:center;gap:8px;min-width:0}
.s47-live-dot{width:8px;height:8px;box-shadow:none;background:#10B981}
.s47-backend-strip strong{font-size:12px;font-weight:700;color:#0C1A45;white-space:nowrap}
.s47-backend-strip small{font-size:11px;font-weight:300;color:#6B7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.s47-mode-pills{gap:6px}
.s47-mode-pills span,.s47-mode-pills span.demo,.s47-mode-pills span.brand,.s47-mode-pills span.output{
  padding:4px 7px;
  color:#4B5563;
  background:transparent;
  border:1px solid #D1D5DB;
  border-radius:4px;
  font-size:9px;
  font-weight:500;
  letter-spacing:.05em;
}
.s47-strip-actions{gap:7px}
.s47-backend-strip button{
  height:30px;
  padding:0 9px;
  color:#0C1A45;
  background:#fff;
  border:1px solid #D1D5DB;
  border-radius:6px;
  font-size:10px;
  font-weight:600;
}
.s47-backend-strip button.primary-output{color:#fff;background:#0C1A45;border-color:#0C1A45}

/* Metric cards */
.summary-grid{gap:12px;margin-bottom:18px}
.summary-card{
  min-height:112px;
  align-items:flex-start;
  gap:13px;
  padding:18px;
  border:1px solid #E5E7EB;
  border-radius:10px;
  box-shadow:none;
  transition:border-color .15s ease,transform .15s ease;
}
.summary-card:hover{border-color:#0C1A45;transform:scale(1.01)}
.summary-icon{width:36px;height:36px;border-radius:8px}
.summary-card div{display:grid;grid-template-columns:1fr;align-items:start;gap:0}
.summary-card span:not(.summary-icon){font-size:10px;font-weight:500;letter-spacing:.08em;color:#6B7280}
.summary-card strong{margin-top:4px;font-size:32px;line-height:1;font-weight:700;color:#0C1A45}
.summary-card small{margin-top:7px;font-size:11px;font-weight:300;color:#6B7280;white-space:normal}
.summary-card.critical .summary-icon{color:#B42335;background:#FFF1F2}
.summary-card.warning .summary-icon{color:#B06A00;background:#FFF8E7}
.summary-card.locked .summary-icon{color:#6D4CC3;background:#F5F0FF}
.summary-card.unplaced .summary-icon{color:#087F74;background:#EAFBF8}

/* Workspace */
.workspace-grid{grid-template-columns:minmax(0,1fr) 320px;gap:12px;align-items:start}
.schedule-board-card,.issue-list-panel{border:1px solid #E5E7EB;border-radius:8px;box-shadow:none;background:#fff}
.schedule-board-card{overflow:hidden}
.board-toolbar{min-height:80px;padding:16px 16px 14px;border-bottom:1px solid #E5E7EB}
.eyebrow{font-size:10px;font-weight:500;letter-spacing:.08em;color:#6B7280}
.board-toolbar h2,.panel-heading h2{font-size:15px;font-weight:600;letter-spacing:-.02em;color:#0C1A45}
.board-toolbar p{font-size:11px;font-weight:300;color:#6B7280}
.board-actions{gap:8px}
.board-actions .secondary-button{height:34px;min-height:34px;font-size:11px;border-color:#D1D5DB;color:#4B5563}

/* Timetable grid */
.schedule-scroll{overflow:auto;background:#fff}
.schedule-grid{min-width:760px;grid-template-columns:100px repeat(5,minmax(130px,1fr));background:#fff}
.grid-corner,.day-header,.period-header,.schedule-cell{border-color:#E5E7EB}
.grid-corner,.day-header{min-height:56px;background:#fff;text-transform:uppercase}
.grid-corner{padding:0 12px;color:#6B7280;font-size:10px;font-weight:500;letter-spacing:.06em}
.day-header{padding:10px 12px;align-items:flex-start;text-align:left}
.day-header strong{font-size:11px;font-weight:600;letter-spacing:.05em;color:#0C1A45}
.day-header span{margin-top:3px;font-size:10px;font-weight:300;color:#9CA3AF;text-transform:none}
.period-header{min-height:92px;padding:12px 10px;background:#F9FAFB;text-align:left;align-items:flex-start}
.period-header strong{font-size:12px;font-weight:600;color:#0C1A45}
.period-header span{margin-top:4px;font-size:11px;font-weight:300;color:#6B7280}
.schedule-cell{min-height:92px;padding:8px;background:#F9FAFB}
.schedule-cell:has(.lesson-card){background:#fff}
.schedule-cell:hover{background:#F5F7FF}
.empty-cell-label{display:none}
.lesson-card,.lesson-card.tone-blue,.lesson-card.tone-teal,.lesson-card.tone-violet,.lesson-card.tone-amber,.lesson-card.tone-rose{
  min-height:74px;
  padding:9px 9px 8px;
  color:#0C1A45;
  background:#fff;
  border:0;
  border-left:3px solid #3B82F6;
  border-radius:4px;
  box-shadow:none;
}
.lesson-card:hover{transform:none;background:#F9FBFF;box-shadow:none}
.lesson-card.has-issue{border-left-color:#E5484D}
.lesson-card.selected-issue{background:#F5F7FF;box-shadow:inset 0 0 0 1px #0C1A45}
.lesson-card-title strong{font-size:13px;font-weight:600;color:#0C1A45}
.lesson-card>span{margin-top:4px;font-size:12px;font-weight:300;color:#6B7280}
.lesson-card>small{
  display:inline-flex;
  align-self:flex-start;
  margin-top:5px;
  padding:2px 5px;
  color:#3B82F6;
  background:#EFF6FF;
  border-radius:4px;
  font-size:9px;
  font-weight:500;
}
.issue-indicator{width:6px;height:6px;border:0;background:#E5484D;box-shadow:none}

/* Fixed right issue rail */
.issue-list-panel{top:68px;max-height:calc(100vh - 82px)}
.panel-heading{min-height:58px;padding:15px 14px;border-bottom:1px solid #E5E7EB}
.panel-heading .eyebrow{display:none}
.count-badge{min-width:20px;width:20px;height:20px;color:#fff;background:#0C1A45;border-radius:50%;font-size:10px}
.issue-filter-row{gap:7px;padding:10px 12px;background:#fff;border-bottom:1px solid #E5E7EB}
.premium-filter-button{
  height:27px;
  padding:0 9px;
  border:1px solid #D1D5DB;
  border-radius:4px;
  background:#fff;
  color:#6B7280;
  font-size:9px;
  font-weight:500;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
}
.premium-filter-button.active{color:#fff;background:#0C1A45;border-color:#0C1A45}
.issue-list{max-height:calc(100vh - 190px);padding:8px}
.issue-card{
  position:relative;
  margin-bottom:8px;
  padding:12px 11px 11px 14px;
  border:1px solid #E5E7EB;
  border-left:2px solid #E5484D;
  border-radius:6px;
  box-shadow:none;
}
.issue-card:has(.classification-dot.warning){border-left-color:#F59E0B}
.issue-card:has(.unplaced-meta){border-left-color:#10B981}
.issue-card:hover,.issue-card.selected{background:#F9FAFB;border-color:#D1D5DB;border-left-color:#0C1A45;box-shadow:none}
.issue-card-topline{margin-bottom:7px}
.classification-dot{display:none}
.issue-code{font-size:10px;font-weight:500;letter-spacing:.08em;color:#6B7280}
.severity-tag{padding:3px 6px;border-radius:4px;font-size:8px;font-weight:500}
.issue-card>strong{font-size:13px;font-weight:600;line-height:1.35;color:#0C1A45}
.issue-card>p{margin:6px 0 10px;font-size:11px;font-weight:300;line-height:1.45;color:#6B7280}
.issue-card-meta{font-size:11px;font-weight:300;color:#6B7280}
.issue-arrow{color:#9CA3AF}

/* Remove decorative shadows and excessive radii globally on the main page */
.context-select,.year-select,.secondary-button,.primary-button,.schedule-board-card,.issue-list-panel,.summary-card,.s47-backend-strip{box-shadow:none!important}

/* Output screen: one reliable vertical scroll container. */
body.s47-output-open{overflow:hidden!important}
.s47-output-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:9700!important;
  display:block!important;
  padding:0!important;
  overflow-x:auto!important;
  overflow-y:scroll!important;
  overscroll-behavior:contain;
  background:#F8F9FC!important;
  backdrop-filter:none!important;
}
.s47-output-drawer{
  width:max(1180px,100%)!important;
  min-height:100vh!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  border-radius:0!important;
  overflow:visible!important;
  box-shadow:none!important;
  background:#F8F9FC!important;
}
.s47-output-drawer>header{
  position:sticky!important;
  top:0!important;
  z-index:8!important;
  height:76px!important;
  background:#fff!important;
}
.s47-output-layout{
  display:grid!important;
  grid-template-columns:330px minmax(850px,1fr)!important;
  align-items:start!important;
  min-height:calc(100vh - 76px)!important;
  height:auto!important;
  overflow:visible!important;
}
.s47-output-controls{
  position:sticky!important;
  top:76px!important;
  align-self:start!important;
  max-height:calc(100vh - 76px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  border-right:1px solid #E5E7EB!important;
}
.s47-output-preview{
  min-height:calc(100vh - 76px)!important;
  height:auto!important;
  overflow:visible!important;
  background:#EEF1F6!important;
}
.s47-output-preview-bar{position:sticky!important;top:76px!important;z-index:7!important}
.s47-paper-stage{
  display:block!important;
  min-height:900px!important;
  height:auto!important;
  overflow:visible!important;
  padding:28px 28px 120px!important;
}
.s47-paper{margin:0 auto!important;overflow:hidden!important}
.s47-output-close{border-radius:6px!important}

@media(max-width:1180px){
  .s47-mode-pills{display:none}
  .workspace-grid{grid-template-columns:minmax(760px,1fr) 300px}
}
@media(max-width:900px){
  .sidebar{width:200px}
  .app-stage{width:calc(100% - 200px);margin-left:200px}
  .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Sprint 4.7.3 — dedicated preview scroll + configurable empty lesson cells */
body.s47-output-open{overflow:hidden!important}
.s47-output-overlay{
  position:fixed!important;
  inset:0!important;
  display:block!important;
  overflow:hidden!important;
  padding:0!important;
  background:#F8F9FC!important;
}
.s47-output-drawer{
  width:100%!important;
  height:100dvh!important;
  min-height:0!important;
  max-height:100dvh!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.s47-output-drawer>header{
  position:relative!important;
  top:auto!important;
  flex:0 0 76px!important;
  height:76px!important;
}
.s47-output-layout{
  flex:1 1 auto!important;
  min-height:0!important;
  height:calc(100dvh - 76px)!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:330px minmax(850px,1fr)!important;
}
.s47-output-controls{
  position:relative!important;
  top:auto!important;
  height:100%!important;
  max-height:none!important;
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-gutter:stable;
}
.s47-output-preview{
  height:100%!important;
  min-height:0!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable both-edges;
  scroll-behavior:smooth;
}
.s47-output-preview:focus{outline:none}
.s47-output-preview-bar{
  position:sticky!important;
  top:0!important;
  z-index:9!important;
}
.s47-paper-stage{
  display:block!important;
  min-height:max-content!important;
  height:auto!important;
  overflow:visible!important;
  padding:24px 28px 120px!important;
}
.s47-paper{margin:0 auto 40px!important}
.s47-output-preview::-webkit-scrollbar,.s47-output-controls::-webkit-scrollbar{width:12px;height:12px}
.s47-output-preview::-webkit-scrollbar-thumb,.s47-output-controls::-webkit-scrollbar-thumb{background:#B9C2D0;border:3px solid transparent;background-clip:padding-box;border-radius:8px}
.s47-output-preview::-webkit-scrollbar-track,.s47-output-controls::-webkit-scrollbar-track{background:#EEF1F6}
.s47-empty-cell-options span{font-size:10px}
.s47-schedule-table td.empty.blank{background:#fff;color:transparent}
.s47-schedule-table td.empty.hatched{
  color:transparent;
  background-color:#FAFBFD;
  background-image:repeating-linear-gradient(135deg,rgba(12,26,69,.07) 0 1px,transparent 1px 7px);
}
@media(max-width:760px){
  .s47-output-layout{display:block!important;height:calc(100dvh - 76px)!important;overflow-y:auto!important}
  .s47-output-controls,.s47-output-preview{height:auto!important;overflow:visible!important}
  .s47-output-preview-bar{position:sticky!important;top:0!important}
}

/* Sprint 4.8 — School/year based lesson time configuration */
body.s48-time-open{overflow:hidden}
.s48-time-overlay{position:fixed;inset:0;z-index:170;display:flex;justify-content:flex-end;background:rgba(12,26,69,.46);backdrop-filter:blur(3px)}
.s48-time-drawer{display:grid;width:min(980px,calc(100vw - 72px));height:100dvh;grid-template-rows:auto minmax(0,1fr) auto;background:#F8F9FC;border-left:1px solid #E5E7EB;box-shadow:none;color:#0C1A45}
.s48-time-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 18px;background:#fff;border-bottom:1px solid #E5E7EB}
.s48-time-header span,.s48-section-heading span{display:block;color:#3B82F6;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.s48-time-header h2{margin:6px 0 4px;font-family:"Space Grotesk",Inter,sans-serif;font-size:26px;line-height:1.15;letter-spacing:-.03em;color:#0C1A45}
.s48-time-header p{margin:0;color:#6B7280;font-size:13px}
.s48-time-close{display:grid;width:38px;height:38px;place-items:center;border:1px solid #E5E7EB;border-radius:8px;background:#fff;color:#6B7280;font-size:25px;line-height:1;cursor:pointer}
.s48-time-close:hover{border-color:#0C1A45;color:#0C1A45}
.s47-schedule-table td.s716-teacher-cell .s716-cell-primary{font-size:10px!important;line-height:1.02!important;font-weight:900!important;letter-spacing:-.01em}
.s47-schedule-table td.s716-teacher-cell .s716-cell-subject{font-size:6.4px!important;line-height:1.08!important;font-weight:700!important;color:#53647C!important;margin-top:3px!important}
.s48-time-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px 28px;scrollbar-gutter:stable}
.s48-time-readonly{margin-bottom:16px;padding:12px 14px;border:1px solid #FDE68A;border-radius:8px;background:#FFFBEB;color:#92400E;font-size:12px}
.s48-time-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:16px;align-items:start}
.s48-time-form-card,.s48-time-preview-card{background:#fff;border:1px solid #E5E7EB;border-radius:10px;padding:20px}
.s48-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.s48-section-heading h3{margin:4px 0 0;font-family:"Space Grotesk",Inter,sans-serif;font-size:17px;letter-spacing:-.02em;color:#0C1A45}
.s48-section-heading>small{color:#9CA3AF;font-size:11px}
.s48-subheading{margin-top:24px;padding-top:20px;border-top:1px solid #E5E7EB}
.s48-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.s48-field-grid label,.s48-day-grid label{display:grid;gap:7px;color:#374151;font-size:11px;font-weight:600}
.s48-field-grid input,.s48-field-grid select,.s48-day-grid select,.s48-break-list input{width:100%;height:38px;border:1px solid #D1D5DB;border-radius:6px;background:#fff;color:#0C1A45;padding:0 10px;font-size:13px;outline:none}
.s48-field-grid input:focus,.s48-field-grid select:focus,.s48-day-grid select:focus,.s48-break-list input:focus{border-color:#3B82F6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}
.s48-number-field{position:relative}
.s48-number-field input{padding-right:36px}
.s48-number-field em{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#9CA3AF;font-size:10px;font-style:normal;pointer-events:none}
.s48-day-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.s48-day-grid label{padding:10px;border:1px solid #E5E7EB;border-radius:8px;background:#F9FAFB}
.s48-day-grid label span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s48-day-grid select{height:34px;background:#fff}
.s48-break-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.s48-break-list label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #E5E7EB;border-radius:8px;background:#fff}
.s48-break-list label>span{min-width:0}
.s48-break-list b,.s48-break-list small{display:block}
.s48-break-list b{color:#0C1A45;font-size:12px}
.s48-break-list small{margin-top:3px;color:#9CA3AF;font-size:10px;font-weight:400}
.s48-break-list .s48-number-field{width:88px;flex:0 0 auto}
.s48-time-preview-card{position:sticky;top:0}
.s48-time-preview{display:grid;border:1px solid #E5E7EB;border-radius:8px;overflow:hidden}
.s48-preview-period{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:8px 10px;background:#fff;border-bottom:1px solid #E5E7EB}
.s48-preview-period:last-child{border-bottom:0}
.s48-preview-period>span{display:grid;width:28px;height:28px;place-items:center;border-radius:6px;background:#EFF6FF;color:#3B82F6;font-size:11px;font-weight:700}
.s48-preview-period strong,.s48-preview-period small{display:block}
.s48-preview-period strong{font-size:12px;color:#0C1A45}
.s48-preview-period small{margin-top:2px;color:#6B7280;font-size:10px}
.s48-preview-period em{padding:4px 6px;border-radius:4px;background:#F3F4F6;color:#6B7280;font-size:9px;font-style:normal;white-space:nowrap}
.s48-preview-period em.lunch{background:#FFF7ED;color:#C2410C}
.s48-time-note{display:grid;gap:5px;margin-top:14px;padding:12px 14px;border:1px solid #DBEAFE;border-radius:8px;background:#EFF6FF}
.s48-time-note strong{font-size:11px;color:#1D4ED8}
.s48-time-note span{color:#475569;font-size:10px;line-height:1.5}
.s48-time-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:#fff;border-top:1px solid #E5E7EB}
.s48-time-footer strong,.s48-time-footer small{display:block}
.s48-time-footer strong{font-size:12px;color:#0C1A45}
.s48-time-footer small{margin-top:3px;color:#9CA3AF;font-size:10px}
.s48-time-footer button{height:38px;padding:0 18px;border:1px solid #0C1A45;border-radius:6px;background:#0C1A45;color:#fff;font-size:12px;font-weight:600;cursor:pointer}
.s48-time-footer button.is-dirty{border-color:#2563EB;background:#2563EB;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.s48-time-footer button:disabled{cursor:not-allowed;opacity:.45}
.s48-field-grid input:disabled,.s48-field-grid select:disabled,.s48-day-grid select:disabled,.s48-break-list input:disabled{cursor:not-allowed;background:#F1F5F9;color:#94A3B8}
.schedule-cell.s48-configured-empty{background:#F9FAFB}
.schedule-cell.s48-inactive-cell{background-color:#F3F4F6!important;background-image:repeating-linear-gradient(135deg,rgba(107,114,128,.09) 0 1px,transparent 1px 7px);pointer-events:none}
.schedule-cell.s48-inactive-cell>*{display:none!important}
.s48-virtual-row .period-header,.s48-virtual-row .schedule-cell{min-height:92px}
.s47-strip-actions #s47-time-button{background:#0C1A45!important;border-color:#0C1A45!important;color:#fff!important}
@media(max-width:980px){.s48-time-drawer{width:100vw}.s48-time-layout{grid-template-columns:1fr}.s48-time-preview-card{position:static}.s48-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.s48-time-scroll{padding:14px}.s48-time-header,.s48-time-footer{padding-left:16px;padding-right:16px}.s48-field-grid{grid-template-columns:1fr}.s48-break-list{grid-template-columns:1fr}.s48-day-grid{grid-template-columns:1fr 1fr}.s48-time-footer{align-items:flex-start;flex-direction:column}.s48-time-footer button{width:100%}}

/* Sprint 6.6.9 — tekli/ikili öğretim ve sınıf vardiyası yönetimi */
.s48-time-drawer{width:min(1180px,calc(100vw - 48px))!important}
.s48-time-preview-column{width:320px!important;flex-basis:320px!important;min-width:320px!important}
.s667-mode-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:14px 16px;border:1px solid #DCE6F5;border-radius:8px;background:linear-gradient(135deg,#F8FAFF,#F3F8FF)}
.s667-mode-panel>div:first-child{display:grid;gap:3px;min-width:0}
.s667-mode-panel>div:first-child>span{color:#2563EB;font-size:9px;font-weight:700;letter-spacing:.08em}
.s667-mode-panel strong{color:#0C1A45;font-size:13px;font-weight:650}
.s667-mode-panel small{color:#64748B;font-size:10px;line-height:1.4}
.s667-mode-toggle,.s667-shift-tabs{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid #D5DDE9;border-radius:8px;background:#fff}
.s667-mode-toggle{flex:0 0 auto}
.s667-mode-toggle button,.s667-shift-tabs button{height:30px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:#64748B;font-size:10px;font-weight:600;white-space:nowrap;cursor:pointer}
.s667-mode-toggle button.active,.s667-shift-tabs button.active{background:#0C1A45;color:#fff}
.s667-mode-toggle button:disabled{cursor:not-allowed;opacity:.5}
.s667-shift-tabs{margin:0 0 18px}
.s667-shift-tabs[hidden],.s667-class-shift-section[hidden]{display:none!important}
.s667-class-shifts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.s667-class-shifts>label{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:9px 10px;border:1px solid #E2E8F0;border-radius:7px;background:#F8FAFC}
.s667-class-shifts>label>span{display:grid;gap:2px;min-width:0}
.s667-class-shifts strong{color:#0C1A45;font-size:11px}
.s667-class-shifts small{color:#94A3B8;font-size:9px}
.s667-class-shifts select{width:110px;height:32px;padding:0 28px 0 9px;border:1px solid #D1D5DB;border-radius:6px;background-color:#fff;color:#334155;font-size:10px;font-weight:600}
.s667-class-shifts>p{grid-column:1/-1;margin:0;padding:12px;color:#94A3B8;font-size:10px;text-align:center}
@media(max-width:820px){.s667-mode-panel{align-items:flex-start;flex-direction:column}.s667-class-shifts{grid-template-columns:1fr}.s48-time-preview-column{width:auto!important;min-width:0!important}.s48-time-drawer{width:100vw!important;max-width:100vw!important}}

/* Sprint 4.9 — UI Fix, Logo, Scroll and Time Plan Modal */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap');
:root{
  --font:'Space Grotesk',system-ui,sans-serif;
  --navy:#0C1A45;
  --blue:#3B82F6;
  --amber:#F59E0B;
  --page-bg:#F8FAFC;
  --card-bg:#FFFFFF;
  --border-color:#E2E8F0;
  --input-border-color:#D1D5DB;
}
html,body,#root,button,input,select,textarea{font-family:var(--font)!important}
body{background:var(--page-bg)}
.sidebar{background:#0C1A45!important;border-right:0!important;box-shadow:none!important}
.user-avatar{background:#0C1A45!important}
.s47-login-brand{background:#0C1A45!important;box-shadow:none!important}
.s47-login-shell,.summary-card,.schedule-board-card,.issue-list-panel,.s47-backend-strip,
.s47-output-drawer,.s47-paper,.s47-brand-drawer,.s47-audit-drawer,.s48-time-drawer{box-shadow:none!important}

/* Central logo rendering and fallback */
.s481-brand-image-wrap{display:inline-flex;align-items:center;min-width:0;color:inherit}
.s481-brand-image-wrap>img{display:block;max-width:100%;object-fit:contain}
.s481-brand-fallback{display:none;font-size:18px;font-weight:700;letter-spacing:-.02em;color:inherit;white-space:nowrap}
.s47-approved-brand{height:64px;padding:0 9px 18px!important;align-items:center!important}
.s47-approved-brand .s481-brand-image-wrap{width:100%}
.s47-approved-brand .s47-navbar-logo{width:188px;height:44px;object-position:left center}
.s47-login-brand .s481-brand-image-wrap{width:260px}
.s47-login-logo{width:260px!important;height:84px!important;object-position:left center!important}
.s47-system-preview-logo{width:118px;height:34px;object-position:left center}
.s47-brand-summary .s481-brand-image-wrap{width:130px;flex:0 0 130px}
.s47-brand-summary-logo{width:130px;height:38px;object-position:left center}

/* FIX-1: toolbar labels never clip */
.s47-backend-strip{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) auto minmax(0,max-content)!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px 16px!important;
  border:1px solid #BBF7D0!important;
  border-radius:8px!important;
  background:#F0FDF4!important;
}
.s47-backend-strip>div:first-child{min-width:0;display:grid!important;grid-template-columns:auto auto!important;column-gap:8px!important}
.s47-backend-strip small{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.35!important}
.toolbar-actions,.s47-strip-actions{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  align-items:center!important;
  overflow-x:auto!important;
  max-width:100%!important;
  scrollbar-width:thin;
}
.toolbar-btn,.s47-backend-strip .toolbar-btn{
  white-space:nowrap!important;
  min-width:max-content!important;
  width:auto!important;
  padding:0 16px!important;
  height:34px!important;
  min-height:34px!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1!important;
  flex:0 0 auto!important;
  border-radius:6px!important;
}
@media(max-width:1180px){
  .s47-backend-strip{grid-template-columns:minmax(220px,1fr) minmax(0,1.4fr)!important}
  .s47-mode-pills{display:none!important}
}

/* FIX-3: native, independent output scrolling */
body.s47-output-open{overflow:hidden!important;padding-right:0!important}
.program-ciktilari-page.s47-output-overlay{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  overflow:hidden!important;
  background:#F8FAFC!important;
  padding:0!important;
}
.program-ciktilari-page .s47-output-drawer{
  width:100vw!important;
  height:100dvh!important;
  min-height:0!important;
  max-height:100dvh!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border-radius:0!important;
  margin:0!important;
}
.program-ciktilari-page .s47-output-drawer>header{flex:0 0 76px!important;height:76px!important;min-height:76px!important}
.program-ciktilari-page .s47-output-layout{
  flex:1 1 auto!important;
  display:grid!important;
  grid-template-columns:330px minmax(850px,1fr)!important;
  height:calc(100dvh - 76px)!important;
  min-height:0!important;
  overflow:hidden!important;
}
.program-ciktilari-page .s47-output-controls{
  position:relative!important;
  inset:auto!important;
  height:calc(100dvh - 76px)!important;
  min-height:0!important;
  max-height:calc(100dvh - 76px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
}
.program-ciktilari-page .s47-output-preview{
  position:relative!important;
  height:calc(100dvh - 76px)!important;
  min-height:0!important;
  max-height:calc(100dvh - 76px)!important;
  overflow-y:auto!important;
  overflow-x:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable both-edges!important;
  -webkit-overflow-scrolling:touch;
  background:#EEF1F6!important;
}
.program-ciktilari-page .s47-output-preview:focus-visible{outline:2px solid rgba(59,130,246,.35)!important;outline-offset:-2px!important}
.program-ciktilari-page .s47-output-preview-bar{position:sticky!important;top:0!important;z-index:10!important}
.program-ciktilari-page .s47-paper-stage{
  display:block!important;
  width:max(100%,900px)!important;
  min-height:max-content!important;
  height:auto!important;
  overflow:visible!important;
  padding:24px 28px 180px!important;
}
.program-ciktilari-page .s47-paper{margin:0 auto 56px!important}
.program-ciktilari-page .s47-output-preview::-webkit-scrollbar,
.program-ciktilari-page .s47-output-controls::-webkit-scrollbar{width:12px;height:12px}
.program-ciktilari-page .s47-output-preview::-webkit-scrollbar-thumb,
.program-ciktilari-page .s47-output-controls::-webkit-scrollbar-thumb{background:#94A3B8;border:3px solid transparent;background-clip:padding-box;border-radius:8px}
.program-ciktilari-page .s47-output-preview::-webkit-scrollbar-track,
.program-ciktilari-page .s47-output-controls::-webkit-scrollbar-track{background:#E2E8F0}
.s47-schedule-table td.empty{color:transparent!important;font-size:0!important}
.s47-schedule-table td.empty.blank{background:#FFFFFF!important;background-image:none!important}
.s47-schedule-table td.empty.hatched{
  background-color:#FAFAFA!important;
  background-image:repeating-linear-gradient(45deg,#F3F4F6 0,#F3F4F6 1px,transparent 1px,transparent 6px)!important;
}
@media(max-width:900px){
  .program-ciktilari-page .s47-output-layout{grid-template-columns:280px minmax(760px,1fr)!important}
}

/* FIX-5: 880px centered time plan modal */
body.s48-time-open{overflow:hidden!important;padding-right:0!important}
.s48-time-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:10000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  background:rgba(30,41,59,.95)!important;
  backdrop-filter:none!important;
}
.s48-time-drawer{
  width:880px!important;
  max-width:calc(100vw - 48px)!important;
  height:auto!important;
  max-height:92vh!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  color:#0C1A45!important;
  background:#FFFFFF!important;
  border:.5px solid #E2E8F0!important;
  border-radius:14px!important;
}
.s48-time-header{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:20px!important;
  padding:24px 28px 20px!important;
  background:#FFFFFF!important;
  border-bottom:.5px solid #F1F5F9!important;
}
.s48-time-title-stack{display:grid;gap:0}
.s48-sprint-row{display:flex;align-items:center;gap:6px;margin-bottom:7px}
.s48-sprint-row i{display:block;width:5px;height:5px;border-radius:50%;background:#3B82F6}
.s48-sprint-row span{font-size:10px!important;font-weight:600!important;letter-spacing:.08em!important;color:#3B82F6!important;text-transform:uppercase}
.s48-time-header h2{margin:0 0 4px!important;font-size:22px!important;line-height:1.2!important;font-weight:700!important;letter-spacing:-.5px!important;color:#0C1A45!important}
.s48-time-header p{margin:0!important;font-size:12.5px!important;font-weight:300!important;color:#94A3B8!important}
.s48-time-close{
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  border:1px solid #D7E0EE!important;
  border-radius:14px!important;
  background:#FFFFFF!important;
  color:#52647F!important;
  font-size:22px!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:0 8px 22px rgba(12,26,69,.08)!important;
  transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease!important;
}
.s48-time-close:hover{border-color:#8FB0E7!important;background:#F7FAFF!important;color:#174EA6!important;transform:translateY(-1px);box-shadow:0 11px 26px rgba(22,75,154,.13)!important}
.s48-time-body{display:flex!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important}
.s48-time-form-column{
  flex:1 1 auto!important;
  min-width:0!important;
  padding:22px 24px!important;
  border-right:.5px solid #F1F5F9!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
}
.s48-time-preview-column{
  width:300px!important;
  flex:0 0 300px!important;
  min-width:300px!important;
  padding:20px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  background:#F8FAFC!important;
}
.s48-time-readonly{margin:0 0 18px!important;border:.5px solid #FCD34D!important;border-radius:8px!important;background:#FFFBEB!important}
.s48-form-section+.s48-form-section{margin-top:22px!important}
.s48-section-label{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding-left:9px!important;
  border-left:2px solid #3B82F6!important;
}
.s48-section-label span{font-size:10px!important;font-weight:600!important;letter-spacing:.07em!important;color:#3B82F6!important;text-transform:uppercase!important}
.s48-section-label small{font-size:10.5px!important;font-weight:300!important;color:#CBD5E1!important;white-space:nowrap!important}
.s48-form-section>h3,.s48-time-preview-column>h3{margin:6px 0 13px!important;font-size:14px!important;font-weight:600!important;letter-spacing:0!important;color:#0C1A45!important}
.s48-field-grid{display:grid!important;grid-template-columns:repeat(3,minmax(100px,1fr))!important;gap:10px!important}
.s48-field-grid label,.s48-day-grid label{display:grid!important;gap:6px!important;min-width:0!important;color:#64748B!important;font-size:11px!important;font-weight:500!important}
.s48-field-grid input,.s48-field-grid select,.s48-day-grid select{
  width:100%!important;
  min-width:100px!important;
  height:36px!important;
  padding:0 10px!important;
  border:.5px solid #D1D5DB!important;
  border-radius:6px!important;
  background:#FFFFFF!important;
  color:#1E293B!important;
  font-size:13px!important;
  font-weight:400!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.s48-field-grid select[data-time-field="maxPeriods"]{min-width:120px!important}
.s48-input-icon{position:relative!important;min-width:0!important}
.s48-input-icon input{padding-right:34px!important}
.s48-input-icon b{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:14px;font-weight:400;color:#9CA3AF;pointer-events:none}
.s48-inline-unit{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important}
.s48-inline-unit input{min-width:0!important}
.s48-inline-unit em{font-size:12px;font-style:normal;color:#9CA3AF;white-space:nowrap}
.s48-day-grid{display:grid!important;grid-template-columns:repeat(5,minmax(90px,1fr))!important;gap:8px!important}
.s48-day-grid label{padding:0!important;border:0!important;background:transparent!important;text-align:center!important}
.s48-day-grid label>span{display:block!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;text-align:center!important}
.s48-day-grid select{min-width:90px!important;width:100%!important}
.s48-break-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.s48-break-card{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:52px!important;
  padding:10px 12px!important;
  border:.5px solid #E2E8F0!important;
  border-radius:8px!important;
  background:#FFFFFF!important;
}
.s48-break-card>span{flex:1 1 auto!important;min-width:0!important}
.s48-break-card b{display:block!important;color:#374151!important;font-size:12.5px!important;font-weight:500!important;white-space:nowrap!important}
.s48-break-card small{display:block!important;margin-top:2px!important;color:#9CA3AF!important;font-size:11px!important;font-weight:300!important;line-height:1.3!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.s48-break-card .s48-number-field{display:flex!important;align-items:center!important;gap:4px!important;width:auto!important;flex:0 0 auto!important}
.s48-break-card .s48-number-field input{
  width:44px!important;height:30px!important;padding:0!important;text-align:center!important;
  border:.5px solid #D1D5DB!important;border-radius:5px!important;background:#F8FAFC!important;
  color:#0C1A45!important;font-size:13px!important;font-weight:500!important;
}
.s48-break-card .s48-number-field em{position:static!important;transform:none!important;color:#9CA3AF!important;font-size:11px!important}
.s48-break-card.lunch{border-left:3px solid #F59E0B!important;background:#FFFDF5!important}
.s48-break-card.lunch .s48-number-field input{background:#FFFBEB!important;border-color:#FCD34D!important;color:#D97706!important}
.s48-time-preview{display:block!important;border:0!important;border-radius:0!important;overflow:visible!important;background:transparent!important}
.s48-preview-period{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:0!important;
  padding:8px 0!important;
  border:0!important;
  border-bottom:.5px solid #F1F5F9!important;
  background:transparent!important;
}
.s48-preview-period>span{
  display:grid!important;place-items:center!important;width:22px!important;height:22px!important;min-width:22px!important;
  border-radius:50%!important;background:#0C1A45!important;color:#FFFFFF!important;font-size:10px!important;font-weight:600!important;
}
.s48-preview-period.is-end>span{background:#E2E8F0!important;color:#64748B!important}
.s48-preview-period>div{flex:1 1 auto!important;min-width:0!important}
.s48-preview-period strong{display:block!important;color:#0C1A45!important;font-size:12px!important;font-weight:500!important}
.s48-preview-period small{display:block!important;margin-top:1px!important;color:#94A3B8!important;font-size:10.5px!important;font-weight:300!important}
.s48-preview-period em{
  display:inline-flex!important;align-items:center!important;height:20px!important;padding:2px 7px!important;border-radius:20px!important;
  white-space:nowrap!important;font-size:10px!important;font-style:normal!important;font-weight:400!important;
}
.s48-preview-period em.normal{border:.5px solid #D1D5DB!important;color:#9CA3AF!important;background:#FFFFFF!important}
.s48-preview-period em.lunch{border:.5px solid #FCD34D!important;color:#D97706!important;background:#FFFBEB!important;font-weight:500!important}
.s48-preview-period em.end{border:.5px solid #0C1A45!important;color:#FFFFFF!important;background:#0C1A45!important;font-weight:500!important}
.s48-time-footer{
  flex:0 0 auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;
  padding:14px 28px!important;border-top:.5px solid #F1F5F9!important;background:#FFFFFF!important;
}
.s48-time-footer strong{display:block!important;color:#374151!important;font-size:12px!important;font-weight:500!important}
.s48-time-footer small{display:block!important;margin-top:2px!important;color:#9CA3AF!important;font-size:11px!important;font-weight:300!important}
.s48-time-footer button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;height:36px!important;
  padding:0 20px!important;border:0!important;border-radius:8px!important;background:#0C1A45!important;color:#FFFFFF!important;
  font-size:13px!important;font-weight:500!important;white-space:nowrap!important;cursor:pointer!important;
}
.s48-time-footer button:disabled{opacity:.45!important;cursor:not-allowed!important}
@media(max-width:940px){
  .s48-time-overlay{padding:0!important;align-items:stretch!important}
  .s48-time-drawer{width:100vw!important;max-width:100vw!important;max-height:100dvh!important;border-radius:0!important}
}
@media(max-width:760px){
  .s48-time-body{display:block!important;overflow-y:auto!important}
  .s48-time-form-column,.s48-time-preview-column{width:auto!important;min-width:0!important;overflow:visible!important;border-right:0!important}
  .s48-field-grid{grid-template-columns:1fr!important}
  .s48-day-grid{grid-template-columns:repeat(2,minmax(100px,1fr))!important}
  .s48-break-list{grid-template-columns:1fr!important}
  .s48-time-footer{align-items:flex-start!important;flex-direction:column!important}
  .s48-time-footer button{width:100%!important}
}

/* Sprint 4.9 — cache-safe logo and native select text visibility fixes */
.s48-day-grid{
  grid-template-columns:repeat(5,minmax(94px,1fr))!important;
}
.s48-day-grid label{
  min-width:94px!important;
  overflow:visible!important;
}
.s48-day-grid label>span{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}
.s48-day-grid select,
.s48-field-grid select{
  -webkit-appearance:none!important;
  appearance:none!important;
  min-width:0!important;
  padding-left:10px!important;
  padding-right:30px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  background-color:#FFFFFF!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 9px center!important;
  background-size:14px 14px!important;
}
.s48-day-grid select{
  width:100%!important;
  min-width:94px!important;
  font-size:12px!important;
}
.s48-field-grid select[data-time-field="maxPeriods"]{
  min-width:120px!important;
}
.s47-approved-brand .s481-brand-image-wrap,
.s47-approved-brand .s47-navbar-logo{
  overflow:visible!important;
}
.s47-approved-brand .s47-navbar-logo{
  display:block!important;
  width:188px!important;
  height:44px!important;
}
.toolbar-actions .toolbar-btn,
.s47-strip-actions .toolbar-btn{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
@media(max-width:940px){
  .s48-day-grid{grid-template-columns:repeat(5,minmax(94px,1fr))!important;overflow-x:auto!important;padding-bottom:4px!important}
}


/* Sprint 4.9 — Kullanıcı tarafından sağlanan onaylı PNG logo seti */
.brand.s47-approved-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  height:64px!important;
  min-height:64px!important;
  padding:0 20px!important;
  margin:0 0 16px!important;
  overflow:hidden!important;
}
.s47-approved-brand .s481-brand-image-wrap{
  display:flex!important;
  align-items:center!important;
  width:200px!important;
  max-width:200px!important;
  height:36px!important;
  flex:0 0 200px!important;
  overflow:hidden!important;
}
.s47-approved-brand .s47-navbar-logo{
  display:block!important;
  width:200px!important;
  max-width:200px!important;
  height:auto!important;
  max-height:36px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.s47-login-brand .s481-brand-image-wrap{width:360px!important;max-width:90%!important}
.s47-login-logo{width:360px!important;height:auto!important;max-height:118px!important;object-fit:contain!important;object-position:left center!important}
.s47-sprint-badge{color:#0F1A35!important;background:#F2E7C8!important;border:1px solid #D9C081!important}
.s47-login-panel input:focus{border-color:#C0392B!important;box-shadow:0 0 0 3px rgba(192,57,43,.12)!important}
.s47-demo-note{grid-template-columns:1fr!important;gap:6px!important;background:#F7F4EE!important;border:1px solid #DED8CB!important}
.s47-demo-note strong{grid-row:auto!important;color:#0F1A35!important}
.s47-demo-note span{color:#5D6473;font-size:12px;line-height:1.45}
.s47-paper-logos .system-logo{width:185px!important;height:auto!important;max-height:60px!important;object-fit:contain!important;object-position:left center!important}
.s47-brand-summary .s481-brand-image-wrap{width:165px!important;flex:0 0 165px!important}
.s47-brand-summary-logo{width:165px!important;height:auto!important;max-height:54px!important;object-fit:contain!important;object-position:left center!important}
.s47-system-preview-logo{width:145px!important;height:auto!important;max-height:47px!important;object-fit:contain!important;object-position:left center!important}
.s481-brand-fallback{display:none;font-weight:700;white-space:nowrap}
@media(max-width:760px){
  .brand.s47-approved-brand{padding:0 16px!important}
  .s47-approved-brand .s481-brand-image-wrap,.s47-approved-brand .s47-navbar-logo{width:184px!important;max-width:184px!important;flex-basis:184px!important}
}

/* Sprint 4.9 — Akademik veri ve kaynak yönetimi */
.s49-academic-overlay{position:fixed;inset:0;z-index:3700;background:rgba(12,26,69,.72);display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}
.s49-academic-drawer{width:min(1160px,calc(100vw - 48px));max-height:calc(100vh - 48px);background:#fff;border:1px solid #E2E8F0;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;color:#0C1A45}
.s49-academic-drawer>header{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;padding:22px 24px 18px;border-bottom:1px solid #F1F5F9}
.s49-academic-drawer>header span{font-size:10px;font-weight:700;letter-spacing:.08em;color:#3B82F6}.s49-academic-drawer>header h2{margin:5px 0 2px;font-size:22px;letter-spacing:-.03em}.s49-academic-drawer>header p{margin:0;color:#94A3B8;font-size:12px}
.s49-close{width:34px;height:34px;border-radius:50%;border:1px solid #E2E8F0;background:#fff;color:#64748B;font-size:20px}
.s49-school-profile{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:18px;padding:14px 24px;background:#F8FAFC;border-bottom:1px solid #E2E8F0}.s49-school-profile>div{display:flex;flex-direction:column;gap:3px}.s49-school-profile strong{font-size:13px}.s49-school-profile span{font-size:11px;color:#64748B}.s49-school-profile form{display:flex;align-items:end;gap:8px}.s49-school-profile label{display:flex;flex-direction:column;gap:4px;font-size:10px;color:#64748B}.s49-school-profile input{height:34px;min-width:180px;padding:0 10px;border:1px solid #D1D5DB;border-radius:6px;color:#0C1A45}.s49-school-profile button{height:34px;padding:0 14px;border:0;border-radius:6px;background:#0C1A45;color:#fff;font-size:12px;font-weight:600}
.s49-issues{display:flex;flex:0 0 auto;align-items:center;gap:10px;padding:9px 24px;border-bottom:1px solid #FDE68A;background:#FFFBEB;overflow:auto}.s49-issues strong{font-size:11px;color:#B45309;white-space:nowrap}.s49-issues span{font-size:10px;color:#92400E;white-space:nowrap}
.s49-tabs{display:flex;flex:0 0 auto;min-height:49px;gap:4px;padding:12px 24px 0;border-bottom:1px solid #E2E8F0;background:#fff;overflow-x:auto}.s49-tabs button{height:36px;padding:0 13px;border:0;border-bottom:2px solid transparent;background:transparent;color:#64748B;font-size:12px;font-weight:600;white-space:nowrap}.s49-tabs button.active{color:#0C1A45;border-bottom-color:#3B82F6}
.s49-academic-body{display:grid;flex:1 1 auto;grid-template-columns:minmax(0,1fr) 330px;min-height:0;overflow:hidden}.s49-list{min-height:0;padding:18px 20px;overflow-y:auto}.s49-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.s49-list-header>div{display:flex;flex-direction:column;gap:2px}.s49-list-header strong{font-size:15px}.s49-list-header span{font-size:10px;color:#94A3B8}.s49-list-header>span{padding:4px 7px;border:1px solid #E2E8F0;border-radius:20px;color:#64748B}
.s49-resource-list{display:flex;flex-direction:column;border:1px solid #E2E8F0;border-radius:9px;overflow:hidden}.s49-resource-row{display:grid;grid-template-columns:minmax(0,1fr) 64px auto;align-items:center;gap:10px;min-height:62px;padding:10px 12px;border-bottom:1px solid #F1F5F9;background:#fff}.s49-resource-row:last-child{border-bottom:0}.s49-resource-row:hover{background:#F8FAFC}.s49-resource-row.archived{opacity:.58}.s49-resource-main{display:flex;flex-direction:column;gap:3px;min-width:0}.s49-resource-main strong{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s49-resource-main span{font-size:10.5px;color:#64748B}.s49-missing{color:#DC2626!important}.s49-resource-status{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#64748B}.s49-resource-actions{display:flex;gap:5px}.s49-resource-actions button{height:28px;padding:0 8px;border:1px solid #D1D5DB;border-radius:5px;background:#fff;color:#0C1A45;font-size:10px}.s49-resource-actions button:last-child{color:#B91C1C}.s49-empty{padding:28px;text-align:center;color:#94A3B8;font-size:12px}
.s49-form-panel{padding:18px 20px;border-left:1px solid #E2E8F0;background:#F8FAFC;overflow-y:auto}.s49-form-panel>div>span{font-size:9px;font-weight:700;letter-spacing:.08em;color:#3B82F6}.s49-form-panel h3{margin:4px 0 2px;font-size:17px}.s49-form-panel p{margin:0 0 14px;font-size:10.5px;color:#64748B}.s49-item-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.s49-item-form label{display:flex;flex-direction:column;gap:5px;font-size:10.5px;font-weight:500;color:#64748B}.s49-item-form label.wide{grid-column:1/-1}.s49-item-form input,.s49-item-form select{width:100%;height:36px;padding:0 9px;border:1px solid #D1D5DB;border-radius:6px;background:#fff;color:#1E293B;font-size:12px;min-width:0}.s49-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.s49-form-actions button{height:34px;padding:0 13px;border:1px solid #D1D5DB;border-radius:6px;background:#fff;color:#0C1A45;font-size:11px;font-weight:600}.s49-form-actions button.primary{background:#0C1A45;color:#fff;border-color:#0C1A45}
.s49-item-form .s636-delivery-optin{min-height:44px;flex-direction:row;align-items:center;justify-content:space-between;padding:9px 11px;border:1px solid #BFDBFE;border-radius:7px;background:#EFF6FF;color:#0C1A45;font-weight:700}.s49-item-form .s636-delivery-optin input{width:18px;height:18px;flex:none}.s49-form-panel .s636-privacy-note{grid-column:1/-1;margin:-2px 0 2px;padding:8px 10px;border-left:3px solid #10B981;background:#ECFDF5;color:#476458;line-height:1.45}
.s49-item-form select.s636-delivery-channel{padding-left:9px!important;padding-right:31px!important;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background-position:right 9px center!important}
.s640-head-actions{display:flex;align-items:center;gap:10px}.s640-head-actions>#s640-open-import{height:34px;padding:0 13px;border:1px solid #2563EB;border-radius:6px;background:#EFF6FF;color:#1D4ED8;font-size:11px;font-weight:700}.s640-head-actions .s49-close{flex:0 0 auto}
.s49-academic-drawer:has(.s640-import-panel){width:min(1420px,calc(100vw - 32px));height:min(920px,calc(100dvh - 32px));max-height:calc(100dvh - 32px)}
.s640-import-panel{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px 24px 28px;background:#F8FAFC;overscroll-behavior:contain;scrollbar-gutter:stable}.s640-import-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.s640-import-hero>div>span,.s640-import-history>div>span{font-size:9px;font-weight:800;letter-spacing:.09em;color:#2563EB}.s640-import-hero h3{margin:4px 0 3px;font-size:22px;letter-spacing:-.03em}.s640-import-hero p{margin:0;color:#64748B;font-size:11px}.s640-import-hero>button{height:34px;padding:0 12px;border:1px solid #CBD5E1;border-radius:6px;background:#fff;color:#0C1A45;font-size:10.5px;font-weight:600;white-space:nowrap}
.s640-import-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.s640-upload-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:82px;padding:13px 14px;border:1px solid #E2E8F0;border-radius:9px;background:#fff}.s640-step{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#EAF1FF;color:#1D4ED8;font-size:14px;font-weight:800}.s640-upload-card>div:nth-child(2){display:flex;flex-direction:column;gap:3px}.s640-upload-card strong{font-size:12px}.s640-upload-card p{margin:0;color:#64748B;font-size:9.5px;line-height:1.4}.s640-upload-card>button,.s640-file-button{display:flex;align-items:center;justify-content:center;height:34px;padding:0 12px;border:1px solid #2563EB;border-radius:6px;background:#EFF6FF;color:#1D4ED8;font-size:10px;font-weight:700;white-space:nowrap;cursor:pointer}.s640-file-button input{display:none}
.s640-import-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:14px 0}.s640-import-metrics article{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:10px 13px;border:1px solid #E2E8F0;border-radius:8px;background:#fff}.s640-import-metrics span{font-size:8.5px;font-weight:700;letter-spacing:.06em;color:#64748B}.s640-import-metrics strong{font-size:23px}.s640-import-metrics article.good strong{color:#059669}.s640-import-metrics article.update strong{color:#7C3AED}.s640-import-metrics article.bad strong{color:#DC2626}
.s642-import-assistant{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px;padding:11px 12px;border:1px solid #C7D2FE;border-radius:8px;background:#EEF2FF}.s642-import-assistant>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.s642-import-assistant strong{font-size:11px}.s642-import-assistant span{color:#64748B;font-size:9px;line-height:1.35}.s642-filter-buttons{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.s642-filter-buttons button{height:29px;padding:0 9px;border:1px solid #CBD5E1;border-radius:5px;background:#fff;color:#475569;font-size:9px;font-weight:700;white-space:nowrap}.s642-filter-buttons button.active{border-color:#2563EB;background:#2563EB;color:#fff}.s642-filter-buttons button b{margin-left:3px}.s642-filter-buttons #s642-download-report{border-color:#7C3AED;color:#6D28D9;background:#FAF5FF}.s642-filter-buttons #s642-download-report:disabled{opacity:.4;cursor:not-allowed}.s642-filter-empty{margin:0;padding:22px;text-align:center;color:#64748B;font-size:10px}
.s640-import-table{overflow:hidden;border:1px solid #E2E8F0;border-radius:9px;background:#fff}.s640-import-table-head,.s640-import-table-row{display:grid;grid-template-columns:55px minmax(210px,.9fr) 115px minmax(250px,1.4fr);align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid #F1F5F9}.s640-import-table-head{position:sticky;top:-20px;z-index:2;background:#F1F5F9;color:#64748B;font-size:8.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.s640-import-table-row:last-child{border-bottom:0}.s640-import-table-row.bad{background:#FFF7F7}.s640-import-table-row>span:first-child{color:#64748B;font-size:10px}.s640-import-table-row>strong{font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s640-import-table-row>small{color:#64748B;font-size:9.5px;line-height:1.35}.s640-status{justify-self:start;padding:4px 7px;border-radius:20px;background:#EFF6FF;color:#1D4ED8;font-size:8.5px!important;font-weight:700}.s640-status.error{background:#FEE2E2;color:#B91C1C}.s640-status.match{background:#F1F5F9;color:#475569}.s640-status.update{background:#F3E8FF;color:#7E22CE}.s640-status.restore{background:#FEF3C7;color:#92400E}.s640-row-limit{margin:0;padding:9px 12px;background:#FFFBEB;color:#92400E;font-size:9.5px}
.s640-import-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:13px 14px;border:1px solid #BFDBFE;border-radius:9px;background:#EFF6FF}.s640-import-actions>div{display:flex;flex-direction:column;gap:3px}.s640-import-actions strong{font-size:11.5px}.s640-import-actions span{color:#64748B;font-size:9.5px}.s640-import-actions button.primary{height:38px;padding:0 16px;border:0;border-radius:6px;background:#0C1A45;color:#fff;font-size:11px;font-weight:700;white-space:nowrap}.s640-import-actions button:disabled{opacity:.45;cursor:not-allowed}
.s640-import-history{margin-top:16px;padding:15px;border:1px solid #E2E8F0;border-radius:9px;background:#fff}.s640-import-history h4{margin:4px 0 10px;font-size:15px}.s640-history-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid #F1F5F9}.s640-history-row>div{display:flex;flex-direction:column;gap:3px}.s640-history-row strong{font-size:10.5px}.s640-history-row span,.s640-empty-history{color:#64748B;font-size:9.5px}.s640-history-row button{height:29px;padding:0 10px;border:1px solid #FCA5A5;border-radius:5px;background:#fff;color:#B91C1C;font-size:9.5px;font-weight:600}.s640-history-row button:disabled{opacity:.4;cursor:not-allowed}.s640-empty-history{margin:0;padding:10px 0;border-top:1px solid #F1F5F9}
.s641-readiness{margin-top:12px;border:1px solid #BFDBFE;border-radius:9px;background:#fff;overflow:hidden}.s641-readiness.blocked{border-color:#FCA5A5}.s641-readiness.attention{border-color:#FCD34D}.s641-readiness.ready{border-color:#86EFAC}.s641-readiness-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 14px;background:#F8FAFC}.s641-readiness-head>div{display:flex;flex-direction:column;gap:3px}.s641-readiness-head span{color:#2563EB;font-size:8.5px;font-weight:800;letter-spacing:.08em}.s641-readiness-head h4{margin:0;font-size:15px}.s641-readiness-head p{margin:0;color:#64748B;font-size:9.5px}.s641-readiness-head>strong{padding:6px 9px;border-radius:20px;background:#DCFCE7;color:#166534;font-size:9px;white-space:nowrap}.s641-readiness.blocked .s641-readiness-head>strong{background:#FEE2E2;color:#B91C1C}.s641-readiness.attention .s641-readiness-head>strong{background:#FEF3C7;color:#92400E}.s641-readiness-counts{display:flex;gap:16px;padding:9px 14px;border-top:1px solid #E2E8F0;border-bottom:1px solid #E2E8F0}.s641-readiness-counts span{color:#64748B;font-size:9.5px}.s641-readiness-counts b{color:#0C1A45;font-size:13px}.s641-readiness-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid #F1F5F9}.s641-readiness-list article:last-child{border-bottom:0}.s641-readiness-list article>div{display:flex;align-items:center;gap:10px;min-width:0}.s641-readiness-list article b{min-width:44px;color:#B91C1C;font-size:8.5px;text-transform:uppercase}.s641-readiness-list article.warning b{color:#92400E}.s641-readiness-list article span{color:#334155;font-size:9.5px;line-height:1.35}.s641-readiness-list button{height:28px;padding:0 10px;border:1px solid #93C5FD;border-radius:5px;background:#EFF6FF;color:#1D4ED8;font-size:9px;font-weight:700;white-space:nowrap}.s641-readiness-empty{padding:14px;color:#166534;font-size:10px;background:#F0FDF4}
.s49-academic-drawer>footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;padding:10px 24px;border-top:1px solid #E2E8F0;background:#fff;color:#64748B;font-size:10px}.s49-academic-drawer>footer b{font-size:9px;letter-spacing:.06em;color:#0C1A45}
.s49-signatures{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin:14px 42px 8px;padding-top:8px}.s49-signatures>div{text-align:center;display:flex;flex-direction:column;align-items:center}.s49-signatures span{font-size:7px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#52627B}.s49-sign-line{width:150px;height:24px;border-bottom:1px solid #94A3B8;margin-bottom:4px}.s49-signatures strong{font-size:8px;color:#0C1A45}.s49-signatures small{font-size:6px;color:#94A3B8;margin-top:2px}
@media(max-width:1000px){.s49-academic-overlay{padding:0}.s49-academic-drawer{width:100vw;max-height:100vh;border-radius:0}.s49-school-profile{align-items:flex-start;flex-direction:column}.s49-school-profile form{width:100%;flex-wrap:wrap}.s49-academic-body{grid-template-columns:1fr}.s49-form-panel{border-left:0;border-top:1px solid #E2E8F0}.s49-list{max-height:45vh}.s49-signatures{gap:30px;margin-left:15px;margin-right:15px}}
@media(max-width:900px){.s49-academic-drawer:has(.s640-import-panel){width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.s640-import-grid{grid-template-columns:1fr}.s640-import-metrics{grid-template-columns:1fr 1fr}.s642-import-assistant{align-items:flex-start;flex-direction:column}.s642-filter-buttons{justify-content:flex-start}.s640-import-table{overflow-x:auto}.s640-import-table-head,.s640-import-table-row{min-width:760px}.s640-head-actions>#s640-open-import{max-width:118px;overflow:hidden;text-overflow:ellipsis}.s640-import-panel{padding:16px}.s640-import-hero{align-items:center}.s640-upload-card{grid-template-columns:34px minmax(0,1fr)}.s640-upload-card>button,.s640-file-button{grid-column:2}.s640-import-actions{align-items:flex-start;flex-direction:column}.s640-import-actions button.primary{width:100%}}

/* Sprint 4.11 — Öğretmen uygunluğu ve kesin kısıt yönetimi */
.s410-constraint-overlay{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(12,26,69,.78);overflow:auto}
.s410-constraint-drawer{width:min(1240px,calc(100vw - 44px));max-height:calc(100vh - 44px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #E2E8F0;border-radius:12px;color:#0C1A45}
.s410-constraint-drawer>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 24px 17px;border-bottom:1px solid #F1F5F9;background:#fff}
.s410-constraint-drawer>header span,.s410-main-head>div>span,.s410-rules-title>span,.s410-audit-box>span{font-size:9.5px;font-weight:700;letter-spacing:.08em;color:#3B82F6;text-transform:uppercase}
.s410-constraint-drawer>header h2{margin:5px 0 2px;font-size:22px;line-height:1.2;letter-spacing:-.03em}.s410-constraint-drawer>header p{margin:0;color:#94A3B8;font-size:12px}
.s410-close{display:grid;place-items:center;width:34px;height:34px;min-width:34px;border:1px solid #E2E8F0;border-radius:50%;background:#fff;color:#64748B;font-size:19px;cursor:pointer}
.s410-policy{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 24px;border-bottom:1px solid #F1F5F9;background:#F8FAFC}.s410-policy>div{display:flex;align-items:center;gap:8px;min-width:0}.s410-policy i{width:7px;height:7px;border-radius:50%;background:#DC2626;flex:0 0 auto}.s410-policy strong{font-size:11.5px;white-space:nowrap}.s410-policy span{font-size:10.5px;color:#64748B;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s410-policy>b{padding:4px 7px;border:1px solid #CBD5E1;border-radius:4px;color:#475569;background:#fff;font-size:8.5px;letter-spacing:.06em;white-space:nowrap}
.s410-layout{display:grid;grid-template-columns:230px minmax(0,1fr) 295px;min-height:510px;overflow:hidden}
.s410-teacher-panel{padding:16px 12px;border-right:1px solid #E2E8F0;background:#F8FAFC;overflow-y:auto}.s410-panel-title{display:flex;align-items:center;justify-content:space-between;padding:0 7px 10px}.s410-panel-title strong{font-size:13px}.s410-panel-title span{font-size:9.5px;color:#94A3B8}.s410-teacher-list{display:flex;flex-direction:column;gap:5px}
.s410-teacher-item{display:grid;grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:9px;width:100%;min-height:54px;padding:8px;border:1px solid transparent;border-radius:8px;background:transparent;text-align:left;cursor:pointer}.s410-teacher-item:hover{background:#fff;border-color:#E2E8F0}.s410-teacher-item.active{background:#fff;border-color:#3B82F6}.s410-teacher-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:7px;background:#EAF1FF;color:#1D4ED8;font-size:10px;font-weight:700}.s410-teacher-item>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:2px}.s410-teacher-item strong{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s410-teacher-item small{font-size:9.5px;color:#64748B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s410-teacher-item em{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#FEE2E2;color:#B91C1C;font-size:9px;font-weight:700;font-style:normal}
.s410-main{min-width:0;padding:17px 18px;overflow:auto;background:#fff}.s410-main-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:13px}.s410-main-head h3{margin:3px 0 2px;font-size:18px}.s410-main-head p{margin:0;font-size:10.5px;color:#64748B}.s410-summary-pills{display:flex;gap:6px}.s410-summary-pills span{padding:5px 8px;border-radius:20px;font-size:9.5px;font-weight:600;white-space:nowrap}.s410-summary-pills .hard{color:#B91C1C;background:#FEF2F2;border:1px solid #FECACA}.s410-summary-pills .preferred{color:#1D4ED8;background:#EFF6FF;border:1px solid #BFDBFE}
.s410-mode-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:8px 10px;border:1px solid #E2E8F0;border-radius:8px;background:#F8FAFC}.s410-mode-bar>span{font-size:10px;color:#64748B}.s410-mode-bar>div{display:flex;gap:5px}.s410-mode-bar button{height:28px;padding:0 9px;border:1px solid #D1D5DB;border-radius:5px;background:#fff;color:#475569;font-size:9.5px;font-weight:600;white-space:nowrap}.s410-mode-bar button.active.hard{border-color:#EF4444;background:#FEF2F2;color:#B91C1C}.s410-mode-bar button.active.preferred{border-color:#3B82F6;background:#EFF6FF;color:#1D4ED8}.s410-mode-bar button.active:not(.hard):not(.preferred){border-color:#64748B;background:#F1F5F9;color:#0F172A}
.s410-availability-grid{display:grid;grid-template-columns:94px repeat(5,minmax(86px,1fr));border:1px solid #E2E8F0;border-radius:9px;overflow:hidden}.s410-grid-corner,.s410-grid-day,.s410-grid-period,.s410-slot{min-height:42px;border-right:1px solid #E2E8F0;border-bottom:1px solid #E2E8F0}.s410-grid-day{display:flex;min-height:68px;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:6px 4px;background:#F8FAFC;color:#475569;text-transform:uppercase;letter-spacing:.04em}.s410-grid-day strong{font-size:9.5px}.s410-grid-day button{width:calc(100% - 4px);min-height:25px;padding:3px 5px;border:1px solid #FCA5A5;border-radius:5px;background:#FFF7F7;color:#B91C1C;font:700 7.5px/1.15 'Space Grotesk',sans-serif;letter-spacing:0;text-transform:none;cursor:pointer}.s410-grid-day button:hover{border-color:#EF4444;background:#FEE2E2}.s410-grid-day button.closed{border-color:#B91C1C;background:#B91C1C;color:#fff}.s410-grid-day button:disabled{opacity:.5;cursor:not-allowed}.s410-grid-corner{display:grid;min-height:68px;place-items:center;background:#F8FAFC;color:#64748B;font-size:9px;font-weight:600}.s410-grid-period{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#F8FAFC}.s410-grid-period strong{font-size:10px}.s410-grid-period small{margin-top:2px;color:#94A3B8;font-size:8px}.s410-slot{position:relative;display:grid;place-items:center;padding:0;border-top:0;border-left:0;background:#fff;cursor:pointer}.s410-slot:nth-child(6n){border-right:0}.s410-slot span{width:18px;height:18px;border-radius:5px;border:1px solid #E2E8F0;background:#fff}.s410-slot:hover{background:#F8FAFC}.s410-slot.hard{background:#FFF7F7}.s410-slot.hard span{border-color:#EF4444;background:#EF4444}.s410-slot.hard span:after{content:'×';display:grid;place-items:center;color:#fff;font-size:14px;line-height:16px}.s410-slot.preferred{background:#F5F9FF}.s410-slot.preferred span{border-color:#3B82F6;background:#DBEAFE}.s410-slot.preferred span:after{content:'✓';display:grid;place-items:center;color:#1D4ED8;font-size:11px;font-weight:700;line-height:16px}.s410-slot.inactive{cursor:not-allowed;background:repeating-linear-gradient(135deg,#F1F5F9 0 1px,#fff 1px 6px)}
.s410-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:10px;color:#64748B;font-size:9px}.s410-legend span{display:flex;align-items:center;gap:5px}.s410-legend i{width:9px;height:9px;border-radius:3px;border:1px solid #D1D5DB;background:#fff}.s410-legend i.hard{border-color:#EF4444;background:#EF4444}.s410-legend i.preferred{border-color:#3B82F6;background:#DBEAFE}
.s410-rules-panel{padding:17px 16px;border-left:1px solid #E2E8F0;background:#F8FAFC;overflow-y:auto}.s410-rules-title h3{margin:4px 0 13px;font-size:15px}.s410-rules-panel form{display:flex;flex-direction:column;gap:9px}.s410-rule-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid #E2E8F0;border-radius:8px;background:#fff}.s410-rule-card>div{display:flex;flex-direction:column;gap:2px;min-width:0}.s410-rule-card>div>span{font-size:8px;font-weight:700;letter-spacing:.06em}.s410-rule-card.hard>div>span{color:#DC2626}.s410-rule-card.preference>div>span{color:#2563EB}.s410-rule-card strong{font-size:10.5px}.s410-rule-card small{font-size:8.5px;color:#94A3B8}.s410-rule-card select{width:92px;height:32px;padding:0 8px;border:1px solid #D1D5DB;border-radius:5px;background:#fff;color:#0C1A45;font-size:10px}.s410-note{display:flex;flex-direction:column;gap:5px;padding-top:4px;color:#475569;font-size:10px;font-weight:600}.s410-note textarea{min-height:82px;resize:vertical;padding:9px;border:1px solid #D1D5DB;border-radius:6px;background:#fff;color:#1E293B;font-size:10.5px;line-height:1.45}.s410-note small{color:#94A3B8;font-size:8.5px;font-weight:400}.s410-audit-box{margin-top:13px;padding:10px;border:1px dashed #CBD5E1;border-radius:7px;background:#fff}.s410-audit-box code{display:block;margin-top:5px;color:#475569;font-size:8px;word-break:break-all}
.s410-constraint-drawer>footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 24px;border-top:1px solid #E2E8F0;background:#fff}.s410-constraint-drawer>footer>div:first-child{display:flex;flex-direction:column;gap:2px}.s410-constraint-drawer>footer strong{font-size:11px}.s410-constraint-drawer>footer span{font-size:9.5px;color:#94A3B8}.s410-constraint-drawer>footer>div:last-child{display:flex;gap:8px}.s410-constraint-drawer>footer button{height:34px;padding:0 13px;border:1px solid #D1D5DB;border-radius:6px;background:#fff;color:#0C1A45;font-size:10.5px;font-weight:600;white-space:nowrap}.s410-constraint-drawer>footer button.primary{border-color:#0C1A45;background:#0C1A45;color:#fff}.s410-constraint-drawer button:disabled,.s410-constraint-drawer select:disabled,.s410-constraint-drawer textarea:disabled{opacity:.5;cursor:not-allowed}
.s410-empty,.s410-empty-main{padding:24px 12px;text-align:center;color:#94A3B8;font-size:11px}.s410-empty-main{display:grid;place-items:center;min-height:360px}
@media(max-width:1100px){.s410-constraint-overlay{padding:0}.s410-constraint-drawer{width:100vw;max-height:100vh;border-radius:0}.s410-layout{grid-template-columns:205px minmax(570px,1fr) 270px;overflow-x:auto}.s410-policy span{display:none}}
.s47-strip-actions.toolbar-actions{max-width:100%;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px}.s47-strip-actions.toolbar-actions .toolbar-btn{flex:0 0 auto}

/* Sprint 4.11 — Öğretmen kısıtları modal kaydırma ve sabit işlem çubuğu düzeltmesi */
.s410-constraint-overlay{
  padding:16px;
  overflow:hidden;
  overscroll-behavior:contain;
}
.s410-constraint-drawer{
  width:min(1240px,calc(100vw - 32px));
  height:min(860px,calc(100vh - 32px));
  height:min(860px,calc(100dvh - 32px));
  max-height:calc(100vh - 32px);
  max-height:calc(100dvh - 32px);
  min-height:0;
  overflow:hidden;
}
.s410-constraint-drawer>header,
.s410-policy,
.s410-constraint-drawer>footer{
  flex:0 0 auto;
}
.s410-layout{
  flex:1 1 auto;
  min-height:0;
  height:auto;
  overflow:hidden;
}
.s410-teacher-panel,
.s410-main,
.s410-rules-panel{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.s410-main{
  overflow-x:auto;
}
.s410-rules-panel{
  padding-bottom:24px;
}
.s410-constraint-drawer>footer{
  position:relative;
  z-index:5;
  min-height:62px;
  padding:12px 20px;
}
.s410-constraint-drawer>footer>div:last-child{
  flex:0 0 auto;
}
.s410-constraint-drawer>footer button{
  min-width:max-content;
  height:36px;
  padding:0 16px;
  font-size:11px;
}
@media(max-height:760px){
  .s410-constraint-overlay{padding:8px}
  .s410-constraint-drawer{height:calc(100vh - 16px);height:calc(100dvh - 16px);max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px)}
  .s410-constraint-drawer>header{padding-top:14px;padding-bottom:12px}
  .s410-policy{padding-top:8px;padding-bottom:8px}
  .s410-constraint-drawer>footer{min-height:56px;padding-top:9px;padding-bottom:9px}
}
@media(max-width:1100px){
  .s410-constraint-overlay{padding:0}
  .s410-constraint-drawer{width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border-radius:0}
  .s410-layout{grid-template-columns:205px minmax(570px,1fr) 270px;overflow-x:auto;overflow-y:hidden}
  .s410-constraint-drawer>footer{position:sticky;bottom:0}
}

/* Sprint 4.11 — Ders dağılımı, sabit dersler ve derslik kuralları */
.s411-rule-overlay{position:fixed;inset:0;z-index:1350;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(12,26,69,.80);overflow:auto}
.s411-rule-drawer{width:min(1320px,calc(100vw - 40px));height:min(900px,calc(100dvh - 40px));max-height:calc(100vh - 40px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border:.5px solid #E2E8F0;border-radius:12px;color:#0C1A45;box-shadow:none}
.s411-rule-drawer>header{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:19px 24px 16px;border-bottom:.5px solid #F1F5F9;background:#fff}
.s411-rule-drawer>header span,.s411-main-head>div>span,.s411-section-title>span,.s411-fixed-head span,.s411-fixed-note>span{font-size:9.5px;font-weight:700;letter-spacing:.08em;color:#3B82F6;text-transform:uppercase}
.s411-rule-drawer>header h2{margin:5px 0 2px;font-size:22px;line-height:1.2;letter-spacing:-.03em}.s411-rule-drawer>header p{margin:0;color:#94A3B8;font-size:12px}
.s411-close{width:32px;height:32px;border:.5px solid #E2E8F0;border-radius:50%;background:#fff;color:#64748B;font-size:18px;cursor:pointer}
.s411-policy{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 24px;border-bottom:.5px solid #D1FAE5;background:#F0FDF4}.s411-policy>div{display:flex;align-items:center;gap:8px;min-width:0}.s411-policy i{width:7px;height:7px;border-radius:50%;background:#10B981;flex:0 0 auto}.s411-policy strong{font-size:11.5px;white-space:nowrap}.s411-policy span{font-size:10px;color:#64748B;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s411-policy b{font-size:9px;letter-spacing:.06em;color:#0C1A45;border:.5px solid #BBF7D0;border-radius:4px;padding:4px 7px;white-space:nowrap}
.s411-layout{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:250px minmax(470px,1fr) 410px;overflow:hidden}
.s411-assignment-panel,.s411-main,.s411-fixed-panel{min-height:0;overflow-y:auto;overscroll-behavior:contain}
.s411-assignment-panel{padding:16px 14px;border-right:.5px solid #F1F5F9;background:#F8FAFC}.s411-panel-title{display:flex;align-items:center;justify-content:space-between;margin:0 4px 12px}.s411-panel-title strong{font-size:13px}.s411-panel-title span{font-size:9.5px;color:#94A3B8}.s411-assignment-list{display:flex;flex-direction:column;gap:7px}
.s411-assignment-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border:.5px solid #E2E8F0;border-radius:8px;background:#fff;color:#0C1A45;text-align:left;cursor:pointer}.s411-assignment-item:hover{border-color:#94A3B8}.s411-assignment-item.active{border-color:#0C1A45;background:#F5F7FF}.s411-assignment-item span{display:flex;flex-direction:column;gap:3px;min-width:0}.s411-assignment-item strong{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s411-assignment-item small{font-size:9.5px;color:#64748B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s411-assignment-item em{font-size:8.5px;font-style:normal;color:#3B82F6;background:#EFF6FF;border-radius:20px;padding:3px 6px;white-space:nowrap}.s411-assignment-item em.conflict{color:#B91C1C;background:#FEF2F2}
.s411-main{padding:18px 20px;background:#fff}.s411-main-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:.5px solid #F1F5F9}.s411-main-head h3{margin:4px 0 2px;font-size:17px;letter-spacing:-.02em}.s411-main-head p{margin:0;font-size:10px;color:#64748B}.s411-rule-pills{display:flex;gap:6px;align-items:center}.s411-rule-pills span{font-size:8.5px;border-radius:20px;padding:4px 7px;white-space:nowrap}.s411-rule-pills .hard{color:#B91C1C;background:#FEF2F2}.s411-rule-pills .preference{color:#1D4ED8;background:#EFF6FF}
#s411-rule-form{display:flex;flex-direction:column;gap:18px;padding-top:15px}.s411-section{display:flex;flex-direction:column;gap:10px}.s411-section-title{padding-left:8px;border-left:2px solid #3B82F6}.s411-section-title.preference{border-left-color:#8B5CF6}.s411-section-title.preference>span{color:#7C3AED}.s411-section-title h4{margin:4px 0 0;font-size:13.5px}.s411-two-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#s411-rule-form label{display:flex;flex-direction:column;gap:5px;font-size:10.5px;font-weight:600;color:#475569}#s411-rule-form select,#s411-rule-form textarea{width:100%;border:.5px solid #D1D5DB;border-radius:6px;background:#fff;color:#1E293B;font:500 11.5px 'Space Grotesk',system-ui,sans-serif;box-shadow:none}#s411-rule-form select{height:36px;padding:0 28px 0 10px;white-space:nowrap}#s411-rule-form textarea{min-height:76px;padding:10px;resize:vertical;line-height:1.4}#s411-rule-form small{font-size:9px;font-weight:400;color:#94A3B8;line-height:1.35}.s411-inline-field{max-width:220px}.s411-info-card{display:flex;align-items:center;min-height:64px;padding:10px 12px;border:.5px solid #E2E8F0;border-radius:8px;background:#F8FAFC;color:#64748B;font-size:10px}
.s411-day-preferences{display:flex;align-items:center;justify-content:space-between;gap:10px}.s411-day-preferences>span{font-size:10.5px;font-weight:600;color:#475569}.s411-day-preferences>div{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.s411-day-preferences button{height:28px;padding:0 8px;border:.5px solid #D1D5DB;border-radius:5px;background:#fff;color:#64748B;font-size:9.5px;cursor:pointer}.s411-day-preferences button.active{border-color:#3B82F6;background:#EFF6FF;color:#1D4ED8}.s411-checkbox{flex-direction:row!important;align-items:center;gap:7px!important}.s411-checkbox input{width:15px;height:15px;accent-color:#0C1A45}.s411-note{margin-top:1px}
.s411-fixed-panel{padding:18px 16px;background:#F8FAFC;border-left:.5px solid #F1F5F9}.s411-fixed-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.s411-fixed-head h3{margin:4px 0 2px;font-size:15px}.s411-fixed-head p{margin:0;color:#64748B;font-size:9.5px}.s411-fixed-head>strong{font-size:10px;color:#0C1A45;border:.5px solid #D1D5DB;border-radius:20px;background:#fff;padding:4px 7px;white-space:nowrap}
.s411-fixed-grid{display:grid;grid-template-columns:76px repeat(5,minmax(48px,1fr));border-top:.5px solid #E2E8F0;border-left:.5px solid #E2E8F0;background:#fff}.s411-grid-corner,.s411-grid-day,.s411-grid-period,.s411-fixed-slot{min-height:40px;border-right:.5px solid #E2E8F0;border-bottom:.5px solid #E2E8F0}.s411-grid-corner,.s411-grid-day{display:flex;align-items:center;justify-content:center;background:#F8FAFC;color:#64748B;font-size:8.5px;font-weight:700;text-transform:uppercase}.s411-grid-period{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:#F8FAFC}.s411-grid-period strong{font-size:9px}.s411-grid-period small{font-size:7.5px;color:#94A3B8}.s411-fixed-slot{display:flex;align-items:center;justify-content:center;padding:0;border-top:0;border-left:0;background:#fff;cursor:pointer}.s411-fixed-slot span{width:16px;height:16px;border:.5px solid #CBD5E1;border-radius:4px;background:#fff}.s411-fixed-slot:hover span{border-color:#3B82F6}.s411-fixed-slot.selected{background:#EFF6FF}.s411-fixed-slot.selected span{border-color:#0C1A45;background:#0C1A45;box-shadow:inset 0 0 0 4px #EFF6FF}.s411-fixed-slot.inactive{background:#F1F5F9;cursor:not-allowed}
.s411-fixed-note{margin-top:12px;padding:10px 11px;border:.5px dashed #CBD5E1;border-radius:8px;background:#fff;display:flex;flex-direction:column;gap:4px}.s411-fixed-note code{font-size:9px;color:#0C1A45}.s411-fixed-note small{font-size:8.5px;color:#94A3B8;line-height:1.4}
.s411-rule-drawer>footer{flex:0 0 auto;z-index:5;min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 24px;border-top:.5px solid #E2E8F0;background:#fff}.s411-rule-drawer>footer>div:first-child{display:flex;flex-direction:column;gap:2px}.s411-rule-drawer>footer strong{font-size:11px}.s411-rule-drawer>footer span{font-size:9.5px;color:#94A3B8}.s411-rule-drawer>footer>div:last-child{display:flex;gap:8px}.s411-rule-drawer>footer button{height:34px;padding:0 14px;border:.5px solid #D1D5DB;border-radius:6px;background:#fff;color:#0C1A45;font-size:10.5px;font-weight:600;white-space:nowrap;cursor:pointer}.s411-rule-drawer>footer button.primary{border-color:#0C1A45;background:#0C1A45;color:#fff}.s411-rule-drawer button:disabled,.s411-rule-drawer select:disabled,.s411-rule-drawer textarea:disabled{opacity:.5;cursor:not-allowed}.s411-empty,.s411-empty-main{padding:20px;text-align:center;color:#94A3B8;font-size:10.5px}
@media(max-width:1180px){.s411-rule-overlay{padding:8px}.s411-rule-drawer{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.s411-layout{grid-template-columns:220px minmax(450px,1fr) 380px;overflow-x:auto}.s411-policy span{display:none}}
@media(max-width:760px){.s411-rule-overlay{padding:0}.s411-rule-drawer{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.s411-rule-drawer>header{padding:14px 16px 12px}.s411-policy{padding:9px 16px}.s411-layout{grid-template-columns:190px minmax(430px,1fr) 350px}.s411-rule-drawer>footer{position:sticky;bottom:0;padding:9px 14px}.s411-rule-drawer>footer>div:first-child{display:none}}

/* Sprint 4.11.3 — Kararlı, çekirdekten ayrıştırılmış akıllı yoğunluk */
.s4113-view-controls{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;flex:0 0 auto}
.schedule-density-controls{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid #D1D5DB;border-radius:6px;background:#F8FAFC;flex:0 0 auto}
.schedule-density-controls button{display:inline-flex;height:28px;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:#64748B;font-size:10px;font-weight:600;white-space:nowrap;cursor:pointer}
.schedule-density-controls button:hover{color:#0C1A45;background:#fff}.schedule-density-controls button.active{color:#fff;background:#0C1A45}
.schedule-view-button{white-space:nowrap!important;gap:5px!important;flex:0 0 auto}.schedule-view-button b{font-size:14px;font-weight:500;line-height:1}.schedule-view-button.active{color:#fff!important;background:#0C1A45!important;border-color:#0C1A45!important}
.schedule-workspace.issue-panel-collapsed{grid-template-columns:minmax(0,1fr)!important}.schedule-workspace.issue-panel-collapsed .issue-list-panel{display:none!important}
.schedule-board-card.density-fit .period-header,.schedule-board-card.density-fit .schedule-cell,.schedule-board-card.is-fullscreen .period-header,.schedule-board-card.is-fullscreen .schedule-cell,.schedule-board-card.density-fit .s48-virtual-row .period-header,.schedule-board-card.density-fit .s48-virtual-row .schedule-cell,.schedule-board-card.is-fullscreen .s48-virtual-row .period-header,.schedule-board-card.is-fullscreen .s48-virtual-row .schedule-cell{min-height:var(--schedule-row-height,72px)!important;height:var(--schedule-row-height,72px)!important}
.schedule-board-card.density-fit .schedule-cell,.schedule-board-card.is-fullscreen .schedule-cell{overflow:hidden;gap:3px;padding:5px}.schedule-board-card.density-fit .period-header,.schedule-board-card.is-fullscreen .period-header{padding:7px}
.schedule-board-card.density-fit .lesson-card,.schedule-board-card.is-fullscreen .lesson-card{min-height:0;padding:5px 6px}.schedule-board-card.density-fit .lesson-card-title strong,.schedule-board-card.is-fullscreen .lesson-card-title strong{font-size:12px;line-height:1.15}.schedule-board-card.density-fit .lesson-card>span,.schedule-board-card.is-fullscreen .lesson-card>span{margin-top:2px;overflow:hidden;font-size:10.5px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.schedule-board-card.density-fit .lesson-card>small,.schedule-board-card.is-fullscreen .lesson-card>small{margin-top:3px;padding:1px 4px;font-size:8px}
.schedule-board-card.density-level-compact .lesson-card>small{display:none}.schedule-board-card.density-level-compact .schedule-cell{padding:4px}.schedule-board-card.density-level-dense .lesson-card{padding:3px 5px;border-left-width:2px}.schedule-board-card.density-level-dense .lesson-card-title strong{font-size:11px}.schedule-board-card.density-level-dense .lesson-card>span,.schedule-board-card.density-level-dense .lesson-card>small,.schedule-board-card.density-level-dense .lesson-card em{display:none}.schedule-board-card.density-level-dense .period-header strong{font-size:10px}.schedule-board-card.density-level-dense .period-header span{font-size:9px}.schedule-board-card.density-level-dense .schedule-cell{padding:3px;gap:2px}
body.schedule-fullscreen-open{overflow:hidden!important}.schedule-workspace.board-fullscreen{position:fixed!important;inset:0!important;z-index:9200!important;display:grid!important;grid-template-columns:minmax(0,1fr) 320px!important;gap:12px!important;padding:12px!important;overflow:hidden!important;background:#F8FAFC!important}.schedule-workspace.board-fullscreen.issue-panel-collapsed{grid-template-columns:minmax(0,1fr)!important}.schedule-workspace.board-fullscreen .schedule-board-card{display:flex!important;min-height:0!important;height:calc(100dvh - 24px)!important;flex-direction:column!important;border-color:#CBD5E1!important}.schedule-workspace.board-fullscreen .board-toolbar{flex:0 0 auto!important;min-height:70px!important;padding:10px 14px!important}.schedule-workspace.board-fullscreen .schedule-scroll{min-height:0!important;flex:1 1 auto!important;overflow:auto!important;overscroll-behavior:contain!important}.schedule-workspace.board-fullscreen .schedule-grid{min-width:760px!important}.schedule-workspace.board-fullscreen .issue-list-panel{position:relative!important;top:auto!important;min-height:0!important;height:calc(100dvh - 24px)!important;max-height:none!important;overflow:hidden!important}.schedule-workspace.board-fullscreen .issue-list{max-height:calc(100dvh - 145px)!important;overflow-y:auto!important}
@media(max-width:1260px){.s4113-view-controls{flex-wrap:wrap;justify-content:flex-end}.schedule-view-button{padding-inline:8px!important;font-size:10px!important}}@media(max-width:900px){.schedule-workspace.board-fullscreen{grid-template-columns:1fr!important}.schedule-workspace.board-fullscreen .issue-list-panel{display:none!important}}


/* Sprint 6.1.2 — Tek sayfa premium program çıktısı ve renk kodlama */
.s611-one-page-status{margin-top:14px;padding:10px 12px;border:1px solid #BFDBFE;border-radius:8px;background:#EFF6FF;display:grid;gap:2px;color:#1E3A8A}.s611-one-page-status b{font-size:10px}.s611-one-page-status span{font-size:8px;color:#64748B}.s47-paper.s611-single-page{display:flex!important;flex-direction:column!important;padding:24px 28px 0!important}.s611-paper-header{display:grid;grid-template-columns:120px 1fr 70px;align-items:center;min-height:74px;border-bottom:1px solid #D7DEEA;padding-bottom:10px}.s611-paper-school-logo{height:58px;display:flex;align-items:center;justify-content:flex-start}.s611-school-logo{max-width:104px;max-height:54px;object-fit:contain}.s611-school-logo-empty{display:block}.s611-paper-heading{text-align:center;line-height:1.08}.s611-paper-heading h1{font-size:22px;margin:0;font-weight:800;letter-spacing:.01em;color:#0C1A45}.s611-paper-heading p{font-size:9px;margin:5px 0 0;color:#64748B}.s611-paper-mark{width:48px;height:48px;object-fit:contain;justify-self:end}.s611-paper-title{text-align:center;padding:12px 0 10px}.s611-paper-title span{display:block;font-size:8px;font-weight:800;letter-spacing:.14em;color:#64748B}.s611-paper-title h2{font-family:Inter,Arial,sans-serif!important;font-size:24px!important;line-height:1.05;margin:5px 0 3px!important;font-weight:800!important;letter-spacing:-.025em;color:#0C1A45}.s611-paper-title p{font-size:9px;margin:0;color:#64748B}.s47-paper.s611-single-page .s47-paper-table-wrap{flex:1;min-height:0;display:flex;align-items:stretch}.s47-paper.s611-single-page .s47-schedule-table{height:100%;font-size:8px}.s47-paper.s611-single-page .s47-schedule-table th,.s47-paper.s611-single-page .s47-schedule-table td{height:var(--s611-row-screen)!important;max-height:var(--s611-row-screen)!important;padding:3px 4px!important;overflow:hidden}.s47-paper.s611-single-page .s47-schedule-table thead th{height:30px!important;padding:5px 3px!important}.s47-paper.s611-single-page .s47-schedule-table td.s611-filled{position:relative;background:var(--s611-cell-bg,#fff);padding-left:10px!important}.s47-paper.s611-single-page .s611-cell-bar{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--s611-cell-accent,#3B82F6)}.s47-paper.s611-single-page .s47-schedule-table td strong{color:var(--s611-cell-text,#0C1A45)}.s47-paper.s611-color-monochrome td.s611-filled{background:#fff!important}.s47-paper.s611-color-monochrome .s611-cell-bar{background:#64748B!important}.s47-paper.s611-color-monochrome td strong{color:#111827!important}.s47-paper.s611-single-page .s47-paper-watermark{width:32%!important;max-height:40%!important;opacity:.035!important;top:53%!important}.s47-paper.s611-single-page .s47-paper-watermark.school{opacity:.03!important}.s47-paper.s611-single-page .s49-signatures{height:70px;margin:5px 50px 0;padding-top:3px;gap:120px}.s47-paper.s611-single-page .s49-sign-line{height:22px}.s611-brand-footer{height:44px;margin:7px -28px 0;background:#0B1740;color:#fff;display:flex;align-items:center;padding:0 28px;gap:18px;flex:none}.s611-brand-footer img{width:210px;max-height:30px;object-fit:contain;object-position:left}.s611-brand-footer div{display:flex;flex-direction:column;gap:2px;flex:1}.s611-brand-footer strong{font-size:7px;text-transform:uppercase;letter-spacing:.15em}.s611-brand-footer small{font-size:6px;color:#CBD5E1}.s611-brand-footer time{font-size:7px;color:#E2E8F0}.s47-paper.portrait.s611-single-page{padding:20px 20px 0!important}.s47-paper.portrait.s611-single-page .s611-paper-header{grid-template-columns:90px 1fr 54px}.s47-paper.portrait.s611-single-page .s611-brand-footer{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.s47-paper.portrait.s611-single-page .s611-brand-footer img{width:165px}.s47-paper.portrait.s611-single-page .s49-signatures{gap:42px;margin-left:20px;margin-right:20px}.s47-output-data-note b{font-weight:800}.s47-control-group #s611-color-mode{min-height:40px}
.s611-paper-school-logo,.s611-school-logo{background:transparent!important}

/* Sprint 6.6.5: görünür yazdırma eylemi ve daha okunaklı çıktı logoları */
.s47-output-preview-bar .s647-preview-actions{display:flex;align-items:center;gap:10px}
.s647-preview-actions button{height:34px;padding:0 18px;border:1px solid #0C1A45;border-radius:8px;background:#0C1A45;color:#fff;font-size:10px;font-weight:800;cursor:pointer}
.s647-preview-actions button:disabled{opacity:.45;cursor:not-allowed}
.s47-paper.s611-single-page .s611-paper-header{grid-template-columns:138px 1fr 82px;min-height:82px}
.s47-paper.s611-single-page .s611-paper-school-logo{height:66px}
.s47-paper.s611-single-page .s611-school-logo{max-width:122px;max-height:64px}
.s47-paper.s611-single-page .s611-paper-mark{width:56px;height:56px}
.s611-paper-mark-empty{display:block}
.s611-brand-footer-school-only{justify-content:space-between}
.s611-brand-footer-school-only>div{flex:1}
.s47-paper.portrait.s611-single-page .s611-paper-header{grid-template-columns:106px 1fr 62px}
.s47-paper.portrait.s611-single-page .s611-school-logo{max-width:96px;max-height:58px}
.s47-paper.portrait.s611-single-page .s611-paper-mark{width:50px;height:50px}

/* Sprint 6.6.5 — deneme çıktısı açıkça işaretlenir; filigransız çıktı pakete bağlıdır. */
.s661-trial-output-notice{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;padding:12px 13px;border:1px solid #FBBF24;border-radius:8px;background:#FFFBEB;color:#78350F}
.s661-trial-output-notice b{font-size:11px}.s661-trial-output-notice span{font-size:9px;line-height:1.45;color:#92400E}
.s47-paper .s661-trial-watermark{position:absolute;left:50%;top:53%;z-index:2;transform:translate(-50%,-50%) rotate(-28deg);padding:10px 24px;border:3px solid rgba(196,35,48,.20);border-radius:8px;color:rgba(196,35,48,.20);font-size:30px;font-weight:900;letter-spacing:.16em;white-space:nowrap;pointer-events:none}

.s47-password-change-open{overflow:hidden}
.s47-password-change-open .app-shell{visibility:hidden}
#s685-password-change{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,rgba(192,57,43,.2),transparent 34%),linear-gradient(145deg,#0F1A35,#111E3B 58%,#25304A);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#0F1A35}
.s685-password-card{width:min(510px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;padding:36px;border:1px solid rgba(232,213,163,.8);border-radius:20px;background:#F7F4EE;box-shadow:0 28px 90px rgba(0,0,0,.35)}
.s685-password-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:18px;border-radius:14px;background:#23745F;color:#fff;font-size:24px;font-weight:900}
.s685-password-card>span{display:block;color:#8B2B22;font-size:11px;font-weight:900;letter-spacing:.12em}
.s685-password-card h2{margin:8px 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:30px;font-weight:500;line-height:1.15}
.s685-password-card>p{margin:0 0 24px;color:#596273;font-size:14px;line-height:1.6}
#s685-password-form{display:grid;gap:14px}
#s685-password-form label{display:grid;gap:7px;color:#263047;font-size:13px;font-weight:800}
#s685-password-form input{height:46px;box-sizing:border-box;padding:0 13px;border:1px solid #CFC8BC;border-radius:9px;background:#fff;color:#0F1A35;font:inherit;outline:none}
#s685-password-form input:focus{border-color:#C0392B;box-shadow:0 0 0 3px rgba(192,57,43,.12)}
#s685-password-form>small{color:#6B7280;font-size:12px;line-height:1.4}
.s685-password-error{min-height:18px;color:#A72820;font-size:13px;font-weight:700}
#s685-password-form button{height:48px;border:0;border-radius:9px;background:#C0392B;color:#fff;font-size:14px;font-weight:900;cursor:pointer}
#s685-password-form button:disabled{opacity:.65;cursor:wait}
.s685-password-logout{display:block;margin:16px auto 0;border:0;background:transparent;color:#596273;font-size:12px;font-weight:800;text-decoration:underline;cursor:pointer}
@media(max-width:600px){#s685-password-change{padding:12px}.s685-password-card{width:100%;max-height:calc(100dvh - 24px);padding:26px 22px;border-radius:16px}.s685-password-card h2{font-size:26px}}
