:root{--background:oklch(0.99 0 0);--foreground:oklch(0.141 0.005 285.823);--card:oklch(0.97 0 286);--muted:oklch(0.92 0 286);--muted-foreground:oklch(0.552 0.016 285.938);--border:oklch(0.87 0.01 286);--input:oklch(0.92 0.004 286.32);--accent-violet:oklch(0.61 0.22 293);--accent-violet-dark:oklch(0.28 0.14 291);--accent-blue:oklch(0.62 0.19 260);--success:oklch(0.63 0.17 149);--danger:oklch(0.65 0.22 16);--warning:#b45309;--warning-foreground:#92400e;--status-info:#4f46e5;--status-info-soft:#eef2ff;--status-info-foreground:#4338ca;--status-success:#166534;--status-success-soft:#ecfdf5;--status-success-foreground:#166534;--status-warning:#b45309;--status-warning-soft:#fffbeb;--status-warning-foreground:#92400e;--status-danger:#be123c;--status-danger-soft:#fff1f2;--status-danger-foreground:#9f1239;--status-neutral:#475569;--status-neutral-soft:#f8fafc;--status-neutral-foreground:#334155;--status-violet:#7c3aed;--status-violet-soft:#f5f3ff;--status-violet-foreground:#6d28d9;--status-teal:#0f766e;--status-teal-soft:#f0fdfa;--status-teal-foreground:#115e59;--attendance-present-bg:var(--status-success-soft);--attendance-present-border:color-mix(in oklab,var(--status-success) 20%,var(--border));--attendance-present-foreground:var(--status-success-foreground);--attendance-late-bg:var(--status-warning-soft);--attendance-late-border:color-mix(in oklab,var(--status-warning) 20%,var(--border));--attendance-late-foreground:var(--status-warning-foreground);--attendance-absent-bg:var(--status-danger-soft);--attendance-absent-border:color-mix(in oklab,var(--status-danger) 20%,var(--border));--attendance-absent-foreground:var(--status-danger-foreground);--grade-homework-bg:#f4ede4;--grade-homework-border:#cfb99f;--grade-homework-foreground:#7c5434;--grade-labwork-bg:#e8f1dc;--grade-labwork-border:#a9c37a;--grade-labwork-foreground:#556b2f;--grade-classwork-bg:#fff2cf;--grade-classwork-border:#ddb45b;--grade-classwork-foreground:#8f640a;--grade-controlwork-bg:#ffe2bf;--grade-controlwork-border:#e2924c;--grade-controlwork-foreground:#a65212;--grade-practicalwork-bg:#ffd9cb;--grade-practicalwork-border:#e07c5d;--grade-practicalwork-foreground:#b24528;--grade-finalwork-bg:#f7dde1;--grade-finalwork-border:#d06d7f;--grade-finalwork-foreground:#92233f;--color-primary:var(--accent-violet);--color-primary-foreground:#fff;--color-card:var(--card);--color-border:var(--border);--color-foreground:var(--foreground);--color-muted-foreground:var(--muted-foreground);--radius:16px;--shadow-card:0 18px 50px rgba(17,17,26,.08);--surface-glass-bg:color-mix(in oklab,var(--card) 88%,#fff);--surface-glass-bg-strong:color-mix(in oklab,var(--card) 93%,#fff);--surface-glass-border:color-mix(in oklab,#fff 55%,var(--border));--surface-glass-border-soft:color-mix(in oklab,#fff 35%,var(--border));--surface-glass-shadow:0 20px 40px rgba(12,14,24,.08),0 4px 10px rgba(12,14,24,.04);--surface-glass-shadow-hover:0 26px 52px rgba(12,14,24,.1),0 6px 14px rgba(12,14,24,.06);--surface-glass-highlight:hsla(0,0%,100%,.52)}.payments-page{display:grid;grid-gap:16px;gap:16px}.payments-page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:start}.payments-page-header-copy{min-width:0}.payments-page-header-copy h2{margin:0;font-size:clamp(1.2rem,1rem + .8vw,1.75rem);line-height:1.15}.payments-page-header-copy p{margin:8px 0 0;color:var(--muted-foreground);line-height:1.45}.payments-header-badge{min-width:160px;border-radius:14px;border:1px solid color-mix(in oklab,var(--border) 84%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);padding:10px 12px;display:grid;grid-gap:2px;gap:2px}.payments-header-badge span{color:var(--muted-foreground);font-size:.78rem}.payments-header-badge strong{color:var(--accent-violet-dark);line-height:1.1;font-size:1.05rem}.payments-header-badge.ok{border-color:color-mix(in oklab,var(--success) 24%,var(--border));background:color-mix(in oklab,var(--success) 6%,var(--card))}.payments-header-badge.ok strong{color:color-mix(in oklab,var(--success) 84%,var(--foreground));font-size:.92rem}.payments-header-badge.danger{border-color:color-mix(in oklab,var(--danger) 28%,var(--border));background:color-mix(in oklab,var(--danger) 7%,var(--card))}.payments-header-badge.danger strong{color:color-mix(in oklab,var(--danger) 82%,var(--foreground))}.payments-state{min-height:140px;display:grid;grid-gap:10px;gap:10px;place-items:center;align-content:center;text-align:center}.payments-state h3,.payments-state p{margin:0}.payments-state h3{font-size:1rem}.payments-state.empty p{color:var(--muted-foreground)}.payments-state.error{border-color:color-mix(in oklab,var(--danger) 25%,var(--border));background:color-mix(in oklab,var(--danger) 5%,#fff)}.payments-spinner{width:22px;height:22px;border-radius:999px;border:2px solid color-mix(in oklab,var(--border) 72%,#fff);border-top-color:var(--accent-violet);animation:payments-spin .9s linear infinite}@keyframes payments-spin{to{transform:rotate(1turn)}}.payments-page-body{display:grid;grid-gap:16px;gap:16px}.payments-inline-warning{border-color:color-mix(in oklab,#f59e0b 24%,var(--border));background:color-mix(in oklab,#f59e0b 6%,var(--card));color:color-mix(in oklab,#8a4b00 75%,var(--foreground));font-size:.9rem}.payments-top-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);grid-gap:16px;gap:16px;align-items:start}.payments-top-grid.has-qr{grid-template-columns:minmax(0,1.15fr) minmax(220px,.45fr) minmax(0,.8fr)}.payments-side-stack{display:grid;grid-gap:16px;gap:16px}.payments-actions-card,.payments-debug-card,.payments-details-card,.payments-qr-card,.payments-table-card{display:grid;grid-gap:14px;gap:14px;align-content:start}.payments-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.payments-card-title-row h3{margin:0;font-size:.98rem;line-height:1.2;font-family:inherit;min-width:0}.payments-table-card .payments-card-title-row h3{white-space:nowrap;font-size:1rem;line-height:1.15;font-weight:700;letter-spacing:0}.payments-table-card .payments-card-title-row{gap:8px;min-height:30px;align-items:center}.payments-action-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.payments-flag{min-height:26px;padding:0 8px;border-radius:999px;border:1px solid color-mix(in oklab,var(--border) 85%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);color:var(--muted-foreground);font-size:.72rem;font-weight:700;display:inline-flex;align-items:center}.payments-flag.ok{border-color:color-mix(in oklab,var(--success) 28%,var(--border));color:color-mix(in oklab,var(--success) 85%,var(--foreground));background:color-mix(in oklab,var(--success) 8%,var(--card))}.payments-summary-grid{gap:10px}.payments-action-form{display:grid;grid-gap:12px;gap:12px}.payments-input-wrap{display:grid;grid-gap:7px;gap:7px}.payments-input-wrap>span{color:var(--muted-foreground);font-size:.84rem}.payments-input-wrap input{width:100%;min-height:42px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 84%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);color:var(--foreground);padding:0 12px;outline:none}.payments-input-wrap input::placeholder{color:color-mix(in oklab,var(--muted-foreground) 70%,#fff)}.payments-input-wrap input:hover:not(:disabled){border-color:color-mix(in oklab,var(--accent-violet) 24%,var(--border))}.payments-input-wrap input:focus-visible{border-color:color-mix(in oklab,var(--accent-violet) 40%,var(--border));box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-violet) 16%,transparent)}.payments-input-wrap input:disabled{opacity:.75;cursor:not-allowed;background:color-mix(in oklab,var(--muted) 12%,var(--card))}.payments-action-buttons{display:flex;flex-wrap:wrap;gap:10px}.payments-inline-help{margin:0;color:var(--muted-foreground);font-size:.84rem;line-height:1.45}.payments-action-feedback{margin:0;padding:9px 11px;border-radius:10px;border:1px solid color-mix(in oklab,var(--border) 86%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);font-size:.86rem;line-height:1.35}.payments-action-feedback.ok{border-color:color-mix(in oklab,var(--success) 24%,var(--border));background:color-mix(in oklab,var(--success) 6%,var(--card));color:color-mix(in oklab,var(--success) 84%,var(--foreground))}.payments-action-feedback.error{border-color:color-mix(in oklab,var(--danger) 26%,var(--border));background:color-mix(in oklab,var(--danger) 6%,var(--card));color:color-mix(in oklab,var(--danger) 84%,var(--foreground))}.payments-action-button{min-height:40px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 80%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);color:var(--foreground);padding:0 14px;font:inherit;font-weight:650;cursor:pointer;transition:transform .14s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.payments-action-button.primary{border-color:color-mix(in oklab,var(--accent-violet) 28%,var(--border));background:color-mix(in oklab,var(--accent-violet) 12%,var(--card));color:var(--accent-violet-dark)}.payments-action-button.danger{border-color:color-mix(in oklab,var(--danger) 26%,var(--border));background:color-mix(in oklab,var(--danger) 8%,var(--card));color:color-mix(in oklab,var(--danger) 82%,var(--foreground))}.payments-action-button:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent-violet) 24%,var(--border));box-shadow:0 10px 20px rgba(15,23,42,.06)}.payments-action-button:active:not(:disabled){transform:translateY(0)}.payments-action-button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-violet) 18%,transparent)}.payments-action-button:disabled{cursor:not-allowed;opacity:.6;transform:none;box-shadow:none}.payments-action-button.loading{position:relative;padding-left:34px}.payments-action-button.loading:before{content:"";position:absolute;left:12px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:999px;border:2px solid color-mix(in oklab,currentColor 25%,transparent);border-top-color:currentcolor;animation:payments-spin .8s linear infinite}.payments-notice-block{display:grid;grid-gap:8px;gap:8px;padding:12px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:var(--surface-glass-bg)}.payments-notice-block p{margin:0;font-size:.9rem;line-height:1.45}.payments-readonly-note{color:var(--muted-foreground)}.payments-details-list,.payments-endpoint-list,.payments-link-list{display:grid;grid-gap:8px;gap:8px}.payments-doc-link{border:1px solid color-mix(in oklab,var(--border) 88%,#fff);border-radius:12px;background:color-mix(in oklab,var(--card) 98%,#fff);padding:10px 12px;text-decoration:none;color:inherit;display:grid;grid-gap:4px;gap:4px;transition:border-color .16s ease,box-shadow .16s ease,transform .14s ease}.payments-doc-link span{color:var(--muted-foreground);font-size:.82rem}.payments-doc-link strong{font-size:.9rem}.payments-doc-link:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent-violet) 24%,var(--border));box-shadow:0 10px 20px rgba(15,23,42,.06)}.payments-doc-link:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-violet) 18%,transparent)}.payments-details-row,.payments-endpoint-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid color-mix(in oklab,var(--border) 90%,#fff)}.payments-details-row:last-child,.payments-endpoint-row:last-child{border-bottom:0;padding-bottom:0}.payments-details-row>span,.payments-endpoint-name{color:var(--muted-foreground);font-size:.85rem}.payments-details-row>strong,.payments-endpoint-status{text-align:right;font-size:.88rem;line-height:1.35;word-break:break-word}.payments-details-value{min-width:0;max-width:min(70%,640px);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:start}.payments-details-value>strong{text-align:right;font-size:.88rem;line-height:1.35;word-break:break-word}.payments-copy-button{width:26px;height:26px;border-radius:8px;border:1px solid color-mix(in oklab,var(--border) 82%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);color:var(--muted-foreground);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .14s ease}.payments-copy-button svg{width:14px;height:14px}.payments-copy-button:hover{border-color:color-mix(in oklab,var(--accent-violet) 28%,var(--border));color:var(--accent-violet);transform:translateY(-1px)}.payments-copy-button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-violet) 16%,transparent)}.payments-copy-button.copied{border-color:color-mix(in oklab,var(--success) 30%,var(--border));background:color-mix(in oklab,var(--success) 8%,var(--card));color:color-mix(in oklab,var(--success) 82%,var(--foreground))}.payments-qr-card{justify-items:center}.payments-qr-card .payments-card-title-row{width:100%}.payments-qr-frame{position:relative;width:100%;max-width:240px;min-height:240px;border-radius:14px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,#fff 75%,var(--card));padding:10px}.payments-qr-frame img{display:block;width:100%;height:auto;border-radius:10px;background:#fff;opacity:1;transition:opacity .2s ease}.payments-qr-frame.is-error img,.payments-qr-frame.is-loading img{opacity:0}.payments-qr-loader{position:absolute;inset:10px;border-radius:10px;background:color-mix(in oklab,#fff 92%,var(--card));border:1px dashed color-mix(in oklab,var(--border) 86%,#fff);display:grid;place-items:center;grid-gap:8px;gap:8px;align-content:center;text-align:center;padding:12px}.payments-qr-loader.is-loading{overflow:hidden}.payments-qr-loader p{margin:0;color:var(--muted-foreground);font-size:.82rem;line-height:1.35}.payments-qr-shimmer{position:absolute;inset:0;background:linear-gradient(110deg,transparent 0,color-mix(in oklab,#fff 65%,transparent) 35%,transparent 70%),linear-gradient(color-mix(in oklab,var(--muted) 18%,#fff),color-mix(in oklab,var(--muted) 18%,#fff));background-size:220% 100%,100% 100%;animation:payments-qr-shimmer 1.1s linear infinite}.payments-qr-spinner{width:18px;height:18px;position:relative;z-index:1}.payments-qr-frame.is-error .payments-qr-loader{border-color:color-mix(in oklab,var(--danger) 22%,var(--border));background:color-mix(in oklab,var(--danger) 4%,#fff)}.payments-qr-frame.is-error .payments-qr-loader p{color:color-mix(in oklab,var(--danger) 78%,var(--foreground))}@keyframes payments-qr-shimmer{0%{background-position:200% 0,0 0}to{background-position:-20% 0,0 0}}.payments-qr-caption{margin:0;justify-self:stretch;text-align:center;color:var(--muted-foreground);font-size:.86rem}.payments-endpoint-name{min-width:0;overflow-wrap:anywhere}.payments-endpoint-status.ok{color:color-mix(in oklab,var(--success) 84%,var(--foreground))}.payments-endpoint-status.error{color:color-mix(in oklab,var(--danger) 82%,var(--foreground))}.payments-panel-empty{border-radius:12px;border:1px dashed color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);padding:12px}.payments-panel-empty p{margin:0;color:var(--muted-foreground);line-height:1.45}.payments-tables-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;align-items:start}.payments-debug-card.panel,.payments-details-card.panel,.payments-qr-card.panel,.payments-table-card.panel{padding:14px}.payments-table-card{gap:10px}.payments-table-count{min-height:24px;min-width:24px;padding:0 8px;border-radius:999px;border:1px solid var(--surface-glass-border);background:var(--surface-glass-bg);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;line-height:1;color:var(--muted-foreground)}.payments-table-scroll{overflow:auto;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 90%,#fff)}.payments-table{width:100%;border-collapse:collapse;min-width:520px}.payments-table td,.payments-table th{text-align:left;padding:8px 12px;border-bottom:1px solid color-mix(in oklab,var(--border) 92%,#fff);font-size:.88rem;vertical-align:top}.payments-table th{position:-webkit-sticky;position:sticky;top:0;background:color-mix(in oklab,var(--accent-violet) 88%,#fff);color:#fff;font-size:.78rem;line-height:1.2;font-weight:600;z-index:1}.payments-table tbody tr:last-child td{border-bottom:0}.payments-table tbody tr:hover{background:color-mix(in oklab,var(--accent-violet) 4%,transparent)}.payments-table tbody tr.is-late{background:color-mix(in oklab,var(--danger) 4%,transparent)}.payments-table tbody tr.is-late td:first-child{color:color-mix(in oklab,var(--danger) 82%,var(--foreground));font-weight:700}@media (max-width:1280px){.payments-top-grid,.payments-top-grid.has-qr{grid-template-columns:1fr}.payments-side-stack{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media (max-width:1024px){.payments-tables-grid{grid-template-columns:1fr}}@media (max-width:768px){.payments-page,.payments-page-body,.payments-page-header,.payments-side-stack,.payments-tables-grid,.payments-top-grid{gap:14px}.payments-page-header{grid-template-columns:1fr}.payments-header-badge{min-width:0}.payments-action-buttons,.payments-side-stack{grid-template-columns:1fr}.payments-action-buttons{display:grid}.payments-action-button{width:100%}.payments-table td,.payments-table th{padding:9px 10px}}@media (max-width:390px){.payments-card-title-row{align-items:flex-start;flex-direction:column}.payments-action-badges{justify-content:flex-start}.payments-table{min-width:460px}.payments-details-row,.payments-endpoint-row{display:grid;grid-gap:4px;gap:4px}.payments-details-value{max-width:100%;grid-template-columns:minmax(0,1fr) auto}.payments-details-row>strong,.payments-details-value>strong,.payments-endpoint-status{text-align:left}}.schedule-page{display:block}.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.schedule-main-column{display:grid;grid-gap:18px;gap:18px;min-width:0}.schedule-side-column{display:grid;grid-gap:18px;gap:18px;align-content:start}.schedule-toolbar-card{padding:16px;display:grid;grid-gap:14px;gap:14px;background:radial-gradient(circle at right top,color-mix(in oklab,var(--accent-violet) 16%,transparent),transparent 55%),color-mix(in oklab,var(--card) 95%,#fff)}.schedule-toolbar-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.schedule-page-title-wrap{display:flex;gap:12px;align-items:center;min-width:0}.schedule-page-icon{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent-violet);background:color-mix(in oklab,var(--accent-violet) 14%,transparent);flex-shrink:0}.schedule-page-icon svg{width:22px;height:22px}.schedule-page-eyebrow{margin:0;font-size:.82rem;color:var(--muted-foreground)}.schedule-page-title{margin:2px 0 0;font-size:1.25rem;font-family:var(--font-unbounded),"Segoe UI",sans-serif;color:var(--accent-violet-dark)}.schedule-view-tabs{display:inline-flex;gap:6px;padding:5px;border-radius:14px;background:color-mix(in oklab,var(--muted) 72%,#fff);border:1px solid color-mix(in oklab,var(--border) 88%,#fff);flex-wrap:wrap;justify-content:flex-end}.schedule-view-tabs button{border:0;border-radius:10px;background:transparent;color:var(--muted-foreground);padding:8px 12px;font-weight:700;cursor:pointer;transition:background-color .12s ease,color .12s ease,box-shadow .12s ease}.schedule-view-tabs button:hover{background:color-mix(in oklab,var(--card) 70%,#fff);color:var(--foreground)}.schedule-view-tabs button.active{background:color-mix(in oklab,var(--accent-violet) 18%,#fff);color:var(--accent-violet-dark);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent-violet) 24%,#fff)}.schedule-lesson-card:focus-visible,.schedule-month-cell:focus-visible,.schedule-nav-button:focus-visible,.schedule-today-button:focus-visible,.schedule-view-tabs button:focus-visible,.schedule-week-day-head:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in oklab,var(--background) 75%,#fff),0 0 0 4px color-mix(in oklab,var(--accent-violet) 55%,#fff)}.schedule-toolbar-controls{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}.schedule-period-nav{display:flex;align-items:center;gap:10px;min-width:min(100%,520px)}.schedule-nav-button{width:40px;height:40px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 86%,#fff);background:color-mix(in oklab,var(--card) 97%,#fff);color:var(--foreground);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.schedule-nav-button:hover{background:color-mix(in oklab,var(--muted) 74%,#fff)}.schedule-nav-button svg{width:18px;height:18px}.schedule-period-title{margin:0;min-width:0;flex:1 1;font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:.98rem;color:var(--foreground);text-transform:capitalize;line-height:1.35}.schedule-today-button{padding:0 14px}.schedule-day-panel,.schedule-summary-card,.schedule-surface{padding:16px}.schedule-grid-head{display:grid;grid-gap:10px;gap:10px;margin-bottom:10px}.schedule-month-head{grid-template-columns:repeat(7,minmax(0,1fr))}.schedule-month-head span{border-radius:10px;padding:10px 6px;text-align:center;font-size:.82rem;font-weight:700;color:var(--muted-foreground);background:color-mix(in oklab,var(--muted) 70%,#fff);text-transform:capitalize}.schedule-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px}.schedule-month-cell{min-height:118px;border:1px solid color-mix(in oklab,var(--border) 86%,#fff);background:color-mix(in oklab,var(--card) 97%,#fff);border-radius:14px;padding:10px;display:grid;grid-gap:8px;gap:8px;align-content:start;text-align:left;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.schedule-month-cell:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent-violet) 22%,var(--border));box-shadow:0 10px 20px rgba(16,16,30,.07)}.schedule-month-cell.outside{opacity:.55;background:color-mix(in oklab,var(--muted) 78%,#fff)}.schedule-month-cell.selected{border-color:color-mix(in oklab,var(--accent-violet) 35%,#fff);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent-violet) 22%,#fff),0 12px 24px rgba(16,16,30,.08)}.schedule-month-cell.today{background:linear-gradient(180deg,color-mix(in oklab,var(--success) 8%,transparent),transparent 36%),color-mix(in oklab,var(--card) 97%,#fff)}.schedule-month-cell-day{font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:.95rem;color:var(--foreground)}.schedule-month-cell-count{font-size:.76rem;color:var(--muted-foreground)}.schedule-month-cell-list{display:grid;grid-gap:6px;gap:6px}.schedule-subject-pill{border-radius:999px;padding:5px 8px;font-size:.71rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid transparent}.schedule-subject-pill.tone-lecture{background:color-mix(in oklab,var(--accent-violet) 14%,#fff);color:color-mix(in oklab,var(--accent-violet-dark) 86%,#000)}.schedule-subject-pill.tone-practice{background:color-mix(in oklab,var(--success) 14%,#fff);color:color-mix(in oklab,var(--success) 84%,#000)}.schedule-subject-pill.tone-lab,.schedule-subject-pill.tone-workshop{background:color-mix(in oklab,var(--danger) 10%,#fff);color:color-mix(in oklab,var(--danger) 88%,#000)}.schedule-subject-pill.tone-consultation,.schedule-subject-pill.tone-more{background:color-mix(in oklab,var(--muted) 58%,#fff);color:var(--muted-foreground);border-color:color-mix(in oklab,var(--border) 86%,#fff)}.schedule-week-grid{display:grid;grid-template-columns:68px minmax(0,1fr);grid-gap:12px;gap:12px}.schedule-week-time-col{display:grid;grid-gap:8px;gap:8px;align-content:start}.schedule-week-time-col-head{height:68px}.schedule-week-time-col span{min-height:40px;display:flex;align-items:flex-start;justify-content:flex-end;padding-top:2px;padding-right:4px;color:var(--muted-foreground);font-size:.74rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.schedule-week-columns{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px;min-width:0}.schedule-week-day{border:1px solid color-mix(in oklab,var(--border) 88%,#fff);border-radius:14px;background:color-mix(in oklab,var(--card) 97%,#fff);min-width:0;display:grid;grid-template-rows:auto 1fr;overflow:hidden}.schedule-week-day.selected{border-color:color-mix(in oklab,var(--accent-violet) 28%,#fff);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent-violet) 18%,#fff)}.schedule-week-day.today .schedule-week-day-head{background:linear-gradient(180deg,color-mix(in oklab,var(--success) 12%,transparent),transparent 60%),color-mix(in oklab,var(--muted) 76%,#fff)}.schedule-week-day-head{border:0;border-bottom:1px solid color-mix(in oklab,var(--border) 90%,#fff);background:color-mix(in oklab,var(--muted) 76%,#fff);padding:10px;text-align:left;display:grid;grid-gap:2px;gap:2px;cursor:pointer}.schedule-week-day-head:hover{background:color-mix(in oklab,var(--muted) 66%,#fff)}.schedule-week-day-weekday{color:var(--muted-foreground);font-size:.74rem;text-transform:capitalize}.schedule-week-day-date{font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:.8rem}.schedule-week-day-total{font-size:.72rem;color:var(--muted-foreground)}.schedule-week-day-body{padding:10px;display:grid;grid-gap:8px;gap:8px;align-content:start}.schedule-week-table-wrap{overflow-x:auto;padding-bottom:2px}.schedule-week-table{display:grid;grid-template-columns:52px repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:start;min-width:0}.schedule-week-table-row{display:contents}.schedule-week-corner{min-height:68px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--muted) 78%,#fff)}.schedule-week-day-head.schedule-week-day-head-table{border-bottom-width:1px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);border-radius:12px}.schedule-week-day-head.schedule-week-day-head-table.selected{border-color:color-mix(in oklab,var(--accent-violet) 28%,#fff);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent-violet) 18%,#fff)}.schedule-week-day-head.schedule-week-day-head-table.today{background:linear-gradient(180deg,color-mix(in oklab,var(--success) 12%,transparent),transparent 60%),color-mix(in oklab,var(--muted) 76%,#fff)}.schedule-week-lesson-index{background:color-mix(in oklab,var(--muted) 80%,#fff);display:flex;align-items:center;justify-content:center;font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:.78rem;color:var(--foreground)}.schedule-week-cell,.schedule-week-lesson-index{min-height:82px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff)}.schedule-week-cell{min-width:0;background:color-mix(in oklab,var(--card) 97%,#fff);padding:8px;display:grid;align-content:start;grid-gap:8px;gap:8px}.schedule-week-cell.selected{border-color:color-mix(in oklab,var(--accent-violet) 26%,#fff)}.schedule-week-cell.today{background:linear-gradient(180deg,color-mix(in oklab,var(--success) 7%,transparent),transparent 30%),color-mix(in oklab,var(--card) 97%,#fff)}.schedule-week-cell-list{display:grid;grid-gap:8px;gap:8px;align-content:start}.schedule-week-gap-slot{min-height:64px;border-radius:10px;border:1px dashed color-mix(in oklab,var(--border) 86%,#fff)}.schedule-empty-card,.schedule-week-gap-slot{background:color-mix(in oklab,var(--muted) 82%,#fff)}.schedule-empty-card{margin:0;min-height:74px;border-radius:10px;border:1px dashed color-mix(in oklab,var(--border) 88%,#fff);color:var(--muted-foreground);font-size:.76rem;padding:12px 10px}.schedule-lesson-card{border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--card) 97%,#fff);border-radius:14px;padding:12px;outline:none;transition:box-shadow .12s ease,border-color .12s ease,transform .12s ease}.schedule-lesson-card:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent-violet) 20%,var(--border));box-shadow:0 8px 18px rgba(14,14,24,.07)}.schedule-lesson-card.compact{padding:10px;border-radius:12px}.schedule-lesson-card.compact .schedule-lesson-main{grid-template-columns:1fr;gap:8px}.schedule-lesson-main{display:grid;grid-template-columns:68px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start}.schedule-lesson-time{display:grid;grid-gap:2px;gap:2px;justify-items:start;align-content:start;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.schedule-lesson-time span{font-weight:800;color:var(--foreground)}.schedule-lesson-time small{color:var(--muted-foreground);font-size:.75rem}.schedule-lesson-time-top{display:flex;align-items:center;gap:6px;font-size:.76rem}.schedule-lesson-time-top span{font-weight:700;color:var(--muted-foreground)}.schedule-lesson-content{min-width:0;display:grid;grid-gap:8px;gap:8px}.schedule-lesson-row{display:flex;gap:8px;justify-content:space-between;align-items:flex-start}.schedule-lesson-row h4{margin:0;font-size:.94rem;line-height:1.3;color:var(--foreground)}.schedule-lesson-badges{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.schedule-badge{border-radius:999px;padding:4px 8px;font-size:.68rem;font-weight:700;white-space:nowrap}.schedule-badge-muted{background:color-mix(in oklab,var(--muted) 68%,#fff);color:var(--muted-foreground)}.schedule-badge-planned{background:color-mix(in oklab,var(--accent-violet) 14%,#fff);color:color-mix(in oklab,var(--accent-violet-dark) 84%,#000)}.schedule-badge-ongoing{background:color-mix(in oklab,var(--success) 18%,#fff);color:color-mix(in oklab,var(--success) 86%,#000)}.schedule-badge-done{background:color-mix(in oklab,var(--muted) 56%,#fff);color:var(--muted-foreground)}.schedule-lesson-meta{display:flex;flex-wrap:wrap;gap:8px 10px;color:var(--muted-foreground);font-size:.78rem}.schedule-lesson-meta span{display:inline-flex;align-items:center;gap:6px;min-width:0}.schedule-lesson-meta svg{width:15px;height:15px;flex-shrink:0}.schedule-lesson-foot{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--muted-foreground);font-size:.75rem}.schedule-lesson-foot-label{font-weight:700}.schedule-dot{width:4px;height:4px;border-radius:999px;background:currentColor;opacity:.55}.schedule-day-panel{display:grid;grid-gap:14px;gap:14px}.schedule-day-panel-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.schedule-day-panel-eyebrow{margin:0 0 2px;color:var(--muted-foreground);font-size:.8rem}.schedule-day-panel-head h3{margin:0;font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:1rem;text-transform:capitalize}.schedule-day-panel-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.schedule-day-panel-stats div{min-width:116px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--muted) 78%,#fff);padding:10px;display:grid;grid-gap:4px;gap:4px}.schedule-day-panel-stats span{color:var(--muted-foreground);font-size:.75rem}.schedule-day-panel-stats strong{font-size:.96rem}.schedule-day-list,.schedule-day-table{display:grid;grid-gap:10px;gap:10px}.schedule-day-table-row{display:grid;grid-template-columns:52px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start}.schedule-day-lesson-index{min-height:84px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--muted) 80%,#fff);display:flex;align-items:center;justify-content:center;font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:.8rem}.schedule-day-lesson-cell{min-width:0;display:grid;grid-gap:10px;gap:10px;align-content:start}.schedule-day-lesson-cell.is-gap{min-height:84px}.schedule-day-gap-slot{min-height:84px;border-radius:12px;border:1px dashed color-mix(in oklab,var(--border) 86%,#fff);background:color-mix(in oklab,var(--muted) 82%,#fff)}.schedule-empty-panel{border-radius:14px;border:1px dashed color-mix(in oklab,var(--border) 86%,#fff);background:color-mix(in oklab,var(--muted) 80%,#fff);padding:18px;display:grid;grid-gap:6px;gap:6px}.schedule-empty-panel p{margin:0;font-weight:700}.schedule-empty-panel span{color:var(--muted-foreground);font-size:.86rem;line-height:1.4}.schedule-modal-backdrop{position:fixed;inset:0;z-index:90;background:color-mix(in oklab,#0f172a 42%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}.schedule-modal-panel{width:min(980px,100%);max-height:min(92vh,980px);display:grid;grid-template-rows:auto minmax(0,1fr);grid-gap:12px;gap:12px;overflow:hidden}.schedule-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.schedule-modal-head-copy{display:grid;grid-gap:4px;gap:4px;min-width:0}.schedule-modal-head-copy p{margin:0;color:var(--muted-foreground);font-size:.8rem}.schedule-modal-head-copy strong{font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:.98rem;line-height:1.3;text-transform:capitalize}.schedule-modal-close{width:36px;height:36px;border-radius:10px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--card) 97%,#fff);color:var(--foreground);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.schedule-modal-close:hover{border-color:color-mix(in oklab,var(--accent-violet) 24%,var(--border));background:color-mix(in oklab,var(--muted) 76%,#fff)}.schedule-modal-close:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in oklab,var(--background) 75%,#fff),0 0 0 4px color-mix(in oklab,var(--accent-violet) 55%,#fff)}.schedule-modal-body{min-height:0;overflow:auto;display:grid;align-content:start;grid-gap:12px;gap:12px;padding-right:2px}.schedule-summary-card{display:grid;grid-gap:10px;gap:10px}.schedule-side-eyebrow{margin:0;color:var(--muted-foreground);font-size:.78rem}.schedule-summary-card h3{margin:0;font-size:1rem}.schedule-summary-date{margin:0;font-size:.88rem;color:var(--foreground);line-height:1.35;text-transform:capitalize}.schedule-kpi-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.schedule-kpi-list li{border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--muted) 79%,#fff);padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px}.schedule-kpi-list span{color:var(--muted-foreground);font-size:.8rem}.schedule-kpi-list strong{font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:.9rem}.schedule-next-lesson{border-radius:14px;border:1px solid color-mix(in oklab,var(--accent-violet) 18%,var(--border));background:radial-gradient(circle at right top,color-mix(in oklab,var(--accent-violet) 14%,transparent),transparent 58%),color-mix(in oklab,var(--card) 97%,#fff);padding:12px;display:grid;grid-gap:8px;gap:8px}.schedule-next-lesson h3{margin:0;font-size:.94rem}.schedule-next-lesson p{margin:0;color:var(--foreground);font-size:.82rem}.schedule-next-lesson-meta{display:grid;grid-gap:4px;gap:4px;color:var(--muted-foreground);font-size:.78rem}.schedule-side-empty{margin:0;color:var(--muted-foreground)}@media (max-width:1280px){.schedule-month-cell{min-height:108px}.schedule-subject-pill{font-size:.68rem}}@media (max-width:1024px){.schedule-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-week-table{grid-template-columns:48px repeat(7,minmax(190px,190px))}.schedule-week-grid{grid-template-columns:1fr}.schedule-week-time-col{display:none}.schedule-week-columns{overflow-x:auto;grid-template-columns:repeat(7,minmax(190px,1fr));padding-bottom:2px}.schedule-week-day{min-width:190px}}@media (max-width:768px){.schedule-day-panel-head,.schedule-toolbar-heading{flex-direction:column;align-items:stretch}.schedule-toolbar-controls{align-items:stretch}.schedule-period-nav{min-width:0}.schedule-period-title{font-size:.9rem}.schedule-view-tabs{width:100%;justify-content:stretch;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-view-tabs button{width:100%}.schedule-month-grid{gap:8px}.schedule-month-cell{min-height:92px;padding:8px;gap:6px}.schedule-month-cell-count{display:none}.schedule-month-cell-list{gap:4px}.schedule-subject-pill{padding:4px 6px;font-size:.64rem}.schedule-side-column{grid-template-columns:1fr}.schedule-day-panel-stats{width:100%}.schedule-modal-backdrop{padding:12px}.schedule-modal-panel{width:100%;max-height:calc(100vh - 24px)}}@media (max-width:480px){.schedule-day-panel,.schedule-summary-card,.schedule-surface,.schedule-toolbar-card{padding:12px}.schedule-month-head span{font-size:.72rem;padding:8px 2px}.schedule-month-grid{gap:6px}.schedule-month-cell{min-height:78px;border-radius:12px;padding:7px}.schedule-month-cell-list{display:none}.schedule-day-table-row{grid-template-columns:44px minmax(0,1fr);gap:8px}.schedule-day-lesson-index{font-size:.72rem;border-radius:10px}.schedule-week-table{gap:8px;grid-template-columns:44px repeat(7,minmax(170px,170px))}.schedule-week-cell,.schedule-week-corner,.schedule-week-lesson-index{border-radius:10px}.schedule-modal-head-copy strong{font-size:.9rem}.schedule-modal-close{width:34px;height:34px;border-radius:9px}.schedule-lesson-main{grid-template-columns:1fr;gap:8px}.schedule-lesson-time{display:flex;gap:8px;align-items:baseline}.schedule-lesson-row{flex-direction:column}.schedule-lesson-badges{justify-content:flex-start}.schedule-day-panel-stats{grid-template-columns:1fr}}:root.theme-dark{--background:#09090b;--foreground:#f4f4f5;--card:#18181b;--muted:#27272a;--muted-foreground:#a1a1aa;--border:#3f3f46;--input:#27272a;--accent-violet-dark:oklch(0.84 0.1 292);--warning:#f59e0b;--warning-foreground:#fde68a;--status-info-soft:color-mix(in oklab,var(--card) 82%,#312e81);--status-info-foreground:#c7d2fe;--status-success-soft:color-mix(in oklab,var(--card) 82%,#14532d);--status-success-foreground:#bbf7d0;--status-warning-soft:color-mix(in oklab,var(--card) 82%,#713f12);--status-warning-foreground:#fde68a;--status-danger-soft:color-mix(in oklab,var(--card) 82%,#7f1d1d);--status-danger-foreground:#fecdd3;--status-neutral-soft:color-mix(in oklab,var(--card) 84%,#334155);--status-neutral-foreground:#cbd5e1;--status-violet-soft:color-mix(in oklab,var(--card) 82%,#4c1d95);--status-violet-foreground:#ddd6fe;--status-teal-soft:color-mix(in oklab,var(--card) 82%,#134e4a);--status-teal-foreground:#99f6e4;--attendance-present-bg:var(--status-success-soft);--attendance-present-border:color-mix(in oklab,var(--status-success) 28%,var(--border));--attendance-present-foreground:var(--status-success-foreground);--attendance-late-bg:var(--status-warning-soft);--attendance-late-border:color-mix(in oklab,var(--status-warning) 28%,var(--border));--attendance-late-foreground:var(--status-warning-foreground);--attendance-absent-bg:var(--status-danger-soft);--attendance-absent-border:color-mix(in oklab,var(--status-danger) 28%,var(--border));--attendance-absent-foreground:var(--status-danger-foreground);--grade-homework-bg:color-mix(in oklab,var(--card) 78%,#6d4d3a);--grade-homework-border:#bda892;--grade-homework-foreground:#e9ddd1;--grade-labwork-bg:color-mix(in oklab,var(--card) 78%,#4f6138);--grade-labwork-border:#9eb57a;--grade-labwork-foreground:#dce7c7;--grade-classwork-bg:color-mix(in oklab,var(--card) 78%,#8a6a2b);--grade-classwork-border:#c7ae67;--grade-classwork-foreground:#eddcb0;--grade-controlwork-bg:color-mix(in oklab,var(--card) 78%,#996034);--grade-controlwork-border:#d39a63;--grade-controlwork-foreground:#ecd2b8;--grade-practicalwork-bg:color-mix(in oklab,var(--card) 78%,#9e5646);--grade-practicalwork-border:#cc8774;--grade-practicalwork-foreground:#ecd0c8;--grade-finalwork-bg:color-mix(in oklab,var(--card) 78%,#932b48);--grade-finalwork-border:#c98090;--grade-finalwork-foreground:#ecd1d9;--surface-glass-bg:color-mix(in oklab,var(--card) 86%,hsla(0,0%,100%,.02));--surface-glass-bg-strong:color-mix(in oklab,var(--card) 92%,hsla(0,0%,100%,.03));--surface-glass-border:color-mix(in oklab,hsla(0,0%,100%,.18) 65%,var(--border));--surface-glass-border-soft:color-mix(in oklab,hsla(0,0%,100%,.1) 40%,var(--border));--surface-glass-shadow:0 22px 50px rgba(0,0,0,.34),0 4px 12px rgba(0,0,0,.22);--surface-glass-shadow-hover:0 28px 60px rgba(0,0,0,.4),0 8px 18px rgba(0,0,0,.26);--surface-glass-highlight:hsla(0,0%,100%,.08)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{color:var(--foreground);font-family:var(--font-onest),"Segoe UI",sans-serif;background:var(--background);position:relative;z-index:0;isolation:isolate}body:before{background:radial-gradient(circle at 12% 8%,color-mix(in oklab,var(--accent-violet) 16%,transparent),transparent 32%),radial-gradient(circle at 88% 10%,color-mix(in oklab,var(--accent-blue) 12%,transparent),transparent 34%),radial-gradient(circle at 16% 62%,color-mix(in oklab,var(--accent-violet) 9%,transparent),transparent 40%),radial-gradient(circle at 84% 66%,color-mix(in oklab,var(--success) 10%,transparent),transparent 42%),radial-gradient(circle at 50% 115%,color-mix(in oklab,var(--accent-violet-dark) 7%,transparent),transparent 54%)}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1}body:after{background:linear-gradient(180deg,color-mix(in oklab,#fff 14%,transparent),transparent 22%,transparent 78%,color-mix(in oklab,#fff 6%,transparent));opacity:.45}a{color:inherit;text-decoration:none}.interactive-hover-frame-target{isolation:isolate}.interactive-hover-frame-target[data-hover-frame-static-position="1"]{position:relative}.interactive-hover-frame-layer{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;opacity:0;padding:var(--interactive-hover-frame-width,3px);background:color-mix(in oklab,var(--accent-violet) 78%,#fff);-webkit-clip-path:circle(0 at var(--interactive-hover-origin-x,50%) var(--interactive-hover-origin-y,50%));clip-path:circle(0 at var(--interactive-hover-origin-x,50%) var(--interactive-hover-origin-y,50%));transition:opacity .18s ease,-webkit-clip-path .4s cubic-bezier(.22,1,.36,1);transition:clip-path .4s cubic-bezier(.22,1,.36,1),opacity .18s ease;transition:clip-path .4s cubic-bezier(.22,1,.36,1),opacity .18s ease,-webkit-clip-path .4s cubic-bezier(.22,1,.36,1);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.interactive-hover-frame-target.interactive-hover-frame-active>.interactive-hover-frame-layer{opacity:.92;-webkit-clip-path:circle(var(--interactive-hover-radius,160px) at var(--interactive-hover-origin-x,50%) var(--interactive-hover-origin-y,50%));clip-path:circle(var(--interactive-hover-radius,160px) at var(--interactive-hover-origin-x,50%) var(--interactive-hover-origin-y,50%))}:root.theme-dark .interactive-hover-frame-layer{background:color-mix(in oklab,var(--accent-violet) 92%,#fff)}.page-title{margin:0;font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:clamp(1.5rem,2.8vw,2.4rem);color:var(--accent-violet-dark)}.subtitle{color:var(--muted-foreground);margin:0}.auth-page{min-height:100vh;padding:24px;display:grid;place-items:center}.auth-grid{width:min(1080px,100%);display:grid;grid-template-columns:1.05fr .95fr;grid-gap:18px;gap:18px}.auth-hero{border:1px solid var(--border);border-radius:24px;background:linear-gradient(145deg,rgba(113,17,229,.95),rgba(71,36,205,.92)),var(--accent-violet);box-shadow:var(--shadow-card);color:#fff;padding:34px;position:relative;overflow:hidden}.auth-hero:before{content:"";width:320px;height:320px;position:absolute;right:-120px;top:-120px;background:radial-gradient(circle,hsla(0,0%,100%,.22),transparent 60%)}.auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:26px}.auth-logo img{width:36px;height:36px;border-radius:10px}.auth-logo span{font-weight:700;letter-spacing:.03em}.auth-logo span,.hero-title{font-family:var(--font-unbounded),"Segoe UI",sans-serif}.hero-title{margin:0;font-size:clamp(1.55rem,2.7vw,2.3rem);line-height:1.25}.hero-text{margin:14px 0 26px;color:hsla(0,0%,100%,.84)}.hero-list{margin:0;padding:0;display:grid;grid-gap:12px;gap:12px;list-style:none}.hero-list li{display:flex;gap:10px;align-items:center;color:hsla(0,0%,100%,.9)}.hero-list li:before{content:"";width:8px;height:8px;border-radius:999px;background:#fff;opacity:.95}.auth-card{border:1px solid var(--border);border-radius:24px;background:color-mix(in oklab,var(--card) 96%,#fff);box-shadow:var(--shadow-card);padding:32px;display:grid;grid-gap:22px;gap:22px}.auth-head{display:grid;grid-gap:8px;gap:8px}.auth-card-footer{margin-top:2px;padding-top:12px;border-top:1px solid color-mix(in oklab,var(--border) 86%,#fff);display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-card-footer-copy{display:grid;grid-gap:2px;gap:2px}.auth-card-footer-label,.auth-card-footer-value{margin:0}.auth-card-footer-label{font-size:.8rem;color:var(--muted-foreground)}.auth-card-footer-value{font-size:.92rem;font-weight:600;color:var(--foreground)}.auth-language-menu-wrap{margin-left:auto}.auth-language-trigger{min-height:42px;min-width:180px;padding:0 10px 0 8px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 86%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);color:var(--foreground);display:inline-flex;align-items:center;gap:10px;cursor:pointer;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.28),0 6px 14px rgba(15,23,42,.06);transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.auth-language-trigger:hover{background:color-mix(in oklab,var(--accent-violet) 8%,var(--card));border-color:color-mix(in oklab,var(--accent-violet) 22%,var(--border))}.auth-language-trigger:focus-visible{outline:none;border-radius:12px;box-shadow:0 0 0 2px color-mix(in oklab,var(--accent-violet) 45%,#fff),inset 0 1px 0 hsla(0,0%,100%,.22)}.auth-language-trigger-icon{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in oklab,var(--muted) 40%,#fff);flex:0 0 auto}.auth-language-trigger-icon img{border-radius:999px;border:1px solid color-mix(in oklab,var(--border) 82%,#fff)}.auth-language-trigger-code{font-size:.68rem;font-weight:700;letter-spacing:.03em;color:var(--foreground)}.auth-language-trigger-label{min-width:0;flex:1 1;text-align:left;font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-language-trigger-caret{width:18px;height:18px;color:var(--muted-foreground);display:inline-flex;align-items:center;justify-content:center;transition:transform .14s ease,color .14s ease}.auth-language-trigger-caret.open{transform:rotate(180deg);color:var(--accent-violet)}.auth-language-trigger-caret svg{width:18px;height:18px}.auth-language-popover{top:auto;bottom:calc(100% + 8px)}.auth-language-list{min-width:220px;padding:8px;display:grid;grid-gap:4px;gap:4px}.auth-language-list-item{width:100%;min-height:42px;border:0;border-radius:10px;background:transparent;color:var(--foreground);display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;padding:0 10px;text-align:left;cursor:pointer;transition:background-color .14s ease,color .14s ease,transform .12s ease}.auth-language-list-item:hover{background:color-mix(in oklab,var(--accent-violet) 8%,transparent)}.auth-language-list-item:active{transform:translateY(1px)}.auth-language-list-item:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in oklab,var(--accent-violet) 35%,#fff)}.auth-language-list-item.active{background:color-mix(in oklab,var(--accent-violet) 12%,transparent)}.auth-language-list-item-icon{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in oklab,var(--muted) 42%,#fff)}.auth-language-list-item-icon img{border-radius:999px;border:1px solid color-mix(in oklab,var(--border) 82%,#fff)}.auth-language-list-item-code{font-size:.68rem;font-weight:700;letter-spacing:.03em}.auth-language-list-item-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}.field{display:grid;grid-gap:8px;gap:8px}.field label{font-size:.94rem;color:var(--muted-foreground)}.field input,.field select{width:100%;min-height:48px;border:1px solid var(--border);border-radius:12px;background:color-mix(in oklab,var(--input) 74%,#fff);padding:0 14px;outline:none;font-size:1rem;transition:border-color .14s ease,box-shadow .14s ease}.field input:focus-visible,.field select:focus-visible{border-color:color-mix(in oklab,var(--accent-violet) 65%,#fff);box-shadow:0 0 0 3px rgba(112,11,231,.15)}.field-error{color:var(--danger);font-size:.92rem}.field-success{color:color-mix(in oklab,var(--success) 82%,#000);background:color-mix(in oklab,var(--success) 12%,transparent);border:1px solid color-mix(in oklab,var(--success) 28%,var(--border));border-radius:12px;padding:10px 12px;font-size:.92rem;margin:0}.auth-form-panel{display:grid;grid-gap:14px;gap:14px;animation:auth-form-panel-in .18s ease}.auth-inline-action{border:0;background:transparent;color:var(--accent-violet);cursor:pointer;padding:0;width:-moz-fit-content;width:fit-content;font:inherit;font-weight:600;text-align:left;transition:opacity .14s ease,transform .12s ease}.auth-inline-action:hover{opacity:.9}.auth-inline-action:active{transform:translateY(1px)}.auth-inline-action:focus-visible{outline:none;border-radius:8px;box-shadow:0 0 0 2px color-mix(in oklab,var(--accent-violet) 35%,#fff)}.auth-inline-action:disabled{cursor:not-allowed;opacity:.65}.field input[aria-invalid=true]{border-color:color-mix(in oklab,var(--danger) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in oklab,var(--danger) 16%,transparent)}.auth-actions{display:grid;grid-gap:12px;gap:12px}.button-primary{border:0;min-height:50px;border-radius:12px;background:var(--accent-violet);color:#fff;cursor:pointer;font-weight:600;font-size:1rem;transition:transform .12s ease,opacity .12s ease,filter .12s ease}.button-primary:hover{filter:brightness(1.05)}.button-primary:active{transform:translateY(1px)}.button-primary:disabled{cursor:not-allowed;opacity:.72}.button-secondary{border:1px solid var(--border);min-height:44px;border-radius:12px;background:color-mix(in oklab,var(--card) 98%,#fff);color:var(--foreground);cursor:pointer;font-weight:600}@keyframes auth-form-panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.app-frame{--app-sidebar-width:340px;min-height:100vh;display:grid;grid-template-columns:var(--app-sidebar-width) 1fr;position:relative;transition:grid-template-columns .22s ease}.app-frame.sidebar-collapsed{--app-sidebar-width:88px}.app-shell-boot{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 12% 14%,color-mix(in oklab,var(--accent-violet) 10%,transparent),transparent 46%),radial-gradient(circle at 88% 18%,color-mix(in oklab,var(--success) 16%,transparent),transparent 42%),radial-gradient(circle at 50% 100%,color-mix(in oklab,var(--accent-violet-dark) 7%,transparent),transparent 55%),var(--background)}.app-shell-boot-card{width:min(560px,100%);border-radius:24px;border:1px solid color-mix(in oklab,var(--border) 84%,#fff);background:color-mix(in oklab,var(--card) 95%,#fff);box-shadow:0 22px 60px rgba(12,12,22,.12);padding:22px 22px 18px;display:grid;grid-gap:12px;gap:12px;position:relative;overflow:hidden}.app-shell-boot-orb{position:absolute;right:-24px;top:-24px;width:120px;height:120px;border-radius:999px;background:radial-gradient(circle at 30% 30%,hsla(0,0%,100%,.75),transparent 55%),color-mix(in oklab,var(--accent-violet) 65%,#fff);opacity:.22;filter:blur(2px);animation:boot-orb-float 3s ease-in-out infinite}.app-shell-boot-eyebrow{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground)}.app-shell-boot-phrase{margin:0;min-height:1.5em;font-size:clamp(1.3rem,2vw,1.8rem);font-weight:700;color:var(--accent-violet-dark);animation:boot-phrase-in .26s ease}.app-shell-boot-note{margin:0;color:var(--muted-foreground);font-size:.92rem;line-height:1.35}.app-shell-boot-dots{display:inline-flex;align-items:center;gap:8px;padding-top:2px}.app-shell-boot-dots span{width:8px;height:8px;border-radius:999px;background:color-mix(in oklab,var(--accent-violet) 72%,#fff);animation:boot-dot-pulse 1.05s ease-in-out infinite}.app-shell-boot-dots span:nth-child(2){animation-delay:.14s}.app-shell-boot-dots span:nth-child(3){animation-delay:.28s}@keyframes boot-dot-pulse{0%,to{transform:translateY(0);opacity:.35}50%{transform:translateY(-3px);opacity:1}}@keyframes boot-phrase-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes boot-orb-float{0%,to{transform:translateZ(0)}50%{transform:translate3d(-5px,4px,0)}}.app-sidebar-overlay{display:none}.app-sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;border-right:1px solid color-mix(in oklab,var(--border) 90%,#fff);background:color-mix(in oklab,var(--card) 97%,#fff);padding:26px 22px 22px;display:grid;grid-template-rows:auto 1fr auto;grid-gap:20px;gap:20px;z-index:30;overflow:hidden;transition:transform .22s ease,opacity .18s ease,padding .22s ease,border-color .18s ease}.brand-link{display:inline-flex;align-items:center;gap:10px}.brand-link img{width:32px;height:32px;border-radius:9px}.brand-link span{font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-weight:700;font-size:1.35rem;color:var(--accent-violet-dark)}.brand-link-text{white-space:nowrap;transition:opacity .14s ease}.nav-list{margin:0;display:grid;grid-gap:8px;gap:8px;list-style:none;align-content:start;max-height:calc(100vh - 250px);overflow:auto;padding:0 6px 0 0}.nav-item{padding:11px 12px;border-radius:12px;color:var(--muted-foreground);display:flex;position:relative;align-items:center;gap:12px;transition:background .14s ease,color .14s ease,transform .14s ease;font-size:.98rem}.nav-item-label{min-width:0;white-space:nowrap;transition:opacity .14s ease}.nav-item:hover{background:color-mix(in oklab,var(--accent-violet) 12%,transparent);color:var(--accent-violet);transform:translateX(1px)}.nav-item.active{background:color-mix(in oklab,var(--accent-violet) 20%,transparent);color:var(--accent-violet);font-weight:600}.nav-item-icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.nav-item-icon svg{width:100%;height:100%}.sidebar-bottom{display:grid;grid-gap:10px;gap:10px;transition:opacity .14s ease}.sidebar-meta{margin:0;color:var(--muted-foreground);font-size:.82rem}.sidebar-logout{width:100%}.app-sidebar-collapse-handle{position:absolute;top:0;right:0;width:2px;height:100%;border:0;background:#26bf66;cursor:pointer;transition:width .18s ease,background-color .18s ease}.app-sidebar-collapse-handle:focus-visible,.app-sidebar-collapse-handle:hover{width:6px;background:#20ae5c}.app-sidebar-collapse-handle:focus-visible{outline:2px solid color-mix(in oklab,var(--accent-violet) 70%,#fff);outline-offset:-2px}@media (min-width:1025px){.app-frame.sidebar-collapsed .app-sidebar{opacity:1;pointer-events:auto;transform:none;overflow:visible;padding-inline:12px;border-right-color:color-mix(in oklab,var(--border) 90%,#fff)}.app-frame.sidebar-collapsed .app-sidebar .brand-link{width:100%;justify-content:center;gap:0}.app-frame.sidebar-collapsed .app-sidebar .brand-link-text{width:0;opacity:0;overflow:hidden;pointer-events:none}.app-frame.sidebar-collapsed .app-sidebar .nav-list{padding-right:0;overflow:visible}.app-frame.sidebar-collapsed .app-sidebar .nav-item{justify-content:center;gap:0;padding-inline:0;min-height:46px}.app-frame.sidebar-collapsed .app-sidebar .nav-item:hover{transform:none}.app-frame.sidebar-collapsed .app-sidebar .nav-item-label{position:absolute;width:0;opacity:0;overflow:hidden;pointer-events:none}.app-frame.sidebar-collapsed .app-sidebar .nav-item-badge,.app-frame.sidebar-collapsed .app-sidebar .sidebar-bottom{display:none}.app-frame.sidebar-collapsed .app-sidebar .nav-item:after{content:attr(data-tooltip);left:calc(100% + 12px);transform:translateY(-50%) translateX(-2px);white-space:nowrap;padding:7px 10px;border-radius:10px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);color:var(--foreground);box-shadow:0 10px 28px rgba(16,16,22,.14);font-size:.84rem;line-height:1.15;z-index:70}.app-frame.sidebar-collapsed .app-sidebar .nav-item:after,.app-frame.sidebar-collapsed .app-sidebar .nav-item:before{position:absolute;top:50%;opacity:0;pointer-events:none;background:color-mix(in oklab,var(--card) 96%,#fff);transition:opacity .14s ease,transform .14s ease}.app-frame.sidebar-collapsed .app-sidebar .nav-item:before{content:"";left:calc(100% + 6px);width:8px;height:8px;transform:translateY(-50%) rotate(45deg) translateX(-2px);border-left:1px solid color-mix(in oklab,var(--border) 88%,#fff);border-top:1px solid color-mix(in oklab,var(--border) 88%,#fff);z-index:69}.app-frame.sidebar-collapsed .app-sidebar .nav-item:focus-visible:after,.app-frame.sidebar-collapsed .app-sidebar .nav-item:hover:after{opacity:1;transform:translateY(-50%) translateX(0)}.app-frame.sidebar-collapsed .app-sidebar .nav-item:focus-visible:before,.app-frame.sidebar-collapsed .app-sidebar .nav-item:hover:before{opacity:1;transform:translateY(-50%) rotate(45deg)}.app-frame.sidebar-collapsed .app-sidebar .nav-item:focus-visible:before{opacity:1}}.app-main{display:grid;grid-template-rows:auto 1fr;min-width:0}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;justify-content:space-between;padding:12px 16px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(to bottom,color-mix(in oklab,var(--background) 94%,#fff),color-mix(in oklab,var(--background) 80%,transparent))}.app-header,.app-header-start{display:flex;align-items:center;gap:14px}.app-header-start{min-width:0}.app-mobile-brand{display:none;align-items:center;gap:8px}.app-mobile-brand img{width:28px;height:28px;border-radius:8px}.app-mobile-brand span{font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:1.12rem;color:var(--accent-violet-dark)}.app-mobile-menu-button{display:none;width:40px;height:40px;border-radius:12px;border:0;background:var(--accent-violet);padding:9px;cursor:pointer;align-items:center;justify-content:center;position:relative;transition:background-color .14s ease,transform .14s ease}.app-mobile-menu-button:hover{background:color-mix(in oklab,var(--accent-violet) 88%,#000)}.app-mobile-menu-button:active{transform:scale(.98)}.app-mobile-menu-button:focus-visible{outline:2px solid color-mix(in oklab,var(--accent-violet) 75%,#fff);outline-offset:2px}.app-mobile-menu-button span{display:block;position:absolute;left:9px;right:9px;width:auto;height:2px;border-radius:2px;background:#f3ecff;transform-origin:center;transition:transform .18s ease,opacity .18s ease}.app-mobile-menu-button span+span{margin-top:0}.app-mobile-menu-button span:first-child{top:12px}.app-mobile-menu-button span:nth-child(2){top:19px}.app-mobile-menu-button span:nth-child(3){top:26px}.app-mobile-menu-button.open span:first-child{transform:translateY(7px) rotate(45deg)}.app-mobile-menu-button.open span:nth-child(2){opacity:0}.app-mobile-menu-button.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.app-header-section{margin:0;font-size:1.02rem;font-weight:600;color:var(--accent-violet-dark);white-space:nowrap}.app-header-actions{display:flex;align-items:center;gap:10px}.app-date-chip{border-radius:999px;border:1px solid color-mix(in oklab,var(--border) 82%,#fff);background:color-mix(in oklab,var(--card) 90%,#fff);padding:7px 12px;font-size:.82rem;color:var(--muted-foreground);text-transform:capitalize}.app-icon-button{width:38px;height:38px;border-radius:11px;border:1px solid color-mix(in oklab,var(--border) 82%,#fff);background:color-mix(in oklab,var(--card) 92%,#fff);color:var(--accent-violet-dark);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.app-icon-button svg{width:19px;height:19px}.app-user-chip{border-radius:999px;border:1px solid color-mix(in oklab,var(--border) 82%,#fff);background:color-mix(in oklab,var(--card) 92%,#fff);padding:4px 8px 4px 4px;gap:8px}.app-user-avatar,.app-user-chip{display:inline-flex;align-items:center}.app-user-avatar{width:26px;height:26px;border-radius:999px;background:linear-gradient(150deg,#6e33d9,#5336cf);color:#fff;font-size:.78rem;font-weight:700;justify-content:center}.app-user-name{font-size:.82rem;color:var(--muted-foreground)}.app-header-logout{display:inline-flex;min-height:38px;padding:0 12px}.app-content{padding:22px}.dashboard-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.panel{border:1px solid color-mix(in oklab,var(--border) 86%,#fff);border-radius:16px;background:color-mix(in oklab,var(--card) 97%,#fff);box-shadow:0 14px 30px rgba(18,18,30,.07),0 2px 8px rgba(18,18,30,.04);padding:18px}.panel h3{margin:0 0 10px;font-size:1rem}.panel p{margin:0;color:var(--muted-foreground);line-height:1.45}.dashboard-home{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) 340px;align-items:start}.dashboard-home-main{display:grid;grid-gap:18px;gap:18px}.dashboard-side-column{display:grid;grid-gap:16px;gap:16px;align-content:start}.dash-card{border:1px solid color-mix(in oklab,var(--border) 88%,#fff);border-radius:16px;background:color-mix(in oklab,var(--card) 95%,#fff);box-shadow:0 12px 26px rgba(18,18,30,.07),0 2px 8px rgba(18,18,30,.04)}.dash-welcome{padding:18px 20px;display:grid;grid-gap:6px;gap:6px;background:radial-gradient(circle at right top,rgba(115,52,217,.16),transparent 45%),color-mix(in oklab,var(--card) 95%,#fff)}.dash-welcome-eyebrow{margin:0;color:var(--muted-foreground);font-size:.84rem}.dash-welcome-name{margin:0;font-family:var(--font-unbounded),"Segoe UI",sans-serif;color:var(--accent-violet-dark);font-size:clamp(1.08rem,1.8vw,1.42rem)}.dash-welcome-meta{margin:0;color:var(--muted-foreground);font-size:.9rem}.dashboard-metrics-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{--metric-color:var(--accent-violet);padding:20px;display:grid;grid-gap:12px;gap:12px;min-height:278px}.metric-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.metric-title{margin:0;color:var(--muted-foreground)}.metric-value{margin:0;font-weight:700;font-size:1.8rem;line-height:1;color:var(--metric-color)}.metric-card.metric-violet{--metric-color:var(--accent-violet)}.metric-card.metric-green{--metric-color:var(--success)}.metric-card.metric-yellow{--metric-color:#c4810c}.metric-card.metric-red{--metric-color:#cb4136}.metric-status{display:inline-flex;align-items:center;gap:7px;width:-moz-fit-content;width:fit-content;padding:5px 10px;border-radius:999px;background:color-mix(in oklab,var(--muted) 24%,#fff)}.metric-status-icon{font-size:.95rem;line-height:1}.metric-status-text{color:var(--muted-foreground);font-size:.82rem}.metric-chart-wrap{border-radius:14px;border:1px solid color-mix(in oklab,var(--border) 84%,#fff);background:linear-gradient(180deg,color-mix(in oklab,var(--muted) 12%,#fff),color-mix(in oklab,var(--background) 70%,#fff));min-height:140px;display:grid;place-items:center}.metric-chart{width:100%;height:118px;padding:6px}.metric-chart path{fill:none;stroke:var(--metric-color);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.metric-empty{margin:0;color:var(--muted-foreground)}.dashboard-double{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.counter-card{min-height:126px;padding:20px;display:grid;grid-gap:10px;gap:10px;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.counter-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,20,28,.1)}.counter-card-violet{border-color:color-mix(in oklab,var(--accent-violet) 34%,var(--border));background:radial-gradient(circle at top right,rgba(126,67,255,.14),transparent 55%),color-mix(in oklab,var(--card) 95%,#fff)}.counter-card-green{border-color:color-mix(in oklab,var(--success) 34%,var(--border));background:radial-gradient(circle at top right,rgba(35,171,108,.13),transparent 55%),color-mix(in oklab,var(--card) 95%,#fff)}.counter-title{margin:0;color:var(--muted-foreground);font-size:.95rem}.counter-value{margin:0;font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-weight:600;font-size:1.2rem;color:var(--accent-violet-dark)}.content-card{min-height:320px;position:relative;overflow:hidden;display:grid;grid-template-rows:1fr auto;transition:transform .14s ease,box-shadow .14s ease}.content-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,20,28,.1)}.content-card:before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,color-mix(in oklab,var(--muted) 28%,#fff),color-mix(in oklab,var(--background) 74%,#fff))}.content-stack{position:relative;min-height:170px;display:grid;place-items:center}.content-stack span{position:absolute;width:65%;aspect-ratio:4/3;border-radius:12px}.content-stack span:first-child{transform:translateY(34px);opacity:.55}.content-stack span:nth-child(2){transform:translateY(18px);opacity:.78}.content-stack span:nth-child(3){opacity:.95}.content-card-violet .content-stack span{background:linear-gradient(160deg,rgba(127,67,255,.78),rgba(86,53,224,.92))}.content-card-green .content-stack span{background:linear-gradient(160deg,rgba(32,171,107,.78),rgba(16,143,76,.9))}.content-meta{position:relative;z-index:1;border-top:1px solid var(--border);background:color-mix(in oklab,var(--card) 95%,#fff);padding:16px 18px;display:grid;grid-gap:6px;gap:6px}.content-title{margin:0;font-weight:700}.content-subtitle{margin:0;color:var(--muted-foreground);font-size:.9rem}.content-badge{width:-moz-fit-content;width:fit-content;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:600}.content-badge-violet{color:var(--accent-violet-dark);background:color-mix(in oklab,var(--accent-violet) 22%,#fff)}.content-badge-green{color:color-mix(in oklab,var(--success) 72%,#000);background:color-mix(in oklab,var(--success) 24%,#fff)}.dashboard-nav-stack{display:grid;grid-gap:12px;gap:12px;min-height:320px;align-content:stretch}.dashboard-lower-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.quick-link{min-height:96px;padding:18px;display:flex;align-items:center;justify-content:space-between;color:#fff;border:1px solid hsla(0,0%,100%,.24);transition:transform .15s ease,filter .15s ease}.quick-link:hover{transform:translateX(3px);filter:brightness(1.03)}.quick-link-violet{background:linear-gradient(150deg,#6e33d9,#5336cf)}.quick-link-green{background:linear-gradient(150deg,#1d9f65,#118858)}.quick-link-blue{background:linear-gradient(150deg,#2d7ace,#215fa9)}.quick-link-title{margin:0;font-weight:700;font-size:1.06rem}.quick-link-subtitle{margin:6px 0 0;color:hsla(0,0%,100%,.85);font-size:.9rem}.quick-link-arrow{display:inline-flex;align-items:center;justify-content:center}.quick-link-arrow svg{width:26px;height:26px;stroke-width:2.4}.activity-card,.exams-card,.position-card{padding:18px;display:grid;grid-gap:12px;gap:12px}.activity-card h3,.exams-card h3,.position-card h3{margin:0;color:var(--accent-violet-dark);font-size:1.02rem}.position-grid{display:grid;grid-gap:10px;gap:10px}.position-column{border-radius:12px;border:1px solid var(--border);background:color-mix(in oklab,var(--muted) 16%,#fff);padding:12px}.position-title{margin:0 0 8px;color:var(--muted-foreground);font-size:.88rem}.position-value-wrap{display:flex;align-items:center;gap:8px}.position-value{margin:0;font-family:var(--font-unbounded),"Segoe UI",sans-serif;color:var(--accent-violet-dark);font-size:1.15rem}.position-diff{padding:2px 8px;border-radius:999px;font-size:.78rem;font-weight:700}.position-diff-up{color:#096d43;background:rgba(29,159,101,.16)}.position-diff-down{color:#a9372d;background:rgba(203,65,54,.16)}.activity-list,.exams-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:8px;gap:8px}.activity-item,.exams-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:10px;padding:10px;background:color-mix(in oklab,var(--muted) 18%,transparent)}.activity-title{margin:0;font-size:.92rem}.activity-date{margin:4px 0 0;color:var(--muted-foreground);font-size:.8rem}.activity-points{margin:0;display:inline-flex;align-items:center;gap:6px;font-weight:700;white-space:nowrap}.activity-currency-icon{width:20px;height:20px}.activity-points.positive{color:#0c7a4b}.activity-points.negative{color:#b13d33}.exams-list li span:first-child{color:var(--muted-foreground);font-size:.85rem}.exams-list li span:last-child{font-size:.9rem;text-align:right}.empty-state{margin:0;color:var(--muted-foreground)}.leaders-card{padding:18px;display:grid;grid-gap:12px;gap:12px;max-height:1036px}.leaders-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.leaders-head h3{margin:0;display:inline-flex;align-items:center;gap:6px;color:var(--accent-violet-dark);font-size:1.02rem}.leaders-title-icon{width:24px;height:24px}.leaders-switch{display:inline-flex;border:1px solid var(--border);border-radius:10px;background:color-mix(in oklab,var(--muted-foreground) 10%,transparent);padding:2px;gap:2px;overflow:hidden}.leaders-switch button{border:0;background:transparent;padding:7px 10px;font-size:.86rem;color:var(--muted-foreground);border-radius:8px;cursor:pointer}.leaders-switch button:hover{background:color-mix(in oklab,var(--muted) 18%,transparent)}.leaders-switch button.active{background:var(--success);color:#fff;font-weight:700}.leaders-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:8px;gap:8px;max-height:830px;overflow:auto}.leaders-item{display:grid;grid-template-columns:26px 1fr auto;grid-gap:10px;gap:10px;align-items:center;border-radius:10px;padding:10px;background:color-mix(in oklab,var(--muted) 18%,#fff)}.leaders-position{text-align:center;font-weight:700;color:var(--accent-violet-dark)}.leaders-name{font-size:.92rem}.leaders-amount{font-weight:700;color:var(--accent-violet-dark)}.dashboard-info{margin:0;border-radius:10px;border:1px solid var(--border);padding:11px 12px;font-size:.92rem;color:var(--muted-foreground);background:color-mix(in oklab,var(--muted) 22%,#fff)}.dashboard-error{border-color:color-mix(in oklab,var(--danger) 42%,var(--border));color:color-mix(in oklab,var(--danger) 70%,#000)}.dashboard-warning{border-color:color-mix(in oklab,#c4810c 40%,var(--border));color:#8a5b08}@media (min-width:1280px){.app-header{padding:12px 40px}}@media (max-width:1024px){.auth-grid{grid-template-columns:1fr}.auth-hero{order:2}.app-frame{grid-template-columns:1fr}.app-sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(16,16,22,.38);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:25}.app-sidebar-overlay.visible{opacity:1;pointer-events:auto}.app-sidebar{position:fixed;left:0;top:0;width:min(88vw,320px);height:100vh;border-right:1px solid var(--border);border-bottom:0;transform:translateX(-102%);opacity:1;transition:transform .22s ease,opacity .18s ease;box-shadow:0 20px 60px rgba(12,12,22,.24)}.app-sidebar.open{transform:translateX(0)}.app-sidebar-collapse-handle{display:none}.app-mobile-brand{display:inline-flex}.app-mobile-brand span{display:none}.app-mobile-menu-button{display:inline-flex}.app-header-actions{gap:8px}.app-header-section{font-size:.95rem}.app-date-chip,.app-icon-button,.app-user-chip{display:none}.app-header-logout{display:inline-flex;min-height:34px;padding:0 10px}.page-title{font-size:clamp(1.25rem,3.3vw,1.8rem)}.app-header{padding:12px 16px}.app-content{padding:16px}.dashboard-double,.dashboard-grid,.dashboard-home,.dashboard-metrics-grid,.dashboard-side-column{grid-template-columns:1fr}.dashboard-nav-stack{min-height:0}.dashboard-lower-grid{grid-template-columns:1fr}.quick-link{min-height:86px}.metric-value{font-size:1.45rem}}.app-header-v2{border-bottom:1px solid color-mix(in oklab,var(--border) 70%,transparent);gap:12px}.wallet-strip{gap:12px}.wallet-collapse,.wallet-strip{display:inline-flex;align-items:center}.wallet-collapse{width:42px;height:42px;border-radius:13px;border:1px solid color-mix(in oklab,var(--border) 80%,#fff);background:color-mix(in oklab,var(--card) 94%,#fff);justify-content:center;color:var(--accent-violet-dark);cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.wallet-collapse:hover{background:color-mix(in oklab,var(--accent-violet) 10%,var(--card));border-color:color-mix(in oklab,var(--accent-violet) 28%,var(--border))}.wallet-collapse:active{transform:scale(.98)}.wallet-collapse:focus-visible{outline:2px solid color-mix(in oklab,var(--accent-violet) 70%,#fff);outline-offset:2px}.wallet-collapse svg{width:20px;height:20px;transition:transform .18s ease}.wallet-collapse.active svg{transform:rotate(90deg)}.wallet-collapse.collapsed svg{transform:rotate(-90deg)}.wallet-item{display:inline-flex;position:relative;align-items:center;gap:6px;border-radius:10px;cursor:default}.wallet-item:focus-visible{outline:2px solid color-mix(in oklab,var(--accent-violet) 70%,#fff);outline-offset:2px}.wallet-item:after{content:attr(data-tooltip);top:calc(100% + 10px);transform:translateX(-50%) translateY(-3px);white-space:nowrap;padding:7px 10px;border-radius:10px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);color:var(--foreground);box-shadow:0 10px 28px rgba(16,16,22,.14);font-size:.8rem;line-height:1.1;z-index:70}.wallet-item:after,.wallet-item:before{position:absolute;left:50%;bottom:auto;opacity:0;pointer-events:none;background:color-mix(in oklab,var(--card) 96%,#fff);transition:opacity .14s ease,transform .14s ease}.wallet-item:before{content:"";top:calc(100% + 5px);width:8px;height:8px;transform:translateX(-50%) rotate(45deg) translateY(-3px);border-left:1px solid color-mix(in oklab,var(--border) 88%,#fff);border-top:1px solid color-mix(in oklab,var(--border) 88%,#fff);z-index:69}.wallet-item:focus-visible:after,.wallet-item:focus-visible:before,.wallet-item:hover:after,.wallet-item:hover:before{opacity:1}.wallet-item:focus-visible:after,.wallet-item:hover:after{transform:translateX(-50%) translateY(0)}.wallet-item:focus-visible:before,.wallet-item:hover:before{transform:translateX(-50%) rotate(45deg) translateY(0)}.wallet-item span{font-weight:600;color:var(--foreground)}.wallet-item-main span{font-size:1.18rem}.app-header-actions-v2{display:inline-flex;align-items:center;gap:10px}.header-menu-wrap,.theme-toggle{position:relative}.theme-toggle{width:50px;height:28px;border-radius:999px;border:0;padding:0;cursor:pointer;background:transparent;display:inline-flex;align-items:center;justify-content:center;transition:transform .12s ease}.theme-toggle:active{transform:scale(.98)}.theme-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in oklab,var(--accent-violet) 62%,#fff)}.theme-toggle-track{width:50px;height:28px;border-radius:999px;background:color-mix(in oklab,var(--muted) 28%,transparent);display:inline-flex;align-items:center;position:relative;overflow:hidden;box-shadow:inset 0 1px 1px hsla(0,0%,100%,.55),inset 0 -2px 4px rgba(15,23,42,.09),inset 0 0 0 1px rgba(15,23,42,.04);transition:background-color .22s ease,box-shadow .22s ease}.theme-toggle-track:before{content:"";position:absolute;inset:2px;border-radius:inherit;background:linear-gradient(90deg,rgba(15,23,42,.03),rgba(15,23,42,.08) 45%,rgba(15,23,42,.14));opacity:.75;transition:opacity .22s ease,background .22s ease}.theme-toggle-track:after{content:"";position:absolute;inset:6px 9px;border-radius:999px;background:hsla(0,0%,100%,.08);opacity:0;transition:opacity .22s ease,background-color .22s ease,box-shadow .22s ease}.theme-toggle-thumb{width:24px;height:24px;border-radius:999px;background:#fff;position:absolute;left:2px;top:2px;display:inline-flex;align-items:center;justify-content:center;transition:transform .22s cubic-bezier(.2,.8,.2,1);z-index:1;box-shadow:0 6px 18px rgba(15,23,42,.24),0 1px 3px rgba(15,23,42,.14);overflow:hidden}.theme-toggle-thumb.dark{transform:translateX(22px)}.theme-dark .theme-toggle-track{background:color-mix(in oklab,var(--muted) 58%,transparent);box-shadow:inset 0 1px 1px hsla(0,0%,100%,.1),inset 0 -2px 7px rgba(2,6,23,.34),inset 0 0 0 1px hsla(0,0%,100%,.04)}.theme-dark .theme-toggle-track:before{opacity:.9;background:linear-gradient(90deg,hsla(0,0%,100%,.03),hsla(0,0%,100%,.05) 44%,rgba(2,6,23,.22))}.theme-dark .theme-toggle-track:after{opacity:1;background:hsla(0,0%,100%,.2);box-shadow:inset 0 1px 1px hsla(0,0%,100%,.16),inset 0 -1px 2px rgba(2,6,23,.24)}.theme-toggle[aria-checked=true] .theme-toggle-track{background:color-mix(in oklab,var(--muted) 50%,rgba(2,6,23,.18));box-shadow:inset 0 2px 5px rgba(2,6,23,.3),inset 0 -1px 2px hsla(0,0%,100%,.05),inset 0 0 0 1px rgba(2,6,23,.2)}.theme-toggle[aria-checked=true] .theme-toggle-track:before{opacity:.96;background:linear-gradient(90deg,rgba(2,6,23,.08),rgba(2,6,23,.14) 40%,rgba(2,6,23,.3))}.theme-dark .theme-toggle[aria-checked=true] .theme-toggle-track{background:color-mix(in oklab,var(--muted) 62%,rgba(2,6,23,.2));box-shadow:inset 0 2px 6px rgba(2,6,23,.36),inset 0 -1px 2px hsla(0,0%,100%,.04),inset 0 0 0 1px hsla(0,0%,100%,.03)}.theme-dark .theme-toggle[aria-checked=true] .theme-toggle-track:after{background:hsla(0,0%,100%,.24);box-shadow:inset 0 1px 1px hsla(0,0%,100%,.18),inset 0 -2px 4px rgba(2,6,23,.28)}.theme-toggle-icon{position:absolute;color:var(--muted-foreground);display:inline-flex;align-items:center;justify-content:center;opacity:0;transform:scale(.6);transition:opacity .18s ease,transform .18s ease,color .18s ease}.theme-toggle-icon,.theme-toggle-icon svg{width:18px;height:18px}.theme-toggle-icon.sun{color:var(--accent-violet);filter:drop-shadow(0 1px 2px rgba(139,92,246,.25))}.theme-toggle-icon.moon{color:#475569;filter:drop-shadow(0 1px 2px rgba(71,85,105,.22))}.theme-toggle-icon.active{opacity:1;transform:scale(1)}.flag-button{width:36px;height:36px;border-radius:999px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.05rem;transition:transform .12s ease}.flag-button:hover{transform:translateY(-1px)}.flag-button:active{transform:translateY(0)}.flag-button:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in oklab,var(--accent-violet) 60%,#fff);border-radius:999px}.flag-button img{border-radius:999px;border:1px solid color-mix(in oklab,var(--border) 82%,#fff);box-shadow:0 1px 3px rgba(15,23,42,.12)}.app-notification-button{position:relative;width:40px;height:40px;border:0;border-radius:999px;background:transparent;transition:transform .14s ease,background-color .16s ease,box-shadow .16s ease,color .16s ease}.app-notification-button:hover{transform:translateY(-1px);color:var(--accent-violet);background:color-mix(in oklab,var(--accent-violet) 10%,transparent);box-shadow:0 8px 20px rgba(15,23,42,.08)}.app-notification-button:active{transform:translateY(0)}.app-notification-button:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in oklab,var(--accent-violet) 38%,#fff)}.app-notification-button.open{color:var(--accent-violet);background:color-mix(in oklab,var(--accent-violet) 14%,transparent);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.2),0 8px 20px rgba(15,23,42,.08)}.app-notification-button svg{width:24px;height:24px;transition:transform .18s ease,filter .18s ease;transform-origin:50% 18%}.app-notification-button:hover svg{animation:bell-ring .55s ease;filter:drop-shadow(0 2px 4px rgba(139,92,246,.18))}.app-notification-button.open svg{filter:drop-shadow(0 2px 4px rgba(139,92,246,.2))}@keyframes bell-ring{0%{transform:rotate(0deg)}20%{transform:rotate(10deg)}40%{transform:rotate(-8deg)}60%{transform:rotate(6deg)}80%{transform:rotate(-4deg)}to{transform:rotate(0deg)}}:root.theme-dark .profile-chip-line{background:color-mix(in oklab,var(--muted) 82%,#000)}:root.theme-dark .profile-chip-avatar-skeleton,:root.theme-dark .profile-menu-avatar-skeleton{background:color-mix(in oklab,var(--muted) 78%,#000)}:root.theme-dark .header-popover{border-color:color-mix(in oklab,var(--border) 86%,#000);background:color-mix(in oklab,var(--card) 96%,#000);box-shadow:0 20px 46px rgba(0,0,0,.42),0 2px 10px rgba(0,0,0,.2)}:root.theme-dark .app-date-chip,:root.theme-dark .app-icon-button,:root.theme-dark .app-user-chip{border-color:color-mix(in oklab,var(--border) 86%,#000);background:color-mix(in oklab,var(--card) 90%,#000)}:root.theme-dark .app-icon-button:hover{background:color-mix(in oklab,var(--muted) 72%,#000)}:root.theme-dark .flag-button img{border-color:color-mix(in oklab,var(--border) 84%,#000);box-shadow:0 2px 8px rgba(0,0,0,.28)}:root.theme-dark .profile-menu{border-color:color-mix(in oklab,var(--border) 80%,#000);background:radial-gradient(circle at top right,rgba(139,92,246,.08) 0,transparent 55%),color-mix(in oklab,var(--card) 94%,#000)}:root.theme-dark .profile-menu-divider{background:color-mix(in oklab,var(--border) 70%,#000)}:root.theme-dark .profile-menu-action{border-color:color-mix(in oklab,var(--border) 84%,#000);background:color-mix(in oklab,var(--card) 88%,#000);color:var(--foreground)}:root.theme-dark .profile-menu-action:hover{background:color-mix(in oklab,var(--muted) 72%,#000);border-color:color-mix(in oklab,var(--accent-violet) 28%,var(--border));box-shadow:0 10px 22px rgba(0,0,0,.24)}:root.theme-dark .profile-menu-action-icon{background:color-mix(in oklab,var(--accent-violet) 18%,#000)}:root.theme-dark .profile-menu-action.danger .profile-menu-action-icon{background:color-mix(in oklab,#ef4444 16%,#000)}:root.theme-dark .notifications-menu li a{border-color:color-mix(in oklab,var(--border) 74%,#000);background:color-mix(in oklab,var(--muted) 70%,#000)}.notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;background:var(--accent-violet);color:#fff;font-size:.68rem;font-weight:700;justify-content:center;padding:0 4px}.notification-badge,.profile-chip{border-radius:999px;display:inline-flex;align-items:center}.profile-chip{border:0;background:transparent;gap:10px;padding:4px 8px 4px 4px;cursor:pointer;min-width:230px;transition:transform .14s ease,background-color .16s ease,box-shadow .18s ease}.profile-chip:hover{background:color-mix(in oklab,var(--muted) 14%,transparent)}.profile-chip:active{transform:translateY(1px)}.profile-chip:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in oklab,var(--accent-violet) 45%,#fff)}.profile-chip.open{background:color-mix(in oklab,var(--accent-violet) 10%,transparent)}.profile-chip-avatar,.profile-chip-avatar-img{width:42px;height:42px;border-radius:12px;object-fit:cover;flex:0 0 auto}.profile-chip-avatar{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:.88rem;font-weight:700;background:linear-gradient(145deg,#8b5cf6,#2563eb 70%);box-shadow:0 10px 20px rgba(37,99,235,.22)}.profile-chip-avatar,.profile-chip-avatar-img{transition:transform .16s ease,box-shadow .16s ease}.profile-chip-avatar-img{box-shadow:0 8px 18px rgba(15,23,42,.14)}.profile-chip:hover .profile-chip-avatar,.profile-chip:hover .profile-chip-avatar-img{transform:translateY(-1px)}.profile-chip-meta{min-width:0;display:grid;grid-gap:1px;gap:1px}.profile-chip-name{font-size:.98rem;font-weight:700;color:var(--foreground)}.profile-chip-group,.profile-chip-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;line-height:1.1}.profile-chip-group{font-size:.9rem;font-weight:600;color:var(--muted-foreground)}.profile-chip-arrow{color:var(--muted-foreground);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;transition:transform .16s ease,color .16s ease,background-color .16s ease}.profile-chip-arrow svg{width:16px;height:16px}.profile-chip.open .profile-chip-arrow{transform:rotate(90deg);color:var(--accent-violet);background:color-mix(in oklab,var(--accent-violet) 14%,transparent)}.profile-chip-line{display:block;border-radius:999px;background:color-mix(in oklab,var(--muted) 40%,#fff)}.profile-chip-line-name{width:118px;height:12px}.profile-chip-line-group{width:86px;height:10px}.profile-chip-avatar-skeleton{background:color-mix(in oklab,var(--muted) 35%,#fff)}.header-popover{position:absolute;right:0;top:calc(100% + 8px);border-radius:14px;border:1px solid color-mix(in oklab,var(--border) 80%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);box-shadow:0 18px 45px rgba(12,12,20,.15);z-index:60;animation:header-popover-in .16s cubic-bezier(.2,.8,.2,1)}.language-menu{min-width:auto;padding:12px;display:flex;align-items:center;gap:10px}.language-menu button{border:0;width:36px;height:36px;border-radius:999px;background:transparent;color:var(--foreground);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:transform .12s ease,box-shadow .16s ease}.language-menu button img{border-radius:999px;border:1px solid color-mix(in oklab,var(--border) 82%,#fff);transition:transform .12s ease,box-shadow .16s ease,border-color .16s ease}.language-menu button:hover{transform:translateY(-1px)}.language-menu button:hover img{box-shadow:0 0 0 2px color-mix(in oklab,var(--accent-violet) 20%,#fff)}.language-menu button.active{transform:none}.language-menu button.active img{border-color:color-mix(in oklab,var(--accent-violet) 60%,#fff);box-shadow:0 0 0 2px color-mix(in oklab,var(--accent-violet) 55%,#fff)}.language-menu button:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in oklab,var(--accent-violet) 35%,#fff)}@keyframes header-popover-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.app-frame,.app-mobile-menu-button,.app-mobile-menu-button span,.app-notification-button svg,.app-shell-boot-dots span,.app-shell-boot-orb,.app-shell-boot-phrase,.app-sidebar,.app-sidebar-collapse-handle,.app-sidebar-overlay,.brand-link-text,.flag-button,.language-menu button,.language-menu button img,.nav-item,.nav-item-badge,.nav-item-label,.profile-chip,.profile-chip-arrow,.profile-chip-avatar-img,.profile-menu-action,.sidebar-bottom,.skeleton-shimmer:after,.theme-toggle,.theme-toggle-icon,.theme-toggle-thumb,.theme-toggle-track,.wallet-collapse,.wallet-collapse svg{transition:none!important;animation:none!important}}.notifications-menu{width:min(400px,86vw);padding:10px}.header-popover-title{margin:0;padding:4px 4px 10px;font-size:.95rem;font-weight:700;color:var(--accent-violet-dark)}.notifications-menu ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px;max-height:330px;overflow:auto}.notifications-menu li a{display:grid;grid-gap:2px;gap:2px;border-radius:10px;padding:10px;border:1px solid color-mix(in oklab,var(--border) 68%,transparent);background:color-mix(in oklab,var(--muted) 16%,transparent)}.notifications-menu li.read a{opacity:.8}.notification-title{font-size:.81rem;color:var(--muted-foreground)}.notification-text{font-size:.92rem}.notification-date{font-size:.79rem;color:var(--muted-foreground)}.profile-menu{width:min(320px,86vw);padding:12px;display:grid;grid-gap:10px;gap:10px;border-radius:18px;border-color:color-mix(in oklab,var(--border) 76%,#fff);background:radial-gradient(circle at top right,color-mix(in oklab,var(--accent-violet) 8%,transparent) 0,transparent 55%),color-mix(in oklab,var(--card) 98%,#fff);box-shadow:0 20px 46px rgba(9,10,24,.16),0 2px 10px rgba(9,10,24,.06)}.profile-menu-head{display:flex;align-items:center;gap:10px}.profile-menu-avatar,.profile-menu-avatar-img{width:46px;height:46px;border-radius:12px;object-fit:cover;flex:0 0 auto}.profile-menu-avatar{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.95rem;background:linear-gradient(145deg,#8b5cf6,#2563eb 70%);box-shadow:0 10px 22px rgba(37,99,235,.2)}.profile-menu-avatar-img{box-shadow:0 10px 22px rgba(15,23,42,.16)}.profile-menu-avatar-skeleton{background:color-mix(in oklab,var(--muted) 35%,#fff)}.profile-menu-user{min-width:0;flex:1 1;display:grid;grid-gap:2px;gap:2px}.profile-menu-name{font-size:.96rem;font-weight:700;color:var(--foreground)}.profile-menu-group,.profile-menu-name{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-menu-group{font-size:.88rem;font-weight:600;color:var(--muted-foreground)}.profile-menu-subtitle{margin:0;color:var(--muted-foreground);font-size:.8rem;padding:0 2px;text-transform:uppercase;letter-spacing:.06em}.profile-menu-divider{height:1px;background:color-mix(in oklab,var(--border) 76%,transparent)}.profile-menu-action{width:100%;min-height:46px;border:1px solid color-mix(in oklab,var(--border) 72%,#fff);border-radius:14px;background:color-mix(in oklab,var(--card) 90%,#fff);display:inline-flex;align-items:center;gap:10px;padding:8px 10px;color:var(--foreground);text-align:left;cursor:pointer;transition:transform .14s ease,background-color .16s ease,border-color .16s ease,box-shadow .18s ease}.profile-menu-action:hover{transform:translateY(-1px);background:color-mix(in oklab,var(--muted) 18%,#fff);border-color:color-mix(in oklab,var(--accent-violet) 25%,var(--border));box-shadow:0 10px 22px rgba(15,23,42,.08)}.profile-menu-action:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in oklab,var(--accent-violet) 40%,#fff)}.profile-menu-action:active{transform:translateY(0)}.profile-menu-action[disabled]{cursor:wait;opacity:.72}.profile-menu-action-icon{width:28px;height:28px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent-violet);background:color-mix(in oklab,var(--accent-violet) 12%,transparent);flex:0 0 auto}.profile-menu-action-icon svg{width:18px;height:18px}.profile-menu-action-text{min-width:0;display:inline-flex;align-items:center}.profile-menu-action-label{font-weight:600;font-size:.93rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-menu-action.danger{color:color-mix(in oklab,#ef4444 70%,var(--foreground))}.profile-menu-action.danger .profile-menu-action-icon{color:#ef4444;background:color-mix(in oklab,#ef4444 10%,transparent)}.skeleton-shimmer{position:relative;overflow:hidden}.skeleton-shimmer:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(100deg,transparent 10%,hsla(0,0%,100%,.42) 45%,transparent 80%);animation:skeleton-shimmer 1.1s ease-in-out infinite}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}.nav-item-badge{margin-left:auto;min-width:20px;height:20px;border-radius:999px;background:color-mix(in oklab,var(--accent-violet) 88%,#fff);color:#fff;font-size:.72rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;transition:opacity .14s ease}.dashboard-home-v2{grid-template-columns:minmax(0,1fr) 500px;gap:20px}.dashboard-home-v2 .dash-card{border-color:var(--border);background:var(--card)}.dashboard-home-v2 .quick-link-violet{background:linear-gradient(150deg,#6e33d9,#5336cf);border-color:hsla(0,0%,100%,.24)}.dashboard-home-v2 .quick-link-green{background:linear-gradient(150deg,#1d9f65,#118858);border-color:hsla(0,0%,100%,.24)}.dashboard-home-v2 .quick-link-blue{background:linear-gradient(150deg,#2d7ace,#215fa9);border-color:hsla(0,0%,100%,.24)}.dash-welcome-v2{padding:26px 30px;border-radius:20px}.dash-welcome-v2 p{margin:0 0 8px;font-size:clamp(1.4rem,2vw,2rem);color:var(--muted-foreground)}.dash-welcome-v2 h2{margin:0;font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:clamp(2rem,4vw,3.4rem);color:var(--accent-violet-dark)}.dash-welcome-v2 span{margin-top:8px;display:inline-flex;color:var(--muted-foreground);font-size:1rem}.dash-stories-v2{padding:24px 28px;border-radius:22px;display:grid;grid-gap:18px;gap:18px;background:radial-gradient(circle at 12% 10%,color-mix(in oklab,var(--accent-violet) 18%,#fff),transparent 55%),radial-gradient(circle at 90% 20%,color-mix(in oklab,var(--accent-blue) 12%,#fff),transparent 50%),color-mix(in oklab,var(--card) 96%,#fff)}.dash-stories-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.dash-stories-title{display:grid;grid-gap:6px;gap:6px}.dash-stories-title p{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-foreground);font-weight:700}.dash-stories-title h2{margin:0;font-size:clamp(1.6rem,2.4vw,2.5rem);font-family:var(--font-unbounded),"Segoe UI",sans-serif;color:var(--accent-violet-dark)}.dash-stories-title span{color:var(--muted-foreground);font-size:.95rem}.dash-stories-count{min-width:110px;border-radius:16px;border:1px solid color-mix(in oklab,var(--border) 85%,#fff);background:color-mix(in oklab,var(--card) 92%,#fff);padding:10px 14px;display:grid;grid-gap:4px;gap:4px;text-align:right}.dash-stories-count span{color:var(--muted-foreground);font-size:.78rem;font-weight:600}.dash-stories-count strong{font-size:1.25rem;line-height:1.1;color:var(--accent-violet-dark)}.dash-stories-track{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory}.dash-story-card{min-width:210px;flex:0 0 auto;display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:12px;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid color-mix(in oklab,var(--border) 86%,#fff);background:color-mix(in oklab,var(--card) 97%,#fff);font:inherit;color:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;cursor:pointer;position:relative;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;scroll-snap-align:start}.dash-story-card:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(12,12,24,.12);border-color:color-mix(in oklab,var(--accent-violet) 24%,var(--border))}.dash-story-card:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-violet) 18%,transparent);border-color:color-mix(in oklab,var(--accent-violet) 36%,var(--border))}.dash-story-card.is-viewed{opacity:.75}.dash-story-card.tone-violet{background:radial-gradient(circle at 20% 20%,hsla(0,0%,100%,.75),transparent 55%),linear-gradient(135deg,color-mix(in oklab,var(--accent-violet) 12%,#fff),#fff)}.dash-story-card.tone-blue{background:radial-gradient(circle at 20% 20%,hsla(0,0%,100%,.75),transparent 55%),linear-gradient(135deg,color-mix(in oklab,var(--accent-blue) 12%,#fff),#fff)}.dash-story-card.tone-green{background:radial-gradient(circle at 20% 20%,hsla(0,0%,100%,.75),transparent 55%),linear-gradient(135deg,color-mix(in oklab,var(--success) 12%,#fff),#fff)}.dash-story-card.tone-amber{background:radial-gradient(circle at 20% 20%,hsla(0,0%,100%,.75),transparent 55%),linear-gradient(135deg,color-mix(in oklab,#f59e0b 16%,#fff),#fff)}.dash-story-card.tone-rose{background:radial-gradient(circle at 20% 20%,hsla(0,0%,100%,.75),transparent 55%),linear-gradient(135deg,color-mix(in oklab,#f97316 12%,#fff),#fff)}.dash-story-media{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:color-mix(in oklab,var(--accent-violet) 12%,#fff);position:relative;overflow:hidden;border:1px solid color-mix(in oklab,var(--border) 86%,#fff);box-shadow:0 10px 20px rgba(15,23,42,.08)}.dash-story-card.is-new .dash-story-media{border-color:color-mix(in oklab,var(--accent-violet) 40%,var(--border));box-shadow:0 0 0 2px color-mix(in oklab,var(--accent-violet) 20%,transparent),0 10px 20px rgba(15,23,42,.1)}.dash-story-media img{width:100%;height:100%;object-fit:cover}.dash-story-initials{font-weight:700;color:var(--accent-violet-dark);font-size:.92rem}.dash-story-video{position:absolute;bottom:4px;right:4px;width:20px;height:20px;border-radius:8px;background:rgba(15,23,42,.75);color:#fff;display:inline-flex;align-items:center;justify-content:center}.dash-story-video svg{width:12px;height:12px}.dash-story-status{position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:999px;background:var(--accent-violet);box-shadow:0 0 0 4px color-mix(in oklab,var(--accent-violet) 18%,transparent);animation:dash-story-pulse 2.6s ease infinite}.dash-story-card.is-viewed .dash-story-status{display:none}.dash-story-content{min-width:0;display:grid;grid-gap:4px;gap:4px}.dash-story-content strong{font-size:.98rem;line-height:1.2;color:var(--foreground)}.dash-story-content span{color:var(--muted-foreground);font-size:.82rem;line-height:1.4}@keyframes dash-story-pulse{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--accent-violet) 20%,transparent)}70%{box-shadow:0 0 0 8px color-mix(in oklab,var(--accent-violet) 0,transparent)}to{box-shadow:0 0 0 0 color-mix(in oklab,var(--accent-violet) 0,transparent)}}.home-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.stat-card{min-height:120px;padding:20px;display:grid;grid-template-columns:70px 1fr auto;align-items:center;grid-gap:14px;gap:14px;transition:transform .15s ease,box-shadow .15s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(12,12,24,.12)}.stat-card-violet{border-color:color-mix(in oklab,var(--accent-violet) 33%,var(--border))}.stat-card-green{border-color:color-mix(in oklab,var(--success) 33%,var(--border))}.stat-icon{width:70px;height:70px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:var(--muted);color:var(--accent-violet-dark)}.stat-card-green .stat-icon{color:color-mix(in oklab,var(--success) 78%,#000)}.stat-icon-svg{width:36px;height:36px}.stat-info p{margin:0;color:var(--muted-foreground);font-size:1.02rem;font-weight:500;line-height:1.2}.stat-info strong{display:block;margin-top:4px;color:var(--accent-violet-dark);font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:clamp(2rem,2.9vw,2.8rem);font-weight:700;line-height:1}.stat-card-green .stat-info strong{color:color-mix(in oklab,var(--success) 78%,#000)}.stat-arrow{width:32px;height:32px;border-radius:999px;border:2px solid color-mix(in oklab,var(--accent-violet) 55%,#fff);color:var(--accent-violet);display:inline-flex;align-items:center;justify-content:center}.stat-arrow svg{width:16px;height:16px}.home-chart-card{padding:20px 20px 16px;display:grid;grid-gap:12px;gap:12px}.home-chart-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.home-chart-tabs{display:inline-flex;border-radius:11px;border:1px solid var(--border);overflow:hidden}.home-chart-tabs button{min-height:38px;padding:0 14px;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer}.home-chart-tabs button.active{background:color-mix(in oklab,var(--accent-violet) 14%,transparent);color:var(--accent-violet-dark);font-weight:700}.home-chart-value{text-align:right}.home-chart-value strong{display:block;font-size:2rem;color:var(--accent-violet-dark);line-height:1}.home-chart-value span{font-size:.9rem;color:var(--muted-foreground)}.metric-status-inline{display:inline-flex;align-items:center;gap:6px}.metric-status-inline svg{width:18px;height:18px}.home-chart-canvas{position:relative;border-radius:16px;border:1px solid color-mix(in oklab,var(--border) 88%,transparent);background:color-mix(in oklab,var(--muted) 16%,transparent);padding:8px 8px 0;overflow:hidden}.home-chart-svg{width:100%;height:250px}.home-chart-svg .chart-axis-label{fill:var(--muted-foreground);font-size:12px;text-transform:capitalize}.home-chart-svg .grid-line{stroke:color-mix(in oklab,var(--border) 70%,transparent);stroke-width:1}.home-chart-svg .metric-line{fill:none;stroke-width:3}.home-chart-svg .metric-area{opacity:.28}.home-chart-svg circle{fill:#fff;stroke-width:3}.home-chart-svg .chart-point{cursor:pointer}.home-chart-svg .chart-point:focus-visible{outline:none}.chart-tooltip{position:absolute;z-index:4;transform:translate(-50%,-120%);background:var(--card);border:1px solid var(--border);border-radius:10px;padding:7px 10px;display:grid;grid-gap:2px;gap:2px;box-shadow:0 8px 20px rgba(16,16,28,.12);pointer-events:none;min-width:116px}.chart-tooltip.is-below{transform:translate(-50%,12px)}.chart-tooltip.is-left{transform:translateY(-120%)}.chart-tooltip.is-right{transform:translate(-100%,-120%)}.chart-tooltip.is-left.is-below{transform:translateY(12px)}.chart-tooltip.is-right.is-below{transform:translate(-100%,12px)}.chart-tooltip strong{font-size:.95rem;line-height:1.1;color:var(--foreground)}.chart-tooltip span{font-size:.78rem;color:var(--muted-foreground);white-space:nowrap}.home-chart-card.metric-violet .home-chart-svg circle,.home-chart-card.metric-violet .metric-line{stroke:var(--accent-violet)}.home-chart-card.metric-violet .metric-area{fill:color-mix(in oklab,var(--accent-violet) 70%,transparent)}.home-chart-card.metric-violet .metric-status-inline svg{color:var(--accent-violet)}.home-chart-card.metric-green .home-chart-svg circle,.home-chart-card.metric-green .metric-line{stroke:var(--success)}.home-chart-card.metric-green .metric-area{fill:color-mix(in oklab,var(--success) 65%,transparent)}.home-chart-card.metric-green .metric-status-inline svg{color:var(--success)}.home-chart-card.metric-yellow .home-chart-svg circle,.home-chart-card.metric-yellow .metric-line{stroke:#c4810c}.home-chart-card.metric-yellow .metric-area{fill:rgba(196,129,12,.35)}.home-chart-card.metric-yellow .metric-status-inline svg{color:#c4810c}.home-chart-card.metric-red .home-chart-svg circle,.home-chart-card.metric-red .metric-line{stroke:#cb4136}.home-chart-card.metric-red .metric-area{fill:rgba(203,65,54,.35)}.home-chart-card.metric-red .metric-status-inline svg{color:#cb4136}.home-resources-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.home-resource-card{min-height:250px;position:relative;overflow:hidden;display:grid;grid-template-rows:minmax(132px,1fr) 110px}.home-resource-stack{position:relative;display:grid;place-items:center;overflow:hidden;padding:16px 0 10px}.home-resource-stack span{position:absolute;width:60%;aspect-ratio:4/3;border-radius:14px}.home-resource-stack span:first-child{transform:translateY(35px);opacity:.48}.home-resource-stack span:nth-child(2){transform:translateY(17px);opacity:.72}.home-resource-stack span:nth-child(3){opacity:.9}.home-resource-card-violet .home-resource-stack span{background:linear-gradient(155deg,rgba(121,76,235,.8),rgba(84,56,208,.96))}.home-resource-card-green .home-resource-stack span{background:linear-gradient(155deg,rgba(22,154,98,.8),rgba(16,123,79,.95))}.home-resource-meta{border-top:1px solid var(--border);padding:14px 16px;display:grid;align-content:start;grid-gap:5px;gap:5px;background:color-mix(in oklab,var(--muted) 20%,transparent);position:relative;z-index:1}.home-resource-meta p{margin:0;font-weight:700}.home-resource-meta span{color:var(--muted-foreground);font-size:.9rem}.home-resource-subline{display:grid;grid-gap:5px;gap:5px}.home-resource-subline.is-inline-badge{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.home-resource-meta em{width:-moz-fit-content;width:fit-content;padding:3px 10px;border-radius:999px;font-style:normal;font-size:.78rem;color:var(--accent-violet-dark);background:color-mix(in oklab,var(--accent-violet) 22%,transparent)}.home-feeds-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.home-feed-card{padding:16px}.home-feed-card h3{margin:0 0 10px;color:var(--accent-violet-dark)}.dashboard-side-column-v2{gap:16px}.leaders-card-v2{--leaders-visible-items:7;--leaders-row-height:66px;--leaders-row-gap:8px;max-height:860px;padding:16px}.leaders-card-v2 .leaders-list{max-height:calc((var(--leaders-row-height) * var(--leaders-visible-items)) + (var(--leaders-row-gap) * (var(--leaders-visible-items) - 1)));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--accent-violet) var(--muted)}.leaders-card-v2 .leaders-list::-webkit-scrollbar{width:4px;height:4px}.leaders-card-v2 .leaders-list::-webkit-scrollbar-track{background:var(--muted);border-radius:999px}.leaders-card-v2 .leaders-list::-webkit-scrollbar-thumb{background:var(--accent-violet);border-radius:999px}.leaders-card-v2 .leaders-list::-webkit-scrollbar-thumb:hover{background:color-mix(in oklab,var(--accent-violet) 88%,#000)}.leaders-card-v2 .leaders-list::-webkit-scrollbar-thumb:active{background:color-mix(in oklab,var(--accent-violet) 80%,#000)}.leaders-card-v2 .leaders-item{grid-template-columns:30px 46px 1fr auto;align-items:center;min-height:var(--leaders-row-height);border-bottom:3px solid transparent;background:transparent;transition:background-color .14s ease,border-color .14s ease}.leaders-card-v2 .leaders-item:hover{background:color-mix(in oklab,var(--accent-violet) 10%,transparent)}.leaders-card-v2 .leader-avatar{width:46px;height:46px;border-radius:12px;overflow:hidden;background:var(--muted);display:inline-flex;align-items:center;justify-content:center;font-weight:700}.leaders-card-v2 .leader-avatar img{width:100%;height:100%;object-fit:cover}.leaders-card-v2 .leaders-position{display:inline-flex;min-width:24px;align-items:center;justify-content:center;border-radius:4px}.leaders-card-v2 .leaders-item.top-one{border-bottom-color:#facc15;background:transparent}.leaders-card-v2 .leaders-item.top-one:hover{background:rgba(250,204,21,.1)}.leaders-card-v2 .leaders-item.top-two{border-bottom-color:#94a3b8}.leaders-card-v2 .leaders-item.top-two:hover{background:rgba(100,116,139,.1)}.leaders-card-v2 .leaders-item.top-three{border-bottom-color:#f97316}.leaders-card-v2 .leaders-item.top-three:hover{background:rgba(249,115,22,.1)}.leaders-card-v2 .leaders-item.top-one .leaders-position{color:#ca8a04;background:rgba(250,204,21,.4)}.leaders-card-v2 .leaders-item.top-two .leaders-position{color:#64748b;background:rgba(100,116,139,.3)}.leaders-card-v2 .leaders-item.top-three .leaders-position{color:#f97316;background:rgba(249,115,22,.3)}.leaders-card-v2 .leaders-item.current-user{background:color-mix(in oklab,var(--accent-violet) 10%,transparent);border-bottom:3px solid var(--accent-violet)}.leaders-amount{display:inline-flex;align-items:center;gap:4px}.leaders-amount img{width:18px;height:18px}:root.theme-dark .leaders-card-v2 .leaders-item.top-two{border-bottom-color:#cbd5e1}:root.theme-dark .leaders-card-v2 .leaders-item.top-one:hover{background:rgba(250,204,21,.14)}:root.theme-dark .leaders-card-v2 .leaders-item.top-two:hover{background:rgba(148,163,184,.1)}:root.theme-dark .leaders-card-v2 .leaders-item.top-three:hover{background:rgba(251,146,60,.1)}:root.theme-dark .leaders-card-v2 .leaders-item.top-one .leaders-position{color:#fde047}:root.theme-dark .leaders-card-v2 .leaders-item.top-two .leaders-position{color:#cbd5e1}:root.theme-dark .leaders-card-v2 .leaders-item.top-three .leaders-position{color:#fdba74}@media (max-width:1440px){.dashboard-home-v2{grid-template-columns:minmax(0,1fr) 430px}.profile-chip{min-width:180px}}@media (max-width:1200px){.dashboard-home-v2{grid-template-columns:1fr}.wallet-strip{display:none}.profile-chip{min-width:0;padding-right:6px}.profile-chip-meta{display:none}.dash-stories-count{min-width:0}}@media (max-width:1024px){.app-header-actions-v2{gap:8px}.dash-stories-v2{padding:22px}.flag-button,.theme-toggle{display:none}.notifications-menu{right:-35px}.home-feeds-grid,.home-resources-grid,.home-stats-grid{grid-template-columns:1fr}.home-chart-head{align-items:flex-start;flex-wrap:wrap}.home-chart-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.home-chart-tabs button{min-width:0;padding:10px 12px;white-space:normal;overflow-wrap:anywhere;line-height:1.2;text-align:center}.home-chart-value{width:100%;text-align:left}.metric-status-inline{flex-wrap:wrap}.dash-welcome-v2 h2{font-size:clamp(1.7rem,6vw,2.5rem)}}.faq-page,.reviews-page{display:grid;grid-gap:16px;gap:16px}.faq-page-header,.reviews-page-header{display:grid;grid-gap:16px;gap:16px;align-items:start}.faq-page-header h2,.reviews-page-header h2{margin:0;font-size:clamp(1.2rem,1rem + .8vw,1.75rem);line-height:1.15}.faq-page-header p,.reviews-page-header p{margin:8px 0 0;color:var(--muted-foreground);line-height:1.45}.faq-page-header-text{min-width:0}.faq-search-field{display:grid;grid-gap:8px;gap:8px;min-width:0}.faq-search-label{font-size:.82rem;font-weight:700;color:var(--muted-foreground)}.faq-search-input{width:100%;min-height:44px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 82%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);color:var(--foreground);padding:0 14px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.faq-search-input::placeholder{color:color-mix(in oklab,var(--muted-foreground) 75%,#fff)}.faq-search-input:hover{border-color:color-mix(in oklab,var(--accent-violet) 24%,var(--border))}.faq-search-input:focus-visible{border-color:color-mix(in oklab,var(--accent-violet) 45%,var(--border));box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-violet) 18%,transparent)}.faq-page-content{display:grid;grid-gap:16px;gap:16px}.faq-empty-state{text-align:center;padding:24px 18px}.faq-empty-state h3{margin:0;font-size:1rem}.faq-empty-state p{margin-top:8px}.faq-section-block{display:grid;grid-gap:14px;gap:14px}.faq-section-title{margin:0;font-size:clamp(1rem,.95rem + .25vw,1.15rem);line-height:1.25}.faq-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.faq-section-column{display:grid;grid-gap:12px;gap:12px;align-content:start}.faq-card{border:1px solid color-mix(in oklab,var(--border) 84%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);border-radius:14px;overflow:clip;box-shadow:0 8px 20px rgba(12,14,24,.05);transition:border-color .16s ease,box-shadow .18s ease,transform .14s ease}.faq-card:hover{border-color:color-mix(in oklab,var(--accent-violet) 22%,var(--border));box-shadow:0 12px 24px rgba(15,23,42,.08)}.faq-card.open{border-color:color-mix(in oklab,var(--accent-violet) 32%,var(--border));box-shadow:0 14px 28px rgba(91,62,208,.1)}.faq-card-title{margin:0}.faq-card-trigger{width:100%;border:0;background:transparent;color:inherit;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}.faq-card-trigger:hover .faq-card-question{color:color-mix(in oklab,var(--accent-violet-dark) 88%,var(--foreground))}.faq-card-trigger:focus-visible{outline:none;box-shadow:inset 0 0 0 2px color-mix(in oklab,var(--accent-violet) 44%,#fff)}.faq-card-trigger:active{background:color-mix(in oklab,var(--muted) 12%,transparent)}.faq-card-question{font-size:.92rem;font-weight:650;line-height:1.35;transition:color .16s ease}.faq-card-icon{width:28px;height:28px;border-radius:9px;border:1px solid color-mix(in oklab,var(--border) 84%,#fff);display:inline-block;position:relative;color:#fff;border-color:color-mix(in oklab,var(--success) 34%,var(--border));background:var(--success);flex:0 0 auto;transition:transform .18s ease,border-color .16s ease,background-color .16s ease,color .16s ease}.faq-card-icon-line{position:absolute;left:50%;top:50%;background:currentColor;border-radius:999px;transform-origin:center;transition:transform .2s ease,opacity .18s ease}.faq-card-icon-line-horizontal{width:12px;height:2px;transform:translate(-50%,-50%)}.faq-card-icon-line-vertical{width:2px;height:12px;transform:translate(-50%,-50%) scaleY(1)}.faq-card.open .faq-card-icon{color:#fff;border-color:color-mix(in oklab,var(--accent-violet) 55%,#fff);background:linear-gradient(160deg,color-mix(in oklab,var(--accent-violet) 82%,#fff),color-mix(in oklab,var(--accent-violet-dark) 88%,#fff));transform:rotate(180deg)}.faq-card.open .faq-card-icon-line-vertical{transform:translate(-50%,-50%) scaleY(0);opacity:0}.faq-card-panel{border-top:1px solid color-mix(in oklab,var(--border) 55%,transparent);padding:0 14px 14px}.faq-card-panel[hidden]{display:none}.faq-answer{color:var(--foreground);line-height:1.5;font-size:.92rem}.faq-answer p{margin:0}.faq-answer p+p{margin-top:10px}.faq-answer a{color:color-mix(in oklab,var(--accent-violet-dark) 72%,#2563eb);text-decoration:underline;text-underline-offset:2px;word-break:break-word}.faq-answer a:hover{color:var(--accent-violet)}.faq-answer ol,.faq-answer ul{margin:8px 0 0;padding-left:18px}.faq-answer li+li{margin-top:6px}:root.theme-dark .faq-page .panel{border-color:color-mix(in oklab,hsla(0,0%,100%,.06) 40%,var(--border));background:color-mix(in oklab,var(--card) 96%,#000);box-shadow:0 16px 34px rgba(0,0,0,.26),0 3px 10px rgba(0,0,0,.18)}:root.theme-dark .faq-card{border-color:color-mix(in oklab,hsla(0,0%,100%,.06) 44%,var(--border));background:color-mix(in oklab,var(--card) 94%,#000);box-shadow:0 8px 18px rgba(0,0,0,.18)}:root.theme-dark .faq-card:hover{box-shadow:0 10px 22px rgba(0,0,0,.24)}:root.theme-dark .faq-card.open{border-color:color-mix(in oklab,var(--accent-violet) 18%,var(--border));box-shadow:0 12px 26px rgba(0,0,0,.26),0 0 0 1px rgba(139,92,246,.08)}:root.theme-dark .faq-card-panel{border-top-color:color-mix(in oklab,hsla(0,0%,100%,.05) 35%,var(--border))}.reviews-page-header{grid-template-columns:minmax(0,1fr) auto}.reviews-page-counter{min-width:140px;border:1px solid color-mix(in oklab,var(--border) 82%,#fff);border-radius:14px;background:color-mix(in oklab,var(--card) 97%,#fff);padding:10px 12px;display:grid;grid-gap:2px;gap:2px;align-content:start}.reviews-page-counter-label{font-size:.78rem;color:var(--muted-foreground)}.reviews-page-counter-value{font-size:1.25rem;line-height:1.1;color:var(--accent-violet-dark)}.reviews-page-body{display:grid;grid-gap:16px;gap:16px}.reviews-state{min-height:140px;display:grid;place-items:center;text-align:center;grid-gap:10px;gap:10px;align-content:center}.reviews-state p{margin:0}.reviews-state h3{margin:0;font-size:1rem}.reviews-state.empty p{color:var(--muted-foreground)}.reviews-state.error{border-color:color-mix(in oklab,#ef4444 22%,var(--border));background:color-mix(in oklab,#ef4444 5%,#fff)}.reviews-spinner{width:22px;height:22px;border-radius:999px;border:2px solid color-mix(in oklab,var(--border) 72%,#fff);border-top-color:var(--accent-violet);animation:reviews-spin .9s linear infinite}@keyframes reviews-spin{to{transform:rotate(1turn)}}.reviews-load-more-button,.reviews-retry-button{border:1px solid color-mix(in oklab,var(--border) 78%,#fff);border-radius:12px;background:color-mix(in oklab,var(--card) 98%,#fff);color:var(--foreground);min-height:42px;padding:0 14px;cursor:pointer;font-weight:650;transition:transform .14s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.reviews-load-more-button:hover,.reviews-retry-button:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent-violet) 25%,var(--border));box-shadow:0 10px 20px rgba(15,23,42,.06)}.reviews-load-more-button:active,.reviews-retry-button:active{transform:translateY(0)}.reviews-load-more-button:focus-visible,.reviews-retry-button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-violet) 18%,transparent)}.reviews-load-more{display:flex;justify-content:center}.reviews-load-more-button{min-width:180px}.reviews-list{column-width:340px;column-gap:12px}.reviews-list-item{min-width:0;margin:0 0 12px;break-inside:avoid;page-break-inside:avoid}.review-card{width:100%;border:1px solid color-mix(in oklab,var(--border) 84%,#fff);border-radius:16px;background:color-mix(in oklab,var(--card) 98%,#fff);padding:14px;display:grid;grid-gap:12px;gap:12px;box-shadow:0 10px 24px rgba(15,23,42,.06);transition:border-color .16s ease,box-shadow .18s ease,transform .14s ease}.review-card:hover{border-color:color-mix(in oklab,var(--accent-violet) 23%,var(--border));box-shadow:0 14px 30px rgba(15,23,42,.08)}.review-card:focus-visible{outline:none;border-color:color-mix(in oklab,var(--accent-violet) 34%,var(--border));box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-violet) 16%,transparent)}.review-card.is-unread{border-color:color-mix(in oklab,var(--accent-violet) 36%,var(--border));background:radial-gradient(circle at top right,rgba(139,92,246,.1),transparent 60%),color-mix(in oklab,var(--card) 98%,#fff);box-shadow:0 14px 30px rgba(91,62,208,.1),0 0 0 1px color-mix(in oklab,var(--accent-violet) 16%,transparent)}.review-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.review-card-meta{min-width:0;display:grid;grid-gap:8px;gap:8px}.review-card-teacher{margin:0;font-size:1rem;line-height:1.25;color:var(--foreground);overflow-wrap:anywhere}.review-card-tags{display:flex;flex-wrap:wrap;gap:6px}.review-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:.75rem;font-weight:700;line-height:1;border:1px solid transparent}.review-chip-subject{color:#0f5132;background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.2)}.review-chip-new{color:#fff;background:var(--success);border-color:color-mix(in oklab,var(--success) 35%,var(--border))}:root.theme-dark .review-chip-subject{color:#d1fae5;background:rgba(16,185,129,.2);border-color:rgba(16,185,129,.34)}:root.theme-dark .review-chip-new{color:#fff;background:color-mix(in oklab,var(--success) 88%,#000);border-color:color-mix(in oklab,var(--success) 42%,var(--border))}.review-card-date{color:var(--muted-foreground);font-size:.82rem;white-space:nowrap;flex:0 0 auto}.review-card-message{margin:0;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.announcements-page{display:grid;grid-gap:16px;gap:16px}.announcements-page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:start}.announcements-page-header-text h1{margin:0;font-size:clamp(1.45rem,1.1rem + 1.35vw,2.6rem);line-height:1.05;letter-spacing:-.02em;color:var(--accent-htag)}.announcements-page-header-text p{margin:10px 0 0;color:var(--muted-foreground);font-size:.98rem}.announcements-page-counter{min-width:150px;border:1px solid color-mix(in oklab,var(--border) 82%,#fff);border-radius:14px;background:color-mix(in oklab,var(--card) 97%,#fff);padding:10px 12px;display:grid;grid-gap:2px;gap:2px;align-content:start}.announcements-page-counter-label{font-size:.78rem;color:var(--muted-foreground)}.announcements-page-counter-value{font-size:1.25rem;line-height:1.1;color:var(--accent-violet-dark)}.announcements-banner{position:relative;overflow:clip;border-radius:18px;min-height:170px;padding:22px 20px;border-color:color-mix(in oklab,rgba(16,185,129,.22) 70%,var(--border));background:radial-gradient(circle at 88% 20%,rgba(16,185,129,.12),transparent 48%),radial-gradient(circle at 76% 82%,rgba(59,130,246,.1),transparent 52%),linear-gradient(150deg,#f0fdf4,#ecfdf5 46%,#f0fdfa);display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:18px;gap:18px}.announcements-banner-copy{min-width:0;display:grid;grid-gap:6px;gap:6px}.announcements-banner-heading{margin:0;color:#065f46;font-size:clamp(1.35rem,1.05rem + 1.35vw,2.4rem);line-height:1.05;letter-spacing:-.02em}.announcements-banner-meta{margin:0;color:#047857;font-size:clamp(.95rem,.85rem + .45vw,1.15rem);font-weight:650}.announcements-banner-stats{min-width:132px;border-radius:14px;padding:10px 12px;display:grid;grid-gap:2px;gap:2px;align-content:start;border:1px solid rgba(16,185,129,.22);background:hsla(0,0%,100%,.55);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.38)}.announcements-banner-stats-label{font-size:.78rem;color:#047857}.announcements-banner-stats-value{font-size:1.3rem;line-height:1.05;color:#065f46}.announcements-banner-title{display:grid;grid-gap:2px;gap:2px;color:#047857;font-weight:800;line-height:.98;text-transform:uppercase;font-size:clamp(1.3rem,1rem + 2vw,2.6rem);letter-spacing:-.025em}.announcements-banner-title p{margin:0}.announcements-banner-subtitle{margin:0;color:#065f46;font-size:clamp(.95rem,.85rem + .4vw,1.25rem);font-weight:650}.announcements-banner-decor{width:160px;height:120px;position:relative;flex:0 0 auto;pointer-events:none}.announcements-banner-orb{position:absolute;border-radius:999px;filter:blur(.2px)}.announcements-banner-orb-lg{width:104px;height:104px;right:6px;top:4px;background:radial-gradient(circle at 28% 28%,hsla(0,0%,100%,.9),transparent 40%),linear-gradient(160deg,rgba(16,185,129,.9),rgba(34,197,94,.65));box-shadow:0 20px 30px rgba(5,150,105,.16),inset -14px -16px 28px rgba(6,95,70,.16)}.announcements-banner-orb-sm{width:62px;height:62px;left:18px;bottom:10px;background:radial-gradient(circle at 35% 28%,hsla(0,0%,100%,.92),transparent 42%),linear-gradient(160deg,rgba(52,211,153,.88),rgba(16,185,129,.58));box-shadow:0 12px 20px rgba(5,150,105,.12)}.announcements-banner-line{position:absolute;inset:0;border-radius:16px}.announcements-banner-line:after,.announcements-banner-line:before{content:"";position:absolute;border-radius:999px;background:rgba(5,150,105,.18)}.announcements-banner-line:before{width:120px;height:2px;left:0;top:24px;transform:rotate(-24deg)}.announcements-banner-line:after{width:84px;height:2px;right:18px;bottom:18px;transform:rotate(18deg)}.announcements-page-body{display:grid;grid-gap:16px;gap:16px}.announcements-detail-state,.announcements-state{min-height:140px;display:grid;place-items:center;text-align:center;grid-gap:10px;gap:10px;align-content:center}.announcements-detail-state p,.announcements-state h3,.announcements-state p{margin:0}.announcements-state h3{font-size:1rem}.announcements-state.empty p{color:var(--muted-foreground)}.announcements-detail-state.error,.announcements-state.error{border-color:color-mix(in oklab,#ef4444 22%,var(--border));background:color-mix(in oklab,#ef4444 5%,#fff)}.announcements-spinner{width:22px;height:22px;border-radius:999px;border:2px solid color-mix(in oklab,var(--border) 72%,#fff);border-top-color:var(--accent-violet);animation:reviews-spin .9s linear infinite}.announcement-card-button,.announcements-dialog-close,.announcements-inline-button{transition:transform .14s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.announcement-card-button,.announcements-inline-button{border:1px solid color-mix(in oklab,var(--border) 78%,#fff);border-radius:12px;background:color-mix(in oklab,var(--card) 98%,#fff);color:var(--foreground);min-height:42px;padding:0 14px;cursor:inherit;font-weight:650;display:inline-flex;align-items:center;justify-content:center}.announcement-card-button:hover,.announcements-inline-button:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent-violet) 25%,var(--border));box-shadow:0 10px 20px rgba(15,23,42,.06)}.announcement-card-button:active,.announcements-inline-button:active{transform:translateY(0)}.announcement-card-button:focus-visible,.announcements-dialog-close:focus-visible,.announcements-inline-button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-violet) 18%,transparent)}.announcements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.announcements-grid-item{min-width:0}.announcement-card{height:100%;width:100%;border:1px solid color-mix(in oklab,var(--border) 84%,#fff);border-radius:16px;background:color-mix(in oklab,var(--card) 98%,#fff);padding:14px;text-align:left;font:inherit;color:inherit;cursor:pointer;display:grid;grid-gap:12px;gap:12px;box-shadow:0 10px 24px rgba(15,23,42,.06);transition:border-color .16s ease,box-shadow .18s ease,transform .14s ease}.announcement-card:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent-violet) 23%,var(--border));box-shadow:0 14px 30px rgba(15,23,42,.08)}.announcement-card:focus-visible{outline:none;border-color:color-mix(in oklab,var(--accent-violet) 34%,var(--border));box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-violet) 16%,transparent)}.announcement-card.is-unread{border-color:color-mix(in oklab,var(--accent-violet) 36%,var(--border));background:radial-gradient(circle at top right,rgba(139,92,246,.08),transparent 58%),color-mix(in oklab,var(--card) 98%,#fff);box-shadow:0 14px 30px rgba(91,62,208,.08),0 0 0 1px color-mix(in oklab,var(--accent-violet) 14%,transparent)}.announcement-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.announcement-card-meta{min-width:0;display:grid;grid-gap:8px;gap:8px}.announcement-card-title{margin:0;font-size:1rem;line-height:1.25;overflow-wrap:anywhere}.announcement-card-tags{display:flex;flex-wrap:wrap;gap:6px}.announcement-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:.75rem;font-weight:700;line-height:1;border:1px solid transparent}.announcement-chip-unread{color:#fff;background:var(--success);border-color:color-mix(in oklab,var(--success) 35%,var(--border))}.announcement-chip-read{color:color-mix(in oklab,var(--muted-foreground) 88%,var(--foreground));background:color-mix(in oklab,var(--muted) 42%,#fff);border-color:color-mix(in oklab,var(--border) 74%,#fff)}.announcement-card-date{color:var(--muted-foreground);font-size:.82rem;white-space:nowrap;flex:0 0 auto}.announcement-card-preview{margin:0;line-height:1.5;color:var(--foreground);overflow-wrap:anywhere}.announcement-card-preview.is-placeholder{color:var(--muted-foreground)}.announcement-card-actions{margin-top:auto;display:flex;justify-content:flex-start}.announcement-card:hover .announcement-card-button{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent-violet) 25%,var(--border));box-shadow:0 10px 20px rgba(15,23,42,.06)}.announcements-dialog-backdrop{position:fixed;inset:0;z-index:70;background:rgba(15,23,42,.44);display:grid;place-items:center;padding:18px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.announcements-dialog{width:min(920px,100%);max-height:min(85vh,920px);padding:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.announcements-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid color-mix(in oklab,var(--border) 72%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff)}.announcements-dialog-header-text{min-width:0}.announcements-dialog-header-text h3{margin:0;font-size:1.05rem;line-height:1.25;overflow-wrap:anywhere}.announcements-dialog-header-text p{margin:6px 0 0;color:var(--muted-foreground);font-size:.86rem}.announcements-dialog-close{width:36px;height:36px;border-radius:10px;border:1px solid color-mix(in oklab,var(--border) 78%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);color:var(--foreground);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.announcements-dialog-close:hover{border-color:color-mix(in oklab,var(--accent-violet) 24%,var(--border));transform:translateY(-1px)}.announcements-dialog-close span{font-size:1rem;line-height:1;font-weight:700}.announcements-dialog-content{overflow:auto;padding:18px}.announcements-detail-html{color:var(--foreground);line-height:1.55;overflow-wrap:anywhere}.announcements-detail-html>:first-child{margin-top:0}.announcements-detail-html>:last-child{margin-bottom:0}.announcements-detail-html iframe,.announcements-detail-html img,.announcements-detail-html table,.announcements-detail-html video{max-width:100%}.announcements-detail-html a{color:color-mix(in oklab,var(--accent-violet-dark) 72%,#2563eb);text-decoration:underline;text-underline-offset:2px}.announcements-detail-html a:hover{color:var(--accent-violet)}.announcements-detail-html blockquote,.announcements-detail-html ol,.announcements-detail-html p,.announcements-detail-html ul{margin:.75em 0}:root.theme-dark .announcement-card,:root.theme-dark .announcements-banner,:root.theme-dark .announcements-dialog-close,:root.theme-dark .announcements-dialog-header,:root.theme-dark .announcements-page-counter{border-color:color-mix(in oklab,hsla(0,0%,100%,.06) 44%,var(--border))}:root.theme-dark .announcement-card{background:color-mix(in oklab,var(--card) 94%,#000);box-shadow:0 10px 22px rgba(0,0,0,.2)}:root.theme-dark .announcement-card:hover{box-shadow:0 14px 28px rgba(0,0,0,.28)}:root.theme-dark .announcement-card.is-unread{background:radial-gradient(circle at top right,rgba(139,92,246,.12),transparent 56%),color-mix(in oklab,var(--card) 94%,#000)}:root.theme-dark .announcement-chip-read{background:color-mix(in oklab,var(--muted) 26%,hsla(0,0%,100%,.03));border-color:color-mix(in oklab,hsla(0,0%,100%,.05) 45%,var(--border))}:root.theme-dark .announcements-banner{background:radial-gradient(circle at 86% 18%,rgba(16,185,129,.14),transparent 48%),radial-gradient(circle at 74% 78%,rgba(59,130,246,.12),transparent 52%),linear-gradient(150deg,rgba(6,78,59,.52),rgba(2,44,34,.68))}:root.theme-dark .announcements-banner-title{color:#6ee7b7}:root.theme-dark .announcements-banner-heading,:root.theme-dark .announcements-banner-subtitle{color:#d1fae5}:root.theme-dark .announcements-banner-meta{color:#a7f3d0}:root.theme-dark .announcements-banner-stats{background:rgba(6,78,59,.26);border-color:rgba(110,231,183,.2);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.04)}:root.theme-dark .announcements-banner-stats-label{color:#a7f3d0}:root.theme-dark .announcements-banner-stats-value{color:#ecfdf5}@media (max-width:1440px){.announcements-banner{min-height:160px}.announcements-banner-decor{width:138px;height:110px}}@media (max-width:1280px){.announcements-page-header,.faq-page-header,.reviews-page-header{gap:14px}.announcements-banner{padding:20px 18px;grid-template-columns:minmax(0,1fr) auto}}@media (max-width:1024px){.announcements-page-header,.faq-section-grid,.reviews-page-header{grid-template-columns:1fr}.announcements-page-counter,.reviews-page-counter{min-width:0;width:-moz-fit-content;width:fit-content}.reviews-list{column-width:300px}.announcements-banner,.announcements-grid{grid-template-columns:1fr}.announcements-banner{gap:10px;min-height:0}.announcements-banner-stats{width:-moz-fit-content;width:fit-content;min-width:0}.announcements-banner-decor{width:100%;height:64px}.announcements-banner-orb-lg{right:8px;top:-12px;width:74px;height:74px}.announcements-banner-orb-sm{left:auto;right:82px;bottom:-2px;width:42px;height:42px}}@media (max-width:768px){.app-content{padding:14px}.announcements-page,.announcements-page-body,.faq-page,.faq-page-content,.reviews-page,.reviews-page-body{gap:12px}.announcements-banner{border-radius:16px;padding:16px 14px}.announcements-banner-heading{font-size:clamp(1.2rem,5vw,1.7rem)}.announcements-banner-line{display:none}.announcements-banner-decor{height:48px}.reviews-list{columns:1}.announcement-card,.faq-page-header,.faq-section-block,.review-card,.reviews-page-header,.reviews-state{padding:14px}.faq-card-trigger{padding:11px 12px}.faq-card-panel{padding:0 12px 12px}.review-card-head{flex-direction:column;align-items:stretch;gap:8px}.review-card-date{white-space:normal}.announcement-card-button,.announcements-inline-button,.reviews-load-more-button,.reviews-retry-button{width:100%}.reviews-load-more{justify-content:stretch}.announcement-card-head{flex-direction:column;align-items:stretch;gap:8px}.announcement-card-date{white-space:normal}.announcements-dialog-backdrop{padding:10px}.announcements-dialog{max-height:92vh}.announcements-dialog-content,.announcements-dialog-header{padding:14px}}@media (max-width:390px){.faq-search-input{min-height:42px;padding:0 12px}.faq-card-question{font-size:.88rem}.faq-card-icon{width:26px;height:26px}.review-card{gap:10px}.review-chip{font-size:.72rem}.announcements-page-header-text p{font-size:.9rem}.announcement-chip{font-size:.72rem}.announcements-dialog-header-text h3{font-size:.98rem}}.awards-page{display:grid;grid-gap:18px;gap:18px}.awards-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.awards-page-header h2{margin:0;font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:clamp(1.12rem,2vw,1.5rem);color:var(--accent-violet-dark)}.awards-page-header p{margin:8px 0 0;color:var(--muted-foreground)}.awards-page-header-text{min-width:0}.awards-page-stats{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.awards-page-stat-pill{min-width:116px;border:1px solid var(--surface-glass-border);border-radius:14px;background:var(--surface-glass-bg);box-shadow:var(--surface-glass-shadow);padding:10px 12px;display:grid;grid-gap:2px;gap:2px}.awards-page-stat-pill span{color:var(--muted-foreground);font-size:.78rem}.awards-page-stat-pill strong{font-size:1.12rem;color:var(--foreground)}.awards-page-stat-pill.is-success strong{color:var(--success)}.awards-page-warning{padding:12px 14px;border-color:color-mix(in oklab,var(--accent-blue) 38%,var(--border))}.awards-page-warning p{margin:0;color:var(--muted-foreground)}.awards-page-body{display:grid;grid-gap:18px;gap:18px}.awards-state{min-height:180px;display:grid;place-items:center;grid-gap:10px;gap:10px;text-align:center;padding:18px}.awards-state h3,.awards-state p{margin:0}.awards-state.error{border-color:color-mix(in oklab,var(--danger) 45%,var(--border))}.awards-state.empty p{color:var(--muted-foreground);max-width:52ch}.awards-spinner{width:32px;height:32px;border-radius:999px;border:3px solid color-mix(in oklab,var(--border) 70%,transparent);border-top-color:var(--accent-violet);animation:awards-spinner-spin .9s linear infinite}@keyframes awards-spinner-spin{to{transform:rotate(1turn)}}.awards-retry-button,.awards-social-confirm-button,.awards-toggle-info-button{border:1px solid transparent;border-radius:12px;font:inherit;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,transform .14s ease,box-shadow .14s ease}.awards-retry-button{padding:10px 14px;background:color-mix(in oklab,var(--accent-violet) 14%,var(--card));border-color:color-mix(in oklab,var(--accent-violet) 36%,var(--border));color:var(--accent-violet-dark)}.awards-retry-button:hover{background:color-mix(in oklab,var(--accent-violet) 20%,var(--card))}.awards-retry-button:active{transform:translateY(1px)}.awards-card:focus-visible,.awards-retry-button:focus-visible,.awards-social-confirm-button:focus-visible,.awards-social-help-link:focus-visible,.awards-social-link:focus-visible,.awards-toggle-info-button:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in oklab,#fff 85%,transparent),0 0 0 4px color-mix(in oklab,var(--accent-violet) 60%,transparent)}.awards-superbadge{display:grid;grid-template-columns:minmax(160px,240px) 1fr;grid-gap:18px;gap:18px;align-items:center}.awards-superbadge-art{display:grid;place-items:center;padding:8px}.awards-superbadge-art img{width:min(100%,220px);max-height:220px;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(16,20,34,.12))}.awards-superbadge-main{display:grid;grid-gap:10px;gap:10px}.awards-superbadge-main h3{margin:0;font-size:1.15rem}.awards-superbadge-text{margin:0;color:var(--muted-foreground)}.awards-social-actions{display:grid;grid-gap:10px;gap:10px;margin-top:4px}.awards-social-action-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.awards-social-confirm-button{padding:10px 14px;background:color-mix(in oklab,var(--success) 14%,var(--card));border-color:color-mix(in oklab,var(--success) 32%,var(--border));color:color-mix(in oklab,var(--success) 78%,var(--foreground));cursor:pointer}.awards-social-confirm-button:hover:not(:disabled){background:color-mix(in oklab,var(--success) 20%,var(--card))}.awards-social-confirm-button:disabled{background:color-mix(in oklab,var(--muted) 78%,var(--card));border-color:var(--surface-glass-border);color:var(--muted-foreground);cursor:not-allowed;opacity:.7}.awards-social-help-link{color:var(--accent-blue);font-weight:600;font-size:.95rem;text-decoration:underline;text-underline-offset:2px}.awards-social-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));width:100%}.awards-social-link{min-height:46px;display:flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:12px;border:1px solid var(--surface-glass-border);background:var(--surface-glass-bg);box-shadow:var(--surface-glass-shadow);position:relative;overflow:hidden;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.awards-social-link:before{content:"";position:absolute;inset:0;opacity:.12;background-position:12px;background-repeat:no-repeat;background-size:20px 20px}.awards-social-link.google:before{background-image:url(/awards/google.png)}.awards-social-link.yandex:before{background-image:url(/awards/yandex.png)}.awards-social-link.zoon:before{background-image:url(/awards/zoon.png)}.awards-social-link.twogis:before{background-image:url(/awards/2gis.png)}.awards-social-link:hover{transform:translateY(-1px);box-shadow:var(--surface-glass-shadow-hover);border-color:color-mix(in oklab,var(--accent-violet) 28%,var(--border))}.awards-social-link:active{transform:translateY(0)}.awards-social-link.is-sent{border-color:color-mix(in oklab,var(--success) 40%,var(--border))}.awards-social-link-text{font-weight:600;font-size:.9rem;text-align:center}.awards-social-submit-status{margin:0;padding:10px 12px;border-radius:12px;border:1px solid var(--surface-glass-border);background:var(--surface-glass-bg);font-size:.9rem}.awards-social-submit-status.success{border-color:color-mix(in oklab,var(--success) 36%,var(--border));background:color-mix(in oklab,var(--success) 10%,var(--card))}.awards-social-submit-status.error{border-color:color-mix(in oklab,var(--danger) 30%,var(--border));background:color-mix(in oklab,var(--danger) 8%,var(--card))}.awards-achievements-section{display:grid;grid-gap:12px;gap:12px}.awards-section-title{margin:0;font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:1.02rem;color:var(--foreground)}.awards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.awards-grid-item{min-width:0}.awards-card{height:100%;border:1px solid var(--surface-glass-border);border-radius:18px;background:linear-gradient(180deg,color-mix(in oklab,#fff 18%,transparent),transparent 30%),var(--surface-glass-bg-strong);box-shadow:var(--surface-glass-shadow);padding:18px 16px 14px;display:grid;grid-template-rows:164px minmax(56px,auto) auto;align-content:start;grid-gap:10px;gap:10px;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.awards-card:hover{transform:translateY(-2px);box-shadow:var(--surface-glass-shadow-hover);border-color:color-mix(in oklab,var(--accent-violet) 26%,var(--border))}.awards-card:active{transform:translateY(-1px)}.awards-card.is-inactive{opacity:.92}.awards-achievement-art{display:grid;place-items:center;padding:4px}.awards-achievement-art img{width:100%;max-width:180px;max-height:156px;object-fit:contain;transition:filter .14s ease,opacity .14s ease}.awards-achievement-art.is-dimmed img{filter:grayscale(1) brightness(.45);opacity:.45}.awards-achievement-art-fallback{width:64px;height:64px;display:grid;place-items:center;border-radius:999px;background:color-mix(in oklab,var(--muted) 60%,#fff);color:var(--muted-foreground);font-weight:700}.awards-card-title-wrap{display:grid;place-items:center}.awards-card-title{margin:0;text-align:center;line-height:1.25;font-size:.95rem}.awards-points{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;min-height:28px}.awards-points.is-compact{justify-content:flex-start}.awards-points-item{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--surface-glass-border);background:color-mix(in oklab,#fff 26%,var(--card));font-weight:700}.awards-points-value{white-space:nowrap}.awards-points-icon{width:14px;height:14px}.awards-more-actions{display:flex;justify-content:center}.awards-toggle-info-button{padding:11px 16px;background:color-mix(in oklab,var(--success) 14%,var(--card));border-color:color-mix(in oklab,var(--success) 32%,var(--border));color:color-mix(in oklab,var(--success) 78%,var(--foreground))}.awards-toggle-info-button:hover{background:color-mix(in oklab,var(--success) 20%,var(--card))}.awards-toggle-info-button:active{transform:translateY(1px)}.awards-info-panel{display:grid;grid-gap:14px;gap:14px}.awards-info-panel[hidden]{display:none}.awards-review-dialog-backdrop{position:fixed;inset:0;z-index:90;background:rgba(8,10,18,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px}.awards-review-dialog{width:min(560px,100%);max-height:min(90vh,760px);overflow:auto;display:grid;grid-gap:12px;gap:12px}.awards-review-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.awards-review-dialog-header h3{margin:0;font-size:1rem}.awards-review-dialog-close{width:34px;height:34px;border-radius:10px;border:1px solid var(--surface-glass-border);background:var(--surface-glass-bg);color:var(--foreground);font:inherit;font-size:1.2rem;line-height:1;cursor:pointer}.awards-review-dialog-close:disabled{opacity:.5;cursor:not-allowed}.awards-review-dialog-form{display:grid;grid-gap:12px;gap:12px}.awards-review-dialog-field{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;border:0;min-width:0}.awards-review-dialog-label{margin:0;font-weight:600;font-size:.92rem}.awards-review-dialog-file-picker{position:relative}.awards-review-dialog-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.awards-review-dialog-file-trigger{width:100%;border:1px solid var(--surface-glass-border);border-radius:12px;background:var(--surface-glass-bg);color:var(--foreground);padding:10px 12px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease,transform .14s ease}.awards-review-dialog-file-trigger:hover{border-color:color-mix(in oklab,var(--accent-violet) 28%,var(--border));background:color-mix(in oklab,var(--surface-glass-bg) 85%,#fff)}.awards-review-dialog-file-trigger:active{transform:translateY(1px)}.awards-review-dialog-file-input:focus-visible+.awards-review-dialog-file-trigger{outline:2px solid color-mix(in oklab,var(--accent-violet) 38%,#fff);outline-offset:2px;border-color:color-mix(in oklab,var(--accent-violet) 34%,var(--border));box-shadow:0 0 0 4px color-mix(in oklab,var(--accent-violet) 16%,transparent)}.awards-review-dialog-file-input:disabled+.awards-review-dialog-file-trigger{opacity:.6;cursor:not-allowed}.awards-review-dialog-file-trigger-button{min-height:34px;padding:0 12px;border-radius:10px;border:1px solid color-mix(in oklab,var(--accent-violet) 30%,var(--border));background:color-mix(in oklab,var(--accent-violet) 13%,var(--card));color:var(--accent-violet-dark);display:inline-flex;align-items:center;font-weight:600;white-space:nowrap}.awards-review-dialog-file-trigger-name{min-width:0;color:var(--muted-foreground);font-size:.88rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.awards-review-dialog-file-trigger-name.is-selected{color:var(--foreground);font-weight:500}.awards-review-dialog-hint{margin:0;color:var(--muted-foreground);font-size:.84rem}.awards-review-dialog-network-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.awards-review-dialog-network{position:relative;display:block;cursor:pointer}.awards-review-dialog-network input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.awards-review-dialog-network-body{border:1px solid var(--surface-glass-border);border-radius:12px;background:var(--surface-glass-bg);padding:10px 12px;display:flex;align-items:center;gap:10px;min-height:44px;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease,transform .14s ease}.awards-review-dialog-network:hover .awards-review-dialog-network-body{border-color:color-mix(in oklab,var(--accent-violet) 24%,var(--border));background:color-mix(in oklab,var(--surface-glass-bg) 88%,#fff)}.awards-review-dialog-network:active .awards-review-dialog-network-body{transform:translateY(1px)}.awards-review-dialog-network-indicator{width:18px;height:18px;border-radius:999px;border:2px solid color-mix(in oklab,var(--muted-foreground) 42%,var(--border));background:color-mix(in oklab,var(--surface-glass-bg) 85%,transparent);flex:0 0 auto;position:relative;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.awards-review-dialog-network-indicator:after{content:"";position:absolute;inset:3px;border-radius:inherit;background:var(--accent-violet-dark);opacity:0;transform:scale(.65);transition:opacity .14s ease,transform .14s ease}.awards-review-dialog-network-name{min-width:0;font-weight:500;color:var(--foreground)}.awards-review-dialog-network input:checked+.awards-review-dialog-network-body{border-color:color-mix(in oklab,var(--accent-violet) 34%,var(--border));background:color-mix(in oklab,var(--accent-violet) 10%,var(--card));box-shadow:0 0 0 1px color-mix(in oklab,var(--accent-violet) 18%,transparent)}.awards-review-dialog-network input:checked+.awards-review-dialog-network-body .awards-review-dialog-network-indicator{border-color:color-mix(in oklab,var(--accent-violet) 56%,var(--border));background:color-mix(in oklab,var(--accent-violet) 10%,#fff)}.awards-review-dialog-network input:checked+.awards-review-dialog-network-body .awards-review-dialog-network-indicator:after{opacity:1;transform:scale(1)}.awards-review-dialog-network input:focus-visible+.awards-review-dialog-network-body{outline:2px solid color-mix(in oklab,var(--accent-violet) 38%,#fff);outline-offset:2px;border-color:color-mix(in oklab,var(--accent-violet) 34%,var(--border));box-shadow:0 0 0 4px color-mix(in oklab,var(--accent-violet) 16%,transparent)}.awards-review-dialog-network input:disabled+.awards-review-dialog-network-body{opacity:.6;cursor:not-allowed}.awards-review-dialog-error{margin:0;border-radius:12px;border:1px solid color-mix(in oklab,var(--danger) 30%,var(--border));background:color-mix(in oklab,var(--danger) 8%,var(--card));padding:10px 12px;font-size:.9rem}.awards-review-dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.awards-review-dialog-button{min-height:42px;padding:0 14px;border-radius:12px;border:1px solid var(--surface-glass-border);background:var(--surface-glass-bg);color:var(--foreground);font:inherit;font-weight:600;cursor:pointer}.awards-review-dialog-button.primary{background:color-mix(in oklab,var(--accent-violet) 16%,var(--card));border-color:color-mix(in oklab,var(--accent-violet) 34%,var(--border));color:var(--accent-violet-dark)}.awards-review-dialog-button:disabled{opacity:.6;cursor:not-allowed}.awards-info-block{border:1px solid var(--surface-glass-border);border-radius:18px;background:var(--surface-glass-bg-strong);box-shadow:var(--surface-glass-shadow);padding:16px 16px 8px}.awards-info-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.awards-info-head h3{margin:0;font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:.98rem}.awards-info-head img{width:18px;height:18px}.awards-info-content{color:var(--foreground);font-size:.92rem;line-height:1.45}.awards-info-content p{margin:0 0 10px}.awards-info-content ul{margin:0 0 10px;padding-left:0;list-style:none}.awards-info-content li{margin:0 0 6px}:root.theme-dark .awards-card,:root.theme-dark .awards-info-block,:root.theme-dark .awards-page-stat-pill,:root.theme-dark .awards-social-link{background:color-mix(in oklab,var(--card) 92%,hsla(0,0%,100%,.02))}@media (max-width:1280px){.awards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.awards-superbadge{grid-template-columns:200px 1fr}}@media (max-width:1024px){.awards-page-header{flex-direction:column;align-items:stretch}.awards-page-stats{justify-content:flex-start}.awards-superbadge{grid-template-columns:1fr;align-items:start}.awards-superbadge-art{justify-content:flex-start}.awards-superbadge-art img{width:180px;max-height:180px}.awards-card{grid-template-rows:152px minmax(60px,auto) auto}}@media (max-width:768px){.awards-page{gap:14px}.awards-info-block,.awards-page-header,.awards-state,.awards-superbadge{padding:14px}.awards-grid{grid-template-columns:1fr;gap:12px}.awards-card{padding:14px;gap:8px;grid-template-rows:142px minmax(52px,auto) auto}.awards-achievement-art img{max-height:132px}.awards-social-links{grid-template-columns:1fr}.awards-social-link{min-height:42px}.awards-review-dialog-network-list{grid-template-columns:1fr}}@media (max-width:390px){.awards-page-stat-pill{min-width:104px;padding:8px 10px}.awards-page-stat-pill strong{font-size:1rem}.awards-card-title{font-size:.9rem}.awards-points-item{padding:5px 8px;font-size:.84rem}.awards-retry-button,.awards-social-confirm-button,.awards-toggle-info-button{width:100%}.awards-social-action-row{align-items:stretch}.awards-review-dialog-actions{justify-content:stretch}.awards-review-dialog-button{width:100%}}.profile-page{display:grid;grid-gap:16px;gap:16px}.profile-page-header{display:grid;grid-gap:10px;gap:10px}.profile-page-header-main{display:grid;grid-template-columns:auto 1fr;grid-gap:14px;gap:14px;align-items:stretch;min-height:116px;max-height:140px;overflow:hidden}.profile-page-avatar{width:clamp(112px,12vw,148px);height:100%;min-height:0;border-radius:20px;border:1px solid var(--surface-glass-border);background:var(--surface-glass-bg);box-shadow:var(--surface-glass-shadow);display:grid;place-items:center;overflow:hidden;font-weight:700;font-size:1.1rem;color:var(--accent-violet-dark)}.profile-page-avatar img{width:100%;height:100%;object-fit:cover}.profile-page-head-copy{display:grid;grid-gap:6px;gap:6px;min-width:0}.profile-page-head-copy h2{margin:0;font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:clamp(1.15rem,2.2vw,1.55rem);color:var(--foreground)}.profile-page-head-copy p{margin:0;color:var(--muted-foreground)}.profile-page-meta-row{display:flex;flex-wrap:wrap;gap:8px}.profile-page-meta-row span{padding:7px 10px;border-radius:999px;border:1px solid var(--surface-glass-border);background:color-mix(in oklab,var(--surface-glass-bg) 92%,#fff);font-size:.86rem}.profile-page-warning{border-radius:14px;border:1px solid color-mix(in oklab,#f59e0b 30%,var(--border));background:color-mix(in oklab,#f59e0b 10%,var(--card));color:var(--foreground);padding:10px 12px;font-size:.92rem}.profile-page-state{min-height:180px;display:grid;place-items:center;grid-gap:10px;gap:10px;text-align:center}.profile-page-state h3,.profile-page-state p{margin:0}.profile-page-state.error{place-items:stretch;justify-items:center}.profile-page-spinner{width:26px;height:26px;border-radius:999px;border:3px solid color-mix(in oklab,var(--border) 72%,transparent);border-top-color:var(--accent-violet);animation:profile-spinner-spin .9s linear infinite}@keyframes profile-spinner-spin{to{transform:rotate(1turn)}}.profile-page-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.profile-page-layout,.profile-page-main,.profile-page-side{display:grid;grid-gap:16px;gap:16px}.profile-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.profile-side-cards{grid-template-columns:1fr}.profile-progress-card,.profile-reward-card{display:grid;grid-gap:10px;gap:10px;align-content:start}.profile-progress-card h3,.profile-reward-card h3{margin:0;font-size:1rem}.profile-progress-card p,.profile-reward-card p{margin:0;color:var(--muted-foreground);font-size:.92rem}.profile-progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-progress-row strong{font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:1.2rem}.profile-progress-bar{height:12px;border-radius:999px;background:color-mix(in oklab,var(--muted) 86%,#fff);border:1px solid color-mix(in oklab,var(--border) 85%,#fff);overflow:hidden}.profile-progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in oklab,var(--success) 78%,#fff),var(--success));transition:width .2s ease}.profile-progress-card.tone-low .profile-progress-row strong{color:#dc2626}.profile-progress-card.tone-medium .profile-progress-row strong{color:#d97706}.profile-progress-card.tone-complete .profile-progress-row strong,.profile-progress-card.tone-good .profile-progress-row strong{color:color-mix(in oklab,var(--success) 82%,#000)}.profile-reward-card.complete{border-color:color-mix(in oklab,var(--success) 34%,var(--border));background:color-mix(in oklab,var(--success) 8%,var(--card))}.profile-reward-chip{width:-moz-fit-content;width:fit-content;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid color-mix(in oklab,var(--accent-violet) 24%,var(--border));background:color-mix(in oklab,var(--accent-violet) 12%,var(--card))}.profile-reward-chip span{font-weight:700}.profile-reward-chip small{color:var(--muted-foreground)}.profile-user-card{display:grid;grid-gap:14px;gap:14px}.profile-user-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.profile-user-card-head h3{margin:0;font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:1.02rem}.profile-user-card-head p{margin:4px 0 0;color:var(--muted-foreground);font-size:.92rem}.profile-readonly-note{min-width:min(360px,100%);display:grid;grid-gap:4px;gap:4px;padding:10px 12px;border-radius:14px;border:1px solid color-mix(in oklab,var(--accent-violet) 22%,var(--border));background:color-mix(in oklab,var(--accent-violet) 8%,var(--card))}.profile-readonly-note strong{font-size:.85rem}.profile-readonly-note span{color:var(--muted-foreground);font-size:.85rem;line-height:1.35}.profile-inline-alert{border-radius:12px;border:1px solid color-mix(in oklab,var(--success) 28%,var(--border));background:color-mix(in oklab,var(--success) 8%,var(--card));padding:10px 12px;font-size:.9rem}.profile-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid color-mix(in oklab,var(--border) 92%,#fff);padding-bottom:10px}.profile-tab-button{border:1px solid var(--surface-glass-border);background:var(--surface-glass-bg);color:var(--muted-foreground);min-height:40px;padding:0 12px;border-radius:11px;cursor:pointer;font:inherit;font-size:.92rem;font-weight:600;transition:border-color .14s ease,background-color .14s ease,color .14s ease,transform .14s ease,box-shadow .14s ease}.profile-tab-button:hover{border-color:color-mix(in oklab,var(--accent-violet) 26%,var(--border));color:var(--foreground)}.profile-tab-button:active{transform:translateY(1px)}.profile-tab-button:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in oklab,#fff 85%,transparent),0 0 0 4px color-mix(in oklab,var(--accent-violet) 54%,transparent)}.profile-tab-button.active{border-color:color-mix(in oklab,var(--accent-violet) 34%,var(--border));background:color-mix(in oklab,var(--accent-violet) 14%,var(--card));color:var(--accent-violet-dark)}.profile-tab-panels{display:grid}.profile-tab-panel{display:grid;grid-gap:14px;gap:14px}.profile-tab-panel[hidden]{display:none}.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.profile-form-grid.compact{grid-template-columns:1fr}.profile-view-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.profile-readonly-field{display:grid;grid-gap:7px;gap:7px}.profile-readonly-field-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.profile-readonly-field-label>span{font-size:.9rem;color:var(--muted-foreground)}.profile-readonly-field-value{min-height:46px;border-radius:12px;border:1px solid var(--surface-glass-border);background:color-mix(in oklab,var(--input) 78%,#fff);color:var(--foreground);padding:11px 12px;line-height:1.25;display:flex;align-items:center}.profile-personal-actions{display:flex;flex-wrap:wrap;gap:10px}.profile-modal-backdrop{position:fixed;inset:0;z-index:80;background:color-mix(in oklab,#0f172a 42%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}.profile-modal{width:min(760px,100%);max-height:min(90vh,900px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-gap:14px;gap:14px;overflow:hidden}.profile-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.profile-modal-head-copy{display:grid;grid-gap:5px;gap:5px;min-width:0}.profile-modal-head-copy h3{margin:0;font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:1rem}.profile-modal-head-copy p{margin:0;color:var(--muted-foreground);font-size:.9rem}.profile-modal-close{width:36px;height:36px;border-radius:10px;border:1px solid var(--surface-glass-border);background:var(--surface-glass-bg);color:var(--foreground);cursor:pointer;font-size:1.3rem;line-height:1}.profile-modal-close:hover{border-color:color-mix(in oklab,var(--accent-violet) 26%,var(--border))}.profile-modal-close:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in oklab,#fff 85%,transparent),0 0 0 4px color-mix(in oklab,var(--accent-violet) 54%,transparent)}.profile-modal-body{overflow:auto;display:grid;align-content:start;grid-gap:12px;gap:12px;padding-right:2px}.profile-modal-actions{display:flex;justify-content:flex-end;gap:10px}.profile-photo-modal-preview{width:108px;height:108px;border-radius:24px;border:1px solid var(--surface-glass-border);background:var(--surface-glass-bg);box-shadow:var(--surface-glass-shadow);display:grid;place-items:center;overflow:hidden;font-weight:700;color:var(--accent-violet-dark)}.profile-photo-modal-preview img{width:100%;height:100%;object-fit:cover}.profile-social-list{display:grid;grid-gap:12px;gap:12px}.profile-form-field{display:grid;grid-gap:7px;gap:7px}.profile-form-field>span{font-size:.9rem;color:var(--muted-foreground)}.profile-field-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.profile-field-label-row em{font-style:normal;font-size:.78rem}.profile-field-label-row em.ok{color:color-mix(in oklab,var(--success) 85%,#000)}.profile-field-label-row em.invalid{color:var(--danger)}.profile-form-field input,.profile-form-field select,.profile-form-field textarea{width:100%;min-height:46px;border-radius:12px;border:1px solid var(--surface-glass-border);background:color-mix(in oklab,var(--input) 78%,#fff);color:var(--foreground);padding:0 12px;font:inherit;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.profile-form-field textarea{min-height:112px;padding-top:10px;padding-bottom:10px;resize:vertical}.profile-form-field input:hover,.profile-form-field select:hover,.profile-form-field textarea:hover{border-color:color-mix(in oklab,var(--accent-violet) 22%,var(--border))}.profile-form-field input:focus-visible,.profile-form-field select:focus-visible,.profile-form-field textarea:focus-visible{outline:none;border-color:color-mix(in oklab,var(--accent-violet) 32%,var(--border));box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-violet) 14%,transparent)}.profile-status-row{display:flex;flex-wrap:wrap;gap:8px}.profile-status-pill{padding:7px 10px;border-radius:999px;border:1px solid var(--surface-glass-border);background:var(--surface-glass-bg);font-size:.82rem}.profile-status-pill.inline{padding:4px 8px;font-size:.72rem;line-height:1.1}.profile-status-pill.ok{border-color:color-mix(in oklab,var(--success) 30%,var(--border));background:color-mix(in oklab,var(--success) 10%,var(--card))}.profile-status-pill.warn{border-color:color-mix(in oklab,#f59e0b 28%,var(--border));background:color-mix(in oklab,#f59e0b 10%,var(--card))}.profile-tab-note{margin:0;color:var(--muted-foreground);font-size:.9rem}.profile-tab-actions{display:flex;justify-content:flex-end}.profile-action-button{min-height:42px;padding:0 14px;border-radius:12px;border:1px solid var(--surface-glass-border);background:var(--surface-glass-bg);color:var(--foreground);font:inherit;font-weight:600;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,transform .14s ease,box-shadow .14s ease}.profile-action-button:hover{border-color:color-mix(in oklab,var(--accent-violet) 26%,var(--border));background:color-mix(in oklab,var(--surface-glass-bg) 90%,#fff)}.profile-action-button:active{transform:translateY(1px)}.profile-action-button:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in oklab,#fff 85%,transparent),0 0 0 4px color-mix(in oklab,var(--accent-violet) 54%,transparent)}.profile-action-button.primary{border-color:color-mix(in oklab,var(--accent-violet) 30%,var(--border));background:color-mix(in oklab,var(--accent-violet) 14%,var(--card));color:var(--accent-violet-dark)}.profile-action-button.danger{border-color:color-mix(in oklab,var(--danger) 30%,var(--border));background:color-mix(in oklab,var(--danger) 9%,var(--card));color:color-mix(in oklab,var(--danger) 82%,var(--foreground))}.profile-inner-empty{border-radius:14px;border:1px dashed color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);padding:14px;display:grid;grid-gap:6px;gap:6px}.profile-inner-empty h4,.profile-inner-empty p{margin:0}.profile-inner-empty p{color:var(--muted-foreground);font-size:.9rem}.profile-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.profile-payment-grid>div{display:grid;grid-gap:5px;gap:5px;border-radius:12px;border:1px solid var(--surface-glass-border);background:var(--surface-glass-bg);padding:10px 12px}.profile-payment-grid>div>span{color:var(--muted-foreground);font-size:.84rem}.profile-payment-grid>div>strong{font-size:.95rem}.profile-side-card{display:grid;grid-gap:10px;gap:10px}.profile-side-card h3{margin:0;font-size:.98rem;font-family:var(--font-unbounded),"Segoe UI",sans-serif}.profile-side-card p{margin:0;color:var(--muted-foreground);font-size:.9rem}.profile-side-card.warning{border-color:color-mix(in oklab,#f59e0b 24%,var(--border))}.profile-side-card.danger{border-color:color-mix(in oklab,var(--danger) 24%,var(--border))}.profile-side-list{display:grid;grid-gap:10px;gap:10px}.profile-side-list>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-bottom:9px;border-bottom:1px solid color-mix(in oklab,var(--border) 90%,#fff)}.profile-side-list>div:last-child{border-bottom:0;padding-bottom:0}.profile-side-list>div>span{color:var(--muted-foreground);font-size:.86rem}.profile-side-list>div>strong{text-align:right;font-size:.9rem}.profile-moderation-comment{color:var(--foreground)!important;border-radius:10px;border:1px solid color-mix(in oklab,var(--border) 90%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);padding:10px 12px}@media (max-width:1280px){.profile-page-layout{grid-template-columns:minmax(0,1fr) 320px}}@media (max-width:1024px){.profile-page-layout{grid-template-columns:1fr}.profile-page-side{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-user-card-head{flex-direction:column}.profile-readonly-note{min-width:0}}@media (max-width:768px){.profile-page,.profile-page-main,.profile-page-side{gap:14px}.profile-page-header,.profile-page-state,.profile-progress-card,.profile-reward-card,.profile-side-card,.profile-user-card{padding:14px}.profile-page-header-main{min-height:0;max-height:none;overflow:visible}.profile-cards-grid,.profile-form-grid,.profile-page-side,.profile-payment-grid,.profile-view-grid{grid-template-columns:1fr}.profile-tab-actions{justify-content:stretch}.profile-personal-actions{display:grid;grid-template-columns:1fr}.profile-action-button{width:100%}.profile-modal{width:100%;max-height:calc(100vh - 20px);gap:12px}.profile-modal-actions{display:grid;grid-template-columns:1fr}}@media (max-width:390px){.profile-page-header-main{grid-template-columns:1fr}.profile-page-avatar{width:72px;height:72px;min-height:72px;border-radius:16px}.profile-tabs{gap:6px}.profile-tab-button{min-height:38px;padding:0 10px;font-size:.84rem}.profile-modal-backdrop{padding:10px}.profile-page-meta-row span,.profile-status-pill{font-size:.78rem}}.materials-page{display:grid;grid-gap:16px;gap:16px}.materials-page-header{display:grid;grid-gap:8px;gap:8px}.materials-page-heading{display:grid;grid-gap:6px;gap:6px}.materials-page-heading h2{margin:0;font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:clamp(1.25rem,1rem + .8vw,1.8rem);line-height:1.15;color:var(--foreground)}.materials-page-heading p{margin:0;color:var(--muted-foreground);font-size:.95rem}.materials-banner{position:relative;overflow:hidden;border-radius:18px;border:1px solid color-mix(in oklab,var(--accent-blue) 20%,var(--border));background:radial-gradient(circle at 85% 20%,color-mix(in oklab,var(--accent-blue) 15%,#fff),transparent 52%),linear-gradient(140deg,color-mix(in oklab,#eff6ff 88%,#fff),color-mix(in oklab,#dbeafe 70%,#fff));box-shadow:0 16px 40px rgba(37,99,235,.08);padding:28px 24px}.materials-banner-copy{display:grid;grid-gap:3px;gap:3px;position:relative;z-index:1}.materials-banner-copy p{margin:0;font-weight:700;line-height:.95;letter-spacing:.01em;color:color-mix(in oklab,var(--accent-blue) 80%,#0f172a);font-size:clamp(1.45rem,1.05rem + 1.2vw,2.4rem)}.materials-banner-copy p,.materials-banner-copy span{font-family:var(--font-unbounded),"Segoe UI",sans-serif}.materials-banner-copy span{margin-top:8px;color:#172554;font-size:clamp(.95rem,.78rem + .45vw,1.2rem)}.materials-banner-visual{position:absolute;right:-24px;bottom:-34px;width:min(42vw,360px);height:min(42vw,360px);border-radius:999px;background:radial-gradient(circle at 30% 30%,color-mix(in oklab,#fff 85%,transparent),transparent 45%),radial-gradient(circle at 70% 30%,color-mix(in oklab,var(--accent-blue) 28%,#fff),transparent 58%),conic-gradient(from 0deg,color-mix(in oklab,var(--accent-blue) 20%,#fff),color-mix(in oklab,#60a5fa 26%,#fff),color-mix(in oklab,#93c5fd 20%,#fff),color-mix(in oklab,var(--accent-blue) 18%,#fff));filter:blur(1px);opacity:.85;pointer-events:none}.materials-banner-visual:after,.materials-banner-visual:before{content:"";position:absolute;border-radius:999px;border:1px solid hsla(0,0%,100%,.45)}.materials-banner-visual:before{inset:16% 16% auto auto;width:48%;height:48%}.materials-banner-visual:after{inset:auto auto 14% 12%;width:28%;height:28%;background:hsla(0,0%,100%,.28)}.materials-filters{display:grid;grid-gap:14px;gap:14px;padding:14px;position:-webkit-sticky;position:sticky;top:72px;z-index:6;background:color-mix(in oklab,var(--card) 82%,#fff);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 16px 32px rgba(15,23,42,.04),inset 0 1px 0 hsla(0,0%,100%,.45)}.materials-tabs{display:flex;flex-wrap:wrap;gap:10px}.materials-tab-button{position:relative;min-height:42px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 86%,#fff);background:color-mix(in oklab,var(--muted) 35%,#fff);color:var(--foreground);padding:0 14px;display:inline-flex;align-items:center;gap:8px;font:inherit;font-weight:600;cursor:pointer;transition:transform .14s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.materials-tab-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;opacity:.92}.materials-tab-icon svg{width:100%;height:100%;display:block}.materials-tab-button.is-active .materials-tab-icon.tone-library{color:#92400e}.materials-tab-button.is-active .materials-tab-icon.tone-lessons{color:#065f46}.materials-tab-button.is-active .materials-tab-icon.tone-videos{color:#991b1b}.materials-tab-button.is-active .materials-tab-icon.tone-articles{color:#5b21b6}.materials-tab-button:hover{border-color:color-mix(in oklab,var(--accent-blue) 26%,var(--border));background:color-mix(in oklab,var(--accent-blue) 5%,#fff);transform:translateY(-1px)}.materials-tab-button:active{transform:translateY(0)}.materials-tab-button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-blue) 16%,transparent);border-color:color-mix(in oklab,var(--accent-blue) 34%,var(--border))}.materials-tab-button.is-active{background:color-mix(in oklab,var(--accent-blue) 14%,#fff);border-color:color-mix(in oklab,var(--accent-blue) 32%,var(--border));color:color-mix(in oklab,var(--accent-blue) 75%,#000);box-shadow:0 8px 18px rgba(37,99,235,.08)}.materials-tab-badge{min-width:20px;height:20px;border-radius:999px;background:color-mix(in oklab,var(--accent-blue) 80%,#fff);color:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;font-size:.72rem;line-height:1;font-weight:700}.materials-filter-row{display:grid;grid-template-columns:minmax(220px,1.1fr) auto minmax(220px,.75fr);grid-gap:10px;gap:10px;align-items:center}.materials-search{position:relative;display:flex;align-items:center}.materials-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted-foreground);pointer-events:none}.materials-search-icon svg{width:18px;height:18px;display:block}.materials-search input{width:100%;min-height:44px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 86%,#fff);background:color-mix(in oklab,var(--input) 84%,#fff);color:var(--foreground);padding:0 12px 0 38px;font:inherit;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.materials-search input::placeholder{color:color-mix(in oklab,var(--muted-foreground) 78%,#fff)}.materials-search input:hover{border-color:color-mix(in oklab,var(--accent-blue) 22%,var(--border))}.materials-search input:focus-visible{outline:none;border-color:color-mix(in oklab,var(--accent-blue) 34%,var(--border));box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-blue) 14%,transparent)}.materials-checkbox{display:inline-flex;align-items:center;gap:8px;min-height:44px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 90%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);padding:0 12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.materials-checkbox:hover{border-color:color-mix(in oklab,var(--accent-blue) 20%,var(--border))}.materials-checkbox input{width:16px;height:16px;accent-color:color-mix(in oklab,var(--accent-blue) 80%,#fff)}.materials-checkbox span{font-size:.9rem;line-height:1.2}.materials-checkbox:has(input:focus-visible){box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-blue) 14%,transparent);border-color:color-mix(in oklab,var(--accent-blue) 28%,var(--border))}.materials-subject-select-wrap{display:flex}.materials-subject-select-wrap select{width:100%;min-height:44px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 86%,#fff);background:color-mix(in oklab,var(--card) 99%,#fff);color:var(--foreground);padding:0 36px 0 12px;font:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,transparent 0);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.materials-subject-select-wrap select:hover{border-color:color-mix(in oklab,var(--accent-blue) 22%,var(--border))}.materials-subject-select-wrap select:focus-visible{outline:none;border-color:color-mix(in oklab,var(--accent-blue) 34%,var(--border));box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-blue) 14%,transparent)}.materials-filter-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted-foreground);font-size:.88rem}.materials-filter-summary-pill{border-radius:999px;border:1px solid color-mix(in oklab,var(--accent-blue) 18%,var(--border));background:color-mix(in oklab,var(--accent-blue) 5%,#fff);color:color-mix(in oklab,var(--accent-blue) 76%,#000);padding:5px 9px;line-height:1.1}.materials-inline-warning{border-color:color-mix(in oklab,#f59e0b 24%,var(--border));background:color-mix(in oklab,#f59e0b 7%,var(--card))}.materials-inline-warning p{color:color-mix(in oklab,#8a4b00 75%,var(--foreground))}.materials-list-section{display:grid;grid-gap:10px;gap:10px}.materials-list-topline{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}.materials-list-topline-title{display:inline-flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:.88rem;color:var(--muted-foreground)}.materials-list-topline-title strong{color:var(--foreground);font-size:.9rem}.materials-dot{width:8px;height:8px;border-radius:999px;background:color-mix(in oklab,var(--accent-blue) 70%,#fff);box-shadow:0 0 0 4px color-mix(in oklab,var(--accent-blue) 12%,transparent)}.materials-dot.tone-library{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.14)}.materials-dot.tone-lessons{background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.14)}.materials-dot.tone-videos{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.14)}.materials-dot.tone-articles{background:#8b5cf6;box-shadow:0 0 0 4px rgba(139,92,246,.14)}.materials-list-topline-tags{display:flex;flex-wrap:wrap;gap:7px}.materials-inline-chip{min-height:22px;padding:0 9px;border-radius:999px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--card) 99%,#fff);color:var(--muted-foreground);display:inline-flex;align-items:center;font-size:.76rem}.materials-inline-chip.accent{border-color:color-mix(in oklab,var(--accent-blue) 22%,var(--border));background:color-mix(in oklab,var(--accent-blue) 8%,#fff);color:color-mix(in oklab,var(--accent-blue) 76%,#000)}.materials-state-stack{display:grid;grid-gap:12px;gap:12px}.materials-state{min-height:180px;display:grid;place-items:center;align-content:center;grid-gap:10px;gap:10px;text-align:center}.materials-state h3,.materials-state p{margin:0}.materials-state-loading{padding:22px;border-radius:18px;border:1px dashed color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff)}.materials-state-loading p{color:var(--muted-foreground);font-size:1rem}.materials-state-icon{width:52px;height:52px;border-radius:999px;display:grid;place-items:center;background:color-mix(in oklab,var(--accent-violet) 8%,#fff);color:var(--accent-violet)}.materials-spinner{width:20px;height:20px;border-radius:999px;border:2px solid color-mix(in oklab,var(--border) 72%,#fff);border-top-color:var(--accent-violet);animation:materials-spin .9s linear infinite}@keyframes materials-spin{to{transform:rotate(1turn)}}.materials-state-error{justify-items:center;gap:12px;border-color:color-mix(in oklab,var(--danger) 22%,var(--border));background:color-mix(in oklab,var(--danger) 5%,var(--card))}.materials-state-error p{color:color-mix(in oklab,var(--danger) 82%,var(--foreground))}.materials-state-empty{justify-items:center;gap:8px}.materials-state-empty p{max-width:520px}.materials-retry-button{min-height:40px;border-radius:12px;border:1px solid color-mix(in oklab,var(--accent-blue) 24%,var(--border));background:color-mix(in oklab,var(--accent-blue) 10%,var(--card));color:color-mix(in oklab,var(--accent-blue) 75%,#000);padding:0 14px;font:inherit;font-weight:600;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .14s ease}.materials-retry-button:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent-blue) 32%,var(--border))}.materials-retry-button:active{transform:translateY(0)}.materials-retry-button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-blue) 14%,transparent)}.materials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.materials-grid-item{min-width:0}.materials-card{min-height:100%;border-radius:16px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--card) 99%,#fff);display:grid;grid-template-columns:108px minmax(0,1fr);grid-gap:12px;gap:12px;padding:12px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.materials-card-skeleton{pointer-events:none}.materials-card:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent-blue) 18%,var(--border));box-shadow:0 12px 24px rgba(15,23,42,.06)}.materials-card:focus-visible{outline:none;border-color:color-mix(in oklab,var(--accent-blue) 30%,var(--border));box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-blue) 14%,transparent),0 12px 24px rgba(15,23,42,.06)}.materials-card.is-new{border-color:color-mix(in oklab,var(--accent-blue) 22%,var(--border))}.materials-card-cover{position:relative;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:radial-gradient(circle at 20% 20%,hsla(0,0%,100%,.75),transparent 50%),linear-gradient(145deg,color-mix(in oklab,var(--muted) 35%,#fff),color-mix(in oklab,var(--card) 90%,#fff));display:grid;place-items:center;overflow:hidden;min-height:108px}.materials-card-cover-top{position:absolute;top:8px;left:8px;right:8px;z-index:3;display:flex;justify-content:space-between;gap:8px}.materials-card-type-icon{width:28px;height:28px;border-radius:9px;border:1px solid hsla(0,0%,100%,.55);background:hsla(0,0%,100%,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#1f2937;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(15,23,42,.08)}.materials-card-type-icon svg{width:15px;height:15px;display:block}.materials-card-type-icon.tone-library{color:#92400e}.materials-card-type-icon.tone-lessons{color:#065f46}.materials-card-type-icon.tone-videos{color:#991b1b}.materials-card-type-icon.tone-articles{color:#5b21b6}.materials-card-week-badge{min-height:24px;border-radius:999px;padding:0 8px;border:1px solid hsla(0,0%,100%,.55);background:hsla(0,0%,100%,.72);color:#1f2937;display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;line-height:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.materials-card-cover img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block}.materials-card-cover span{position:relative;z-index:1;font-family:var(--font-unbounded),"Segoe UI",sans-serif;font-size:1.5rem;color:color-mix(in oklab,var(--accent-blue) 55%,var(--foreground))}.materials-card-cover-glow{position:absolute;inset:auto -10% -30% auto;width:85%;height:70%;border-radius:999px;background:radial-gradient(circle,hsla(0,0%,100%,.42),transparent 70%);z-index:2;pointer-events:none}.materials-card-cover-chip{position:absolute;right:8px;bottom:8px;z-index:3;width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:#0f172a;background:hsla(0,0%,100%,.78);border:1px solid hsla(0,0%,100%,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.materials-card-cover-pattern{position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 25% 25%,hsla(0,0%,100%,.5),transparent 48%),linear-gradient(135deg,hsla(0,0%,100%,.06) 25%,transparent 0) 0 0 /16px 16px,linear-gradient(225deg,hsla(0,0%,100%,.06) 25%,transparent 0) 0 0 /16px 16px;opacity:.8}.materials-card-body{min-width:0;grid-template-rows:auto auto auto auto}.materials-card-body,.materials-card-skeleton .materials-card-body{display:grid;align-content:start;grid-gap:8px;gap:8px}.materials-card-skeleton .materials-card-cover{background:linear-gradient(110deg,color-mix(in oklab,var(--muted) 24%,#fff) 8%,color-mix(in oklab,#fff 82%,var(--muted)) 18%,color-mix(in oklab,var(--muted) 24%,#fff) 33%);background-size:220% 100%;animation:materials-skeleton-shimmer 1.2s linear infinite}.materials-skeleton-row{height:10px;border-radius:999px;background:linear-gradient(110deg,color-mix(in oklab,var(--muted) 32%,#fff) 8%,color-mix(in oklab,#fff 80%,var(--muted)) 18%,color-mix(in oklab,var(--muted) 32%,#fff) 33%);background-size:220% 100%;animation:materials-skeleton-shimmer 1.2s linear infinite}.materials-skeleton-row.short{width:48%;height:9px}.materials-skeleton-row.title{width:88%;height:14px;margin-top:2px}.materials-skeleton-row.body{width:100%}.materials-skeleton-row.body+.materials-skeleton-row.body{width:72%}.materials-skeleton-row.footer{width:62%;height:12px;margin-top:6px}@keyframes materials-skeleton-shimmer{0%{background-position:220% 0}to{background-position:-20% 0}}.materials-card-tags{display:flex;flex-wrap:wrap;gap:6px}.materials-chip{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);font-size:.72rem;line-height:1;color:var(--foreground)}.materials-chip.muted{color:var(--muted-foreground);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.materials-chip.accent{border-color:color-mix(in oklab,var(--accent-blue) 22%,var(--border));background:color-mix(in oklab,var(--accent-blue) 8%,#fff);color:color-mix(in oklab,var(--accent-blue) 75%,#000);font-weight:600}.materials-chip.tone-library{border-color:color-mix(in oklab,#f59e0b 22%,var(--border));background:color-mix(in oklab,#f59e0b 8%,#fff);color:#92400e}.materials-chip.tone-lessons{border-color:color-mix(in oklab,#10b981 22%,var(--border));background:color-mix(in oklab,#10b981 8%,#fff);color:#065f46}.materials-chip.tone-videos{border-color:color-mix(in oklab,#ef4444 22%,var(--border));background:color-mix(in oklab,#ef4444 8%,#fff);color:#991b1b}.materials-chip.tone-articles{border-color:color-mix(in oklab,#8b5cf6 22%,var(--border));background:color-mix(in oklab,#8b5cf6 8%,#fff);color:#5b21b6}.materials-card-title{color:var(--foreground);font-size:.98rem;line-height:1.25;font-weight:700;-webkit-line-clamp:2}.materials-card-description,.materials-card-title{margin:0;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.materials-card-description{color:var(--muted-foreground);font-size:.88rem;line-height:1.4;min-height:2.4em;-webkit-line-clamp:3}.materials-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.materials-card-meta{min-width:0;display:flex;flex-wrap:wrap;gap:6px}.materials-card-meta span{color:var(--muted-foreground);font-size:.76rem;line-height:1.1;border-radius:999px;border:1px solid color-mix(in oklab,var(--border) 90%,#fff);background:color-mix(in oklab,var(--muted) 20%,#fff);padding:4px 7px}.materials-card-action{flex-shrink:0;min-height:34px;border-radius:10px;border:1px solid color-mix(in oklab,var(--accent-blue) 22%,var(--border));background:color-mix(in oklab,var(--accent-blue) 8%,#fff);color:color-mix(in oklab,var(--accent-blue) 78%,#000);padding:0 11px;font-size:.84rem;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .14s ease}.materials-card-action svg{width:13px;height:13px;display:block}.materials-card-action:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent-blue) 32%,var(--border));box-shadow:0 8px 16px rgba(37,99,235,.08)}.materials-card-action:active{transform:translateY(0)}.materials-card-action:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-blue) 14%,transparent)}.materials-card-action.disabled{cursor:not-allowed;opacity:.65;transform:none;box-shadow:none;border-color:color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--muted) 22%,#fff);color:var(--muted-foreground)}.materials-card-action.disabled svg{display:none}.materials-card-warning{margin:0;color:color-mix(in oklab,var(--danger) 78%,var(--foreground));font-size:.78rem;line-height:1.35}.materials-card.tone-library .materials-card-cover{background:radial-gradient(circle at 25% 20%,hsla(0,0%,100%,.8),transparent 54%),linear-gradient(145deg,color-mix(in oklab,#f59e0b 10%,#fff),color-mix(in oklab,#fde68a 20%,#fff))}.materials-card.tone-lessons .materials-card-cover{background:radial-gradient(circle at 25% 20%,hsla(0,0%,100%,.8),transparent 54%),linear-gradient(145deg,color-mix(in oklab,#10b981 12%,#fff),color-mix(in oklab,#bbf7d0 24%,#fff))}.materials-card.tone-videos .materials-card-cover{background:radial-gradient(circle at 25% 20%,hsla(0,0%,100%,.8),transparent 54%),linear-gradient(145deg,color-mix(in oklab,#ef4444 10%,#fff),color-mix(in oklab,#fecaca 22%,#fff))}.materials-card.tone-articles .materials-card-cover{background:radial-gradient(circle at 25% 20%,hsla(0,0%,100%,.8),transparent 54%),linear-gradient(145deg,color-mix(in oklab,#8b5cf6 10%,#fff),color-mix(in oklab,#ddd6fe 20%,#fff))}@media (max-width:1280px){.materials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.materials-filter-row{grid-template-columns:1fr 1fr}.materials-search{grid-column:1/-1}}@media (max-width:1024px){.materials-grid{grid-template-columns:1fr}.materials-filters{top:68px}.materials-card{grid-template-columns:96px minmax(0,1fr)}}@media (max-width:768px){.materials-page{gap:14px}.materials-banner{padding:22px 18px}.materials-banner-visual{width:220px;height:220px;right:-50px;bottom:-54px;opacity:.7}.materials-filters{padding:12px;gap:12px;top:60px}.materials-filter-row{grid-template-columns:1fr;gap:8px}.materials-checkbox,.materials-subject-select-wrap select{min-height:42px}.materials-card{grid-template-columns:1fr;gap:10px}.materials-card-cover{min-height:148px}.materials-card-footer{align-items:stretch;flex-direction:column}.materials-card-action{width:100%}.materials-list-topline{gap:8px}}@media (max-width:390px){.materials-tab-button{width:100%;justify-content:space-between}.materials-tabs{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.materials-list-topline-title{font-size:.82rem}.materials-checkbox span{font-size:.84rem}.materials-banner-copy span{margin-top:6px}.materials-card-cover{min-height:128px}.materials-card-title{font-size:.92rem}.materials-card-description{font-size:.84rem}}@media (prefers-reduced-motion:reduce){.materials-card,.materials-card-action,.materials-retry-button,.materials-search input,.materials-spinner,.materials-subject-select-wrap select,.materials-tab-button{transition:none!important;animation:none!important}.materials-skeleton-row{animation:none!important}.announcement-card,.announcement-card-button,.announcements-banner,.announcements-dialog-close,.announcements-inline-button,.announcements-spinner,.awards-card,.awards-retry-button,.awards-social-confirm-button,.awards-social-link,.awards-spinner,.awards-toggle-info-button,.faq-card,.faq-card-trigger,.faq-search-input,.interactive-hover-frame-layer,.profile-action-button,.profile-form-field input,.profile-form-field select,.profile-form-field textarea,.profile-modal-close,.profile-page-spinner,.profile-progress-bar span,.profile-readonly-field-value,.profile-tab-button,.review-card,.reviews-load-more-button,.reviews-retry-button,.reviews-spinner{transition:none!important;animation:none!important}}.tasks-page{display:grid;grid-gap:16px;gap:16px}.tasks-page-header{display:grid;grid-gap:8px;gap:8px}.tasks-page-heading{display:grid;grid-gap:6px;gap:6px}.tasks-page-heading h2{margin:0;font-size:clamp(1.2rem,1rem + .9vw,1.9rem);line-height:1.15}.tasks-page-heading p{margin:0;color:var(--muted-foreground)}.tasks-page-group{color:var(--muted-foreground);font-size:.88rem}.tasks-tabs-wrap{padding:14px}.tasks-tabs{display:flex;flex-wrap:wrap;gap:8px}.tasks-tab-link{min-height:40px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--card) 99%,#fff);color:var(--foreground);text-decoration:none;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:550;transition:border-color .16s ease,background-color .16s ease,transform .14s ease,box-shadow .16s ease}.tasks-tab-link:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent-blue) 24%,var(--border));background:color-mix(in oklab,var(--accent-blue) 5%,#fff)}.tasks-tab-link:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-blue) 14%,transparent);border-color:color-mix(in oklab,var(--accent-blue) 30%,var(--border))}.tasks-tab-link.is-active{border-color:color-mix(in oklab,var(--accent-violet) 22%,var(--border));background:color-mix(in oklab,var(--accent-violet) 8%,#fff);color:color-mix(in oklab,var(--accent-violet) 82%,#000);box-shadow:0 10px 18px rgba(90,44,180,.08)}.tasks-filters{display:grid;grid-gap:10px;gap:10px}.tasks-filter-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,320px);grid-gap:10px;gap:10px;align-items:center}.tasks-search{position:relative;display:flex;align-items:center}.tasks-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted-foreground);pointer-events:none}.tasks-search-icon svg{width:18px;height:18px;display:block}.tasks-search input,.tasks-subject-select select{width:100%;min-height:44px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 86%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);color:var(--foreground);font:inherit;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.tasks-search input{padding:0 12px 0 38px}.tasks-search input::placeholder{color:color-mix(in oklab,var(--muted-foreground) 78%,#fff)}.tasks-search input:hover,.tasks-subject-select select:hover{border-color:color-mix(in oklab,var(--accent-blue) 22%,var(--border))}.tasks-search input:focus-visible,.tasks-subject-select select:focus-visible{outline:none;border-color:color-mix(in oklab,var(--accent-blue) 34%,var(--border));box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-blue) 14%,transparent)}.tasks-subject-select{display:flex}.tasks-subject-select select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 36px 0 12px;background-image:linear-gradient(45deg,transparent 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,transparent 0);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.tasks-inline-warning{border-color:color-mix(in oklab,#f59e0b 24%,var(--border));background:color-mix(in oklab,#f59e0b 7%,var(--card))}.tasks-inline-warning p{color:color-mix(in oklab,#8a4b00 75%,var(--foreground))}.tasks-list-section{display:grid;grid-gap:10px;gap:10px}.tasks-list-topline{color:var(--muted-foreground);font-size:.88rem}.tasks-list-topline strong{color:var(--foreground)}.tasks-state{min-height:170px;display:grid;grid-gap:10px;gap:10px;place-items:center;align-content:center;text-align:center}.tasks-state h3,.tasks-state p{margin:0}.tasks-state p{max-width:560px}.tasks-state-icon{width:52px;height:52px;border-radius:999px;display:grid;place-items:center;background:color-mix(in oklab,var(--accent-violet) 8%,#fff);color:var(--accent-violet)}.tasks-state-icon svg{width:22px;height:22px;display:block}.tasks-state-icon.muted{background:color-mix(in oklab,var(--muted) 20%,#fff);color:var(--muted-foreground)}.tasks-state-loading .tasks-state-icon svg{width:36px;height:36px;animation:tasks-bounce 1s ease-in-out infinite}@keyframes tasks-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.tasks-state-error{border-color:color-mix(in oklab,var(--danger) 22%,var(--border));background:color-mix(in oklab,var(--danger) 5%,var(--card))}.tasks-state-error p{color:color-mix(in oklab,var(--danger) 82%,var(--foreground))}.tasks-retry-button{min-height:40px;border-radius:12px;border:1px solid color-mix(in oklab,var(--accent-violet) 24%,var(--border));background:color-mix(in oklab,var(--accent-violet) 10%,var(--card));color:color-mix(in oklab,var(--accent-violet) 82%,#000);padding:0 14px;font:inherit;font-weight:600;cursor:pointer;transition:transform .14s ease,border-color .16s ease,box-shadow .16s ease}.tasks-retry-button:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent-violet) 34%,var(--border))}.tasks-retry-button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-violet) 14%,transparent)}.tasks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.tasks-grid-item{min-width:0}.tasks-card{min-height:100%;display:grid;grid-gap:12px;gap:12px;border-radius:16px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--card) 99%,#fff);padding:14px;transition:transform .14s ease,border-color .16s ease,box-shadow .16s ease}.tasks-card:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent-blue) 18%,var(--border));box-shadow:0 12px 24px rgba(15,23,42,.06)}.tasks-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.tasks-mark-chip,.tasks-status-chip{min-height:24px;border-radius:999px;padding:0 9px;display:inline-flex;align-items:center;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);font-size:.74rem;line-height:1;font-weight:700}.tasks-status-chip{color:var(--muted-foreground);background:color-mix(in oklab,var(--card) 98%,#fff)}.tasks-status-chip.tone-opened{border-color:color-mix(in oklab,var(--accent-violet) 22%,var(--border));background:color-mix(in oklab,var(--accent-violet) 8%,#fff);color:color-mix(in oklab,var(--accent-violet) 80%,#000)}.tasks-status-chip.tone-expired{border-color:color-mix(in oklab,var(--danger) 24%,var(--border));background:color-mix(in oklab,var(--danger) 7%,#fff);color:color-mix(in oklab,var(--danger) 82%,var(--foreground))}.tasks-status-chip.tone-inspection{border-color:color-mix(in oklab,#f59e0b 22%,var(--border));background:color-mix(in oklab,#f59e0b 7%,#fff);color:#8a4b00}.tasks-status-chip.tone-done{border-color:color-mix(in oklab,var(--success) 22%,var(--border));background:color-mix(in oklab,var(--success) 7%,#fff);color:color-mix(in oklab,var(--success) 82%,var(--foreground))}.tasks-status-chip.tone-deleted,.tasks-status-chip.tone-unknown{background:color-mix(in oklab,var(--muted) 18%,#fff);color:var(--muted-foreground)}.tasks-mark-chip{border-color:color-mix(in oklab,var(--success) 22%,var(--border));background:color-mix(in oklab,var(--success) 7%,#fff);color:color-mix(in oklab,var(--success) 82%,var(--foreground))}.tasks-card-title{margin:0;color:var(--foreground);font-size:1rem;line-height:1.28;font-weight:700}.tasks-card-subject{margin:-2px 0 0;color:var(--muted-foreground);font-size:.88rem;line-height:1.4}.tasks-card-subject strong{color:var(--foreground)}.tasks-card-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.tasks-card-meta{display:grid;grid-gap:4px;gap:4px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 90%,#fff);background:color-mix(in oklab,var(--muted) 14%,#fff);padding:10px}.tasks-card-meta span{color:var(--muted-foreground);font-size:.75rem;line-height:1.1}.tasks-card-meta strong{color:var(--foreground);font-size:.84rem;line-height:1.25;font-weight:600;min-width:0;overflow-wrap:anywhere}.tasks-card-feedback,.tasks-card-note{display:grid;grid-gap:6px;gap:6px;border-radius:12px;padding:10px}.tasks-card-note{border:1px solid color-mix(in oklab,#f59e0b 22%,var(--border));background:color-mix(in oklab,#f59e0b 5%,#fff)}.tasks-card-feedback{border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--muted) 12%,#fff)}.tasks-card-feedback-title,.tasks-card-note-title{margin:0;font-size:.75rem;line-height:1.1;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.tasks-card-note-title{color:#8a4b00}.tasks-card-feedback-title{color:var(--muted-foreground)}.tasks-card-feedback-text,.tasks-card-note-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--foreground);font-size:.88rem;line-height:1.4}.tasks-card-answer{border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--muted) 10%,#fff);overflow:hidden}.tasks-card-answer summary{cursor:pointer;list-style:none;padding:10px;font-size:.86rem;font-weight:600;color:var(--foreground)}.tasks-card-answer summary::-webkit-details-marker{display:none}.tasks-card-answer summary:focus-visible{outline:none;box-shadow:inset 0 0 0 2px color-mix(in oklab,var(--accent-violet) 28%,transparent)}.tasks-card-answer>div{padding:0 10px 10px;color:var(--muted-foreground);font-size:.86rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.tasks-card-actions{display:flex;flex-wrap:wrap;gap:8px}.tasks-action-link{min-height:34px;border-radius:10px;border:1px solid color-mix(in oklab,var(--accent-blue) 20%,var(--border));background:color-mix(in oklab,var(--accent-blue) 7%,#fff);color:color-mix(in oklab,var(--accent-blue) 78%,#000);padding:0 11px;display:inline-flex;align-items:center;text-decoration:none;font-size:.82rem;font-weight:650;transition:transform .14s ease,box-shadow .16s ease,border-color .16s ease}.tasks-action-link:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent-blue) 30%,var(--border));box-shadow:0 8px 16px rgba(37,99,235,.08)}.tasks-action-link:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-blue) 14%,transparent)}.tasks-action-empty{min-height:34px;border-radius:10px;border:1px dashed color-mix(in oklab,var(--border) 86%,#fff);background:color-mix(in oklab,var(--muted) 12%,#fff);color:var(--muted-foreground);padding:0 11px;display:inline-flex;align-items:center;font-size:.82rem}@media (max-width:1280px){.tasks-grid{grid-template-columns:1fr}}@media (max-width:1024px){.tasks-filter-row{grid-template-columns:1fr}}@media (max-width:768px){.tasks-page{gap:14px}.tasks-filters,.tasks-tabs-wrap{padding:12px}.tasks-tab-link{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 4px);justify-content:center}.tasks-card-meta-grid{grid-template-columns:1fr}.tasks-card-actions{flex-direction:column}.tasks-action-empty,.tasks-action-link{width:100%;justify-content:center}}@media (max-width:390px){.tasks-tabs{display:grid;grid-template-columns:1fr}.tasks-tab-link{width:100%}}@media (prefers-reduced-motion:reduce){.tasks-action-link,.tasks-card,.tasks-retry-button,.tasks-state-loading .tasks-state-icon svg,.tasks-tab-link{transition:none!important;animation:none!important}}.tests-page{display:grid;grid-gap:16px;gap:16px}.tests-page-header,.tests-page-heading{display:grid;grid-gap:6px;gap:6px}.tests-page-heading h2{margin:0;font-size:clamp(1.2rem,1rem + .9vw,1.9rem);line-height:1.15}.tests-page-heading p{margin:0;color:var(--muted-foreground)}.tests-filters{display:grid;grid-gap:10px;gap:10px}.tests-filter-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,320px);grid-gap:10px;gap:10px;align-items:center}.tests-search{position:relative;display:flex;align-items:center}.tests-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted-foreground);pointer-events:none}.tests-search-icon svg{width:18px;height:18px;display:block}.tests-search input,.tests-subject-select select{width:100%;min-height:44px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 86%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);color:var(--foreground);font:inherit;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.tests-search input{padding:0 12px 0 38px}.tests-search input::placeholder{color:color-mix(in oklab,var(--muted-foreground) 78%,#fff)}.tests-search input:hover,.tests-subject-select select:hover{border-color:color-mix(in oklab,var(--accent-violet) 22%,var(--border))}.tests-search input:focus-visible,.tests-subject-select select:focus-visible{outline:none;border-color:color-mix(in oklab,var(--accent-violet) 34%,var(--border));box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-violet) 14%,transparent)}.tests-subject-select{display:flex}.tests-subject-select select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 36px 0 12px;background-image:linear-gradient(45deg,transparent 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,transparent 0);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.tests-inline-warning{border-color:color-mix(in oklab,#f59e0b 24%,var(--border));background:color-mix(in oklab,#f59e0b 7%,var(--card))}.tests-inline-warning p{color:color-mix(in oklab,#8a4b00 75%,var(--foreground))}.tests-list-section{display:grid;grid-gap:10px;gap:10px}.tests-list-topline{color:var(--muted-foreground);font-size:.88rem}.tests-list-topline strong{color:var(--foreground)}.tests-state{min-height:170px;display:grid;grid-gap:10px;gap:10px;place-items:center;align-content:center;text-align:center}.tests-state h3,.tests-state p{margin:0}.tests-state p{max-width:560px}.tests-state-icon{width:52px;height:52px;border-radius:999px;display:grid;place-items:center;background:color-mix(in oklab,var(--accent-violet) 8%,#fff);color:var(--accent-violet)}.tests-state-icon svg{width:22px;height:22px;display:block}.tests-state-icon.muted{background:color-mix(in oklab,var(--muted) 20%,#fff);color:var(--muted-foreground)}.tests-state-loading .tests-state-icon svg{width:36px;height:36px;animation:tests-bounce 1s ease-in-out infinite}@keyframes tests-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.tests-state-error{border-color:color-mix(in oklab,var(--danger) 22%,var(--border));background:color-mix(in oklab,var(--danger) 5%,var(--card))}.tests-state-error p{color:color-mix(in oklab,var(--danger) 82%,var(--foreground))}.tests-retry-button,.tests-start-button{min-height:40px;border-radius:12px;border:1px solid color-mix(in oklab,var(--accent-violet) 24%,var(--border));padding:0 14px;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:650;cursor:pointer;transition:transform .14s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.tests-retry-button{background:color-mix(in oklab,var(--accent-violet) 10%,var(--card));color:color-mix(in oklab,var(--accent-violet) 82%,#000)}.tests-start-button{width:100%;background:color-mix(in oklab,var(--muted) 18%,#fff);color:var(--foreground)}.tests-retry-button:hover,.tests-start-button:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent-violet) 34%,var(--border))}.tests-retry-button:focus-visible,.tests-start-button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-violet) 14%,transparent)}.tests-start-button:disabled{cursor:not-allowed;opacity:.64;transform:none}.tests-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:24px;gap:24px}.tests-grid-item{min-width:0}.tests-card{min-height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:12px;border-radius:16px;border:1px solid color-mix(in oklab,var(--accent-violet) 55%,var(--border));background:color-mix(in oklab,var(--card) 99%,#fff);padding:16px;box-shadow:0 8px 20px rgba(90,44,180,.05);transition:transform .14s ease,border-color .16s ease,box-shadow .16s ease}.tests-card:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(90,44,180,.1)}.tests-card:focus-visible,.tests-card:has(:focus-visible){outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-violet) 16%,transparent),0 14px 28px rgba(90,44,180,.1)}.tests-card-main{display:grid;grid-gap:12px;gap:12px}.tests-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:4px;gap:4px;align-items:start}.tests-info summary,.tests-type-chip{min-height:32px;border-radius:8px;background:color-mix(in oklab,var(--accent-violet) 18%,#fff);color:color-mix(in oklab,var(--accent-violet) 82%,#000);display:inline-flex;align-items:center;gap:6px;border:0;padding:0 10px;font-size:.82rem;font-weight:650}.tests-info summary svg,.tests-type-chip svg{width:18px;height:18px;flex:0 0 auto}.tests-info{position:relative}.tests-info summary{list-style:none;width:34px;justify-content:center;padding:0;cursor:pointer}.tests-info summary::-webkit-details-marker{display:none}.tests-info summary:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-violet) 16%,transparent)}.tests-info-popover{position:absolute;z-index:5;right:0;top:calc(100% + 8px);width:min(240px,75vw);display:grid;grid-gap:10px;gap:10px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 84%,#fff);background:var(--card);box-shadow:0 18px 44px rgba(15,23,42,.16);padding:14px}.tests-info-popover div{display:grid;grid-gap:4px;gap:4px}.tests-info-popover span{color:var(--muted-foreground);font-size:.8rem}.tests-info-popover strong{display:inline-flex;align-items:center;gap:6px;color:var(--accent-htag);font-size:1rem}.tests-info-popover strong svg{width:18px;height:18px}.tests-card-visual{position:relative;width:100%;height:110px;border-radius:16px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--muted) 12%,#fff);overflow:hidden}.tests-card-visual img{width:100%;height:100%;object-fit:contain;padding:18px;display:block}.tests-card-copy{display:grid;grid-gap:6px;gap:6px}.tests-card-copy h3{margin:0;color:var(--accent-htag);font-size:1rem;line-height:1.3;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tests-card-copy p{margin:0;color:var(--muted-foreground);font-size:.78rem;line-height:1.35}.tests-card-footer{display:grid;grid-gap:10px;gap:10px}.tests-card-meta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.tests-attempts,.tests-coins,.tests-debt,.tests-mark,.tests-question-count,.tests-state-chip{min-height:26px;border-radius:999px;border:1px solid color-mix(in oklab,var(--border) 86%,#fff);padding:0 9px;display:inline-flex;align-items:center;gap:4px;color:var(--muted-foreground);background:color-mix(in oklab,var(--card) 98%,#fff);font-size:.74rem;font-weight:700;line-height:1}.tests-question-count svg{width:16px;height:16px;color:var(--accent-violet)}.tests-state-chip.tone-available{border-color:color-mix(in oklab,var(--accent-violet) 24%,var(--border));background:color-mix(in oklab,var(--accent-violet) 8%,#fff);color:color-mix(in oklab,var(--accent-violet) 82%,#000)}.tests-mark.tone-done,.tests-state-chip.tone-done{border-color:color-mix(in oklab,var(--success) 22%,var(--border));background:color-mix(in oklab,var(--success) 7%,#fff);color:color-mix(in oklab,var(--success) 82%,var(--foreground))}.tests-debt.expired,.tests-mark.tone-expired,.tests-state-chip.tone-expired{border-color:color-mix(in oklab,var(--danger) 24%,var(--border));background:color-mix(in oklab,var(--danger) 7%,#fff);color:color-mix(in oklab,var(--danger) 82%,var(--foreground))}.tests-date{color:var(--muted-foreground);font-size:.82rem}.tests-coins{border-color:color-mix(in oklab,#f59e0b 22%,var(--border));background:color-mix(in oklab,#f59e0b 8%,#fff);color:#8a4b00}.tests-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:6px}.tests-pagination button{min-height:36px;border-radius:10px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:var(--card);padding:0 12px;font:inherit;font-weight:600;cursor:pointer}.tests-pagination button:disabled{cursor:not-allowed;opacity:.5}.tests-pagination span{color:var(--muted-foreground);font-size:.88rem}.tests-modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:rgba(15,23,42,.38);padding:18px}.tests-start-dialog{position:relative;width:min(520px,100%);display:grid;grid-gap:14px;gap:14px}.tests-start-dialog h3,.tests-start-dialog p{margin:0}.tests-start-dialog p{color:var(--muted-foreground);line-height:1.5}.tests-dialog-close{position:absolute;top:10px;right:12px;border:0;background:transparent;color:var(--muted-foreground);font-size:1.6rem;line-height:1;cursor:pointer}.tests-dialog-actions{display:flex;gap:10px}.tests-dialog-actions .tests-retry-button,.tests-dialog-actions .tests-start-button{width:auto;flex:1 1}@media (max-width:1280px){.tests-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1024px){.tests-filter-row{grid-template-columns:1fr}.tests-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.tests-page{gap:14px}.tests-filters{padding:12px}.tests-grid{grid-template-columns:1fr}.tests-dialog-actions{flex-direction:column}}@media (max-width:390px){.tests-card{padding:14px}.tests-card-head{grid-template-columns:minmax(0,1fr) 34px}.tests-type-chip{min-width:0}}@media (prefers-reduced-motion:reduce){.tests-card,.tests-retry-button,.tests-start-button,.tests-state-loading .tests-state-icon svg{transition:none!important;animation:none!important}}@media (max-width:768px){.dash-stories-head{flex-direction:column;align-items:flex-start}.dash-stories-count{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between}.dash-story-card{min-width:180px}}@media (max-width:390px){.dash-stories-v2{padding:18px}.dash-stories-title h2{font-size:1.4rem}.dash-story-card{min-width:160px;padding:10px 12px}.dash-story-media{width:48px;height:48px;border-radius:14px}}@media (prefers-reduced-motion:reduce){.dash-story-card,.dash-story-status{transition:none!important;animation:none!important}}.marks-page{display:grid;grid-gap:24px;gap:24px}.marks-page-header,.marks-page-heading{display:grid;grid-gap:8px;gap:8px}.marks-page-heading h2{margin:0}.marks-card-empty,.marks-card-meta dt,.marks-card-subjects span,.marks-exams-comment,.marks-page-heading p,.marks-section-header p,.marks-state p{color:var(--color-muted-foreground)}.marks-card-head,.marks-card-values,.marks-legend-list,.marks-page-controls,.marks-page-view-toggle,.marks-pagination,.marks-pagination-pages{display:flex;flex-wrap:wrap;gap:12px}.marks-page-controls{justify-content:space-between;align-items:flex-end;gap:20px}.marks-marks-section{gap:18px}.marks-page-view-toggle{flex:0 0 auto;padding:5px;border:1px solid color-mix(in srgb,var(--color-border) 82%,transparent);border-radius:18px;background:color-mix(in srgb,var(--color-card) 92%,#fff 8%);box-shadow:0 10px 24px rgba(15,23,42,.08)}.marks-page-view-toggle button,.marks-pagination-button,.marks-state button{border:1px solid transparent;border-radius:14px;background:transparent;color:var(--color-foreground);padding:10px 16px;font:inherit;font-weight:700;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.marks-page-view-toggle button:hover,.marks-pagination-button:hover,.marks-state button:hover{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-card))}.marks-exam-file-link:focus-visible,.marks-page-view-toggle button:focus-visible,.marks-pagination-button:focus-visible,.marks-state button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 35%,transparent)}.marks-page-view-toggle button.is-active,.marks-pagination-button.is-active{background:color-mix(in srgb,var(--color-primary) 88%,#fff 12%);color:var(--color-primary-foreground);border-color:color-mix(in srgb,var(--color-primary) 82%,transparent);box-shadow:none}.marks-page-body{display:grid;grid-gap:24px;gap:24px}.marks-page-section{display:grid;grid-gap:16px;gap:16px}.marks-section-header{display:grid;grid-gap:8px;gap:8px}.marks-legend{display:flex;flex-wrap:wrap;gap:18px;justify-content:flex-start;align-items:center}.marks-legend-block{display:grid;grid-gap:10px;gap:10px}.marks-legend-title{font-size:.95rem;font-weight:700}.marks-chip,.marks-status-chip{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:6px 10px;border-radius:999px;font-size:.9rem;font-weight:700}.marks-status-chip.tone-present{border:1px solid var(--attendance-present-border);background:var(--attendance-present-bg);color:var(--attendance-present-foreground)}.marks-status-chip.tone-late{border:1px solid var(--attendance-late-border);background:var(--attendance-late-bg);color:var(--attendance-late-foreground)}.marks-status-chip.tone-absent{border:1px solid var(--attendance-absent-border);background:var(--attendance-absent-bg);color:var(--attendance-absent-foreground)}.marks-chip{background:color-mix(in oklab,var(--status-neutral-soft) 88%,var(--card));color:var(--status-neutral-foreground);border:1px solid color-mix(in oklab,var(--status-neutral) 18%,var(--border));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.22)}.marks-chip small{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.marks-chip strong{font-size:.95rem}.marks-chip.tone-homework{background:var(--grade-homework-bg);border-color:var(--grade-homework-border);color:var(--grade-homework-foreground)}.marks-chip.tone-labwork{background:var(--grade-labwork-bg);border-color:var(--grade-labwork-border);color:var(--grade-labwork-foreground)}.marks-chip.tone-classwork{background:var(--grade-classwork-bg);border-color:var(--grade-classwork-border);color:var(--grade-classwork-foreground)}.marks-chip.tone-controlwork{background:var(--grade-controlwork-bg);border-color:var(--grade-controlwork-border);color:var(--grade-controlwork-foreground)}.marks-chip.tone-practicalwork{background:var(--grade-practicalwork-bg);border-color:var(--grade-practicalwork-border);color:var(--grade-practicalwork-foreground)}.marks-chip.tone-finalwork{background:var(--grade-finalwork-bg);border-color:var(--grade-finalwork-border);color:var(--grade-finalwork-foreground)}.marks-table-wrap{display:grid;grid-gap:16px;gap:16px;padding:18px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);border-radius:24px;background:color-mix(in oklab,var(--card) 96%,#fff);box-shadow:0 12px 30px rgba(15,23,42,.06)}.marks-table{display:grid;grid-gap:10px;gap:10px}.marks-table-body,.marks-table-head{display:grid;grid-gap:12px;gap:12px}.marks-table-row{display:grid;grid-template-columns:72px minmax(180px,.9fr) minmax(0,2.2fr) 120px;grid-gap:16px;gap:16px;align-items:flex-start}.marks-table-head .marks-table-row{padding:0 8px 6px;font-size:.85rem;font-weight:700;color:var(--status-neutral-foreground);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid color-mix(in oklab,var(--border) 88%,#fff)}.marks-table-row-body{padding:14px 8px 0;border:0;border-radius:0;background:transparent;box-shadow:none}.marks-table-body .marks-table-row-body+.marks-table-row-body{padding-top:14px;border-top:1px solid color-mix(in oklab,var(--border) 88%,#fff)}.marks-table-average,.marks-table-number{font-size:1rem;font-weight:700}.marks-table-average.tone-high{color:color-mix(in oklab,var(--status-success) 84%,var(--foreground))}.marks-table-average.tone-medium{color:color-mix(in oklab,var(--warning) 72%,var(--foreground))}.marks-table-average.tone-low{color:color-mix(in oklab,var(--status-danger) 82%,var(--foreground))}.marks-table-subject{font-size:1rem;font-weight:700}.marks-table-subject-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%}.marks-table-subject-name{display:block;min-width:0}.marks-table-expand-toggle{display:none;align-items:center;justify-content:center;width:28px;min-width:28px;height:28px;padding:0;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);border-radius:999px;background:color-mix(in oklab,var(--card) 98%,#fff);color:var(--foreground);font:inherit;font-size:1rem;font-weight:700;line-height:1;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.marks-table-expand-toggle:hover{background:color-mix(in oklab,var(--accent-blue) 6%,#fff);border-color:color-mix(in oklab,var(--accent-blue) 28%,var(--border))}.marks-table-expand-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-blue) 16%,transparent)}.marks-table-expand-toggle.is-expanded{background:color-mix(in oklab,var(--accent-blue) 12%,#fff);border-color:color-mix(in oklab,var(--accent-blue) 32%,var(--border))}.marks-date-grid,.marks-table-cards{display:grid;grid-gap:12px;gap:12px}.marks-date-grid{width:100%;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));justify-content:stretch;align-items:start;padding:18px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);border-radius:24px;background:color-mix(in oklab,var(--card) 96%,#fff);box-shadow:0 12px 30px rgba(15,23,42,.06)}.marks-date-grid>[role=listitem]{display:flex;justify-content:center}.marks-card{display:flex;flex-direction:column;justify-content:flex-start;gap:8px;padding:12px;border-radius:18px;width:84px;border:1px solid var(--color-border);background:color-mix(in oklab,var(--color-card) 96%,#fff);min-height:84px;box-shadow:0 8px 18px rgba(15,23,42,.08)}.marks-card.tone-present{border-color:var(--attendance-present-border);background:var(--attendance-present-bg);color:var(--attendance-present-foreground)}.marks-card.tone-late{border-color:var(--attendance-late-border);background:var(--attendance-late-bg);color:var(--attendance-late-foreground)}.marks-card.tone-absent{border-color:var(--attendance-absent-border);background:var(--attendance-absent-bg);color:var(--attendance-absent-foreground)}.marks-card-head{display:flex;justify-content:center}.marks-card-date{font-size:.9rem;font-weight:700;text-align:center}.marks-card-empty{font-size:.95rem;font-weight:700;line-height:1.25}.marks-card.is-compact{width:84px;min-height:84px;padding:8px 9px;border-radius:14px}.marks-card.is-compact .marks-card-head{width:auto}.marks-card.is-compact .marks-card-date{font-size:.78rem;line-height:1.1}.marks-card.is-compact .marks-card-values{gap:4px;width:100%}.marks-card.is-compact .marks-chip{min-height:22px;padding:2px 6px;border-radius:10px;gap:4px}.marks-card.is-compact .marks-chip strong{font-size:.75rem}.marks-card-values{--marks-card-chip-gap:4px;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;align-content:flex-start;align-self:stretch;min-height:30px;padding:4px;border-radius:10px;background:hsla(0,0%,100%,.34);gap:var(--marks-card-chip-gap);overflow:hidden}.marks-card-values>.marks-card-empty,.marks-card-values>.marks-chip{display:inline-flex;justify-content:flex-start;align-items:center;text-align:center}.marks-card-values[data-count="2"],.marks-card-values[data-count="3"],.marks-card-values[data-count="4"],.marks-card-values[data-count="5"],.marks-card-values[data-count="6"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.marks-card-values[data-count="2"]>.marks-card-empty,.marks-card-values[data-count="2"]>.marks-chip,.marks-card-values[data-count="3"]>.marks-card-empty:nth-child(-n+2),.marks-card-values[data-count="3"]>.marks-chip:nth-child(-n+2),.marks-card-values[data-count="4"]>.marks-card-empty,.marks-card-values[data-count="4"]>.marks-chip,.marks-card-values[data-count="5"]>.marks-card-empty:nth-child(-n+4),.marks-card-values[data-count="5"]>.marks-chip:nth-child(-n+4),.marks-card-values[data-count="6"]>.marks-card-empty,.marks-card-values[data-count="6"]>.marks-chip{justify-self:center}.marks-card-values[data-count="3"]>.marks-card-empty:last-child,.marks-card-values[data-count="3"]>.marks-chip:last-child,.marks-card-values[data-count="5"]>.marks-card-empty:last-child,.marks-card-values[data-count="5"]>.marks-chip:last-child{justify-self:start}:root.theme-dark .marks-card{color:#f4f4f5;border-color:color-mix(in oklab,var(--border) 92%,#fff);background:color-mix(in oklab,var(--card) 94%,#000);box-shadow:0 14px 30px rgba(0,0,0,.24)}:root.theme-dark .marks-card.tone-present{border-color:var(--attendance-present-border);background:var(--attendance-present-bg);color:var(--attendance-present-foreground)}:root.theme-dark .marks-card.tone-late{border-color:var(--attendance-late-border);background:var(--attendance-late-bg);color:var(--attendance-late-foreground)}:root.theme-dark .marks-card.tone-absent{border-color:var(--attendance-absent-border);background:var(--attendance-absent-bg);color:var(--attendance-absent-foreground)}:root.theme-dark .marks-card-date,:root.theme-dark .marks-card-empty{color:inherit}:root.theme-dark .marks-card-values{background:rgba(9,9,11,.28)}:root.theme-dark .marks-date-grid{box-shadow:0 18px 32px rgba(0,0,0,.22)}:root.theme-dark .marks-chip{border-width:1px;box-shadow:none}:root.theme-dark .marks-chip.tone-homework{background:var(--grade-homework-bg);border-color:var(--grade-homework-border);color:var(--grade-homework-foreground)}:root.theme-dark .marks-chip.tone-labwork{background:var(--grade-labwork-bg);border-color:var(--grade-labwork-border);color:var(--grade-labwork-foreground)}:root.theme-dark .marks-chip.tone-classwork{background:var(--grade-classwork-bg);border-color:var(--grade-classwork-border);color:var(--grade-classwork-foreground)}:root.theme-dark .marks-chip.tone-controlwork{background:var(--grade-controlwork-bg);border-color:var(--grade-controlwork-border);color:var(--grade-controlwork-foreground)}:root.theme-dark .marks-chip.tone-practicalwork{background:var(--grade-practicalwork-bg);border-color:var(--grade-practicalwork-border);color:var(--grade-practicalwork-foreground)}:root.theme-dark .marks-chip.tone-finalwork{background:var(--grade-finalwork-bg);border-color:var(--grade-finalwork-border);color:var(--grade-finalwork-foreground)}:root.theme-dark .marks-table-expand-toggle{background:color-mix(in oklab,var(--card) 94%,#000)}:root.theme-dark .marks-table-expand-toggle.is-expanded{background:color-mix(in oklab,var(--accent-blue) 24%,#000)}.marks-inline-cards{display:flex;flex-wrap:nowrap;gap:6px;align-items:flex-start;overflow:hidden;padding-bottom:0}.marks-table-cards .marks-inline-cards{gap:4px}.marks-table-cards .marks-card.is-compact{width:58px;min-height:64px;padding:6px 5px;border-radius:12px;gap:6px}.marks-table-cards .marks-card.is-compact .marks-card-date{font-size:.66rem;line-height:1}.marks-table-cards .marks-card-values{--marks-card-chip-gap:3px;min-height:24px;padding:3px;border-radius:8px}.marks-table-cards .marks-card.is-compact .marks-chip{min-height:16px;min-width:16px;padding:1px 4px;border-radius:8px}.marks-table-cards .marks-card.is-compact .marks-chip strong{font-size:.64rem;line-height:1}.marks-table-cards .marks-card-empty{font-size:.78rem}.marks-exams-table{padding:18px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);border-radius:24px;background:color-mix(in oklab,var(--card) 96%,#fff);box-shadow:0 12px 30px rgba(15,23,42,.06)}.marks-exams-body,.marks-exams-head,.marks-exams-table{display:grid;grid-gap:10px;gap:10px}.marks-exams-row{display:grid;grid-template-columns:72px minmax(180px,1.2fr) minmax(130px,.9fr) 120px minmax(150px,.9fr) 140px;grid-gap:16px;gap:16px;align-items:flex-start}.marks-exams-head .marks-exams-row{padding:0 8px 6px;font-size:.85rem;font-weight:700;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid color-mix(in oklab,var(--border) 88%,#fff)}.marks-exams-row-body{padding:14px 8px 0;border:0;border-radius:0;background:transparent}.marks-exams-body .marks-exams-row-body+.marks-exams-row-body{padding-top:14px;border-top:1px solid color-mix(in oklab,var(--border) 88%,#fff)}.marks-exams-cell{min-width:0;font-size:.95rem;line-height:1.35}.marks-exams-work{display:grid;grid-gap:8px;gap:8px}.marks-exams-work-status{font-size:.82rem;font-weight:700;color:var(--muted-foreground)}.marks-exams-work-status.is-uploaded{color:color-mix(in oklab,var(--status-success) 84%,var(--foreground))}.marks-exams-work-status.is-missing{color:var(--muted-foreground)}.marks-exams-work-actions{display:flex;flex-wrap:wrap;gap:8px}.marks-exam-upload-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.marks-exams-action-button{display:inline-flex;align-items:center;justify-content:center;width:32px;min-width:32px;height:32px;padding:0;border-radius:10px;border:1px solid color-mix(in oklab,var(--border) 86%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);color:var(--foreground);font-size:.95rem;font-weight:700;text-decoration:none;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.marks-exams-action-button:hover{background:color-mix(in oklab,var(--accent-blue) 6%,#fff);border-color:color-mix(in oklab,var(--accent-blue) 28%,var(--border))}.marks-exams-action-button.is-secondary{background:color-mix(in oklab,var(--muted) 35%,#fff)}.marks-exams-action-button.is-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.marks-exam-mark-cell{position:relative;display:flex;align-items:center;gap:8px}.marks-exam-mark-value{display:inline-flex;align-items:center;justify-content:center;min-width:2.5ch;min-height:28px;padding:0 8px;border-radius:999px;font-size:1rem;font-weight:700;color:var(--foreground)}.marks-exam-mark-value.tone-high{background:color-mix(in oklab,var(--status-success-soft) 88%,#fff);color:var(--status-success-foreground)}.marks-exam-mark-value.tone-medium{background:color-mix(in oklab,var(--status-warning-soft) 88%,#fff);color:var(--status-warning-foreground)}.marks-exam-mark-value.tone-low{background:color-mix(in oklab,var(--status-danger-soft) 88%,#fff);color:var(--status-danger-foreground)}.marks-exam-comment-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;border:1px solid color-mix(in oklab,var(--border) 86%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);color:var(--muted-foreground);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.marks-exam-comment-toggle:hover{color:var(--foreground);border-color:color-mix(in oklab,var(--accent-blue) 28%,var(--border))}.marks-exam-comment-toggle:focus-visible,.marks-exams-action-button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent-blue) 16%,transparent)}.marks-exam-comment-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:2;width:min(280px,32vw);padding:10px 12px;border-radius:12px;border:1px solid color-mix(in oklab,var(--border) 88%,#fff);background:color-mix(in oklab,var(--card) 98%,#fff);box-shadow:0 16px 30px rgba(15,23,42,.14);color:var(--foreground);font-size:.85rem;line-height:1.45}.marks-exams-upload-error{margin:0;color:color-mix(in oklab,var(--danger) 82%,var(--foreground));font-size:.9rem}.marks-exams-subject{display:grid;grid-gap:6px;gap:6px}.marks-exam-mark,.marks-exams-subject strong{font-size:1rem;font-weight:700}.marks-section-header h3{margin:0;font-size:1.08rem;line-height:1.15;font-weight:700}.marks-exams-comment span{font-weight:700;color:var(--color-foreground)}.marks-exam-file-link{color:var(--color-primary);font-weight:700;text-decoration:none}.marks-exam-file-link:hover{text-decoration:underline}.marks-exam-file-missing{color:var(--color-muted-foreground)}.marks-state{display:grid;place-items:center;grid-gap:12px;gap:12px;padding:28px;text-align:center}.marks-spinner{width:28px;height:28px;border-radius:999px;border:3px solid color-mix(in srgb,var(--color-border) 80%,transparent);border-top-color:var(--color-primary);animation:marks-spin .8s linear infinite}@keyframes marks-spin{to{transform:rotate(1turn)}}.marks-exams-section{gap:18px}:root.theme-dark .marks-exams-table{box-shadow:0 18px 32px rgba(0,0,0,.22)}:root.theme-dark .marks-exam-comment-popover,:root.theme-dark .marks-exam-comment-toggle,:root.theme-dark .marks-exams-action-button{background:color-mix(in oklab,var(--card) 94%,#000)}:root.theme-dark .marks-page-view-toggle button.is-active,:root.theme-dark .marks-pagination-button.is-active{background:color-mix(in oklab,var(--color-primary) 78%,#000);border-color:color-mix(in oklab,var(--color-primary) 72%,#000);color:#fff}:root.theme-dark .marks-exam-mark-value.tone-high{background:color-mix(in oklab,var(--status-success-soft) 82%,#000);color:var(--status-success-foreground)}:root.theme-dark .marks-exam-mark-value.tone-medium{background:color-mix(in oklab,var(--status-warning-soft) 82%,#000);color:var(--status-warning-foreground)}:root.theme-dark .marks-exam-mark-value.tone-low{background:color-mix(in oklab,var(--status-danger-soft) 82%,#000);color:var(--status-danger-foreground)}@media (max-width:1279px){.marks-table-row{grid-template-columns:60px minmax(150px,.8fr) minmax(0,1.8fr) 110px}.marks-exams-row{grid-template-columns:56px minmax(0,1.25fr) minmax(110px,.85fr) 100px minmax(120px,.9fr) 120px}}@media (max-width:1023px){.marks-page-controls{align-items:stretch;flex-direction:column}.marks-exams-head,.marks-table-head{display:none}.marks-exams-row,.marks-table-row{grid-template-columns:1fr}.marks-exams-row-body,.marks-table-row-body{gap:12px}.marks-table-row-body{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"number subject" "average average" "cards cards";align-items:center}.marks-exams-cell:before,.marks-table-cell:before{display:block;margin-bottom:4px;font-size:.78rem;font-weight:700;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.04em}.marks-table-cards:before,.marks-table-number:before,.marks-table-subject:before{content:none}.marks-table-average:before{content:attr(data-label)}.marks-table-number{grid-area:number;align-self:start;min-width:20px;font-size:.88rem}.marks-table-subject{grid-area:subject;min-width:0;font-size:.88rem;line-height:1.2}.marks-table-expand-toggle{display:inline-flex}.marks-table-cards{grid-area:cards;display:none}.marks-table-row-body.is-expanded .marks-table-cards{display:grid}.marks-table-average{grid-area:average;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}.marks-table-average:before{display:inline;margin:0;font-size:.8rem;letter-spacing:0}.marks-table-cards .marks-inline-cards{flex-wrap:wrap;overflow:visible;gap:6px}.marks-exams-row-body{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);grid-template-areas:"number subject subject" "work work mark" "teacher teacher teacher" "date date date";align-items:start}.marks-exams-number{grid-area:number;align-self:center;min-width:20px;font-size:.88rem}.marks-exams-subject{grid-area:subject;min-width:0;font-size:.9rem;line-height:1.2}.marks-exams-work{grid-area:work;gap:6px}.marks-exam-mark-cell{grid-area:mark}.marks-exams-teacher{grid-area:teacher}.marks-exams-date{grid-area:date}.marks-exams-number:before,.marks-exams-subject:before{content:none}.marks-exam-mark-cell:before,.marks-exams-date:before,.marks-exams-teacher:before,.marks-exams-work:before{content:attr(data-label)}.marks-exam-mark-cell:before,.marks-exams-work:before{margin-bottom:0}.marks-exams-subject strong{font-size:inherit;line-height:inherit}.marks-exam-mark-cell{justify-content:flex-start;min-width:0;flex-wrap:wrap;align-items:flex-start;gap:6px}.marks-exam-mark-cell:before{width:100%;margin-bottom:0}}@media (max-width:767px){.marks-page,.marks-page-body{gap:18px}.marks-legend,.marks-pagination{flex-direction:column;align-items:stretch}.marks-page-view-toggle{width:100%;flex-wrap:nowrap}.marks-page-view-toggle button{flex:1 1;min-width:0;padding:8px 10px;font-size:.82rem;line-height:1.1;white-space:nowrap}.marks-pagination-button,.marks-pagination-pages{width:100%;justify-content:center}.marks-date-grid{grid-template-columns:repeat(auto-fill,minmax(84px,84px));justify-content:space-between;gap:8px;padding:12px}.marks-card.is-compact{width:84px}.marks-table-cards .marks-card.is-compact{width:auto;min-width:0;min-height:64px;padding:5px 4px}.marks-table-cards .marks-card.is-compact .marks-card-date{font-size:.6rem}.marks-table-cards .marks-card-values{min-height:20px;padding:2px}.marks-table-cards .marks-card.is-compact .marks-chip{min-height:14px;min-width:14px;padding:1px 3px}.marks-table-cards .marks-card.is-compact .marks-chip strong{font-size:.58rem}.marks-table-cards .marks-inline-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(58px,1fr));grid-gap:4px;gap:4px;width:100%;align-items:stretch}}@font-face{font-family:__Inter_fcbcbf;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_fcbcbf;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_fcbcbf;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_fcbcbf;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_fcbcbf;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_fcbcbf;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_fcbcbf;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_fcbcbf;src:local("Arial");ascent-override:90.20%;descent-override:22.48%;line-gap-override:0.00%;size-adjust:107.40%}.__className_fcbcbf{font-family:__Inter_fcbcbf,__Inter_Fallback_fcbcbf;font-style:normal}.__variable_fcbcbf{--font-onest:"__Inter_fcbcbf","__Inter_Fallback_fcbcbf"}@font-face{font-family:__Unbounded_0198fc;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/e546cf32c9d4702c-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Unbounded_0198fc;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/d76fe899475ae4d7-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Unbounded_0198fc;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/8048a25e80cc4179-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Unbounded_0198fc;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/87bc17f7c8b98e48-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Unbounded_0198fc;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/29b98dbfba401fa9-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Unbounded_Fallback_0198fc;src:local("Arial");ascent-override:73.44%;descent-override:18.08%;line-gap-override:0.00%;size-adjust:135.48%}.__className_0198fc{font-family:__Unbounded_0198fc,__Unbounded_Fallback_0198fc;font-style:normal}.__variable_0198fc{--font-unbounded:"__Unbounded_0198fc","__Unbounded_Fallback_0198fc"}