/* Kuzey SRC v0.3 — operational student & exam views */
.v3-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:19px}.v3-heading h1{font-size:29px;letter-spacing:-.8px;margin:4px 0}.v3-heading p{margin:0;color:#748198;font-size:13px}.v3-buttons{display:flex;gap:8px;flex-wrap:wrap}
.v3-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}.v3-kpis>div{background:#fff;border:1px solid #e4eaf2;border-radius:12px;padding:17px;box-shadow:0 4px 15px #182f4f09;display:flex;flex-direction:column;gap:9px;min-width:0}.v3-kpis small{color:#7d8ba0;font-size:11px;font-weight:700}.v3-kpis strong{color:#0e274b;font-size:23px;overflow-wrap:anywhere}
.v3-filter{display:flex;gap:10px;align-items:end;background:#fff;border:1px solid #e2e8f0;padding:13px;border-radius:11px;margin-bottom:14px;flex-wrap:wrap}.v3-filter label{font-size:11px;font-weight:700;color:#738094;display:grid;gap:5px;flex:0 1 160px;min-width:124px}.v3-filter .v3-search{flex:1 1 180px}.v3-filter select,.v3-filter input,.v3-inlineform input,.v3-inlineform select{height:38px;background:#fff;border:1px solid #d7e1eb;border-radius:7px;padding:7px 10px;min-width:0;color:#253858;font:inherit;font-size:12px}.v3-filter .btn{height:38px}.v3-ledger{background:#fff;border:1px solid #e0e7ef;border-radius:12px;overflow:hidden;box-shadow:0 6px 20px #132b4509}.v3-ledger-top{padding:13px 16px;background:#f7f9fc;display:flex;justify-content:space-between;gap:15px;color:#23395a}.v3-ledger-top strong{font-size:11px;letter-spacing:.6px}.v3-ledger-top span{font-size:11px;color:#7e8ba0}.v3-scroll{overflow:auto;max-height:calc(100vh - 315px);min-height:420px;scrollbar-color:#c6d0e0 #f2f6fa}.v3-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1440px;font-size:11px;font-variant-numeric:tabular-nums}.v3-table th{background:#5a2d84;color:white;font-size:10px;letter-spacing:.2px;text-align:left;padding:12px 9px;position:sticky;top:0;z-index:6;white-space:nowrap;border-right:1px solid #764aa1}.v3-table td{background:white;padding:11px 9px;border-bottom:1px solid #e8edf4;border-right:1px solid #e8edf4;white-space:nowrap}.v3-table th:first-child{left:0;z-index:8}.v3-table td:first-child{position:sticky;left:0;z-index:4;background:#fff;min-width:165px}.v3-table .v3-record:hover td{background:#eff6ff;cursor:pointer}.v3-table .v3-record:hover td:first-child{background:#eff6ff}.v3-table .v3-period td{background:#eee6fb!important;color:#482678;font-weight:800;padding:12px 13px;position:static!important}.v3-period small{font-weight:600;opacity:.7;margin-left:12px}.v3-table .v3-group td{background:#fff179!important;color:#312d17;font-weight:750;padding:10px 12px;position:static!important}.v3-group td{display:table-cell}.v3-group span{float:right;font-size:10px;font-weight:600;opacity:.8}.v3-table .v3-wait td{background:#fbe852!important}.v3-table .v3-record.v3-graduated td{background:#e8f9ed;color:#216645}.v3-table .v3-record.v3-graduated:hover td{background:#daf6e1}.v3-table .v3-name a{color:#132e54}.v3-debt{color:#be4545;font-weight:800}.v3-pill{border-radius:20px;display:inline-block;padding:5px 9px;font-size:10px;font-weight:750;white-space:nowrap}.v3-pill.green{background:#d5f8e2;color:#16663d}.v3-pill.orange{background:#fff0c5;color:#9b5c10}.v3-pill.blue{background:#e4efff;color:#214b93}.v3-pill.red{background:#ffe3e6;color:#9a2733}.v3-empty{text-align:center;padding:35px!important;color:#7b879a}
.v3-detail-links{display:flex;gap:8px;margin:0 0 14px}.v3-detail-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.v3-detail-cards>div{padding:12px;border-radius:10px;background:#e9f1ff;display:grid;gap:7px}.v3-detail-cards small{font-size:10px;color:#5e728c}.v3-detail-cards strong{font-size:15px}.v3-form h3{font-size:14px;color:#153964;margin:8px 0 0}.v3-form .field{min-width:0}
.v3-forms{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:15px}.v3-forms .panel,.v3-groups,.v3-actions+.panel{padding:21px}.v3-forms h2,.v3-groups h2{font-size:17px;margin-bottom:15px}.v3-inlineform{display:flex;align-items:end;gap:11px;flex-wrap:wrap;margin:12px 0}.v3-inlineform label{display:grid;gap:6px;color:#52637c;font-size:11px;font-weight:700}.v3-inlineform label>*{min-width:145px}.v3-inlineform .btn{height:38px}.v3-wrap label{flex:1 1 140px}.v3-wrap label>*{width:100%}.v3-groups .table-scroll{max-height:520px}.v3-exam-tabs{display:flex;gap:7px;overflow:auto;max-width:100%;margin-bottom:12px}.v3-tab{padding:10px 13px;border:1px solid #dce6f3;background:white;border-radius:9px;white-space:nowrap;color:#46617e;font-size:12px;font-weight:700}.v3-tab.current{background:#123b77;color:white}.v3-actions,.v3-bulk{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between;margin-bottom:12px;background:#f7faff;padding:11px 13px;border:1px solid #dce5f1;border-radius:10px;font-size:12px}.v3-actions small{color:#8a97a6}.v3-exam-table{min-width:1520px}.v3-exam-table th:first-child,.v3-exam-table td:first-child{min-width:50px!important}.v3-exam-table td:nth-child(2){font-weight:700}.v3-feeform{background:#e9f1fc;border-radius:10px;padding:12px;margin-bottom:15px}.v3-exam-edit{padding:15px}.v3-exam-edit h3{font-size:17px;margin-bottom:14px}.v3-exam-edit .form-grid{gap:12px}.v3-bulk{background:#edf5ff}.v3-groups .info-note{font-size:12px}
@media(max-width:1250px){.v3-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-heading{align-items:flex-start;flex-direction:column}.v3-scroll{max-height:65vh}}
@media(max-width:850px){.v3-forms{grid-template-columns:1fr}.v3-filter label{flex:1 1 135px}.v3-exam-tabs{padding-bottom:7px}.v3-detail-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.v3-kpis{gap:8px}.v3-kpis>div{padding:12px}.v3-kpis strong{font-size:17px}.v3-heading h1{font-size:23px}.v3-ledger-top{flex-direction:column}.v3-detail-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.3.4 — Takvimli ders günü seçimi. Mevcut ders programı motoru korunur. */
.ksc-panel{padding:24px}.ksc-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}.ksc-heading h2{font-size:19px;margin-bottom:6px;color:#173358}.ksc-heading p{margin:0;max-width:720px;color:#71829a;font-size:12px}.ksc-head-badge{background:#eaf2ff;color:#274e86;border-radius:20px;padding:9px 12px;font-size:11px;font-weight:750;white-space:nowrap}
.ksc-layout{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(290px,.72fr);gap:18px;align-items:stretch}.ksc-calendar-box,.ksc-day-settings{border:1px solid #e1e9f3;border-radius:13px;background:#fbfdff;padding:17px}.ksc-toolbar{display:flex;align-items:end;gap:11px;margin-bottom:15px;flex-wrap:wrap}.ksc-toolbar label{display:grid;gap:6px;flex:1 1 135px;font-size:11px;font-weight:750;color:#50617d}.ksc-toolbar select,.ksc-day-settings select{width:100%;min-width:0;min-height:40px;border:1px solid #d4dfed;background:white;border-radius:8px;padding:9px 11px;color:#15365e;font-size:13px}.ksc-toolbar select:focus,.ksc-day-settings select:focus{outline:3px solid #c7dcfb}.ksc-nav{display:flex;gap:6px}.ksc-nav button{height:40px;width:37px;background:#fff;border:1px solid #d3deeb;border-radius:8px;color:#174172;font-size:23px;line-height:1}.ksc-nav button:hover{background:#e7f0fe}.ksc-weekdays,.ksc-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.ksc-weekdays{margin-bottom:7px}.ksc-weekdays span{text-align:center;font-size:11px;color:#7a8ca4;font-weight:800;padding:5px 0}.ksc-day{height:57px;min-width:0;background:#fff;border:1px solid #e3eaf4;border-radius:9px;color:#294468;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:15px;font-weight:750;padding:3px 1px}.ksc-day small{font-size:9px;font-weight:750;margin-top:2px}.ksc-day.is-weekend{background:#fff9e8;border-color:#f2e7c6}.ksc-day.has-plan{background:#e1f6ea;border:1px solid #61ba8b;color:#166343}.ksc-day.is-current{box-shadow:0 0 0 2px #2163ae inset;border-color:#2163ae}.ksc-day.is-today:not(.is-current){border:2px dashed #377bd0}.ksc-day:hover{background:#e8f2ff;border-color:#5f94cf}.ksc-day:focus-visible,.ksc-hour:focus-visible{outline:3px solid #97bbeb;outline-offset:2px}.ksc-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:15px;color:#70829a;font-size:11px}.ksc-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}.ksc-dot.selected{background:#67bd8d}.ksc-dot.weekend{background:#edca74}
.ksc-day-settings{background:#f6f9ff;display:flex;flex-direction:column;gap:11px}.ksc-setting-title{font-size:11px;font-weight:800;color:#6882a5;letter-spacing:.8px;text-transform:uppercase}.ksc-selected-date{font-size:16px;font-weight:850;color:#17375f;min-height:45px;line-height:1.4}.ksc-day-settings label,.ksc-setting-label{font-size:12px;color:#526888;font-weight:750}.ksc-hours{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ksc-hour{height:46px;border:1px solid #d7e2f0;background:white;color:#28466e;border-radius:10px;font-size:15px;font-weight:850}.ksc-hour.selected{background:#1e4c94;color:#fff;border-color:#1e4c94}.ksc-hour:disabled{opacity:.3}.ksc-rule{color:#72839b;font-size:11px;margin:0;min-height:35px}.ksc-add{width:100%;min-height:43px}.ksc-inline-error{font-size:11px;color:#346f9a;min-height:16px}
.ksc-selected-panel{margin-top:19px;border:1px solid #e4ebf3;border-radius:13px;padding:18px;background:#fff}.ksc-list-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:12px}.ksc-list-heading h3{font-size:15px;color:#18375c;margin:0 0 5px}.ksc-list-heading p{font-size:11px;color:#75849b;margin:0}.ksc-selected-list{max-height:228px;overflow-y:auto;display:grid;gap:6px}.ksc-no-days{padding:16px;border:1px dashed #d0ddeb;color:#8594a8;text-align:center;border-radius:9px;font-size:12px}.ksc-selected-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:#f8fbff;border:1px solid #e5edf6;border-radius:8px}.ksc-row-date{display:grid;gap:2px}.ksc-row-date strong{font-size:12px;color:#233d60}.ksc-row-date small{font-size:10px;color:#7890a9}.ksc-row-actions{display:flex;align-items:center;gap:8px}.ksc-edit,.ksc-remove{border:0;padding:6px 8px;background:transparent;font-size:11px;font-weight:750;color:#2a5fa5}.ksc-remove{color:#b34a55}.ksc-edit:hover,.ksc-remove:hover{text-decoration:underline}.ksc-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:17px;font-size:12px;color:#62758e}.ksc-summary strong{color:#1c416e;font-size:17px}.ksc-progress-track{height:8px;border-radius:10px;overflow:hidden;background:#eaf1fb;margin-top:8px}.ksc-progress-fill{height:100%;width:0%;border-radius:10px;background:#558ac7;transition:width .2s ease}.ksc-progress-fill.ready{background:#29a778}.ksc-output{margin-top:16px;display:grid;gap:7px}.ksc-output label{font-size:11px;font-weight:800;color:#586c88}.ksc-output textarea{width:100%;background:#f8fafd;border:1px solid #d7e1ee;padding:10px 12px;border-radius:9px;line-height:1.6;color:#294766;font-family:ui-monospace,Consolas,monospace;font-size:12px;resize:vertical}.ksc-output small{font-size:10px;color:#8895a8}.ksc-submit{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:17px;background:#f1f7ff;border:1px solid #dbe8fa;border-radius:11px;padding:14px}.ksc-submit p{flex:1;min-width:200px;font-size:12px;color:#496387;margin:0}.ksc-submit .btn{min-height:43px}
@media(max-width:1040px){.ksc-layout{grid-template-columns:1fr}.ksc-heading{flex-wrap:wrap}}@media(max-width:590px){.ksc-panel{padding:15px}.ksc-calendar-box,.ksc-day-settings{padding:11px}.ksc-day{height:49px}.ksc-weekdays,.ksc-days{gap:3px}.ksc-head-badge{white-space:normal}.ksc-list-heading{flex-direction:column}.ksc-selected-row{flex-wrap:wrap}.ksc-submit .btn{width:100%}}

/* Kuzey SRC v0.3.5 — compact, hourly, manual lesson planner */
.ksm-panel{padding:19px}.ksm-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.ksm-top h2{margin:0 0 5px;color:#18375a;font-size:19px}.ksm-top p{font-size:12px;color:#74869d;margin:0}.ksm-required{border-radius:30px;background:#e5f1ff;color:#1d4f87;padding:9px 12px;font-size:12px;font-weight:800;white-space:nowrap}.ksm-columns{display:grid;grid-template-columns:minmax(175px,.83fr) minmax(158px,.75fr) minmax(230px,1.35fr) minmax(230px,1.15fr);gap:12px;align-items:stretch}.ksm-card{border:1px solid #dde6f2;border-radius:12px;background:#fbfcff;padding:12px;min-width:0}.ksm-card-title{display:grid;gap:4px;margin-bottom:12px}.ksm-card-title b{color:#17375f;font-size:13px}.ksm-card-title small{color:#7389a3;font-size:10px}.ksm-toolbar{display:flex;gap:5px;margin-bottom:10px}.ksm-toolbar select{height:33px;min-width:0;width:50%;border-radius:7px;border:1px solid #cfdbeb;background:#fff;font-size:11px;padding:4px}.ksm-days-header,.ksm-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.ksm-days-header{margin-bottom:6px}.ksm-days-header span{text-align:center;color:#71839b;font-weight:800;font-size:9px}.ksm-day{width:100%;height:32px;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid #e5ecf5;background:white;border-radius:6px;font-size:11px;font-weight:800;color:#284971;padding:1px}.ksm-day.weekend{background:#fff9ea}.ksm-day.filled{border-color:#5dba8a;background:#dff7e9;color:#13643d}.ksm-day.active{box-shadow:0 0 0 2px #205fc5 inset;background:#e7f0ff;color:#164783}.ksm-day:hover{border-color:#2b6bb8}.ksm-day small{font-size:7px;line-height:1.1}.ksm-selected-date{font-size:11px;line-height:1.35;color:#1b4c81;font-weight:800;margin:12px 0 0;min-height:29px}.ksm-check-tools{display:flex;justify-content:space-between;gap:7px;align-items:center;margin:0 0 8px;font-size:10px;color:#5b708c}.ksm-check-tools label{display:flex;align-items:center;gap:4px}.ksm-check-tools button{color:#285d9d;background:none;border:0;font-size:10px;font-weight:750;cursor:pointer}.ksm-time-list,.ksm-pick-list{overflow-y:auto;max-height:340px;min-height:178px;display:grid;align-content:start;gap:5px;scrollbar-color:#c8d6e7 #f6f9fc}.ksm-time{display:flex;align-items:center;gap:8px;padding:7px 8px;background:#fff;border:1px solid #e6edf6;border-radius:7px;color:#365479;font-size:11px;font-weight:700;min-height:31px}.ksm-time.occupied{background:#f0faf3;border-color:#c7e7d6}.ksm-time small{font-size:9px;color:#1b8a50;margin-left:auto}.ksm-time input,.ksm-picker input[type=checkbox]{width:15px;height:15px;accent-color:#2367bf;flex-shrink:0}.ksm-hint{color:#7486a0;font-size:10px;line-height:1.5;margin:11px 0 0}.ksm-picker{display:flex;gap:8px;align-items:center;justify-content:space-between;min-height:44px;padding:7px 8px;border:1px solid #e3eaf4;background:white;border-radius:8px}.ksm-picker.no-remaining{opacity:.68}.ksm-picker-main{display:flex;gap:8px;align-items:center;min-width:0;flex:1;cursor:pointer}.ksm-picker-text{min-width:0;display:grid;gap:3px}.ksm-picker-text strong{font-size:10px;color:#25486c;line-height:1.3;overflow-wrap:anywhere}.ksm-picker-text small{font-size:9px;color:#71849c}.ksm-qty{width:49px;min-height:29px;border:1px solid #c8d8eb;border-radius:7px;text-align:center;color:#19426e;font-size:12px;font-weight:800;flex-shrink:0}.ksm-apply-bar,.ksm-save{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#eef5ff;border:1px solid #d5e6f9;border-radius:11px;margin-top:15px;padding:13px}.ksm-apply-bar strong{font-size:13px;color:#153b66}.ksm-apply-bar p,.ksm-save p{margin:5px 0 0;color:#536e90;font-size:11px;line-height:1.5}.ksm-apply-bar span{display:block;color:#246c52;font-size:11px;font-weight:750;margin-top:5px}.ksm-apply-bar span.error{color:#be3a3e}.ksm-apply-bar .btn,.ksm-save .btn{flex-shrink:0;max-width:320px}.ksm-program{margin-top:17px;border:1px solid #e4ebf4;border-radius:12px;background:white;padding:14px}.ksm-list-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.ksm-list-head h3{font-size:15px;color:#123962;margin:0 0 4px}.ksm-list-head p{font-size:11px;color:#8493a8;margin:0}.ksm-list-head strong{font-size:17px;color:#174b83;white-space:nowrap}.ksm-progress{height:7px;background:#e7edf7;border-radius:10px;overflow:hidden;margin:11px 0}.ksm-progress>div{height:100%;width:0%;background:#36aa79;transition:width .2s}.ksm-table-wrap{max-height:345px;overflow:auto}.ksm-table{width:100%;border-collapse:collapse;font-size:11px}.ksm-table th{position:sticky;top:0;z-index:1;text-align:left;background:#f1f5fb;color:#49627f;padding:9px}.ksm-table td{border-bottom:1px solid #eaf0f7;padding:7px 8px;color:#304e72;white-space:nowrap}.ksm-row-select{min-height:30px;border:1px solid #d7e1ee;border-radius:6px;background:white;min-width:130px;max-width:310px;width:100%;font-size:11px;padding:3px 5px}.ksm-remove{border:0;background:#fff0f1;color:#c34c57;border-radius:6px;padding:6px 9px;font-weight:800;font-size:10px}.ksm-error{color:#bb3030!important;font-weight:750}.ksm-save{background:#f5f9fd}.ksm-save .btn:disabled{opacity:.5;cursor:not-allowed}.ksm-approved-note{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff9ee;border-color:#f6e3bb;margin-bottom:14px}.ksm-approved-note h2{font-size:15px;color:#81521b;margin:0 0 6px}.ksm-approved-note p{font-size:11px;color:#8e6b42;margin:0;max-width:690px;line-height:1.5}.ksm-approved-note .btn{white-space:nowrap}
@media(max-width:1400px){.ksm-columns{grid-template-columns:minmax(170px,.65fr) minmax(155px,.65fr) minmax(210px,1fr) minmax(210px,1fr)}}
@media(max-width:1120px){.ksm-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.ksm-time-list,.ksm-pick-list{max-height:265px}}
@media(max-width:650px){.ksm-columns{grid-template-columns:1fr}.ksm-top,.ksm-apply-bar,.ksm-save,.ksm-approved-note{flex-direction:column;align-items:stretch}.ksm-apply-bar .btn,.ksm-save .btn{max-width:none}.ksm-list-head{align-items:flex-start}.ksm-day{height:40px}}

/* v0.3.6 one-day print actions */
.ksm-day-print{margin-top:18px}
.ksm-day-print-head h3{margin:0 0 5px}
.ksm-day-print-head p{margin:0 0 12px;color:#66768d;font-size:13px}
.ksm-print-all{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 15px}
.ksm-day-print-table td,.ksm-day-print-table th{white-space:nowrap;vertical-align:middle}
.ksm-day-print-table .btn{font-size:12px;padding:8px 10px;white-space:nowrap}

/* v0.3.9 management tools */
.v039-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.v039-actions form{display:inline-flex;margin:0}.v039-danger{color:#ac2434!important;border-color:#f2bbc3!important;background:#fff4f5!important}.v039-danger:hover{background:#ffe0e3!important}.v039-edit{padding:19px;margin:16px 0}.v039-delete-box{margin-top:16px;border:1px solid #f3c4c9;border-radius:10px;padding:10px}.v039-delete-box .drawer-section-body form{display:grid;gap:10px;max-width:410px}.v039-delete-box input{width:100%;margin:7px 0;padding:9px 11px;border:1px solid #d8e0ed;border-radius:7px}.v039-delete-box .btn{justify-self:start}.v3-groups .v039-actions{margin-bottom:7px}
