@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#17233c;--muted:#78849a;--line:#e8edf4;--bg:#f5f7fb;--blue:#3768e8;--navy:#111c33}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:'DM Sans',sans-serif;color:var(--ink);font-size:14px}.shell{min-height:100vh;display:flex}.sidebar{width:252px;background:#fff;border-right:1px solid var(--line);padding:25px 16px 18px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-family:Manrope,sans-serif;font-weight:800;font-size:18px;padding:0 9px 36px}.brand small{display:block;font:500 11px 'DM Sans',sans-serif;color:#98a2b4;margin-top:3px}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(140deg,#4879f5,#244bc6);color:#fff;font:800 20px Manrope;box-shadow:0 5px 12px #3768e833;position:relative}.brand-mark:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#ee5c56;right:5px;top:5px;border:1px solid #fff}.branch-label,.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.1px;color:#9aa4b5}.branch-label{padding:0 10px 9px}.branch{border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px;display:flex;align-items:center;gap:9px;color:#34415b;min-height:58px}.branch img{width:40px;height:40px;object-fit:contain;border-radius:7px;background:#fff}.branch span{flex:1;min-width:0}.branch strong,.branch small{display:block}.branch strong{font-size:12px;font-weight:700}.branch small{font-size:10px;color:#99a3b4;margin-top:3px}.branch i{font-style:normal;color:#8994a8;font-size:12px}.sidebar nav{display:grid;gap:5px;margin-top:28px}.sidebar nav a{height:42px;display:flex;align-items:center;gap:12px;padding:0 12px;border-radius:8px;text-decoration:none;color:#738098}.sidebar nav a span{font-size:13px;font-weight:500}.sidebar nav a.active{background:#edf2ff;color:#315fd4}.nav-icon{width:19px;height:19px;flex:0 0 19px}.sidebar nav a:hover{background:#f5f7fc;color:#3d5fb7}.side-bottom{margin-top:auto;padding:15px 7px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7edff;color:#4266cc;font-size:11px;font-weight:700}.side-bottom strong,.side-bottom small{display:block;font-size:12px}.side-bottom small{color:#9aa4b5;font-size:11px;margin-top:3px}.logout{margin-left:auto;color:#929db0;text-decoration:none;font-size:18px}.main{max-width:1600px;width:calc(100% - 252px);padding:0 38px 24px;margin:0 auto}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.topbar h1{font:700 22px Manrope;margin:5px 0 0}.top-right{display:flex;align-items:center;gap:18px}.today{color:#8893a7;font-size:12px}.user-chip{border:1px solid var(--line);background:#fff;border-radius:20px;padding:9px 13px;font-weight:600;font-size:12px}.welcome{display:flex;justify-content:space-between;align-items:center;margin:30px 0 22px}.welcome h2{font:700 21px Manrope;margin:8px 0}.welcome p:not(.eyebrow){color:#8994a8;margin:0}.primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:8px;background:var(--blue);color:#fff;text-decoration:none;padding:12px 16px;font:600 13px 'DM Sans';cursor:pointer;box-shadow:0 4px 10px #3768e826}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat-card,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 8px #1e37600a}.stat-card{padding:17px 18px}.stat-head{display:flex;justify-content:space-between;align-items:center;color:#758198;font-size:12px}.stat-card>strong{display:block;font:700 26px Manrope;margin:13px 0 7px}.stat-card>small{color:#9aa4b5;font-size:11px}.stat-icon,.quick-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;font-size:15px}.blue{background:#edf2ff;color:#4269de}.violet{background:#f3efff;color:#7c60d5}.red{background:#fff0ef;color:#e05f58}.amber{background:#fff6e9;color:#d99531}.danger-text{color:#d4524f}.content-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin-top:17px}.panel{padding:19px 20px}.panel-title{display:flex;align-items:center;justify-content:space-between}.panel-title h3{font:700 15px Manrope;margin:5px 0 0}.text-link{color:var(--blue);font-size:11px;text-decoration:none;font-weight:600}.empty-state{min-height:175px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eaf7f0;color:#42a875;font-size:17px}.empty-state strong{font-size:12px;margin:10px 0 3px}.empty-state p{max-width:280px;color:#9aa4b5;font-size:11px;line-height:1.55;margin:0}.quick-panel{padding-bottom:9px}.quick-link{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid #f0f2f6;text-decoration:none;color:var(--ink)}.quick-link:last-child{border-bottom:0}.quick-link>span:nth-child(2){flex:1}.quick-link strong,.quick-link small{display:block}.quick-link strong{font-size:12px}.quick-link small{font-size:10px;color:#9aa4b5;margin-top:4px}.quick-link b{color:#98a3b6;font-weight:400}.quick-icon{width:31px;height:31px}.roadmap{margin-top:16px}.badge{background:#f2f5fb;color:#8994a8;border-radius:20px;padding:7px 10px;font-size:9px;font-weight:700;letter-spacing:.7px}.module-list{margin-top:13px}.module-list>div{display:flex;align-items:center;gap:12px;border-top:1px solid #f0f2f6;padding:12px 0}.module-number{color:#a0aabd;font-size:10px;font-weight:700}.module-list strong,.module-list small{display:block}.module-list strong{font-size:12px}.module-list small{color:#9aa4b5;font-size:10px;margin-top:4px}.module-state{margin-left:auto;color:#57a67c;font-size:10px;font-weight:600}.module-state.planned{color:#a0aabd}.footer{color:#a2aabb;font-size:10px;padding:20px 0}.footer span{margin-left:9px}.alert{border:1px solid #f4c7c5;background:#fff4f3;color:#9d403d;padding:12px 14px;border-radius:8px;margin:18px 0;font-size:12px}.alert.warning{border-color:#f0dfb8;background:#fff9eb;color:#80641f}.alert.success{border-color:#bce5cb;background:#f1fbf4;color:#276b3d}.login-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(ellipse at 50% 0%,#e8efff 0,transparent 55%),#f7f8fc}.login-card{width:min(100%,420px);background:#fff;padding:34px;border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 50px #263b6412}.login-brand{padding:0;margin-bottom:36px}.login-card h1{font:700 24px Manrope;margin:7px 0}.muted{color:#8b96a9;font-size:12px;line-height:1.6;margin:0 0 22px}.login-card form label{display:block;font-size:11px;color:#68758d;font-weight:600;margin:15px 0}.login-card input{display:block;width:100%;height:43px;border:1px solid #e2e7ef;border-radius:7px;padding:0 11px;margin-top:7px;font:13px 'DM Sans';outline:none}.login-card input:focus{border-color:#7796f0;box-shadow:0 0 0 3px #3768e818}.full{width:100%;margin-top:7px}.login-note{display:block;color:#9aa4b5;font-size:10px;line-height:1.5;margin-top:20px}.login-note a{color:var(--blue)}@media(max-width:1000px){.sidebar{width:210px}.main{width:calc(100% - 210px);padding:0 22px}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sidebar{width:64px;padding:20px 8px}.brand{padding:0 6px 30px}.brand>span:last-child,.branch-label,.branch,.sidebar nav a span,.side-bottom>div,.logout{display:none}.sidebar nav a{justify-content:center;padding:0}.side-bottom{justify-content:center;padding-left:0;padding-right:0}.main{width:calc(100% - 64px);padding:0 14px}.topbar{height:76px}.topbar h1{font-size:18px}.today{display:none}.welcome{align-items:flex-start;gap:12px;flex-direction:column;margin:22px 0}.welcome h2{font-size:18px}.stats{gap:9px}.stat-card{padding:13px}.stat-head{font-size:10px}.stat-card>strong{font-size:22px}.content-grid{grid-template-columns:1fr;gap:10px}.panel{padding:15px}.module-state{font-size:9px}.module-list>div{gap:8px}.login-card{padding:26px}}

/* EduPilot — klienci, firmy i oddziały */
.branch-select{position:relative;margin:0 0 0 0}.branch-select select{width:100%;height:58px;padding:0 34px 0 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#34415b;font:600 12px 'DM Sans';appearance:none}.branch-select span{position:absolute;right:12px;top:19px;color:#8994a8;pointer-events:none}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:27px 0 18px}.page-intro h2{font:700 22px Manrope;margin:6px 0}.page-intro p:not(.eyebrow){margin:0;color:#8994a8;font-size:12px}.count-pill{border:1px solid var(--line);background:#fff;border-radius:20px;padding:8px 12px;color:#68758d;font-size:11px}.form-panel,.table-panel{margin:15px 0}.data-form{display:grid;gap:13px;margin-top:18px}.data-form label{display:block;color:#68758d;font-size:11px;font-weight:600}.data-form input,.data-form select,.data-form textarea,.search-form input{display:block;width:100%;margin-top:6px;border:1px solid #e2e7ef;border-radius:7px;background:#fff;padding:11px 12px;color:var(--ink);font:13px 'DM Sans';outline:none}.data-form input,.data-form select{height:42px}.data-form textarea{resize:vertical}.data-form input:focus,.data-form select:focus,.data-form textarea:focus,.search-form input:focus{border-color:#7796f0;box-shadow:0 0 0 3px #3768e818}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.company-fields{display:grid;grid-template-columns:2fr 1fr;gap:13px}.data-form [hidden]{display:none}.compact-form{grid-template-columns:2fr 1fr auto;align-items:end}.compact-form .primary{height:42px;white-space:nowrap}.search-form{display:flex;align-items:center;gap:8px}.search-form input{width:230px;margin:0;height:37px;font-size:11px}.secondary{height:37px;border:1px solid var(--line);background:#f8faff;color:#53627c;border-radius:7px;padding:0 12px;font:600 11px 'DM Sans';cursor:pointer}.table-scroll{overflow:auto;margin-top:15px}.data-table{width:100%;border-collapse:collapse;min-width:650px}.data-table th{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);color:#98a2b4;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.data-table td{padding:13px 12px;border-bottom:1px solid #f0f2f6;color:#66738b;font-size:12px}.data-table td strong{color:#293752;font-size:12px}.type-tag{display:inline-block;border-radius:20px;padding:5px 9px;background:#eff8f2;color:#448860;font-size:10px;font-weight:700;white-space:nowrap}.company-tag{background:#eef2ff;color:#4d68c8}.table-empty{text-align:center!important;padding:28px!important;color:#98a2b4!important}.branch-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.branch-card{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:10px;padding:13px}.branch-card-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#edf2ff;color:#4269de;font:700 12px Manrope}.branch-card>div:nth-child(2){flex:1}.branch-card strong,.branch-card small{display:block}.branch-card strong{font-size:12px}.branch-card small{margin-top:4px;color:#98a2b4;font-size:10px}.module-state[href]{text-decoration:none}.badge[href]{text-decoration:none}@media(max-width:700px){.page-intro{align-items:flex-start;flex-direction:column}.form-row,.company-fields,.compact-form{grid-template-columns:1fr}.search-form{width:100%}.search-form input{width:100%}.panel-title:has(.search-form){align-items:flex-start;flex-direction:column;gap:12px}.branch-cards{grid-template-columns:1fr}.branch-select{display:none}}
.contract-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:15px}.contract-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:10px;padding:13px}.contract-card strong,.contract-card small{display:block}.contract-card strong{color:#293752;font-size:13px}.contract-card small{color:#8994a8;font-size:10px;margin-top:4px}.contract-status,.contract-mini{display:inline-block;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:700;white-space:nowrap}.contract-status.active,.contract-mini.active{background:#eff8f2;color:#448860}.contract-status.inactive,.contract-mini.inactive{background:#fff0ef;color:#bd514b}.contract-list{display:flex;flex-wrap:wrap;gap:5px}.contract-mini b{font-weight:800}
/* Logoowy przełącznik oddziałów */
.branch-switcher{position:relative;margin:0}.branch-switcher summary{list-style:none;border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px;min-height:58px;display:flex;align-items:center;gap:9px;color:#34415b;cursor:pointer}.branch-switcher summary::-webkit-details-marker{display:none}.branch-current-logo{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;border-radius:7px;background:#fff;overflow:hidden}.branch-current-logo img{display:block;width:100%;height:100%;object-fit:contain}.branch-current-logo b{font:700 11px Manrope;color:#4269de}.branch-current-name{flex:1;min-width:0}.branch-current-name strong,.branch-current-name small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.branch-current-name strong{font-size:12px}.branch-current-name small{font-size:10px;color:#99a3b4;margin-top:3px}.branch-switcher summary i{font-style:normal;color:#8994a8}.branch-switcher[open] summary{border-color:#cbd7fa;box-shadow:0 0 0 3px #3768e80d}.branch-switch-menu{position:absolute;z-index:30;top:calc(100% + 7px);left:0;width:100%;min-width:245px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 12px 30px #17233c20}.branch-switch-menu form{margin:0}.branch-option{width:100%;display:flex;align-items:center;gap:10px;padding:7px;border:0;border-radius:8px;background:#fff;text-align:left;color:var(--ink);cursor:pointer}.branch-option:hover,.branch-option.selected{background:#f2f5ff}.branch-option>span:last-child{min-width:0}.branch-option strong,.branch-option small{display:block}.branch-option strong{font-size:12px}.branch-option small{font-size:10px;color:#929db0;margin-top:3px}.branch-card-logo{width:44px;height:44px;object-fit:contain;border-radius:8px;background:#fff;flex:0 0 44px}
@media(max-width:700px){.branch-switcher{display:block}.branch-switcher summary{width:48px;min-height:48px;padding:5px;justify-content:center}.branch-switcher summary .branch-current-logo{width:36px;height:36px;flex-basis:36px}.branch-switcher summary .branch-current-name,.branch-switcher summary i{display:none}.branch-switch-menu{left:55px;top:0;width:245px}}
.data-form small{font-size:10px;font-weight:500;color:#96a1b3}.data-form input[type=file]{height:auto;padding:9px}.ocr-note{border:1px solid #dce6ff;background:#f5f8ff;border-radius:8px;color:#607194;font-size:11px;line-height:1.55;padding:11px 13px}.data-table .text-link{white-space:nowrap}
.important-field{display:block;border:1px solid #d6e2ff;border-radius:9px;padding:12px;background:#f7f9ff}.important-field strong{display:block;color:#315fd4;font-size:10px;margin-top:4px}.important-field input{background:#fff}
.document-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}.document-actions .text-link:first-child{border:1px solid #dce5f8;border-radius:6px;background:#f5f8ff;padding:6px 9px}
.upload-state{display:flex;gap:5px;flex-direction:column;border-radius:9px;padding:13px 15px}.upload-state strong{font-size:12px}.upload-state span{font-size:11px;line-height:1.45}.upload-state.waiting{border:1px solid #efdba9;background:#fff9e9;color:#795e19}.upload-state.selected{border:1px solid #bcd0ff;background:#f2f6ff;color:#3158ae}.upload-state.saving{border:1px solid #bce5cb;background:#f1fbf4;color:#276b3d}.contract-preview{border:1px solid #dfe6f1;border-radius:10px;overflow:hidden;background:#f2f4f8}.contract-preview-head{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;background:#fff;border-bottom:1px solid #dfe6f1;font-size:11px}.contract-preview-head a{color:var(--blue);text-decoration:none;font-weight:700}.contract-preview iframe{display:block;width:100%;height:480px;border:0;background:#fff}.save-contract-bar{position:sticky;bottom:10px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #cdd9f6;border-radius:11px;background:#fff;padding:13px 15px;box-shadow:0 10px 30px #17233c1c}.save-contract-bar>span{display:flex;flex-direction:column;gap:4px}.save-contract-bar strong{font-size:12px;color:#273858}.save-contract-bar small{font-size:10px;color:#7d899d}.save-contract-bar .primary{flex:0 0 auto}
@media(max-width:700px){.contract-preview iframe{height:340px}.save-contract-bar{align-items:stretch;flex-direction:column;bottom:5px}.save-contract-bar .primary{width:100%}}
.data-form input.ai-found{border-color:#78c99a;background:#f2fbf5;box-shadow:0 0 0 3px #4bb87a12}.data-form input.ai-low{border-color:#e5bd58;background:#fffaf0;box-shadow:0 0 0 3px #dba52e12}.ai-spinner{display:inline-block;width:13px;height:13px;margin-right:8px;vertical-align:-2px;border:2px solid #c7d5fa;border-top-color:#3768e8;border-radius:50%;animation:ai-spin .8s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}

/* Czytelne, kolorowe moduły oraz karty umów */
.sidebar nav a .nav-icon{padding:3px;width:25px;height:25px;flex-basis:25px;border-radius:7px}.nav-dashboard .nav-icon{background:#edf2ff;color:#416ae0}.nav-clients .nav-icon{background:#eaf8f2;color:#27a673}.nav-groups .nav-icon{background:#f3efff;color:#7c60d5}.nav-payments .nav-icon{background:#fff6e9;color:#d99531}.nav-invoices .nav-icon{background:#fff0ef;color:#e05f58}.nav-documents .nav-icon{background:#eaf6ff;color:#2689c8}.nav-reports .nav-icon{background:#f2f5f8;color:#697b95}.nav-branches .nav-icon{background:#e9f8f7;color:#1d9992}.logout{font-size:11px;display:flex;gap:5px;align-items:center}.logout-button{border:1px solid #f0c5c2;background:#fff5f4;color:#ad4f49;border-radius:8px;padding:8px 11px;text-decoration:none;font-size:11px;font-weight:700}.search-form select{height:37px;border:1px solid #e2e7ef;border-radius:7px;background:#fff;padding:0 10px;color:#53627c;font:11px 'DM Sans'}.contract-status.ending,.contract-mini.ending{background:#fff6e9;color:#ad711c}.client-document-picker{padding:14px 18px}.client-document-picker .search-form label{display:flex;align-items:center;gap:12px;color:#68758d;font-size:11px;font-weight:700}.client-document-picker .search-form select{min-width:310px}.contract-page-heading{display:flex;align-items:center;justify-content:space-between;margin:24px 2px 12px}.contract-page-heading h3{margin:5px 0 0;font:700 18px Manrope}.contract-shell{padding:0;overflow:hidden;margin-bottom:16px}.contract-shell-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.contract-identity{display:flex;align-items:center;gap:12px}.contract-color-icon,.document-hero-icon{display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#4b7bf1,#3158cf);color:#fff;width:40px;height:40px;box-shadow:0 5px 14px #3768e82b}.contract-identity h3{margin:3px 0;font:750 16px Manrope}.contract-identity small{color:#7e8a9f;font-size:11px}.contract-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.contract-meta-grid>div{background:#fbfcfe;padding:14px 20px;min-width:0}.contract-meta-grid small,.contract-meta-grid strong{display:block}.contract-meta-grid small{color:#929db0;font-size:9px;text-transform:uppercase;letter-spacing:.5px}.contract-meta-grid strong{font-size:11px;margin-top:6px;white-space:normal}.contract-ending-info{display:flex;align-items:center;gap:14px;padding:12px 20px;background:#fff8ea;border-bottom:1px solid #f3dfb5;color:#796020}.contract-ending-info strong{font-size:11px}.contract-ending-info span{font-size:10px}.contract-documents{padding:17px 20px}.contract-documents-title{display:flex;align-items:center;justify-content:space-between}.contract-documents-title h4,.document-detail-fields h4{margin:0;font:700 12px Manrope}.document-list{margin-top:10px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.document-row{display:grid;grid-template-columns:38px minmax(190px,1fr) minmax(170px,.8fr) auto;gap:12px;align-items:center;padding:12px 13px;border-bottom:1px solid #eff2f6}.document-row:last-child{border-bottom:0}.document-type-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px}.blue-doc{background:#eaf6ff;color:#2689c8}.violet-doc{background:#f3efff;color:#7c60d5}.red-doc{background:#fff0ef;color:#d95c55}.document-main strong,.document-main small{display:block}.document-main strong{font-size:11px}.document-main small{font-size:9px;color:#929db0;margin-top:3px}.document-main p{font-size:10px;color:#66738b;line-height:1.4;margin:6px 0 0}.document-facts{display:flex;flex-wrap:wrap;gap:5px}.document-facts span{border-radius:5px;background:#f4f6fa;color:#7b8799;padding:5px 7px;font-size:9px}.document-facts b{color:#3f4e67}.empty-contracts{text-align:center;padding:42px 22px;margin-top:15px}.empty-contracts .document-hero-icon{margin:0 auto 14px}.empty-contracts h3{font:700 16px Manrope;margin:0}.empty-contracts p{color:#8994a8;font-size:11px;max-width:500px;margin:8px auto 16px;line-height:1.5}.document-detail-fields{display:grid;gap:13px;border:1px solid #e3e9f2;border-radius:10px;background:#fbfcfe;padding:15px}.document-detail-fields h4{color:#43516a}.document-detail-fields[hidden]{display:none}
@media(max-width:900px){.contract-meta-grid{grid-template-columns:repeat(2,1fr)}.document-row{grid-template-columns:38px 1fr auto}.document-facts{grid-column:2/4}.logout span{display:none}}@media(max-width:700px){.logout-button{padding:7px}.contract-meta-grid{grid-template-columns:1fr}.document-row{grid-template-columns:34px 1fr}.document-facts,.document-actions{grid-column:1/3}.client-document-picker .search-form label{align-items:flex-start;flex-direction:column}.client-document-picker .search-form select{min-width:0;width:100%}.ocr-repair-fields{grid-template-columns:1fr}.ocr-repair .primary{width:100%}}
.ocr-repair{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:10px 20px 14px;padding:12px;border:1px solid #e2e9f4;border-radius:10px;background:#f8faff}.ocr-repair-actions{display:flex;flex-wrap:wrap;gap:7px}.ocr-repair-status{font-size:11px;color:#61708a}.ocr-repair-fields{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;width:100%;padding-top:8px}.ocr-repair-fields[hidden]{display:none}.ocr-repair-fields label{display:grid;gap:5px;font-size:10px;font-weight:600;color:#64718a}.ocr-repair-fields input{width:100%;border:1px solid #dce4f0;border-radius:7px;padding:9px;background:#fff;font:inherit;color:var(--ink)}

/* Premium, high-contrast controls and tables */
:root{--ink:#15233d;--muted:#596a83;--line:#d9e1ee;--blue:#315fe1}
body{font-size:15px;color:#15233d}
.sidebar nav a{height:46px;color:#475773}.sidebar nav a span{font-size:14px;font-weight:600}.eyebrow{font-size:11px;color:#687992;letter-spacing:1.05px}
.sidebar nav a.nav-payments{position:relative;z-index:2;cursor:pointer}
.primary{min-height:42px;border:1px solid #2854d0;border-radius:10px;background:linear-gradient(135deg,#4779f5 0%,#2e59d9 58%,#2549bf 100%);color:#fff;padding:11px 17px;font-size:14px;font-weight:700;box-shadow:0 7px 18px #315fe133, inset 0 1px #ffffff40;transition:transform .15s,box-shadow .15s,filter .15s}
.primary:hover{filter:brightness(1.045);transform:translateY(-1px);box-shadow:0 10px 22px #315fe140,inset 0 1px #ffffff55}.primary:focus-visible,.secondary:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #77a5ff;outline-offset:2px}.primary:disabled{opacity:.65;cursor:wait;transform:none}
.secondary{min-height:40px;height:auto;border:1px solid #c8d3e3;border-radius:9px;background:#fff;color:#273a5a;padding:9px 14px;font-size:13px;font-weight:700;box-shadow:0 2px 5px #2034550a;transition:background .15s,border-color .15s,transform .15s}.secondary:hover{background:#f1f5ff;border-color:#9db4e8;color:#244bb0;transform:translateY(-1px)}
.data-table{min-width:760px;border-collapse:separate;border-spacing:0}.data-table th{padding:15px 14px;background:#f1f5fc;color:#40516d;font-size:12px;letter-spacing:.55px;border-bottom:1px solid #d8e2f0}.data-table th:first-child{border-radius:10px 0 0 0}.data-table th:last-child{border-radius:0 10px 0 0}.data-table td{padding:15px 14px;color:#394b66;font-size:14px;line-height:1.45;border-bottom:1px solid #e8edf5;background:#fff}.data-table tbody tr:nth-child(even) td{background:#f9fbfe}.data-table tbody tr:hover td{background:#f0f5ff}.data-table td strong{color:#172744;font-size:14px}.data-table td .table-secondary{display:block;margin-top:4px;color:#697b94;font-size:12px}.table-empty{font-size:14px!important;color:#52627a!important}
.data-form label,.payment-add-form label,.payment-filters label,.ocr-repair-fields label{font-size:13px;color:#43536c}.data-form input,.data-form select,.data-form textarea,.search-form input,.payment-add-form input,.payment-add-form select,.payment-filters input,.payment-filters select,.ocr-repair-fields input{min-height:44px;border:1px solid #ccd7e7;border-radius:9px;padding:11px 13px;color:#1d2d48;font-size:14px;box-shadow:inset 0 1px 2px #1d355408}.data-form input:focus,.data-form select:focus,.data-form textarea:focus,.search-form input:focus,.payment-add-form input:focus,.payment-add-form select:focus,.payment-filters input:focus,.payment-filters select:focus,.ocr-repair-fields input:focus{border-color:#6e91ef;box-shadow:0 0 0 3px #3768e825}
.contract-shell{border:1px solid #d7e1ef;box-shadow:0 8px 26px #1b33500d}.contract-shell-head{padding:21px 23px}.contract-identity h3{font-size:18px}.contract-status{font-size:12px;padding:7px 11px;border-radius:20px;font-weight:800}.contract-meta-grid small{font-size:11px;color:#62738d}.contract-meta-grid strong{font-size:13px;color:#243653;line-height:1.5}.document-row{padding:15px}.document-main strong{font-size:13px;color:#233550}.document-main small{font-size:11px;color:#63738c}.document-main p{font-size:12px;color:#43536c}.document-actions .text-link{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid #cfdaea;border-radius:8px;background:#fff;color:#2855c5;font-size:12px}.document-actions .text-link:hover{background:#eef4ff;border-color:#9cb5ec}
.ocr-repair{border-color:#d6e1f0;background:linear-gradient(110deg,#f7f9fe,#fff)}.ocr-repair-actions .ocr-repair-start{background:linear-gradient(135deg,#4779f5,#315bd7);border-color:#2f57ce;color:#fff;box-shadow:0 5px 14px #315fe126}.ocr-repair-actions .ocr-repair-edit{background:#fff;color:#263a59;border-color:#c4d0e1}.ocr-repair-status{font-size:13px;color:#40536f}.ocr-repair-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ocr-repair-fields .primary{grid-column:1/-1;justify-self:start}
.contract-payment-panel{padding:17px 21px 20px;border-top:1px solid #e5ebf4;background:linear-gradient(135deg,#fbfcff,#f6f9ff)}.contract-payment-head,.payment-list-head,.schedule-editor-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.contract-payment-head h4,.payment-list-head h3,.payment-add-panel h3,.schedule-editor-head h4{margin:4px 0 0;font:700 15px Manrope;color:#1e304d}.payment-link{display:inline-flex;align-items:center;text-decoration:none}.ocr-repair-schedule{display:grid;gap:14px;margin-top:15px;padding:16px;border:1px solid #d6e2f2;border-radius:12px;background:#fff}.ocr-repair-schedule .form-row label,.schedule-editor label{font-size:12px;color:#4d5e78}.ocr-repair-schedule input,.schedule-editor input{width:100%;min-height:41px;margin-top:5px;padding:9px 10px;border:1px solid #cbd7e7;border-radius:8px;background:#fff;color:#1b2b45;font:14px 'DM Sans'}.schedule-row-list,.installment-rows{display:grid;gap:9px}.installment-row{display:grid;grid-template-columns:70px minmax(145px,1fr) minmax(110px,.7fr) minmax(140px,1fr) auto;align-items:end;gap:10px;padding:11px;border:1px solid #e0e7f1;border-radius:10px;background:#f9fbff}.installment-row label{display:grid;gap:3px}.schedule-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.schedule-status{font-size:12px;font-weight:700;color:#376c4d}.schedule-empty,.payment-inactive-note{margin:0;padding:12px 14px;border-radius:9px;background:#f1f4f8;color:#56657b;font-size:13px}.schedule-remove{min-height:39px;padding:8px 11px;border:1px solid #efc7c5;border-radius:8px;background:#fff5f4;color:#a5423d;font-size:12px;font-weight:700;cursor:pointer}.schedule-remove:hover{background:#ffe9e7}.payment-status{display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:5px 10px;border-radius:999px;background:#fff3df;color:#9a6210;font-size:11px;font-weight:800;white-space:nowrap}.payment-status.paid{background:#e8f7ef;color:#187747}.payment-status.cancelled{background:#eef1f5;color:#536174}.payment-status.planned{background:#fff3df;color:#9a6210}
.payment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:18px 0}.payment-summary article{display:flex;flex-direction:column;gap:7px;padding:20px;border:1px solid #d9e3f1;border-radius:13px;background:linear-gradient(135deg,#fff,#f5f8ff);box-shadow:0 6px 20px #1d35500b}.payment-summary article:nth-child(2){background:linear-gradient(135deg,#fff,#f1fbf5)}.payment-summary span{font-size:13px;font-weight:700;color:#4a5d78}.payment-summary strong{font:750 25px Manrope;color:#1c3153}.payment-summary small{font-size:12px;color:#64758c}.payment-add-panel,.payment-list-panel{padding:21px;margin:16px 0}.payment-add-form{display:grid;grid-template-columns:minmax(220px,2fr) minmax(130px,1fr) minmax(120px,.8fr) minmax(150px,1fr) auto;align-items:end;gap:12px;margin-top:17px}.payment-add-form label,.payment-filters label{display:grid;gap:5px;font-weight:700}.payment-add-form input,.payment-add-form select,.payment-filters input,.payment-filters select{width:100%;margin:0}.payment-add-form .primary{white-space:nowrap}.payment-list-head{align-items:flex-end;margin-bottom:16px}.payment-filters{display:flex;align-items:end;flex-wrap:wrap;gap:10px}.payment-filters label{min-width:130px}.payment-filters button{min-height:44px}.premium-table{min-width:900px}.paid-button{min-height:37px;padding:8px 12px;border:1px solid #159260;border-radius:8px;background:linear-gradient(135deg,#2eb879,#16885c);color:white;font-size:12px;font-weight:800;box-shadow:0 4px 11px #16885c2b;cursor:pointer}.paid-button:hover{filter:brightness(1.05)}.inline-status-form{margin:0}.contract-ending-info{padding:14px 20px}.contract-ending-info strong{font-size:13px}.contract-ending-info span{font-size:12px}
@media(max-width:1000px){.payment-add-form{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-list-head{align-items:flex-start;flex-direction:column}.installment-row{grid-template-columns:repeat(2,minmax(0,1fr))}.installment-row .payment-status,.installment-row .schedule-remove{justify-self:start}}
@media(max-width:700px){.payment-summary{grid-template-columns:1fr}.payment-add-form,.payment-filters{display:grid;grid-template-columns:1fr;width:100%}.payment-filters label{min-width:0}.contract-payment-head,.schedule-editor-head{align-items:flex-start;flex-direction:column}.ocr-repair-fields{grid-template-columns:1fr}.ocr-repair-fields .primary{grid-column:auto}.installment-row{grid-template-columns:1fr 1fr}.contract-payment-panel{padding:15px}.data-table th{font-size:11px}.data-table td{font-size:13px}}
.ocr-repair-schedule .form-row{align-items:start}.ocr-repair-schedule .form-row label{display:grid;gap:5px}.ocr-repair-schedule .form-row small{font-size:11px;line-height:1.45;color:#65758d;font-weight:500}.ocr-repair-schedule .schedule-payment-method{display:block;width:100%;min-height:64px;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #cbd7e7;border-radius:8px;background:#fff;color:#1b2b45;padding:10px 12px;font:14px/1.45 'DM Sans',sans-serif}.schedule-guidance{margin:0;padding:12px 14px;border:1px solid #c8d8fa;border-radius:9px;background:#f2f6ff;color:#344e7f;font-size:13px;line-height:1.5}.schedule-empty{border:1px dashed #c6d3e6;background:#f8faff;color:#40536f;font-weight:600}.schedule-status{max-width:100%;line-height:1.5}.schedule-status:not(:empty){padding:7px 10px;border-radius:7px;background:#eef8f1}.ocr-repair-schedule .installment-row input{font-size:14px}.ocr-repair-schedule .schedule-save{min-width:245px}
@media(max-width:700px){.ocr-repair-schedule .form-row{display:grid;grid-template-columns:1fr}.ocr-repair-schedule .schedule-save{width:100%;min-width:0}}
.repair-save-guidance{grid-column:1/-1;margin:0;padding:10px 12px;border:1px solid #d4e1fa;border-radius:8px;background:#f3f7ff;color:#38517b;font-size:12px;line-height:1.5}.ocr-repair-fields .form-row{display:flex;gap:10px;grid-column:1/-1}.ocr-repair-fields .form-row label{flex:1}.ocr-repair-fields>label{min-width:0}.ocr-repair-fields input[type=date]{width:100%}
.payment-head-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.payment-head-actions .schedule-read{background:linear-gradient(135deg,#4779f5,#315bd7);border-color:#315bd7;color:#fff;box-shadow:0 5px 14px #315fe126}.schedule-read:disabled{opacity:.65;cursor:wait}
.schedule-progress{display:grid;grid-template-columns:44px minmax(0,1fr);gap:11px;align-items:center;padding:14px 15px;border:1px solid #bcd0ff;border-radius:10px;background:#f2f6ff;color:#263f75}.schedule-progress[hidden]{display:none}.schedule-progress-percent{grid-row:1/3;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#3768e8;color:#fff;font-size:12px;font-weight:800;box-shadow:0 5px 14px #3768e833}.schedule-progress-copy{display:flex;justify-content:space-between;gap:12px;align-items:center}.schedule-progress-copy strong{font-size:13px}.schedule-progress-copy span{font-size:11px;color:#5c6f96}.schedule-progress-track{height:8px;border-radius:999px;background:#dce6fb;overflow:hidden}.schedule-progress-bar{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3768e8,#6f92f4);transition:width .35s ease}.schedule-progress.done{border-color:#b9e2c8;background:#effaf3;color:#225d37}.schedule-progress.done .schedule-progress-percent{background:#2d9a5f}.schedule-progress.error{border-color:#efc3c0;background:#fff3f2;color:#913e39}.schedule-progress.error .schedule-progress-percent{background:#d45a52}
.ocr-repair-schedule .installment-row.schedule-missing{border-color:#ef9a9a;background:#fff5f5;box-shadow:0 0 0 2px rgba(220,38,38,.08)}
.ocr-repair-schedule .installment-row.schedule-missing input{border-color:#dc2626;background:#fff}
.client-document-picker .client-picker-form{align-items:flex-end;gap:14px;flex-wrap:wrap}.client-document-picker .client-picker-form label{align-items:flex-start;flex-direction:column;gap:7px}.client-picker-search{width:290px;height:42px;border:1px solid #cfd8e8;border-radius:10px;background:#fff;padding:0 13px;color:#263650;font:600 12px 'DM Sans';box-shadow:0 3px 12px #334f7d12}.client-document-picker .client-picker-select{min-width:430px;height:42px;font-size:12px;font-weight:650;color:#253651}.client-document-picker .client-picker-select[size]:not([size="1"]){height:auto;min-height:84px;padding:6px}.client-picker-select option{padding:8px 10px}
@media(max-width:700px){.client-picker-search,.client-document-picker .client-picker-select{width:100%;min-width:0}.client-document-picker .client-picker-form{display:grid;grid-template-columns:1fr}.client-document-picker .client-picker-form label{width:100%}}

/* Nawigacja premium: większe, kolorowe ikony modułów */
.sidebar nav{gap:7px}
.sidebar nav a{height:54px;gap:13px;padding:0 11px;border:1px solid transparent;border-radius:12px;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
.sidebar nav a span{font-size:14px;font-weight:700;color:#3e4e68}
.sidebar nav a .nav-icon{width:34px;height:34px;flex:0 0 34px;padding:7px;border:1px solid rgba(255,255,255,.8);border-radius:11px;stroke-width:2;filter:drop-shadow(0 4px 7px rgba(30,52,88,.13));transition:transform .18s,filter .18s}
.sidebar nav a:hover{background:#f8faff;border-color:#e2e9f5;box-shadow:0 7px 18px rgba(27,51,86,.07);transform:translateX(2px)}
.sidebar nav a:hover .nav-icon{transform:scale(1.07);filter:drop-shadow(0 6px 9px rgba(30,52,88,.19))}
.sidebar nav a.active{background:linear-gradient(105deg,#eef3ff 0%,#f8faff 100%);border-color:#d8e3fb;box-shadow:inset 3px 0 #3b68e8,0 6px 18px rgba(42,74,145,.08)}
.sidebar nav a.active span{color:#274da9}
.nav-dashboard .nav-icon{background:linear-gradient(145deg,#dfe8ff,#f1f5ff);color:#3f67df}
.nav-clients .nav-icon{background:linear-gradient(145deg,#d8f6e8,#effcf6);color:#159765}
.nav-groups .nav-icon{background:linear-gradient(145deg,#e8ddff,#f7f2ff);color:#7751d4}
.nav-payments .nav-icon{background:linear-gradient(145deg,#ffebbd,#fff8e8);color:#c67a08}
.nav-invoices .nav-icon{background:linear-gradient(145deg,#ffdcd8,#fff2f0);color:#d84f48}
.nav-documents .nav-icon{background:linear-gradient(145deg,#d8efff,#f0f9ff);color:#157fbf}
.nav-reports .nav-icon{background:linear-gradient(145deg,#e4e9f1,#f6f8fb);color:#566c8c}
.nav-branches .nav-icon{background:linear-gradient(145deg,#d5f3f1,#effbf9);color:#11877f}
.payment-picker-note{display:block;margin-top:2px;color:#61728b;font-size:11px;font-weight:600;line-height:1.35}
.payment-contract-picker.is-loading{background-color:#eef3ff;color:#3157b6;cursor:wait}
@media(max-width:700px){.sidebar nav a{height:50px;padding:0;transform:none!important}.sidebar nav a .nav-icon{width:36px;height:36px;flex-basis:36px}.sidebar nav a.active{box-shadow:0 5px 14px rgba(42,74,145,.12)}}

/* Rozliczenia rat: wiele wpłat, kart i faktur w jednej racie */
.payment-cards{display:grid;gap:14px}.payment-card{overflow:hidden;border:1px solid #d9e3f0;border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(26,48,82,.07)}
.payment-card-main{display:grid;grid-template-columns:125px minmax(170px,1.35fr) 110px minmax(110px,.8fr) minmax(190px,1.2fr) 135px;gap:15px;align-items:center;padding:17px 18px;background:linear-gradient(110deg,#fff,#f8faff)}
.payment-card-main>div{display:grid;gap:5px;min-width:0}.payment-card-main small{font-size:10px;font-weight:800;letter-spacing:.55px;color:#71819a}.payment-card-main strong{font-size:13px;color:#1e304d;overflow-wrap:anywhere}.payment-card-main span:not(.payment-status){font-size:11px;color:#66778f}.payment-amount strong{font-size:16px}.payment-amount span{font-weight:700;color:#425777!important}
.payment-status.partial{background:#eaf2ff;color:#2d5db7}.receipt-list{display:grid;gap:7px;padding:12px 18px;border-top:1px solid #e8edf5;background:#fbfcfe}.receipt-empty{margin:0;color:#718096;font-size:12px}
.receipt-item{display:grid;grid-template-columns:150px 105px 95px minmax(145px,1fr) minmax(120px,1fr) auto;gap:10px;align-items:center;padding:9px 11px;border:1px solid #e0e7f1;border-radius:9px;background:#fff;color:#52647e;font-size:12px}.receipt-item strong{color:#1e344f;font-size:13px}.receipt-note{color:#687a92;font-style:italic}.receipt-method{display:inline-flex;align-items:center;justify-content:center;justify-self:start;padding:5px 9px;border-radius:999px;background:#eef2f7;color:#52627a;font-size:10px;font-weight:800}.receipt-method.card{background:#fff0d8;color:#9a6208}.receipt-method.transfer{background:#e8f2ff;color:#2861ae}.receipt-method.cash{background:#e8f8ef;color:#197549}.receipt-method.legacy{background:#f0f1f5;color:#5e6674}
.receipt-void{border:0;background:transparent;color:#a54a45;font-size:11px;font-weight:750;cursor:pointer}.receipt-void:hover{text-decoration:underline}.receipt-editor{border-top:1px solid #e2e9f3;background:#f8faff}.receipt-editor summary{padding:13px 18px;color:#315bc7;font-size:12px;font-weight:800;cursor:pointer;list-style:none}.receipt-editor summary::-webkit-details-marker{display:none}.receipt-editor[open] summary{border-bottom:1px solid #e2e9f3;background:#eef4ff}.receipt-editor-body{display:grid;gap:12px;padding:15px 18px}.receipt-form{display:grid;grid-template-columns:130px 145px 145px minmax(155px,1fr) minmax(155px,1fr) auto;gap:10px;align-items:end}.receipt-form label,.expected-invoice-form label{display:grid;gap:5px;color:#475a75;font-size:11px;font-weight:750}.receipt-form input,.receipt-form select,.expected-invoice-form input{width:100%;min-height:40px;border:1px solid #cad6e7;border-radius:8px;background:#fff;padding:9px 10px;color:#20314d;font:13px 'DM Sans'}.receipt-form input:focus,.receipt-form select:focus,.expected-invoice-form input:focus{border-color:#6e91ef;box-shadow:0 0 0 3px #3768e825;outline:0}.expected-invoice-form{display:grid;grid-template-columns:minmax(230px,420px) auto;gap:10px;align-items:end;padding-top:11px;border-top:1px dashed #d8e1ee}.expected-invoice-form .secondary{min-height:40px}
@media(max-width:1200px){.payment-card-main{grid-template-columns:repeat(3,minmax(0,1fr))}.receipt-item{grid-template-columns:120px 90px 90px minmax(130px,1fr) auto}.receipt-note{grid-column:2/5}.receipt-form{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.payment-card-main{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.receipt-list{padding:10px 14px}.receipt-item{grid-template-columns:1fr 1fr}.receipt-item form{justify-self:end}.receipt-note{grid-column:1/-1}.receipt-form{grid-template-columns:1fr}.receipt-form .paid-button{width:100%}.expected-invoice-form{grid-template-columns:1fr}.receipt-editor-body{padding:13px 14px}}
