*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;color:#1a1a2e;background:#f8f9ff}button,input,select{font-family:inherit}.lk-shell{min-height:100vh;display:flex;flex-direction:column}.lk-header{background:#fff;padding:0 32px;height:64px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 20px #00000014}.lk-logo{font-size:20px;font-weight:800;color:#3b28cc;text-decoration:none;display:inline-block}.lk-logo span{color:#f7931e}.lk-header-right{display:flex;align-items:center;gap:16px}.lk-role-badge{background:#ede9ff;color:#3b28cc;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600}.lk-main{flex:1;padding:32px;max-width:1100px;width:100%;margin:0 auto}.lk-title{font-size:26px;font-weight:800;margin-bottom:24px;letter-spacing:-.5px}.lk-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 20px #0000000f;border:1px solid #f0f0f8}.lk-card h2{font-size:17px;font-weight:700;margin-bottom:16px}.lk-grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}@media (max-width: 800px){.lk-grid-2{grid-template-columns:minmax(0,1fr)}}.lk-table{width:100%;border-collapse:collapse;font-size:14px}.lk-table th,.lk-table td{text-align:left;padding:10px 8px;border-bottom:1px solid #f0f0f8}.lk-table th{color:#6b7280;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.lk-empty{color:#9ca3af;font-size:14px}form label{display:block;font-size:13px;font-weight:600;color:#4a4a6a;margin-bottom:12px}form input,form select,form textarea{display:block;width:100%;margin-top:6px;padding:10px 14px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;color:#1a1a2e}form textarea{font-family:inherit;resize:vertical;line-height:1.5}form input:focus,form select:focus,form textarea:focus{outline:none;border-color:#3b28cc}.lk-btn-primary{background:linear-gradient(135deg,#f7931e,#e07010);color:#fff;padding:12px 28px;border-radius:10px;font-weight:700;font-size:14px;border:none;cursor:pointer;box-shadow:0 6px 18px #f7931e59}.lk-btn-primary:disabled{opacity:.6;cursor:default}.lk-btn-outline{display:inline-block;background:transparent;color:#3b28cc;padding:10px 20px;border-radius:10px;font-weight:600;font-size:14px;border:2px solid #3b28cc;cursor:pointer;text-decoration:none}.lk-btn-small{padding:6px 12px;font-size:12px}.lk-error{background:#fee2e2;color:#b91c1c;padding:10px 14px;border-radius:8px;font-size:13px;margin:12px 0}.lk-success{background:#dcfce7;color:#15803d;padding:10px 14px;border-radius:8px;font-size:13px;margin:12px 0}.lk-hint{font-size:12px;color:#9ca3af;margin-top:12px}.lk-sub{color:#6b7280;font-size:14px;margin-bottom:16px}.lk-field{margin-bottom:20px;max-width:320px}.lk-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.lk-tab{background:#fff;border:1px solid #e5e7eb;color:#4a4a6a;padding:10px 18px;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer}.lk-tab-active{background:#3b28cc;color:#fff;border-color:#3b28cc}.lk-tab-badge{display:inline-block;background:#f7931e;color:#fff;font-size:11px;font-weight:800;min-width:18px;height:18px;line-height:18px;border-radius:9px;margin-left:6px;padding:0 5px}.lk-bell{position:relative;background:none;border:none;font-size:20px;cursor:pointer;padding:6px;line-height:1}.lk-bell-badge{position:absolute;top:0;right:0;background:#e11d48;color:#fff;font-size:10px;font-weight:800;min-width:16px;height:16px;line-height:16px;border-radius:8px;padding:0 4px;box-shadow:0 0 0 2px #fff}.leads-row-unread{background:#fff7ed;font-weight:600}.leads-row-unread:hover{background:#ffedd5}.lk-actions-row{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}.lk-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a0a6b,#3b28cc,#6b46f7);padding:24px}.lk-login-card{width:100%;max-width:380px}.lk-login-card h1{font-size:22px;font-weight:800;margin-bottom:4px}.lk-hint{display:block;font-size:12px;color:#8a86a8;margin-top:4px;font-weight:400}.lk-warn{background:#fff7ed;border:1px solid #fcd9a8;color:#9a5b13;border-radius:8px;padding:10px 12px;font-size:13px;margin-top:10px}.lk-pending{font-size:12px;color:#9a5b13;background:#fff7ed;border-radius:6px;padding:3px 8px;white-space:nowrap}.lk-btn-mini{background:#f1effc;color:#3b28cc;border:1px solid #d0cde8;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer}.lk-btn-mini:hover{background:#e4e0fa}.lk-radio-group{display:flex;flex-direction:column;gap:8px;margin-top:6px}.lk-radio-card{display:block;border:1px solid #d0cde8;border-radius:10px;padding:10px 14px;cursor:pointer;transition:border-color .15s,background .15s}.lk-radio-card input{display:none}.lk-radio-card-active{border-color:#3b28cc;background:#f1effc}.lk-radio-title{display:block;font-weight:700;font-size:14px}.lk-radio-hint{display:block;font-size:12px;color:#8a86a8;margin-top:2px}.lk-dev-gate-link{display:block;margin-top:18px;padding-top:14px;border-top:1px dashed #d0cde8;background:none;border-left:none;border-right:none;border-bottom:none;color:#c7c4dd;font-size:11px;cursor:pointer;text-align:left}.lk-dev-gate-link:hover{color:#8a86a8}.lk-dev-gate{margin-top:18px;padding-top:14px;border-top:1px dashed #d0cde8;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lk-dev-gate input{width:auto;flex:1;min-width:120px;margin-top:0;padding:8px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:13px}.lk-dev-gate .lk-error{width:100%;margin:4px 0 0}.lk-dev-login{margin-top:18px;padding-top:14px;border-top:1px dashed #d0cde8}.lk-dev-login-title{font-size:12px;color:#8a86a8;margin-bottom:8px}.lk-dev-login-buttons{display:flex;flex-wrap:wrap;gap:8px}.lk-dev-login-btn{background:#f1effc;color:#3b28cc;border:1px solid #d0cde8;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:1px}.lk-dev-login-name{font-size:11px;font-weight:400;color:#8a86a8}.lk-dev-login-btn:hover{background:#e4e0fa}.journal-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.journal-group-pick{margin-bottom:0;min-width:220px;display:block;font-size:13px;font-weight:600;color:#4a4a6a}.journal-group-pick select{display:block;width:100%;margin-top:6px;padding:10px 14px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;font:inherit;font-size:14px;font-weight:500;color:#1a1a2e}.journal-group-pick select:focus{outline:none;border-color:#3b28cc}.journal-month-nav{display:flex;align-items:center;gap:10px}.journal-month-label{font-weight:700;font-size:15px;min-width:120px;text-align:center;text-transform:capitalize}.journal-scroll{overflow-x:auto}.journal-table{border-collapse:collapse;font-size:13px;min-width:100%}.journal-table th,.journal-table td{border:1px solid #f0f0f8;padding:6px;text-align:center;white-space:nowrap}.journal-table thead th{color:#6b7280;font-weight:600;background:#f8f9ff}.journal-name-col{text-align:left!important;font-weight:600;position:sticky;left:0;background:#fff;min-width:160px}.journal-table thead .journal-name-col{background:#f8f9ff}.journal-day{display:block;font-size:14px;font-weight:700;color:#1a1a2e}.journal-wd{display:block;font-size:11px}.journal-today{background:#fff7ed!important}.journal-total{font-weight:800;color:#3b28cc}.att-cell{width:32px;height:32px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-size:15px;font-weight:800;line-height:1;transition:transform .1s,border-color .15s}.att-cell:hover{transform:scale(1.1);border-color:#3b28cc}.att-present{background:#dcfce7;color:#15803d;border-color:#86efac}.att-absent{background:#fee2e2;color:#b91c1c;border-color:#fca5a5}.att-excused{background:#fef3c7;color:#92400e;border-color:#fcd34d}.att-legend{display:inline-block;width:20px;height:20px;border-radius:6px;text-align:center;line-height:20px;font-weight:800;font-size:12px}.att-cell-wrap{position:relative;display:inline-block}.att-transfer-badge{position:absolute;top:-7px;right:-7px;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#f7931e,#e07010);color:#fff;font-size:11px;font-weight:800;line-height:16px;text-align:center;pointer-events:auto;cursor:help}.att-transfer-badge-inline{position:static;display:inline-block}.att-cell-disabled{display:inline-block;width:32px;height:32px;border-radius:8px;background:repeating-linear-gradient(45deg,#f3f4f6,#f3f4f6 4px,#fff 4px,#fff 8px)}.journal-guest-row,.journal-guest-row .journal-name-col{background:#fffbf5}.journal-guest-badge{display:inline-block;margin-left:8px;background:linear-gradient(135deg,#f7931e,#e07010);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.4px}.transfers-panel{margin-top:16px;border-top:1px solid #f0f0f8;padding-top:12px}.transfers-toggle{background:none;border:none;font-weight:700;font-size:14px;color:#3b28cc;cursor:pointer;padding:4px 0;display:flex;align-items:center;gap:8px}.transfers-count{background:#ede9ff;color:#3b28cc;font-size:12px;padding:2px 9px;border-radius:12px}.transfers-list{list-style:none;margin:10px 0;display:flex;flex-direction:column;gap:6px}.transfers-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:8px 12px;font-size:13px}.transfers-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.transfers-form select,.transfers-form input{margin-top:0;width:auto;padding:8px 10px;border:2px solid #e5e7eb;border-radius:8px;font-size:13px}.transfers-form .transfers-note{flex:1;min-width:140px}.transfers-inline{display:flex;align-items:center;gap:6px;margin-bottom:0;font-size:13px;color:#6b7280;font-weight:600}.transfer-info{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-left:5px solid #0ea5e9;border-radius:14px;padding:14px 18px;margin-bottom:12px}.transfer-info-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.transfer-info-title{font-size:14px;color:#1a1a2e}.transfer-info-title b{color:#0369a1}.transfer-info-sub{font-size:12px;color:#64748b;margin-top:2px}.pay-due{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid #fed7aa;border-left:5px solid #f7931e;border-radius:14px;padding:16px 20px;margin-bottom:12px;box-shadow:0 4px 16px #f7931e1f}.pay-due-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#f7931e,#e07010);color:#fff;font-size:20px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 6px 14px #f7931e59}.pay-due-title{font-size:15px;color:#1a1a2e}.pay-due-title b{color:#c2410c}.pay-due-sub{font-size:13px;color:#9a3412;margin-top:2px}.pay-ok{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;color:#15803d;border-radius:14px;padding:14px 18px;font-size:14px;font-weight:600;margin-bottom:12px}.pay-block{margin-bottom:12px}.pay-block .pay-due{margin-bottom:0}.pay-due-btn{width:100%;text-align:left;cursor:pointer;font:inherit}.pay-due-btn:hover{box-shadow:0 6px 20px #f7931e38}.pay-due-open{border-bottom-left-radius:0;border-bottom-right-radius:0}.pay-due-chevron{margin-left:auto;color:#c2410c;font-size:16px;flex-shrink:0}.pay-claimed-chip{margin-left:10px;vertical-align:middle}.pay-details{background:#fff;border:1px solid #fed7aa;border-top:none;border-radius:0 0 14px 14px;padding:18px 20px}.pay-details-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px}@media (max-width: 800px){.pay-details-grid{grid-template-columns:minmax(0,1fr)}.pay-lessons li{flex-wrap:wrap;row-gap:4px}}.pay-details-title{font-size:14px;font-weight:800;margin-bottom:10px}.pay-lessons{list-style:none;display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}.pay-lessons li{display:flex;align-items:center;gap:10px;font-size:13px;padding:6px 10px;background:#f8f9ff;border-radius:8px}.pay-lesson-free{opacity:.75}.pay-lesson-date{min-width:110px}.pay-lesson-note{margin-left:auto;font-size:11px;color:#c2410c;font-weight:700}.pay-lesson-note-free{color:#9ca3af;font-weight:400}.pay-calc{margin-top:12px;padding-top:10px;border-top:1px dashed #e5e7eb;font-size:14px;text-align:right}.pay-qr-box{display:flex;flex-direction:column;align-items:center;gap:10px;background:#f8f9ff;border:1px solid #f0f0f8;border-radius:14px;padding:16px}.pay-qr-img{width:190px;height:190px;border-radius:12px;border:1px solid #f0f0f8;background:#fff;padding:6px}.pay-open-link{text-decoration:none;text-align:center}.pay-claim-btn{width:100%;text-align:center}.pay-claimed{background:#dbeafe;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600;text-align:center}.pay-badge-claimed{background:#dbeafe;color:#1d4ed8}.pay-total{text-align:right;font-size:14px;color:#4a4a6a;margin-bottom:4px}.pay-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700}.pay-badge-pending{background:#fef3c7;color:#92400e}.pay-badge-paid{background:#dcfce7;color:#15803d}.price-value{background:none;border:none;color:#3b28cc;font-weight:700;font-size:13px;cursor:pointer;text-decoration:underline dotted;padding:0}.price-edit{display:inline-flex;gap:6px;align-items:center}.dm-layout{display:grid;grid-template-columns:240px 1fr;gap:16px;align-items:stretch}@media (max-width: 800px){.dm-layout{grid-template-columns:1fr}.dm-contacts{max-height:200px}}.dm-contacts{display:flex;flex-direction:column;gap:6px;overflow-y:auto;max-height:500px;padding-right:4px}.dm-contact{text-align:left;background:#f8f9ff;border:1px solid #f0f0f8;border-radius:12px;padding:10px 12px;cursor:pointer;transition:border-color .15s,background .15s}.dm-contact:hover{border-color:#ddd6fe}.dm-contact-active{background:#ede9ff;border-color:#3b28cc}.dm-contact-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.dm-contact-name{font-size:13px;font-weight:700;color:#1a1a2e}.dm-unread{background:linear-gradient(135deg,#f7931e,#e07010);color:#fff;font-size:11px;font-weight:800;min-width:20px;height:20px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}.dm-contact-sub{display:block;font-size:11px;color:#9ca3af;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-thread{display:flex;flex-direction:column;min-height:400px}.dm-list{flex:1;height:auto;min-height:320px}.students-layout{display:grid;grid-template-columns:5fr 6fr;gap:24px;align-items:start}@media (max-width: 900px){.students-layout{grid-template-columns:1fr}}.students-list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.students-list-head h2{margin-bottom:0}.students-list tbody tr{cursor:pointer}.students-list tbody tr:hover{background:#f8f9ff}.students-row-active{background:#ede9ff!important}.students-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.students-card-head h2{margin-bottom:0;font-size:19px}.students-delete{color:#b91c1c;border-color:#fca5a5}.students-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}@media (max-width: 1100px){.students-stats{grid-template-columns:repeat(2,1fr)}}.students-stat{background:#f8f9ff;border:1px solid #f0f0f8;border-radius:12px;padding:12px 10px;text-align:center}.students-stat-num{font-size:22px;font-weight:900;line-height:1.2}.stat-green{color:#15803d}.stat-yellow{color:#b45309}.stat-red{color:#b91c1c}.stat-purple{color:#3b28cc;font-size:16px}.students-stat-label{font-size:11px;color:#6b7280;margin-top:4px;line-height:1.3}.students-details{display:grid;grid-template-columns:170px 1fr;row-gap:10px;column-gap:12px;font-size:14px}.students-details dt{color:#6b7280;font-weight:600}.students-details dd{color:#1a1a2e}.students-preferred{background:linear-gradient(135deg,#f7931e,#e07010);color:#fff;padding:3px 12px;border-radius:12px;font-size:12px;font-weight:700}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-row{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 14px}.check-pill input{position:absolute;opacity:0;width:0;height:0}.check-pill span{display:inline-block;padding:7px 14px;border:2px solid #e5e7eb;border-radius:20px;font-size:13px;font-weight:600;color:#4a4a6a;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s}.check-pill input:checked+span{background:#3b28cc;border-color:#3b28cc;color:#fff}.lk-user{display:flex;align-items:center;gap:10px;padding-right:14px;border-right:1px solid #f0f0f8}.lk-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#3b28cc,#6b46f7);color:#fff;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lk-user-info{display:flex;flex-direction:column;line-height:1.25}.lk-user-name{font-size:13px;font-weight:700;color:#1a1a2e}.lk-user-role{font-size:11px;color:#8a86a8}@media (max-width: 640px){.lk-header{padding:0 16px}.lk-header-right{gap:8px}.lk-user-info{display:none}.lk-user{padding-right:8px}.lk-main{padding:20px 16px}}.sum-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}@media (max-width: 800px){.sum-cards{grid-template-columns:1fr}}.sum-card{background:#fff;border:1px solid #f0f0f8;border-radius:16px;padding:16px 20px;box-shadow:0 4px 20px #0000000d}.sum-card-accent{background:linear-gradient(135deg,#3b28cc,#6b46f7);border-color:transparent;color:#fff;box-shadow:0 8px 24px #3b28cc4d}.sum-card-label{font-size:12px;font-weight:600;opacity:.85}.sum-card-value{font-size:24px;font-weight:900;margin-top:6px;letter-spacing:-.5px}.sum-card-sub{font-size:12px;margin-top:4px;opacity:.75}.sum-green{color:#15803d}.sum-purple{color:#3b28cc}.chip{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap}.chip-green{background:#dcfce7;color:#15803d}.chip-red{background:#fee2e2;color:#b91c1c}.chip-yellow{background:#fef3c7;color:#92400e}.chip-gray{background:#f3f4f6;color:#9ca3af}.chip-blue{background:#dbeafe;color:#1d4ed8}.sched-list{display:flex;flex-direction:column;gap:10px}.sched-item{display:flex;align-items:center;gap:14px;background:#f8f9ff;border:1px solid #f0f0f8;border-radius:12px;padding:12px 16px}.sched-day-badge{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#3b28cc,#6b46f7);color:#fff;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sched-dayname{font-size:14px;font-weight:700}.sched-time{font-size:13px;color:#6b7280;margin-top:2px}.sched-room{color:#9ca3af}.att-list-scroll{max-height:420px;overflow:auto}.att-date-cell{white-space:nowrap}.att-date-wd{color:#9ca3af;font-size:12px}.att-note-cell{font-size:13px;color:#6b7280}.seg-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.seg-btn{background:#fff;border:2px solid #e5e7eb;color:#4a4a6a;padding:9px 18px;border-radius:20px;font-weight:700;font-size:14px;cursor:pointer;transition:all .15s}.seg-btn-active{background:#3b28cc;border-color:#3b28cc;color:#fff;box-shadow:0 6px 16px #3b28cc4d}.att-cell-stack{display:inline-flex;flex-direction:column;gap:3px;align-items:center}.hw-cell{width:32px;height:18px;border-radius:6px;border:1px dashed #e5e7eb;background:#fff;cursor:pointer;font-size:10px;font-weight:700;line-height:1;color:#c7cad1;transition:transform .1s,border-color .15s;padding:0}.hw-cell:hover{transform:scale(1.08);border-color:#3b28cc;color:#3b28cc}.hw-done{background:#dcfce7;color:#15803d;border:1px solid #86efac}.hw-partial{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.hw-none{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.att-legend.hw-done,.att-legend.hw-partial,.att-legend.hw-none{line-height:18px}.lk-search{width:100%;padding:10px 14px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;margin-bottom:12px}.lk-search:focus{outline:none;border-color:#3b28cc}.base-mine-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#4a4a6a;cursor:pointer;margin-bottom:0}.base-mine-toggle input{width:16px;height:16px;margin:0;accent-color:#3b28cc}.journal-extra-badge{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;font-size:9px;font-weight:800;padding:2px 6px;border-radius:8px;text-transform:uppercase;letter-spacing:.3px;margin-top:2px;cursor:help}.journal-extra-del{background:none;border:none;color:#ffffffb3;cursor:pointer;font-size:9px;padding:0;line-height:1}.journal-extra-del:hover{color:#fff}.hw-cell-spacer{display:inline-block;width:32px;height:18px}.chat-attach-img{max-width:240px;max-height:200px;border-radius:10px;display:block;margin-bottom:6px;border:1px solid #eceafd}.chat-attach-file{display:inline-block;background:#f1effc;border:1px solid #ddd6fe;color:#3b28cc;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600;text-decoration:none;margin-bottom:6px;word-break:break-all}.chat-attach-file:hover{background:#e4e0fa}.chat-attach-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;font-size:18px;flex-shrink:0;transition:border-color .15s;margin-bottom:0}.chat-attach-btn:hover{border-color:#3b28cc}.chat-attach-chip{display:inline-flex;align-items:center;gap:6px;background:#ede9ff;color:#3b28cc;border-radius:10px;padding:6px 10px;font-size:12px;font-weight:600;white-space:nowrap}.chat-attach-chip button{background:none;border:none;color:#8a86a8;cursor:pointer;font-size:11px;padding:0}.chat-attach-chip button:hover{color:#b91c1c}.chat-card{display:flex;flex-direction:column}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.chat-head h2{margin-bottom:0}.chat-head select{padding:8px 12px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;max-width:260px}.chat-list{height:420px;overflow-y:auto;background:#f8f9ff;border:1px solid #f0f0f8;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px}.chat-msg{display:flex}.chat-msg-mine{justify-content:flex-end}.chat-bubble{max-width:72%;background:#fff;border:1px solid #eceafd;border-radius:14px 14px 14px 4px;padding:10px 14px;box-shadow:0 2px 8px #3b28cc0f}.chat-msg-mine .chat-bubble{background:#ede9ff;border-color:#ddd6fe;border-radius:14px 14px 4px}.chat-author{font-size:13px;font-weight:700;color:#3b28cc;margin-bottom:4px;display:flex;align-items:center;gap:8px}.chat-role-badge{background:linear-gradient(135deg,#f7931e,#e07010);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.4px}.chat-body{font-size:14px;line-height:1.5;color:#1a1a2e;white-space:pre-wrap;word-break:break-word}.chat-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:4px;font-size:11px;color:#9ca3af}.chat-delete{background:none;border:none;color:#d1d5db;cursor:pointer;font-size:11px;padding:0 2px}.chat-delete:hover{color:#b91c1c}.chat-form{display:flex;gap:10px;margin-top:12px}.chat-form input{flex:1;margin-top:0;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px}.chat-form input:focus{outline:none;border-color:#3b28cc}.hw-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.hw-head h2{margin-bottom:0}.hw-filters{display:flex;gap:8px}.hw-filters select{margin-top:0;width:auto}.hw-list{list-style:none;margin:16px 0 0;padding:0}.hw-item{padding:12px 14px;border:1px solid #f0f0f8;border-radius:10px;margin-bottom:8px;cursor:pointer;transition:border-color .18s,background .18s}.hw-item:hover{border-color:#d0cde8}.hw-item-active{border-color:#3b28cc;background:#f8f7ff}.hw-item-todo{border-left:3px solid #f7931e;cursor:default}.hw-item-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:14px}.hw-counts{font-size:12px;color:#9ca3af}.hw-item-text{margin-top:6px;font-size:14px;color:#4b5563}.hw-item-state{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0;font-size:13px}.hw-file{display:inline-block;margin-top:6px;font-size:13px;color:#3b28cc}.hw-alert{margin:12px 0;padding:12px 14px;background:#fff8ed;border-left:3px solid #f7931e;border-radius:0 8px 8px 0;font-size:14px}.hw-badge{padding:2px 9px;border-radius:100px;font-size:12px;font-weight:600}.hw-badge-done{background:#dcfce7;color:#166534}.hw-badge-partial{background:#fef9c3;color:#854d0e}.hw-badge-none{background:#fee2e2;color:#991b1b}.hw-badge-todo{background:#ffedd5;color:#9a3412}.hw-detail{margin-top:20px}.hw-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.hw-detail-head h2{margin-bottom:4px}.hw-text{margin:12px 0;font-size:15px;color:#374151;white-space:pre-wrap}.hw-students-title{font-size:14px;font-weight:700;margin:20px 0 10px}.hw-students{list-style:none;margin:0;padding:0}.hw-student{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 0;border-bottom:1px solid #f0f0f8;flex-wrap:wrap}.hw-student:last-child{border-bottom:none}.hw-student-main{display:flex;flex-direction:column;gap:3px;font-size:14px}.hw-nosub{font-size:12px;color:#9ca3af}.hw-subs{display:flex;flex-direction:column;gap:2px}.hw-sub{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.hw-sub-comment{font-size:12px;color:#6b7280}.hw-marks{display:flex;gap:4px}.hw-mark{padding:5px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-family:inherit;font-size:12px;cursor:pointer;color:#6b7280;transition:all .15s}.hw-mark:hover{border-color:#9ca3af}.hw-mark-done.hw-mark-on{background:#dcfce7;border-color:#86efac;color:#166534}.hw-mark-partial.hw-mark-on{background:#fef9c3;border-color:#fde68a;color:#854d0e}.hw-mark-none.hw-mark-on{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.hw-send{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.hw-send input{margin-top:0;width:auto;flex:1;min-width:160px}.hw-send-actions{display:flex;gap:6px}@media (max-width: 640px){.hw-student{flex-direction:column;align-items:flex-start}.hw-marks{width:100%}.hw-mark{flex:1}}.group-chips{display:flex;flex-wrap:wrap;gap:5px}.group-chip{display:inline-block;padding:3px 9px;border-radius:100px;font-size:12px;font-weight:600;line-height:1.4;color:#fff;background:#6b7280;white-space:nowrap}.group-chip.subj-math{background:#4b34e0}.group-chip.subj-cs{background:#0284c7}.group-chip.subj-physics{background:#7c3aed}.group-chip.subj-history{background:#b45309}.group-chip.subj-social{background:#0d9488}.group-chip.subj-russian{background:#be123c}.base-filters{display:flex;gap:10px;align-items:center}.base-filters .lk-search{flex:1;margin-bottom:0}.base-subject-filter{width:auto;min-width:160px;margin-top:0}.students-stat-groups{justify-content:center}.students-stat-chips{display:flex;justify-content:center;margin-bottom:6px}.students-stat-chips .group-chips{justify-content:center}.lk-subtabs{display:flex;gap:8px;margin-bottom:16px}.lk-subtab{padding:8px 18px;border-radius:100px;border:1px solid #d0cde8;background:#fff;color:#4b5563;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.lk-subtab:hover{background:#f6f5fb}.lk-subtab-active{background:#4b34e0;border-color:#4b34e0;color:#fff}@media (max-width: 640px){.base-filters{flex-direction:column;align-items:stretch}.base-subject-filter{min-width:0;width:100%}}.pay-calc-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#4b5563;padding:3px 0}.pay-calc-total{margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.lk-groups{display:flex;flex-direction:column;gap:24px}.lk-muted{color:#9ca3af;font-weight:400}.lk-row-click{cursor:pointer;transition:background .15s}.lk-row-click:hover{background:#faf9ff}.lk-row-active{cursor:pointer;background:#f1effc}.lk-row-active td{font-weight:600}.lk-group-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.lk-group-head h2{margin-bottom:0}.lk-group-actions{display:flex;gap:8px}.lk-group-edit{display:grid;grid-template-columns:repeat(2,1fr);gap:0 16px;margin:14px 0 20px}.lk-group-detail h3{font-size:14px;font-weight:700;margin:16px 0 10px}.lk-member-list{list-style:none;margin:0;padding:0}.lk-member-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #f0f0f8;font-size:14px}.lk-member-list li:last-child{border-bottom:none}.lk-member-list-scroll{max-height:320px;overflow-y:auto}.lk-btn-danger{color:#dc2626;border-color:#f3c2c2}.lk-btn-danger:hover{background:#fef2f2}.lk-check-inline{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:13px;color:#4b5563}.lk-check-inline input{width:auto;margin:2px 0 0}@media (max-width: 800px){.lk-group-edit{grid-template-columns:1fr}}:root{--sb-line: #e9e8f3;--sb-line-soft: #f3f2f9;--sb-ink: #1a1a2e;--sb-muted: #6b7280;--sb-accent: #3b28cc;--sb-orange: #f07f12}.sb,.jr{--sb-line: #e9e8f3;--sb-line-soft: #f3f2f9;--sb-ink: #1a1a2e;--sb-muted: #6b7280;--sb-accent: #3b28cc;--sb-orange: #f07f12;--sb-width: min(1480px, calc(100vw - 64px) );width:var(--sb-width);margin-left:calc((100% - var(--sb-width)) / 2);color:var(--sb-ink)}.sb-toolbar{display:flex;align-items:center;gap:16px 24px;flex-wrap:wrap;margin-bottom:14px}.sb-titles{display:flex;flex-direction:column;gap:2px;margin-right:auto}.sb-titles h2{font-size:24px;font-weight:800;letter-spacing:-.01em;margin:0}.sb-sub{font-size:13px;color:var(--sb-muted)}.sb-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sb-legend{display:flex;gap:6px;flex-wrap:wrap}.sb-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--sb-line);border-radius:999px;background:#fff;font-size:13px;font-weight:600;color:#374151;cursor:pointer;transition:background .15s,border-color .15s}.sb-chip:hover{border-color:var(--c)}.sb-chip.is-on{background:color-mix(in srgb,var(--c) 12%,#fff);border-color:var(--c);color:var(--sb-ink)}.sb-dot{width:9px;height:9px;border-radius:50%;background:var(--c);flex:none}.sb-link{border:0;background:none;color:var(--sb-accent);font-size:13px;font-weight:600;cursor:pointer;padding:6px 4px}.sb-link:hover{text-decoration:underline}.sb-seg{display:flex;gap:6px}.sb-seg button{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;padding:9px 6px;border:1px solid #e3e1ef;border-radius:10px;background:#fff;font-size:14px;font-weight:600;color:#374151;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.sb-seg button small{font-size:11px;font-weight:500;color:var(--sb-muted)}.sb-seg button:hover{border-color:#c9c4ee;background:#faf9ff}.sb-seg button.is-on{background:var(--sb-accent);border-color:var(--sb-accent);color:#fff}.sb-seg button.is-on small{color:#fffc}.sb-seg-sm button{flex:none;padding:6px 14px;font-size:13px}.sb-seg-days button{padding:9px 0}.sb-btn{border:0;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s,opacity .15s}.sb-btn-primary{background:var(--sb-orange);color:#fff}.sb-btn-primary:hover:not(:disabled){background:#dc6f08}.sb-btn-primary:disabled{opacity:.45;cursor:default}.sb-btn-ghost{background:#f1f0f7;color:#374151}.sb-btn-ghost:hover{background:#e7e5f2}.sb-btn-danger{background:none;color:#dc2626;padding-left:4px;padding-right:4px}.sb-btn-danger:hover{text-decoration:underline}.sb-add{padding:11px 20px}.sb-loading{color:var(--sb-muted);padding:24px 0}.sb-board{--hour: clamp(54px, calc((100dvh - 400px) / var(--hours)), 84px);background:#fff;border-radius:16px;box-shadow:0 1px 2px #14143c0d,0 8px 30px #14143c0f;user-select:none;-webkit-user-select:none}.sb-board.is-dragging{cursor:grabbing}.sb-head,.sb-body{display:grid;grid-template-columns:56px repeat(var(--days),minmax(0,1fr))}.sb-head{position:sticky;top:0;z-index:5;background:#fff;border-radius:16px 16px 0 0;border-bottom:1px solid var(--sb-line)}.sb-dayhead{padding:12px 0 0;border-left:1px solid var(--sb-line)}.sb-dayname{display:flex;align-items:center;gap:6px;padding:0 10px;font-size:15px;font-weight:800}.sb-dayhead.is-today .sb-dayname{color:var(--sb-accent)}.sb-today{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--sb-accent);color:#fff;padding:2px 6px;border-radius:999px}.sb-count{margin-left:auto;font-size:11px;font-weight:700;color:var(--sb-muted);background:#f1f0f7;border-radius:999px;padding:1px 7px}.sb-roomheads{display:grid;grid-template-columns:repeat(var(--rooms, 2),minmax(0,1fr));margin-top:8px}.sb-roomheads span{padding:4px 8px 6px;font-size:11px;font-weight:600;color:var(--sb-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-roomheads span+span{border-left:1px dashed var(--sb-line)}.sb-roomheads small{color:#a3a3b8;font-weight:500}.sb-body{position:relative;height:calc(var(--hours) * var(--hour))}.sb-times{position:relative}.sb-times span{position:absolute;right:10px;transform:translateY(-50%);font-size:12px;font-weight:600;color:#9a9ab0;font-variant-numeric:tabular-nums}.sb-times span.is-first{transform:translateY(3px)}.sb-day{position:relative;display:grid;grid-template-columns:repeat(var(--rooms, 2),minmax(0,1fr));border-left:1px solid var(--sb-line);background-image:linear-gradient(to bottom,var(--sb-line) 1px,transparent 1px),linear-gradient(to bottom,var(--sb-line-soft) 1px,transparent 1px);background-size:100% var(--hour),100% var(--hour);background-position:0 0,0 calc(var(--hour) / 2)}.sb-day.is-today{background-color:#fbfaff}.sb-lane{position:relative;cursor:cell;touch-action:pan-y}.sb-lane+.sb-lane{border-left:1px dashed var(--sb-line)}.sb-card{position:absolute;padding:1px 2px;cursor:grab;outline:none;z-index:2}.sb-card-in{height:100%;display:flex;flex-direction:column;gap:1px;padding:3px 6px 3px 8px;overflow:hidden;border-radius:8px;background:color-mix(in srgb,var(--c) 13%,#fff);box-shadow:inset 3px 0 0 var(--c);transition:box-shadow .15s,opacity .15s,filter .15s}.sb-card:hover .sb-card-in,.sb-card:focus-visible .sb-card-in{box-shadow:inset 3px 0 0 var(--c),0 6px 18px #14143c24}.sb-card:focus-visible .sb-card-in{outline:2px solid var(--c);outline-offset:1px}.sb-card-time{font-size:11px;line-height:1.25;font-weight:700;color:color-mix(in srgb,var(--c) 75%,#1a1a2e);font-variant-numeric:tabular-nums;white-space:nowrap}.sb-card-title{font-size:12.5px;font-weight:700;line-height:1.15;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;color:var(--sb-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sb-card-meta{font-size:11px;color:#585870;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-card{container-type:size}@container (max-height: 69px){.sb-card-meta{display:none}}@container (max-height: 46px){.sb-card-title{-webkit-line-clamp:1}}@container (max-height: 30px){.sb-card-in{flex-direction:row;align-items:center;gap:6px;padding-top:2px;padding-bottom:2px}.sb-card-title{font-size:12px}}.sb-card.is-mine .sb-card-in{background:var(--c);box-shadow:0 4px 14px color-mix(in srgb,var(--c) 40%,transparent)}.sb-card.is-mine:hover .sb-card-in,.sb-card.is-mine:focus-visible .sb-card-in{box-shadow:0 8px 22px color-mix(in srgb,var(--c) 55%,transparent)}.sb-card.is-mine .sb-card-time,.sb-card.is-mine .sb-card-title{color:#fff}.sb-card.is-mine .sb-card-meta{color:#ffffffd9}.sb-card.is-mine .sb-card-resize:after{background:#fff}.sb-card.is-dim .sb-card-in{opacity:.38;filter:saturate(.25)}.sb-card.is-moving .sb-card-in{opacity:.3}.sb-card.is-editing .sb-card-in{opacity:.35}.sb-card-resize{position:absolute;left:8px;right:8px;bottom:0;height:8px;cursor:ns-resize}.sb-card-resize:after{content:"";position:absolute;left:50%;bottom:3px;width:22px;height:3px;margin-left:-11px;border-radius:2px;background:var(--c);opacity:0;transition:opacity .15s}.sb-card:hover .sb-card-resize:after{opacity:.6}.sb-ghost{position:absolute;left:2px;right:2px;z-index:3;display:flex;flex-direction:column;gap:1px;padding:5px 8px;overflow:hidden;border-radius:8px;border:2px solid var(--c);background:color-mix(in srgb,var(--c) 20%,#fff);box-shadow:0 10px 28px #14143c2e;pointer-events:none;font-size:12px}.sb-ghost b{font-size:12px;font-variant-numeric:tabular-nums}.sb-ghost span{line-height:1.2;color:#3f3f55}.sb-ghost-draft{border-style:dashed;box-shadow:none;animation:sb-pulse 1.6s ease-in-out infinite}.sb-ghost.is-clash{border-color:#dc2626;background:#fee2e2}.sb-ghost.is-clash span{color:#b91c1c;font-weight:600}@keyframes sb-pulse{50%{background:color-mix(in srgb,var(--c) 10%,#fff)}}.sb-hint{position:absolute;left:3px;right:3px;z-index:1;padding:4px 8px;border:1.5px dashed #c7c1f0;border-radius:8px;background:#4b34e00a;font-size:12px;font-weight:700;color:var(--sb-accent);pointer-events:none}.sb-now{position:absolute;left:0;right:0;height:2px;background:#ef4444;z-index:4;pointer-events:none}.sb-now:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:#ef4444}.sb-pop{position:fixed;z-index:60;width:392px;max-height:calc(100vh - 24px);overflow:auto;padding:18px 20px 16px;background:#fff;border-radius:18px;box-shadow:0 24px 70px #14143c3d,0 2px 8px #14143c14;animation:sb-in .14s ease-out}@keyframes sb-in{0%{opacity:0;transform:translateY(4px) scale(.98)}}.sb-pop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.sb-kicker{font-size:12px;font-weight:700;color:var(--sb-muted);text-transform:uppercase;letter-spacing:.05em}.sb-when{font-size:18px;font-weight:800;margin-top:2px;font-variant-numeric:tabular-nums}.sb-x{border:0;background:#f1f0f7;width:32px;height:32px;border-radius:50%;font-size:14px;color:#585870;cursor:pointer;flex:none}.sb-x:hover{background:#e5e3f0}.sb-field{margin-bottom:14px}.sb-label{font-size:12px;font-weight:700;color:var(--sb-muted);margin-bottom:6px}.sb-input{width:100%;padding:11px 13px;border:1.5px solid #e3e1ef;border-radius:10px;font-size:15px;outline:none;transition:border-color .15s}.sb-input:focus{border-color:var(--sb-accent)}.sb-options{list-style:none;margin:6px 0 0;padding:4px;max-height:220px;overflow:auto;border:1px solid var(--sb-line);border-radius:12px}.sb-opt-sec{padding:8px 8px 4px;font-size:11px;font-weight:700;color:#9a9ab0;text-transform:uppercase;letter-spacing:.04em}.sb-opt{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;padding:8px;border-radius:8px;cursor:pointer}.sb-opt-name{font-size:14px;font-weight:600}.sb-opt-meta{grid-column:2;font-size:12px;color:var(--sb-muted)}.sb-opt.is-active{background:#f4f2ff}.sb-opt.is-picked .sb-opt-name{color:var(--sb-accent)}.sb-opt-empty{padding:12px 8px;font-size:13px;color:var(--sb-muted)}.sb-picked{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid color-mix(in srgb,var(--c) 40%,#fff);border-radius:12px;background:color-mix(in srgb,var(--c) 8%,#fff);text-align:left;cursor:pointer}.sb-picked-main{display:flex;flex-direction:column;flex:1;min-width:0}.sb-picked-main b{font-size:15px}.sb-picked-main small{font-size:12px;color:var(--sb-muted)}.sb-picked-change{font-size:13px;font-weight:600;color:var(--sb-accent)}.sb-time-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.sb-timefield{display:flex;align-items:center;border:1.5px solid #e3e1ef;border-radius:12px;overflow:hidden}.sb-timefield:focus-within{border-color:var(--sb-accent)}.sb-timefield button{width:38px;height:46px;border:0;background:#f7f6fc;font-size:20px;color:#585870;cursor:pointer}.sb-timefield button:hover{background:#ecebf6;color:var(--sb-accent)}.sb-timefield input{width:76px;border:0;outline:none;text-align:center;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--sb-ink);background:#fff;padding:0}.sb-arrow{color:#b0b0c4;font-size:18px}.sb-end{font-size:15px;color:var(--sb-muted)}.sb-end b{font-size:22px;font-weight:800;color:var(--sb-ink);font-variant-numeric:tabular-nums}.sb-status{display:flex;flex-direction:column;gap:8px;margin:4px 0 14px}.sb-status:empty{display:none}.sb-note{padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.4}.sb-note.is-ok{background:#ecfdf5;color:#047857;font-weight:600}.sb-note.is-bad{background:#fef2f2;color:#b91c1c}.sb-note.is-warn{background:#fffbeb;color:#92400e}.sb-suggest{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.sb-suggest span{font-weight:600}.sb-suggest button{border:1px solid #fecaca;background:#fff;color:#991b1b;border-radius:999px;padding:5px 11px;font-size:13px;font-weight:600;cursor:pointer;font-variant-numeric:tabular-nums}.sb-suggest button:hover{background:#047857;border-color:#047857;color:#fff}.sb-pop-foot{display:flex;align-items:center;gap:8px}.sb-grow{flex:1}.sb-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:70;display:flex;align-items:center;gap:16px;max-width:calc(100vw - 32px);padding:12px 14px 12px 18px;border-radius:14px;background:#1a1a2e;color:#fff;font-size:14px;box-shadow:0 14px 40px #14143c4d;animation:sb-toast-in .18s ease-out}.sb-toast.is-error{background:#b91c1c}.sb-toast button{border:0;background:#ffffff1f;color:#fcd34d;font-weight:700;font-size:14px;padding:6px 12px;border-radius:8px;cursor:pointer;white-space:nowrap}.sb-toast button:hover{background:#fff3}@keyframes sb-toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.sb-daystrip,.sb-fab{display:none}@media (max-width: 899px){.sb,.jr{--sb-width: 100%}.sb-toolbar{gap:10px;margin-bottom:10px}.sb-titles h2{font-size:22px}.sb-filters{width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.sb-filters::-webkit-scrollbar{display:none}.sb-seg.sb-seg-sm button{padding:7px 14px;font-size:14px}.sb-legend{flex-wrap:nowrap}.sb-chip{white-space:nowrap}.sb-daystrip{position:sticky;top:0;z-index:6;padding:6px 0;background:#f8f9ff;display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:10px}.sb-daystrip button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0;border:0;border-radius:12px;background:#fff;font-size:14px;font-weight:700;color:#374151;box-shadow:0 1px 2px #14143c0f}.sb-daystrip button i{font-style:normal;font-size:11px;font-weight:600;color:#9a9ab0;min-height:14px}.sb-daystrip button.is-today span{color:var(--sb-accent)}.sb-daystrip button.is-on{background:var(--sb-accent);color:#fff}.sb-daystrip button.is-on span,.sb-daystrip button.is-on i{color:#fff}.sb-board{--hour: 76px;border-radius:14px}.sb-head{top:61px}.sb-head,.sb-body{grid-template-columns:46px minmax(0,1fr)}.sb-dayname{font-size:16px}.sb-roomheads span{font-size:12px}.sb-times span{right:8px;font-size:11px}.sb-card-in{padding:7px 9px 7px 11px}.sb-card-title{font-size:14px}.sb-card-time,.sb-card-meta{font-size:12px}.sb-card-resize{display:none}.sb-lane{cursor:default}.sb-fab{display:flex;align-items:center;justify-content:center;position:fixed;right:18px;bottom:22px;z-index:40;width:58px;height:58px;border:0;border-radius:50%;background:var(--sb-orange);color:#fff;font-size:30px;font-weight:400;box-shadow:0 10px 26px #f07f1273}.sb-toast{bottom:92px}.sb-sheet-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.sb-sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f0f236b;animation:sb-fade .18s}.sb-pop.sb-sheet{left:0;right:0;bottom:0;top:auto;width:100%;max-height:90dvh;border-radius:22px 22px 0 0;padding:8px 18px calc(16px + env(safe-area-inset-bottom));animation:sb-up .22s cubic-bezier(.2,.8,.2,1)}.sb-sheet-grip{width:40px;height:4px;border-radius:2px;background:#dcdae8;margin:0 auto 12px}.sb-seg button{padding:11px 4px;font-size:15px}.sb-input{font-size:16px}.sb-pop-foot .sb-btn{padding:13px 18px;font-size:15px}.sb-pop-foot .sb-btn-primary{flex:1}}@keyframes sb-up{0%{transform:translateY(100%)}}@keyframes sb-fade{0%{opacity:0}}.jr{--sb-width: min(1280px, calc(100vw - 64px) );--good: #15803d;--good-bg: #dcfce7;--warn: #a16207;--warn-bg: #fef3c7;--bad: #b91c1c;--bad-bg: #fee2e2}.jr-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.jr-top h2{font-size:24px;font-weight:800;margin:0}.jr-muted{color:var(--sb-muted);font-size:13px}.jr-label{font-size:12px;font-weight:700;color:var(--sb-muted);margin-bottom:6px}.jr-gap{margin-top:18px}.jr-empty{padding:28px 16px;text-align:center;color:var(--sb-muted);font-size:14px;display:flex;flex-direction:column;align-items:center;gap:6px}.jr-weekbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.jr-week{flex:1;display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.jr-wd{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 0 6px;border:0;border-radius:12px;background:#fff;box-shadow:0 1px 2px #14143c0f;cursor:pointer;color:#374151}.jr-wd span{font-size:12px;font-weight:600;color:var(--sb-muted)}.jr-wd b{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}.jr-wd i{width:6px;height:6px;border-radius:50%;background:transparent}.jr-wd i.has-pending{background:var(--sb-orange)}.jr-wd:hover{background:#faf9ff}.jr-wd.is-today b{color:var(--sb-accent)}.jr-wd.is-on{background:var(--sb-accent);color:#fff}.jr-wd.is-on span,.jr-wd.is-on b{color:#fff}.jr-wd.is-on i.has-pending{background:#fcd34d}.jr-nav{width:36px;height:36px;border:0;border-radius:50%;background:#fff;font-size:22px;line-height:1;color:#585870;cursor:pointer;box-shadow:0 1px 2px #14143c0f;flex:none}.jr-nav:hover{color:var(--sb-accent)}.jr-today-btn{flex:none}.jr-pending{background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;margin-bottom:12px;overflow:hidden}.jr-pending-head{width:100%;display:flex;align-items:center;gap:10px;padding:11px 14px;border:0;background:none;cursor:pointer;text-align:left;font-size:14px;color:#9a3412}.jr-pending-dot{width:8px;height:8px;border-radius:50%;background:var(--sb-orange);flex:none}.jr-pending-toggle{margin-left:auto;font-size:13px;font-weight:600;color:var(--sb-accent)}.jr-pending-list{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 12px}.jr-pending-item{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border:1px solid #fed7aa;border-radius:999px;background:#fff;font-size:13px;font-weight:600;color:#374151;cursor:pointer}.jr-pending-item small{color:#c2410c;font-weight:600}.jr-pending-item:hover{border-color:var(--sb-orange)}.jr-split{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;align-items:start}.jr-list{background:#fff;border-radius:16px;padding:14px;box-shadow:0 1px 2px #14143c0d,0 8px 30px #14143c0f;display:flex;flex-direction:column;gap:6px;position:sticky;top:12px}.jr-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px}.jr-date{font-size:17px;font-weight:800}.jr-progress{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--sb-muted);margin-top:3px}.jr-meter{width:70px;height:5px;border-radius:3px;background:#ecebf5;overflow:hidden}.jr-meter span{display:block;height:100%;background:var(--good);border-radius:3px}.jr-lesson{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 10px 10px 12px;border:1px solid transparent;border-radius:12px;background:#faf9fd;box-shadow:inset 3px 0 0 var(--c);text-align:left;cursor:pointer;transition:background .12s,border-color .12s}.jr-lesson:hover{background:#f4f2fc}.jr-lesson.is-on{background:color-mix(in srgb,var(--c) 10%,#fff);border-color:color-mix(in srgb,var(--c) 45%,#fff)}.jr-lesson-time{display:flex;flex-direction:column;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}.jr-lesson-time small{font-size:11px;font-weight:600;color:var(--sb-muted)}.jr-lesson-main{display:flex;flex-direction:column;min-width:0}.jr-lesson-main b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jr-lesson-main small{font-size:12px;color:var(--sb-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jr-state{font-size:12px;font-weight:700;white-space:nowrap;padding:3px 8px;border-radius:999px}.jr-state.is-done{color:var(--good);background:var(--good-bg)}.jr-state.is-todo{color:#c2410c;background:#ffedd5}.jr-state.is-partial{color:var(--warn);background:var(--warn-bg)}.jr-state.is-future,.jr-state.is-empty{color:var(--sb-muted);background:#f1f0f7;font-weight:600}.jr-roll{background:#fff;border-radius:16px;padding:18px 20px 20px;box-shadow:0 1px 2px #14143c0d,0 8px 30px #14143c0f;min-width:0}.jr-roll-empty{color:var(--sb-muted);text-align:center;padding:60px 20px}.jr-back{border:0;background:none;color:var(--sb-accent);font-size:15px;font-weight:700;padding:0 0 10px;cursor:pointer}.jr-roll-title{display:flex;gap:12px;align-items:stretch}.jr-roll-bar{width:4px;border-radius:2px;background:var(--c);flex:none}.jr-roll-title h3{font-size:21px;font-weight:800;margin:0}.jr-roll-sub{font-size:13px;color:var(--sb-muted);margin-top:2px}.jr-summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:14px}.jr-count{font-size:13px;font-weight:600;color:var(--sb-muted)}.jr-count.is-good{color:var(--good)}.jr-count.is-bad{color:var(--bad)}.jr-count.is-warn{color:var(--warn)}.jr-all{margin-left:auto;padding:10px 18px}.jr-hwprev{margin-top:16px;padding:12px 14px;border-radius:12px;background:#f7f6fc}.jr-hwtext{font-size:14px;display:flex;flex-wrap:wrap;gap:4px 12px}.jr-hwtext a{color:var(--sb-accent);font-weight:600;text-decoration:none}.jr-rows{list-style:none;margin:14px 0 0;padding:0}.jr-rows-head,.jr-row{display:grid;grid-template-columns:minmax(0,1fr) 268px;gap:8px 18px;align-items:center}.jr-rows.with-hw .jr-rows-head,.jr-rows.with-hw .jr-row{grid-template-columns:minmax(0,1fr) 268px 300px}.jr-rows .jr-cell .jr-seg{width:100%}.jr-rows .jr-cell .jr-seg button{flex:1;min-width:0;padding-left:6px;padding-right:6px}.jr-rows-head{padding:0 6px 6px;font-size:12px;font-weight:700;color:var(--sb-muted);border-bottom:1px solid var(--sb-line)}.jr-row{padding:10px 6px;border-bottom:1px solid var(--sb-line-soft)}.jr-row:last-child{border-bottom:0}.jr-row.is-out{opacity:.6}.jr-row.is-out .jr-out{grid-column:2 / -1;font-size:13px;color:var(--sb-muted)}.jr-who{display:flex;align-items:center;gap:10px;min-width:0}.jr-ava{width:34px;height:34px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;background:#efedf9;color:#4b4b6a;font-size:12px;font-weight:800;transition:background .15s,color .15s}.jr-row.is-present .jr-ava{background:var(--good-bg);color:var(--good)}.jr-row.is-absent .jr-ava{background:var(--bad-bg);color:var(--bad)}.jr-row.is-excused .jr-ava{background:var(--warn-bg);color:var(--warn)}.jr-name{display:flex;flex-direction:column;min-width:0}.jr-name b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jr-badge{font-size:11px;font-weight:600;color:var(--sb-muted)}.jr-badge.is-good{color:var(--good)}.jr-cell{display:flex;flex-direction:column;gap:4px}.jr-cell-label{font-size:11px;font-weight:700;color:var(--sb-muted)}.jr-seg{display:flex;gap:4px}.jr-seg button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:78px;padding:8px 10px;border:1px solid #e3e1ef;border-radius:10px;background:#fff;font-size:13px;font-weight:600;color:#585870;cursor:pointer;white-space:nowrap;transition:background .1s,border-color .1s,color .1s,transform .06s}.jr-seg button:active{transform:scale(.97)}.jr-seg-icon{font-weight:800;font-size:13px}.jr-seg button:hover{border-color:#c9c4ee}.jr-seg button.is-good.is-on{background:var(--good-bg);border-color:#86efac;color:var(--good)}.jr-seg button.is-warn.is-on{background:var(--warn-bg);border-color:#fcd34d;color:var(--warn)}.jr-seg button.is-bad.is-on{background:var(--bad-bg);border-color:#fca5a5;color:var(--bad)}.jr-assign{margin-top:18px;padding-top:16px;border-top:1px solid var(--sb-line)}.jr-assign textarea{resize:vertical;min-height:60px;font-family:inherit}.jr-assign-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.jr-assign-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.jr-assign-head .jr-label{margin:0}.jr-inclass{padding:8px 14px;font-size:13px}.jr-assigned{font-size:13px;font-weight:700;color:var(--good);background:var(--good-bg);padding:5px 12px;border-radius:999px}.jr-pay{margin-top:10px;font-size:14px;color:#374151}.jr-pay b{color:var(--good)}.jr-pay small{color:var(--sb-muted)}.jr-earned{font-size:13px;color:#374151;margin-top:4px}.jr-earned b{color:var(--good)}.jr-earned small{color:var(--sb-muted)}.jr-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.jr-select{width:auto;min-width:220px;padding:9px 12px;background:#fff}.jr-search{width:220px;padding:9px 12px;background:#fff}.jr-periods{flex-wrap:wrap}.jr-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px}.jr-kpi.jr-kpi-pay{background:var(--good-bg);border-color:#bbf7d0}.jr-kpi.jr-kpi-pay b{color:#14532d}.jr-kpi{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:#fff;border-radius:14px;box-shadow:0 1px 2px #14143c0d,0 8px 30px #14143c0d}.jr-kpi-label{font-size:12px;font-weight:700;color:var(--sb-muted)}.jr-kpi b{font-size:30px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.jr-kpi-sub{font-size:12px;color:var(--sb-muted)}.jr-table-wrap{background:#fff;border-radius:16px;box-shadow:0 1px 2px #14143c0d,0 8px 30px #14143c0f;overflow-x:auto}.jr-table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}.jr-table th{position:sticky;top:0;background:#fff;text-align:right;font-size:12px;font-weight:700;color:var(--sb-muted);border-bottom:1px solid var(--sb-line);white-space:nowrap;padding:0}.jr-table th button{border:0;background:none;font:inherit;color:inherit;padding:12px 10px;cursor:pointer;width:100%;text-align:inherit}.jr-table th button:hover{color:var(--sb-accent)}.jr-sort{margin-left:4px;color:var(--sb-accent)}.jr-table td{text-align:right;padding:10px;border-bottom:1px solid var(--sb-line-soft)}.jr-table .is-name{text-align:left}.jr-table td.is-name{display:flex;flex-direction:column;max-width:300px}.jr-table td.is-name small{font-size:11px;color:var(--sb-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jr-table tbody tr{cursor:pointer}.jr-table tbody tr:hover td{background:#faf9ff}.jr-table td.is-alert{color:var(--bad);font-weight:800}.jr-meter-cell{white-space:nowrap}.jr-meter-cell span:last-child{display:inline-block;min-width:40px}.jr-bar{display:inline-block;vertical-align:middle;width:72px;height:6px;margin-right:8px;border-radius:3px;background:#e7e5f4;overflow:hidden}.jr-bar span{display:block;height:100%;border-radius:3px;background:var(--sb-accent)}.jr-bar.is-low span{background:#c2410c}.jr-table-small{font-size:13px}.jr-table-small th,.jr-table-small td{padding:8px 6px}.jr-table-small tbody tr{cursor:default}.jr-cards{display:flex;flex-direction:column;gap:8px}.jr-scard{display:flex;flex-direction:column;gap:5px;padding:12px 14px;border:0;border-radius:14px;background:#fff;box-shadow:0 1px 2px #14143c0f;text-align:left;cursor:pointer}.jr-scard b{font-size:15px}.jr-scard small{font-size:12px;color:var(--sb-muted)}.jr-scard-line{display:flex;align-items:center;justify-content:space-between;font-size:13px}.jr-scard-line .jr-bar{width:120px;margin:0}.jr-drawer-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.jr-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f0f2359;animation:sb-fade .18s}.jr-drawer{position:absolute;top:0;right:0;bottom:0;width:min(480px,100vw);overflow:auto;background:#fff;padding:20px 22px;box-shadow:-20px 0 60px #14143c33;animation:jr-slide .2s ease-out}.jr-drawer.is-sheet{top:auto;left:0;width:100%;max-height:90dvh;border-radius:22px 22px 0 0;animation:sb-up .22s}@keyframes jr-slide{0%{transform:translate(40px);opacity:0}}.jr-groups{display:flex;flex-direction:column;gap:6px}.jr-group-line{display:flex;justify-content:space-between;gap:10px;font-size:14px}.jr-group-line span{color:var(--sb-muted);white-space:nowrap}.jr-events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.jr-events li{display:grid;grid-template-columns:24px 118px 1fr;gap:8px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--sb-line-soft);font-size:14px}.jr-ev-icon{font-weight:800;text-align:center}.jr-ev-icon.is-bad{color:var(--bad)}.jr-ev-icon.is-warn{color:var(--warn)}.jr-ev-date{color:var(--sb-muted);font-size:13px}.jr-ev-text small{color:var(--sb-muted)}@media (max-width: 899px){.jr{--sb-width: 100%}.jr-top h2{font-size:22px}.jr-weekbar{gap:4px}.jr-week{gap:3px}.jr-nav{width:30px;height:30px;font-size:18px}.jr-today-btn{display:none}.jr-split{grid-template-columns:minmax(0,1fr)}.jr-list{position:static;padding:12px}.jr-lesson{padding:12px 10px 12px 12px}.jr-roll{padding:14px 14px 18px}.jr-roll-title h3{font-size:19px}.jr-all{width:100%;margin-left:0;padding:13px;font-size:15px}.jr-rows.with-hw .jr-row,.jr-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 2px}.jr-row.is-out .jr-out{grid-column:1}.jr-seg{width:100%}.jr-seg button{flex:1;min-width:0;padding:11px 4px;font-size:14px}.jr-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.jr-kpi-pay{grid-column:1 / -1}.jr-kpi b{font-size:24px}.jr-filters{flex-direction:column;align-items:stretch}.jr-select,.jr-search{width:100%}.jr-periods{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;max-width:100%;min-width:0}.jr-periods::-webkit-scrollbar{display:none}.jr-periods button{white-space:nowrap}.jr-assign-foot{flex-direction:column;align-items:stretch}.jr-events li{grid-template-columns:20px 100px 1fr}}.gm-list{max-height:calc(100vh - 24px);overflow:auto}.gm-filters{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px}.gm-filters .sb-chip small{color:var(--sb-muted);font-weight:600}.gm-row{grid-template-columns:minmax(0,1fr) auto}.gm-title{flex:1;min-width:0}.gm-actions{display:flex;gap:8px;align-items:flex-start}.gm-slots{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 4px}.gm-slot{padding:5px 10px;border-radius:999px;background:#f4f2fc;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.gm-slot small{color:var(--sb-muted);font-weight:600}.gm-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:16px}.gm-cols>div{min-width:0}.gm-col-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;min-height:26px}.gm-col-head h4{font-size:15px;font-weight:800;margin:0}.gm-cols .sb-input{margin-bottom:8px}.gm-people{list-style:none;margin:0;padding:0}.gm-people-scroll{max-height:420px;overflow:auto}.gm-people li{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid var(--sb-line-soft)}.gm-people li:last-child{border-bottom:0}.gm-person{flex:1;min-width:0;display:flex;flex-direction:column}.gm-person b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gm-person small{font-size:12px;color:var(--sb-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gm-add,.gm-remove{flex:none;border:1px solid #e3e1ef;background:#fff;border-radius:9px;padding:7px 11px;font-size:13px;font-weight:700;cursor:pointer}.gm-add{color:var(--sb-accent)}.gm-add:hover{background:var(--sb-accent);border-color:var(--sb-accent);color:#fff}.gm-remove{color:#6b7280}.gm-remove:hover{border-color:#fca5a5;color:var(--bad);background:var(--bad-bg)}.gm-form h3{font-size:20px;font-weight:800;margin:0 0 14px}.gm-edit{margin-top:16px;padding:16px;border-radius:14px;background:#f7f6fc}.gm-field{display:flex;flex-direction:column;margin-bottom:12px;flex:1}.gm-field-row{display:flex;gap:12px}.gm-subjects{flex-wrap:wrap}.gm-subjects button{flex:1 1 auto}.gm-form-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:6px}@media (max-width: 899px){.gm-list{max-height:none;overflow:visible}.gm-cols{grid-template-columns:1fr;gap:18px}.gm-field-row{flex-direction:column;gap:0}.jr-roll-title .gm-actions{align-self:flex-start}}.sbase-gaps{background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:12px 14px;margin-bottom:12px}.sbase-gaps-head{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;font-size:14px;color:#9a3412}.sbase-gaps-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;align-items:center}.sbase-gap{border:1px solid #fed7aa;background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;color:#7c2d12;cursor:pointer}.sbase-gap b{color:#c2410c;margin-left:2px}.sbase-gap:hover{border-color:var(--sb-orange)}.sbase-gap.is-on{background:var(--sb-orange);border-color:var(--sb-orange);color:#fff}.sbase-gap.is-on b{color:#fff}.sbase-count{padding:2px 2px 4px}.sbase-head{display:flex;gap:14px;align-items:flex-start}.sbase-ava{width:52px;height:52px;font-size:17px}.sbase-head h3{font-size:21px;font-weight:800;margin:0}.sbase-groups{margin-top:8px}.sbase-miss{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:10px 12px 10px 14px;border-radius:12px;background:#fff7ed;font-size:14px;color:#7c2d12}.sbase-miss .sb-btn{flex:none;padding:8px 16px}.sbase-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--sb-line)}.sbase-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.sbase-section-head h4{font-size:16px;font-weight:800;margin:0}.sbase-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sbase-kpis .jr-kpi{background:#f7f6fc;box-shadow:none;padding:12px}.sbase-kpis .jr-kpi b{font-size:24px}.jr-kpi b.is-alert{color:var(--bad)}.sbase-months{margin-top:4px}.sbase-bygroup{margin-top:12px}.sbase-info{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 20px}.sbase-info-row{display:flex;flex-direction:column;padding:8px 0;border-bottom:1px solid var(--sb-line-soft)}.sbase-info-row dt{font-size:12px;font-weight:700;color:var(--sb-muted)}.sbase-info-row dd{margin:2px 0 0;font-size:15px}.sbase-info-row a{color:var(--sb-accent);text-decoration:none;font-weight:600}.sbase-empty{color:#a3a3b8}.sbase-empty.is-needed{color:#c2410c;font-weight:600}.sbase-edit{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.sbase-edit .gm-field.is-needed .sb-input{border-color:#fdba74;background:#fffaf5}.sbase-edit em{font-style:normal;color:#c2410c}.sbase-note{grid-column:1 / -1}.sbase-top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sbase-err{margin-top:12px}.sbase-groups-edit{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sbase-chip{display:inline-flex;align-items:center;gap:6px;padding-right:4px}.sbase-chip button{border:0;width:18px;height:18px;border-radius:50%;background:#ffffff40;color:#fff;font-size:10px;line-height:1;cursor:pointer}.sbase-chip button:hover{background:#ffffff80}.sbase-addgroup{display:flex;gap:8px;margin-top:10px}.sbase-addgroup .sb-input{flex:1;min-width:0;padding:9px 10px;font-size:14px;background:#fff}.sbase-pills{display:flex;flex-wrap:wrap;gap:6px}.sbase-access{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.sbase-switch{grid-column:1 / -1;display:flex;gap:12px;align-items:flex-start;padding:12px 14px;margin-bottom:12px;border-radius:12px;background:#f7f6fc;cursor:pointer}.sbase-switch input{width:18px;height:18px;margin-top:2px;accent-color:var(--sb-accent)}.sbase-switch span{display:flex;flex-direction:column}.sbase-switch small{color:var(--sb-muted);font-size:12px}.sbase-access .sb-input{background:#fff;padding:9px 10px;font-size:14px}.sbase-danger{display:flex;justify-content:flex-end;margin-top:6px}.sbase-hint{margin:8px 0 0}.inv-box{display:flex;flex-direction:column;gap:10px;padding:14px;margin-bottom:14px;border-radius:14px;background:#f4f2ff;font-size:14px}.inv-box.is-done{background:var(--good-bg);color:#14532d;display:block}.inv-box>.sb-btn{align-self:flex-start}.inv-url{background:#fff;font-size:13px;padding:9px 10px}.inv-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inv-actions .sb-link{padding:4px}.inv-help{margin:0;font-size:12px}.inv-card{max-width:460px}.inv-lead{color:#4b5563;font-size:14px;margin:-4px 0 16px}.inv-tabs{display:flex;gap:6px;margin-bottom:16px}.inv-tabs button{flex:1;padding:10px 8px;border:1px solid #e3e1ef;border-radius:10px;background:#fff;font:inherit;font-size:14px;font-weight:600;color:#374151;cursor:pointer}.inv-tabs button.is-on{background:#3b28cc;border-color:#3b28cc;color:#fff}.inv-consent{display:flex!important;flex-direction:row!important;gap:10px;align-items:flex-start;font-size:13px;font-weight:400;color:#4b5563;line-height:1.45}.inv-consent input{width:18px!important;height:18px;margin-top:2px;flex:none}.inv-consent a{color:#3b28cc}.inv-note{display:block;margin:-6px 0 14px}.att-hint{font-size:13px;color:#6b7280;margin:0 0 10px}.att-group{display:block;font-size:12px;color:#6b7280;margin-top:2px}.att-nohw{color:#a3a3b8}.peek-banner{margin-bottom:16px;padding:12px 16px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12;font-size:14px}.peek-note{color:#9a3412;opacity:.8}.peek-btn{text-decoration:none;padding:8px 14px;font-size:13px}.pay-empty{margin-top:16px;padding:14px 16px;border-radius:14px;background:#fff;color:#4b5563;font-size:14px;box-shadow:0 1px 2px #14143c0d}.sbase-teacher{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c) 35%,#fff);background:color-mix(in srgb,var(--c) 9%,#fff);font-size:13px;font-weight:700}.sbase-teacher small{font-weight:600;color:var(--sb-muted)}.sbase-teacher button{border:0;width:18px;height:18px;border-radius:50%;background:color-mix(in srgb,var(--c) 18%,#fff);color:#374151;font-size:10px;cursor:pointer}.sbase-teacher button:hover{background:var(--bad-bg);color:var(--bad)}.sbase-edit textarea{resize:vertical;font-family:inherit}@media (max-width: 899px){.sbase-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sbase-info,.sbase-edit,.sbase-access{grid-template-columns:1fr}.sbase-miss{flex-direction:column;align-items:stretch}.sbase-section-head .sb-seg{width:100%}.sbase-section-head .sb-seg button{flex:1;padding:7px 4px}}.ms-split{display:grid;grid-template-columns:360px minmax(0,1fr);height:calc(100vh - 150px);min-height:520px;background:#fff;border-radius:16px;box-shadow:0 1px 2px #14143c0d,0 8px 30px #14143c0f;overflow:hidden}.ms-side{display:flex;flex-direction:column;gap:8px;padding:14px;border-right:1px solid var(--sb-line);min-height:0}.ms-sections{display:flex;flex-wrap:wrap;gap:5px}.ms-sec{border:1px solid var(--sb-line);background:#fff;border-radius:999px;padding:5px 11px;font-size:13px;font-weight:600;color:#4b4b63;cursor:pointer;white-space:nowrap}.ms-sec:hover{border-color:#c9c4ee}.ms-sec.is-on{background:var(--sb-accent);border-color:var(--sb-accent);color:#fff}.ms-sec.is-folder b{color:var(--sb-orange)}.ms-sec.is-on.is-folder b{color:#fde68a}.ms-add{border-style:dashed;color:var(--sb-accent)}.ms-newfolder{flex:1 1 100%}.ms-newfolder .sb-input{padding:7px 10px;font-size:14px}.ms-who{padding:8px 10px;font-size:13px;background:#fff}.ms-folderbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:#f7f6fc;font-size:13px}.ms-folderbar b{margin-right:auto}.ms-folderbar .sb-link{padding:0;font-size:13px}.ms-danger{color:#dc2626}.ms-list{flex:1;overflow-y:auto;margin:0 -8px;min-height:0}.ms-item{width:100%;display:flex;gap:10px;align-items:center;padding:9px 8px;border:0;border-radius:12px;background:none;text-align:left;cursor:pointer}.ms-item:hover{background:#f7f6fc}.ms-item.is-on{background:#efedfd}.ms-ava{width:42px;height:42px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--c) 16%,#fff);color:color-mix(in srgb,var(--c) 80%,#1a1a2e);font-size:14px;font-weight:800}.ms-ava.is-group{border-radius:12px;font-size:18px;background:var(--c);color:#fff}.ms-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ms-item-top{display:flex;justify-content:space-between;gap:8px}.ms-item-top b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-item-top small{font-size:12px;color:var(--sb-muted);flex:none}.ms-item-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px}.ms-preview{font-size:13px;color:var(--sb-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-item.has-unread .ms-preview{color:#1a1a2e;font-weight:600}.ms-badge{flex:none;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--sb-accent);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}.ms-item-main small{font-size:12px;color:var(--sb-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-main{min-width:0;min-height:0;display:flex}.ms-main .jr-roll-empty{margin:auto}.ms-thread{flex:1;display:flex;flex-direction:column;min-height:0}.ms-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--sb-line)}.ms-head-main{flex:1;min-width:0;display:flex;flex-direction:column}.ms-head-main b{font-size:16px}.ms-head-main small{font-size:12px;color:var(--sb-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-back{padding:0 6px 0 0;font-size:26px;line-height:1}.ms-foldmenu{position:relative}.ms-foldmenu .sb-btn{padding:8px 12px;font-size:13px}.ms-foldpop{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:220px;padding:8px;background:#fff;border-radius:12px;box-shadow:0 14px 40px #14143c33;display:flex;flex-direction:column}.ms-foldpop label{display:flex;gap:8px;align-items:center;padding:7px 8px;border-radius:8px;font-size:14px;cursor:pointer}.ms-foldpop label:hover{background:#f7f6fc}.ms-messages{flex:1;overflow-y:auto;padding:14px 18px;background:#f8f7fd;min-height:0}.ms-day{text-align:center;margin:10px 0;font-size:12px;font-weight:700;color:var(--sb-muted)}.ms-msg{display:flex;margin:4px 0}.ms-msg.is-mine{justify-content:flex-end}.ms-bubble{max-width:min(560px,78%);padding:8px 12px 6px;border-radius:16px 16px 16px 4px;background:#fff;box-shadow:0 1px 2px #14143c0f}.ms-msg.is-mine .ms-bubble{border-radius:16px 16px 4px;background:var(--sb-accent);color:#fff}.ms-author{font-size:12px;font-weight:800;color:var(--sb-accent);margin-bottom:2px}.ms-author span{margin-left:6px;font-weight:600;color:var(--sb-muted)}.ms-body{font-size:15px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.ms-meta{display:flex;justify-content:flex-end;align-items:center;gap:6px;font-size:11px;color:var(--sb-muted);margin-top:2px}.ms-msg.is-mine .ms-meta{color:#ffffffbf}.ms-meta button{border:0;background:none;color:inherit;cursor:pointer;opacity:0;font-size:11px}.ms-bubble:hover .ms-meta button{opacity:1}.ms-msg.is-mine .chat-attach-file{color:#fff}.ms-composer{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--sb-line)}.ms-composer textarea{flex:1;resize:none;max-height:140px;padding:10px 12px;border:1.5px solid #e3e1ef;border-radius:12px;font:inherit;font-size:15px;outline:none}.ms-composer textarea:focus{border-color:var(--sb-accent)}.ms-picked-count{margin:8px 0 4px}.ms-pick-list{display:flex;flex-direction:column;max-height:calc(100vh - 260px);overflow:auto;margin:0 -6px}.ms-pick{display:flex;align-items:center;gap:10px;padding:7px 6px;border-radius:10px;cursor:pointer}.ms-pick:hover{background:#f7f6fc}.ms-pick.is-on{background:#efedfd}.ms-pick .ms-ava{width:36px;height:36px;font-size:13px}.ms-pick-foot{margin-top:12px}@media (max-width: 899px){.ms-split{grid-template-columns:minmax(0,1fr);height:calc(100dvh - 110px);border-radius:14px}.ms-side{border-right:0}.ms-bubble{max-width:86%}.ms-messages{padding:10px}}.hw2-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.hw2-bar .jr-muted{flex:1;min-width:240px}.hw2-empty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:40px 20px;font-size:16px}.hw2-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}.hw2-card{display:flex;flex-direction:column;gap:10px;padding:16px}.hw2-card-head{display:flex;gap:10px;align-items:center}.hw2-card-head div{display:flex;flex-direction:column;min-width:0}.hw2-card-head b{font-size:15px}.hw2-card-head small{font-size:12px;color:var(--sb-muted)}.hw2-task{font-size:13px;color:#4b4b63;background:#f7f6fc;padding:8px 10px;border-radius:10px}.hw2-subs{display:flex;flex-direction:column;gap:8px}.hw2-sub{display:flex;flex-direction:column;gap:3px}.hw2-comment{font-size:14px}.hw2-img img{max-width:100%;max-height:220px;border-radius:10px;display:block;object-fit:cover}.hw2-file{color:var(--sb-accent);font-weight:600;text-decoration:none;font-size:14px}.hw2-card .jr-seg button{flex:1;min-width:0}.hw2-new{margin-top:16px;padding:14px;border-radius:14px;background:#f7f6fc;display:flex;flex-direction:column;gap:10px}.hw2-new .jr-label{margin:0}.hw2-new textarea{resize:vertical;font-family:inherit;background:#fff}.hw2-dates{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.hw2-date{width:auto;padding:5px 8px;font-size:13px;background:#fff}.hw2-new-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hw2-due{display:flex;align-items:center;gap:8px;font-size:13px}.hw2-due .sb-input{width:auto;padding:6px 8px;font-size:13px;background:#fff}.hw2-attach{cursor:pointer;font-size:13px;font-weight:700;color:var(--sb-accent);padding:7px 10px;border-radius:9px;background:#fff;border:1px solid #e3e1ef;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hw2-new-foot .sb-btn-primary{margin-left:auto}.hw2-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.hw2-item{border:1px solid var(--sb-line);border-radius:12px;overflow:hidden}.hw2-item.is-open{border-color:#c9c4ee}.hw2-item-head{width:100%;display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 14px;border:0;background:#fff;text-align:left;cursor:pointer}.hw2-item-head:hover{background:#faf9ff}.hw2-item-date{font-weight:800;font-size:14px}.hw2-item-text{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hw2-progress{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.hw2-progress small{font-size:12px;color:var(--sb-muted);white-space:nowrap}.hw2-detail{padding:4px 14px 14px;background:#fcfbff}.hw2-detail-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:8px 0}.hw2-detail-top .sb-link{margin-left:auto;padding:0}.hw2-row{grid-template-columns:minmax(0,1fr) auto}.hw2-row-subs{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px}.hw2-row-subs .hw2-img img{max-height:80px}@media (max-width: 899px){.hw2-cards{grid-template-columns:1fr}.hw2-item-head{grid-template-columns:1fr;gap:4px}.hw2-progress{align-items:flex-start}.hw2-row{grid-template-columns:1fr}.hw2-new-foot .sb-btn-primary{margin-left:0;width:100%}}.ti-card{margin-bottom:20px}.ti-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:8px}.ti-head h2{margin-bottom:4px}.ti-sub{margin:0;font-size:13px;max-width:640px}.ti-row{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:16px;align-items:center;padding:12px 0;border-top:1px solid #eeecf6}.ti-name{display:flex;flex-direction:column;gap:2px;min-width:0}.ti-name span{font-size:13px}.ti-links{display:flex;flex-direction:column;gap:10px;min-width:0;align-items:flex-start}.ti-link{display:flex;flex-direction:column;gap:6px;width:100%}.ti-link .inv-url{width:100%;border:1px solid #e3e1ef;border-radius:8px}.ti-card>.ti-sub:last-child{margin-top:10px}@media (max-width: 720px){.ti-row{grid-template-columns:1fr;gap:8px}}.att-hw-from{display:block;margin-top:3px;font-size:11px;color:#8a86a8;white-space:nowrap}.sb-places{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.sb-daystrip.is-desktop{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:12px}.sb-daystrip.is-desktop button{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 0;border:1px solid var(--sb-line);border-radius:12px;background:#fff;font:inherit;font-size:14px;font-weight:700;color:#374151;cursor:pointer}.sb-daystrip.is-desktop button i{font-style:normal;font-size:12px;font-weight:600;color:#9a9ab0}.sb-daystrip.is-desktop button.is-today span{color:var(--sb-accent)}.sb-daystrip.is-desktop button.is-on{background:var(--sb-accent);border-color:var(--sb-accent);color:#fff}.sb-daystrip.is-desktop button.is-on span,.sb-daystrip.is-desktop button.is-on i{color:#fff}.sb-board.is-narrow .sb-roomheads span{padding:4px 3px 6px;font-size:10px;text-align:center}.sb-board.is-narrow .sb-card-in{padding:4px 4px 4px 6px}.sb-board.is-narrow .sb-card-title{font-size:11px;line-height:1.2}.sb-board.is-narrow .sb-card-time{font-size:10px}.sb-board.is-narrow .sb-card-meta{display:none}.sb-center-pick{margin-bottom:6px}.sb-seg.sb-seg-rooms{display:grid;grid-template-columns:1fr 1fr}.pay-steps{margin:12px 0 10px;padding-left:20px;font-size:13px;color:#4b5563;line-height:1.5;text-align:left}.pay-copy{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;margin-top:6px;border-radius:10px;background:#f4f2ff;font-size:13px}.pay-copy-label{color:#6b7280;flex:none}.pay-copy-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pay-copy-btn{flex:none;border:0;background:#fff;color:#3b28cc;font:inherit;font-size:12px;font-weight:700;padding:5px 9px;border-radius:8px;cursor:pointer}.pay-rejected{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:13px;line-height:1.45;text-align:left}.pay-reject-btn{margin-left:6px}.lk-grid-2>.lk-card{min-width:0}@media (max-width: 900px){.lk-grid-2>.lk-card>.lk-table{display:block;overflow-x:auto}}.lk-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.lk-table-scroll .lk-table td,.lk-table-scroll .lk-table th{white-space:nowrap}@media (max-width: 480px){.jr-views{width:100%}.sb-seg.sb-seg-sm.jr-views button{flex:1;padding-left:6px;padding-right:6px}}.tchips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}.sb-card.is-foreign{cursor:default}.users-tab{display:flex;flex-direction:column;gap:20px}.users-tab>.lk-card{min-width:0}.users-new{max-width:520px}.users-table td{vertical-align:middle}.ph-summary{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:10px;font-size:14px}.ph-alert{background:#fee2e2;color:#b91c1c;font-weight:700;padding:3px 10px;border-radius:999px;font-size:13px}.ph-only{margin:0 0 0 auto}.ph-legend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.ph-table th,.ph-table td{text-align:center;padding:6px}.ph-table .ph-name,.ph-table tfoot td:first-child{text-align:left;font-weight:600}.ph-cell{display:inline-block;border:0;border-radius:8px;padding:4px 8px;font:inherit;font-size:12px;font-weight:700;white-space:nowrap}button.ph-cell:not(:disabled){cursor:pointer}button.ph-cell:not(:disabled):hover{filter:brightness(.95)}.ph-paid{background:var(--good-bg, #dcfce7);color:#15803d}.ph-claimed{background:#dbeafe;color:#1d4ed8}.ph-pending{background:#fef3c7;color:#b45309}.ph-overdue{background:#fee2e2;color:#b91c1c}.ph-none{color:#c4c4d4}.ph-debt{color:#b91c1c;font-weight:700}.ph-tot-paid{color:#15803d}.ph-table tfoot td{font-size:12px;color:#4b5563;border-top:1px solid #ecebf5}.fam-pay{margin-bottom:16px;border-radius:16px;background:#fff;box-shadow:0 1px 3px #14143c14;overflow:hidden}.fam-pay-head{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border:0;background:linear-gradient(135deg,#fff7ed,#fff);font:inherit;text-align:left;cursor:pointer}.fam-pay-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.fam-pay-main small{color:#6b7280;font-size:13px}.fam-pay-body{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;padding:16px 18px 20px;border-top:1px solid #f1eff8}.fam-pay-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.fam-pay-list li{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;background:#f8f9ff;font-size:14px}.fam-pay-list li.fam-pay-total{background:#fff7ed;font-size:15px}@media (max-width: 800px){.fam-pay-body{grid-template-columns:minmax(0,1fr)}}.fam-pay-list li b{white-space:nowrap}.jr-readonly{margin:0 0 12px;padding:9px 12px;border-radius:10px;background:#f1f0f7;color:#4b5563;font-size:13px;font-weight:600}.jr-attach{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:8px;font-size:13px}.jr-attach a{color:#3b28cc;font-weight:600}.jr-attach-name{color:#374151;font-weight:600}.jr-attach-btn{cursor:pointer;padding:6px 12px;font-size:13px}.paybox{display:flex;flex-direction:column;align-items:center;width:100%}.pay-id{width:100%;margin:10px 0 2px;padding:10px 12px;border-radius:10px;background:#fff7ed;font-size:14px;text-align:center}.pay-id b{font-size:18px;color:#c2410c}.pay-id small{display:block;margin-top:2px;color:#9a3412;font-size:12px}.pay-req{width:100%;margin-top:8px;font-size:13px}.pay-req summary{cursor:pointer;color:#3b28cc;font-weight:700;padding:6px 0}.pay-req-addr{margin-top:6px;color:#6b7280;font-size:12px;line-height:1.4}.pay-family-note{padding:12px;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:13px;line-height:1.45}.pay-payer{display:block;color:#8a86a8;font-size:11px;font-weight:600}.pay-when{display:block;margin-top:3px;color:#1d4ed8;font-size:11px;font-weight:600;white-space:nowrap}.pay-fam-head td{background:#eff6ff;border-top:2px solid #bfdbfe}.pay-fam-head .pay-payer,.pay-fam-head .pay-when{display:inline;margin-left:8px}.pay-fam-row td{background:#f8fbff;font-size:13px}.pay-fam-row td:first-child{padding-left:22px}.ph-run,.ph-run-head{color:#8a86a8;background:#fafaff}.ph-run{font-size:12px;white-space:nowrap}.ph-hint{margin:0 0 10px}.pay-qr-btn{position:relative;display:block;margin:0 auto;padding:0;border:0;background:none;cursor:zoom-in}.pay-qr-btn .pay-qr-img{width:200px;height:200px;image-rendering:pixelated}.pay-qr-zoom{position:absolute;right:4px;bottom:4px;padding:3px 7px;border-radius:8px;background:#ffffffeb;color:#3b28cc;font-size:11px;font-weight:700;box-shadow:0 1px 3px #00000026}.pay-qr-phone{margin:6px 0 0;font-size:12px;color:#6b7280;text-align:center}.pay-qr-full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:16px;background:#fff;cursor:zoom-out}.pay-qr-full img{width:min(92vw,80vh,560px);height:auto;image-rendering:pixelated}.pay-qr-full span{color:#6b7280;font-size:14px}.pay-due.pay-due-info{background:#f8f9ff;border-color:#e3e1ef;border-left-color:#a5a1c9;box-shadow:none}.pay-due.pay-due-info .pay-due-icon{background:#ecebf7;box-shadow:none}.pay-due.pay-due-info .pay-due-title b{color:#1a1a2e}.pay-due.pay-due-info .pay-due-sub{color:#6b7280}.pay-due-btn.pay-due-info:hover{box-shadow:0 2px 10px #14143c14}.pay-details-grid.is-info{grid-template-columns:minmax(0,1fr)}.pay-due-info+.pay-details{border-color:#e3e1ef}.jr-state.is-cancelled{color:#6b7280;background:#f1f0f7;font-weight:600;text-decoration:line-through}.jr-roll-title{position:relative}.jr-cancel-btn{margin-left:auto;align-self:flex-start;font-size:13px;color:#9a3412;white-space:nowrap}.jr-cancelled{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:12px;padding:16px;border-radius:12px;background:#f6f5fb;font-size:14px}.jr-cancelled small{color:#6b7280;font-size:12px}.journal-cancelled{background:#f6f5fb}.journal-cancel-badge{display:block;margin-top:2px;font-size:9px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.02em}.att-cancelled{display:inline-block;min-width:28px;color:#b8b6cc;text-align:center}.gm-archive-toggle{display:block;margin:12px auto 4px;font-size:13px}.gm-archive-note{margin:4px 0 10px;padding:8px 10px;border-radius:10px;background:#f6f5fb;color:#6b7280;font-size:12px}.gm-archived-badge{margin-left:8px;padding:2px 8px;border-radius:999px;background:#f1f0f7;color:#6b7280;font-size:12px;font-weight:700;vertical-align:middle}.gm-unarchive{margin-top:6px}
