:root{--layout-top-spacing: clamp(8px, 2vw, 16px);--layout-horizontal-padding: clamp(28px, 5vw, 64px);--layout-bottom-padding: clamp(64px, 6vw, 96px)}#root-layout{display:flex;width:100%;min-height:100vh;position:relative;background:transparent;overflow-x:hidden;max-width:100%;box-sizing:border-box}.layout-right-section{position:relative;flex:1;display:flex;flex-direction:column;margin-left:var(--sidebar-width);min-height:100vh;background:transparent;left:0;transition:margin-left .35s ease,left .35s ease,filter .35s ease;--header-offset-left: var(--sidebar-width);overflow:visible;max-width:calc(100% - var(--sidebar-width));box-sizing:border-box;overflow-x:hidden}@supports (height: 100dvh){.layout-right-section{min-height:100dvh}}.layout-content{position:relative;flex:1;width:100%;max-width:100%;margin:0;padding-bottom:var(--layout-bottom-padding);display:flex;flex-direction:column;--layout-stack-gap: clamp(24px, 4vw, 56px);gap:var(--layout-stack-gap);padding-top:calc(var(--app-header-height) + var(--layout-stack-gap) + env(safe-area-inset-top,0px) + 8px);min-height:0;overflow:visible;box-sizing:border-box;overflow-x:hidden}.main-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:visible;box-sizing:border-box;max-width:100%;overflow-x:hidden}.content-wrapper{width:100%;display:flex;flex-direction:column;gap:clamp(20px,3.6vw,40px);padding-bottom:clamp(48px,5vw,80px);margin:0;padding-left:0;padding-right:0;box-sizing:border-box;overflow-x:hidden;max-width:100%}.mobile-feature-notice{background:var(--card-surface);border:1px solid var(--card-border-color, var(--color-border));border-radius:var(--border-radius-lg, 12px);padding:18px 22px;margin-bottom:12px;box-shadow:var(--shadow-sm, 0 12px 30px rgba(16, 25, 38, .08));color:var(--card-body-color, var(--color-text-primary))}.mobile-feature-notice h2{font-size:1.05rem;font-weight:600;margin-bottom:10px;color:var(--card-heading-color, var(--color-text-primary))}.mobile-feature-notice p{margin-bottom:10px;line-height:1.55;color:inherit}.mobile-feature-notice ul{margin:0 0 10px 20px;padding:0;list-style:disc;color:inherit}.mobile-feature-notice li{margin-bottom:6px}.mobile-feature-notice li::marker{color:var(--color-accent)}.page-heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--spacing-3)}.page-heading h1{margin:0}.page-heading .meta{color:var(--color-text-secondary);font-size:.95rem}.header{position:fixed;top:0;left:var(--header-offset-left, 0);right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,3vw,32px);padding:calc(env(safe-area-inset-top,0px) + clamp(18px,3vw,26px)) clamp(24px,4vw,36px) clamp(16px,2.6vw,24px);margin:0;min-height:var(--app-header-height);background:linear-gradient(135deg,var(--color-surface-elevated),rgba(47,128,237,.08));border-bottom:1px solid var(--color-border-soft);border-radius:0;box-shadow:0 18px 38px #0f172a1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:all .3s cubic-bezier(.4,0,.2,1)}.header:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,#2f80ed1f,#ffb40014);opacity:1;pointer-events:none}.header:hover{box-shadow:0 22px 46px #0f172a24}.institution-area{display:flex;align-items:center;gap:var(--spacing-4);min-width:0}.institution-logo{width:clamp(52px,6vw,64px);height:clamp(52px,6vw,64px);object-fit:contain;border-radius:18px;background:var(--color-surface);padding:8px;box-shadow:0 14px 32px #2f80ed2e;transition:transform .3s ease,box-shadow .3s ease}.institution-logo:hover{transform:scale(1.05) rotate(-2deg);box-shadow:0 18px 40px #2f80ed42}.institution-name{font-size:clamp(1.3rem,2.2vw,1.6rem);font-weight:700;letter-spacing:-.01em;color:var(--color-text-primary)}.header-right{display:flex;align-items:center;gap:var(--spacing-3)}.theme-toggle,.sidebar-toggle-btn{min-height:48px;min-width:48px;width:48px;height:48px;border-radius:14px;border:1px solid var(--color-border-soft);background:var(--color-accent);color:var(--color-text-light);display:grid;place-items:center;font-size:1.2rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.theme-toggle:hover,.sidebar-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 18px 30px #2f80ed52;filter:brightness(1.05)}.profile-section{display:flex;align-items:center;gap:var(--spacing-3);padding:6px 18px 6px 12px;border-radius:var(--border-radius-lg);border:1px solid transparent;background:var(--chip-surface);color:var(--color-text-primary);font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border .2s ease}.profile-section:hover{transform:translateY(-2px);box-shadow:var(--shadow-xs);border-color:var(--color-border-soft);background:var(--chip-hover-surface)}.user-info{white-space:nowrap}.profile-circle{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,var(--color-accent),var(--color-primary));color:var(--color-text-light);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;box-shadow:0 16px 30px #2362c059;transition:transform .3s ease}.profile-section:hover .profile-circle{transform:rotate(5deg) scale(1.05)}.card{position:relative;background:var(--card-surface);border-radius:var(--border-radius-xl);border:1px solid var(--card-border-color);padding:clamp(24px,4vw,36px);box-shadow:var(--shadow-sm);transition:all .4s cubic-bezier(.4,0,.2,1);overflow-x:hidden;overflow-y:visible;color:var(--card-body-color);will-change:transform;width:100%;max-width:100%;margin-left:0;margin-right:0;box-sizing:border-box}.card:after{content:"";position:absolute;inset:0;background:var(--card-overlay);opacity:0;transition:opacity .3s ease;pointer-events:none}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-border-soft)}.card:hover:after{opacity:.15}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.card-title{font-size:1.1rem;font-weight:600;color:var(--card-heading-color)}.card-subtitle{color:var(--card-muted-color);font-size:.95rem}.card p{color:var(--card-muted-color)}.card-actions{display:flex;align-items:center;gap:var(--spacing-2)}.btn{min-height:var(--btn-min-target-size, 44px);min-width:var(--btn-min-target-size, 44px);display:inline-flex;align-items:center;justify-content:center;gap:var(--btn-gap, var(--spacing-2));padding:var(--btn-padding-y, var(--spacing-3)) var(--btn-padding-x, var(--spacing-4));border-radius:var(--btn-radius, var(--border-radius-lg));border:1px solid var(--btn-border-color, var(--btn-surface-border));background:var(--btn-bg, var(--btn-surface));color:var(--btn-color, var(--color-text-primary));font-weight:600;font-size:var(--btn-font-size, .95rem);letter-spacing:.01em;line-height:1.1;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border .2s ease,color .2s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;text-decoration:none;box-shadow:var(--btn-shadow, none)}.btn svg{width:1.05em;height:1.05em;fill:currentColor;transition:transform .2s ease}.btn:hover:not(:disabled){transform:translateY(-2px);background:var(--btn-hover-bg, var(--btn-bg, var(--btn-surface)));color:var(--btn-hover-color, var(--btn-color, var(--color-text-primary)));border-color:var(--btn-hover-border-color, var(--btn-border-color, var(--btn-surface-border)));box-shadow:var(--btn-hover-shadow, var(--btn-shadow, none))}.btn:active:not(:disabled){transform:translateY(0);background:var(--btn-active-bg, var(--btn-hover-bg, var(--btn-bg, var(--btn-surface))));border-color:var(--btn-active-border-color, var(--btn-hover-border-color, var(--btn-border-color, var(--btn-surface-border))));box-shadow:var(--btn-active-shadow, var(--btn-shadow, none))}.btn:focus-visible{outline:3px solid var(--btn-focus-ring, var(--focus-ring-primary));outline-offset:var(--btn-focus-offset, 2px);box-shadow:var(--btn-focus-shadow, var(--btn-shadow, none))}.btn:disabled{opacity:var(--btn-disabled-opacity, var(--btn-disabled-opacity-base, .55));cursor:not-allowed;transform:none;background:var(--btn-disabled-bg, var(--btn-bg, var(--btn-surface)));color:var(--btn-disabled-color, var(--btn-color, var(--color-text-primary)));border-color:var(--btn-disabled-border, var(--btn-border-color, var(--btn-surface-border)));box-shadow:none}.btn--primary,.btn-primary{--btn-bg: var(--btn-primary-bg);--btn-color: var(--btn-primary-text);--btn-border-color: var(--btn-primary-border, transparent);--btn-hover-bg: var(--btn-primary-hover-bg);--btn-hover-color: var(--btn-primary-text);--btn-hover-border-color: var(--btn-primary-hover-border, transparent);--btn-active-bg: var(--btn-primary-active-bg);--btn-active-border-color: var(--btn-primary-hover-border, transparent);--btn-shadow: var(--btn-primary-shadow);--btn-hover-shadow: var(--btn-primary-hover-shadow);--btn-active-shadow: var(--btn-primary-shadow);--btn-focus-ring: var(--btn-primary-focus-ring);--btn-disabled-bg: var(--btn-primary-disabled-bg);--btn-disabled-color: var(--btn-primary-disabled-text);--btn-disabled-border: transparent;--btn-disabled-opacity: var(--btn-primary-disabled-opacity, var(--btn-disabled-opacity-base, .55))}.btn--secondary,.btn-secondary{--btn-bg: var(--btn-secondary-bg);--btn-color: var(--btn-secondary-text);--btn-border-color: var(--btn-secondary-border);--btn-hover-bg: var(--btn-secondary-hover-bg);--btn-hover-color: var(--btn-secondary-text);--btn-hover-border-color: var(--btn-secondary-hover-border);--btn-active-bg: var(--btn-secondary-active-bg);--btn-active-border-color: var(--btn-secondary-hover-border);--btn-shadow: var(--btn-secondary-shadow);--btn-hover-shadow: var(--btn-secondary-hover-shadow);--btn-active-shadow: var(--btn-secondary-shadow);--btn-focus-ring: var(--btn-secondary-focus-ring);--btn-disabled-bg: var(--btn-secondary-disabled-bg);--btn-disabled-color: var(--btn-secondary-disabled-text);--btn-disabled-border: var(--btn-secondary-disabled-border)}.btn--danger,.btn-danger{--btn-bg: var(--btn-danger-bg);--btn-color: var(--btn-danger-text);--btn-border-color: var(--btn-danger-border, transparent);--btn-hover-bg: var(--btn-danger-hover-bg);--btn-hover-color: var(--btn-danger-text);--btn-hover-border-color: var(--btn-danger-hover-border, transparent);--btn-active-bg: var(--btn-danger-active-bg);--btn-active-border-color: var(--btn-danger-hover-border, transparent);--btn-shadow: var(--btn-danger-shadow);--btn-hover-shadow: var(--btn-danger-hover-shadow);--btn-active-shadow: var(--btn-danger-shadow);--btn-focus-ring: var(--btn-danger-focus-ring);--btn-disabled-bg: var(--btn-danger-disabled-bg);--btn-disabled-color: var(--btn-danger-disabled-text);--btn-disabled-border: transparent}.btn--text,.btn-text{--btn-bg: transparent;--btn-color: var(--btn-text-color);--btn-border-color: transparent;--btn-hover-bg: var(--btn-text-hover-bg);--btn-hover-color: var(--btn-text-hover-color);--btn-hover-border-color: transparent;--btn-active-bg: var(--btn-text-hover-bg);--btn-active-border-color: transparent;--btn-shadow: none;--btn-hover-shadow: none;--btn-focus-ring: var(--btn-text-focus-ring);--btn-disabled-bg: transparent;--btn-disabled-border: transparent;--btn-disabled-color: var(--btn-text-disabled-color);--btn-disabled-opacity: 1}.btn-soft-success{background:#22c55e2e;border-color:#22c55e52;color:var(--color-success-strong)}.btn-soft-success:hover{background:#22c55e42}.btn-soft-danger{background:#f8717133;border-color:#f871715c;color:var(--color-error-strong)}.btn-soft-danger:hover{background:#f8717147}html.dark .btn-soft-success{background:#22c55e38;border-color:#22c55e5c;color:var(--alert-success-text)}html.dark .btn-soft-success:hover{background:#22c55e4d}html.dark .btn-soft-danger{background:#f871713d;border-color:#f8717166;color:var(--color-danger-strong)}html.dark .btn-soft-danger:hover{background:#f8717152}.btn-sm{--btn-padding-y: var(--spacing-2);--btn-padding-x: var(--spacing-3);--btn-font-size: .85rem;--btn-radius: 10px;--btn-min-target-size: 38px}.form-group{display:flex;flex-direction:column;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.form-group label{font-weight:600;color:var(--color-text-secondary)}.form-group input,.form-group select,.form-group textarea,.search-input{width:100%;padding:var(--spacing-3);border-radius:var(--border-radius-md);border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-primary);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;caret-color:var(--color-accent)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.search-input:focus{outline:none;border-color:var(--color-accent);background:var(--color-surface);box-shadow:0 0 0 2px var(--focus-ring-inner),0 0 0 4px var(--focus-ring-color)}.form-group input::placeholder,.form-group textarea::placeholder,.search-input::placeholder{color:var(--color-text-muted)}.form-group select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 4px),calc(100% - 13px) calc(50% - 4px);background-size:6px 6px;background-repeat:no-repeat;padding-right:calc(var(--spacing-4) + 18px)}.form-group select option{background:var(--color-surface);color:var(--color-text-primary)}.modal-backdrop{position:fixed;inset:0;background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:var(--spacing-5);z-index:9999;animation:fadeIn .2s ease-out;overflow-x:hidden;overflow-y:auto;box-sizing:border-box}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{width:min(95%,640px);max-height:85vh;overflow-y:auto;overflow-x:hidden;background:var(--color-surface);border-radius:var(--border-radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);padding:clamp(24px,4vw,36px);display:flex;flex-direction:column;gap:var(--spacing-4);animation:modalSlideIn .3s ease-out;position:relative;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;box-sizing:border-box;max-width:100%}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:transparent;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}[role=dialog][aria-modal=true]::-webkit-scrollbar{width:8px}[role=dialog][aria-modal=true]::-webkit-scrollbar-track{background:transparent;border-radius:4px}[role=dialog][aria-modal=true]::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}[role=dialog][aria-modal=true]::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.modal-content.large,.modal-content.user-manager-modal,.modal-content.institution-modal-content{width:min(98%,1200px);max-height:92vh;overflow-x:hidden;box-sizing:border-box;max-width:100%}@media(min-width:992px){.modal-content.large,.modal-content.user-manager-modal,.modal-content.institution-modal-content{width:min(98%,calc(100vh * 16 / 9 * .8),1200px)}}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-3);margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--color-border)}@media(max-width:640px){.modal-backdrop{padding:var(--spacing-3)}.modal-content{padding:var(--spacing-4);width:100%;max-height:95vh;border-radius:var(--border-radius-lg)}.modal-content.large,.modal-content.user-manager-modal,.modal-content.institution-modal-content{width:100%;max-height:95vh;padding:var(--spacing-3)}.modal-actions{flex-direction:column;align-items:stretch;gap:var(--spacing-2)}.modal-actions .btn{width:100%;justify-content:center}}.alert{--alert-bg: var(--glass-surface);--alert-border: var(--color-border-soft);--alert-text: var(--color-text-primary);--alert-highlight: linear-gradient(135deg, rgba(47, 128, 237, .16), rgba(255, 180, 0, .12));--alert-button-bg: var(--chip-surface);--alert-button-hover: var(--chip-hover-surface);--alert-button-text: var(--color-accent);position:fixed;right:clamp(16px,4vw,32px);bottom:var(--toast-bottom-offset, clamp(16px, 4vw, 32px));z-index:10000;min-width:280px;max-width:min(420px,calc(100% - 32px));display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-5);border-radius:var(--border-radius-lg);border:1px solid var(--alert-border);background:var(--alert-bg);color:var(--alert-text);box-shadow:var(--shadow-lg);transform:translateY(120%);opacity:0;animation:toastSlideIn .35s ease forwards,toastHide .4s ease-in forwards 6s;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;will-change:transform,opacity;transition:box-shadow .3s ease;overflow:hidden}.alert:before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--alert-highlight);opacity:0;transition:opacity .3s ease;pointer-events:none}.alert:hover{animation-play-state:running,paused;box-shadow:var(--shadow-xl)}.alert:hover:before{opacity:1}.alert>*{position:relative;z-index:1}.alert button,.alert .btn{margin-left:auto;border:none;background:var(--alert-button-bg);color:var(--alert-button-text);padding:var(--spacing-2) var(--spacing-3);border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.alert button:hover,.alert .btn:hover{background:var(--alert-button-hover);transform:translateY(-1px)}.alert-success{--alert-bg: var(--alert-success-bg);--alert-border: var(--alert-success-border);--alert-text: var(--alert-success-text);--alert-highlight: color-mix(in srgb, var(--alert-success-border) 22%, transparent);--alert-button-bg: color-mix(in srgb, var(--alert-success-border) 18%, transparent);--alert-button-hover: color-mix(in srgb, var(--alert-success-border) 28%, transparent);--alert-button-text: var(--alert-success-text)}.alert-error{--alert-bg: linear-gradient(135deg, rgba(214, 69, 69, .22), rgba(142, 34, 34, .08));--alert-border: rgba(194, 59, 59, .32);--alert-text: var(--color-error-strong);--alert-highlight: linear-gradient(135deg, rgba(214, 69, 69, .16), rgba(142, 34, 34, .12));--alert-button-bg: rgba(214, 69, 69, .12);--alert-button-hover: rgba(214, 69, 69, .2);--alert-button-text: var(--color-error-strong)}.alert-info{--alert-bg: var(--alert-info-bg);--alert-border: var(--alert-info-border);--alert-text: var(--alert-info-text);--alert-highlight: color-mix(in srgb, var(--alert-info-border) 22%, transparent);--alert-button-bg: color-mix(in srgb, var(--alert-info-border) 18%, transparent);--alert-button-hover: color-mix(in srgb, var(--alert-info-border) 28%, transparent);--alert-button-text: var(--alert-info-text)}.alert-warning{--alert-bg: var(--alert-warning-bg);--alert-border: var(--alert-warning-border);--alert-text: var(--alert-warning-text);--alert-highlight: color-mix(in srgb, var(--alert-warning-border) 24%, transparent);--alert-button-bg: color-mix(in srgb, var(--alert-warning-border) 18%, transparent);--alert-button-hover: color-mix(in srgb, var(--alert-warning-border) 28%, transparent);--alert-button-text: var(--alert-warning-text)}html:not(.dark) .alert{--alert-border: rgba(16, 25, 38, .08);--alert-text: var(--color-text-primary)}html:not(.dark) .alert-success{--alert-bg: var(--alert-success-bg);--alert-border: var(--alert-success-border);--alert-text: var(--alert-success-text)}html:not(.dark) .alert-error{--alert-bg: linear-gradient(135deg, rgba(214, 69, 69, .28), rgba(142, 34, 34, .14));--alert-border: rgba(185, 28, 28, .35);--alert-text: var(--color-error-strong);--alert-highlight: linear-gradient(135deg, rgba(214, 69, 69, .2), rgba(142, 34, 34, .16));--alert-button-bg: rgba(214, 69, 69, .18);--alert-button-hover: rgba(214, 69, 69, .26);--alert-button-text: var(--color-error-strong)}html:not(.dark) .alert-info{--alert-bg: var(--alert-info-bg);--alert-border: var(--alert-info-border);--alert-text: var(--alert-info-text)}.license-suspended-banner{display:flex;align-items:center;gap:var(--spacing-4);padding:clamp(18px,2.8vw,28px);border-radius:20px;background:linear-gradient(135deg,var(--alert-error-bg),color-mix(in srgb,var(--color-error-strong) 10%,transparent));border:1px solid var(--alert-error-border);color:var(--color-error-strong);box-shadow:var(--shadow-md)}.corporate-profile-alert{display:flex;align-items:center;gap:var(--spacing-4);padding:clamp(18px,2.6vw,26px);border-radius:20px;background:var(--alert-info-bg);border:1px solid var(--alert-info-border);color:var(--color-text-primary);box-shadow:var(--shadow-md)}.corporate-profile-alert .alert-icon{width:52px;height:52px;border-radius:16px;background:var(--color-blue-soft-bg);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--color-accent-dark)}.corporate-profile-alert .alert-content{flex:1;display:flex;flex-direction:column;gap:6px}.corporate-profile-alert .alert-content h3{margin:0;font-size:1.05rem;font-weight:700}.corporate-profile-alert .alert-content p{margin:0;color:var(--color-text-secondary);font-size:.95rem;line-height:1.5}.corporate-profile-alert .alert-meta{font-size:.85rem;color:var(--card-muted-color)}.corporate-profile-alert .alert-actions{display:flex;align-items:center}.license-suspended-banner .banner-icon{width:56px;height:56px;border-radius:16px;background:var(--color-danger-soft-bg);display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:var(--color-error-strong)}.license-suspended-banner .banner-content{flex:1;display:flex;flex-direction:column;gap:6px}.license-suspended-banner .banner-content h3{margin:0;font-size:1.1rem;font-weight:700}.license-suspended-banner .banner-content p{margin:0;color:var(--color-text-secondary);font-size:.95rem;line-height:1.55}.license-suspended-banner .banner-actions{display:flex;align-items:center}.license-banner-button{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);border-radius:12px;border:none;background:var(--color-danger-soft-bg);color:var(--color-error-strong);font-weight:600;font-size:.95rem;cursor:pointer;transition:transform .2s ease,background .2s ease}.license-banner-button:hover{background:color-mix(in srgb,var(--color-danger-soft-bg) 120%,transparent);transform:translateY(-1px)}html.dark .license-suspended-banner{background:linear-gradient(135deg,color-mix(in srgb,var(--color-danger) 16%,transparent),color-mix(in srgb,var(--color-error-strong) 20%,transparent));border-color:var(--alert-error-border);color:var(--color-error-strong)}html.dark .corporate-profile-alert{background:var(--alert-info-bg);border-color:var(--alert-info-border);color:var(--color-text-primary)}html.dark .corporate-profile-alert .alert-icon{background:var(--color-blue-soft-bg);color:var(--color-accent)}html.dark .corporate-profile-alert .alert-content p{color:var(--color-text-secondary)}html.dark .corporate-profile-alert .alert-meta{color:var(--card-muted-color)}html.dark .license-suspended-banner .banner-icon,html.dark .license-banner-button{background:var(--color-danger-soft-bg);color:var(--color-error-strong)}html.dark .license-banner-button:hover{background:color-mix(in srgb,var(--color-danger-soft-bg) 120%,transparent)}@media(max-width:640px){.license-suspended-banner{flex-direction:column;align-items:flex-start;text-align:left}.license-suspended-banner .banner-actions{width:100%}.license-banner-button{width:100%;justify-content:center}.corporate-profile-alert{flex-direction:column;align-items:flex-start;text-align:left}.corporate-profile-alert .alert-actions{width:100%;justify-content:flex-start}}@keyframes toastSlideIn{0%{transform:translateY(120%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toastHide{0%{opacity:1}to{opacity:0;transform:translateY(120%)}}.table-container{border:1px solid var(--color-border);border-radius:var(--border-radius-lg);overflow-x:auto;overflow-y:visible;background:var(--color-surface);box-shadow:var(--shadow-xs);max-width:100%;box-sizing:border-box;-webkit-overflow-scrolling:touch}.table-scroll-wrapper{overflow-x:auto;overflow-y:visible;max-width:100%;-webkit-overflow-scrolling:touch;box-sizing:border-box}.data-table{width:100%;border-collapse:collapse;table-layout:auto;max-width:100%;box-sizing:border-box}.data-table th,.data-table td{padding:var(--spacing-3) var(--spacing-4);text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);line-height:1.45;word-break:break-word;overflow-wrap:anywhere}.data-table th{background:var(--color-surface-alt);color:var(--color-text-secondary);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.data-table tbody tr:nth-child(2n){background:var(--color-surface-muted)}.data-table tbody tr:hover{background:var(--color-hover)}.data-table tbody tr:last-child td{border-bottom:none}.action-buttons{display:inline-flex;gap:var(--spacing-2)}@media print{.no-print{display:none!important}}.loading-fullscreen{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.5rem;color:var(--color-accent)}.sidebar-toggle-btn{min-height:48px;min-width:48px;display:none}.sidebar-overlay{display:none;position:fixed;inset:0;background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;touch-action:none;cursor:pointer}.connection-error-backdrop{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:clamp(24px,5vw,48px);background:#0f172abd;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .2s ease-out}.connection-error-card{width:min(440px,100%);background:var(--glass-surface);border-radius:var(--border-radius-xl);border:1px solid var(--color-border-soft);box-shadow:var(--shadow-xl);color:var(--color-text-primary);padding:clamp(24px,4vw,36px);display:flex;flex-direction:column;gap:var(--spacing-3);text-align:center}.connection-error-icon{font-size:clamp(2.4rem,5vw,3rem);color:var(--color-accent)}.connection-error-card h2{margin:0;font-size:clamp(1.3rem,3vw,1.6rem)}.connection-error-card p{margin:0;color:var(--color-text-secondary)}.connection-error-retry{align-self:center;min-width:180px;padding:.75rem 1.6rem;border-radius:var(--border-radius-lg);border:none;font-weight:600;font-size:1rem;color:var(--color-text-light);cursor:pointer;background:linear-gradient(135deg,var(--color-accent),var(--color-primary));box-shadow:0 22px 40px #2362c059;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.connection-error-retry:hover{transform:translateY(-2px);box-shadow:0 26px 48px #2362c06b;filter:brightness(1.05)}.connection-error-retry:focus-visible{outline:3px solid rgba(47,128,237,.35);outline-offset:4px}@media(min-width:992px){.layout-content{max-width:min(100%,calc((100vh - var(--app-header-height)) * 16 / 9));margin-left:auto;margin-right:auto}.content-wrapper,.main-content{max-width:100%}}@media(max-width:1440px){.layout-content{--layout-bottom-padding: clamp(48px, 6vw, 80px)}}@media(max-width:1200px){.layout-content{width:100%}}@media(max-width:992px){.layout-right-section{margin-left:0;--header-offset-left: 0;max-width:100%}#root-layout.sidebar-open .layout-right-section{left:var(--sidebar-width);--header-offset-left: var(--sidebar-width);filter:brightness(.7)}#root-layout.sidebar-open .sidebar-overlay{display:block}.sidebar-toggle-btn{display:grid}}@media(max-width:768px){.layout-content,.content-wrapper,.main-content{max-width:100%;overflow-x:hidden}.header{gap:var(--spacing-3);padding:calc(env(safe-area-inset-top,0px) + clamp(14px,5vw,20px)) clamp(20px,6vw,28px) clamp(12px,4vw,18px)}.institution-area{gap:var(--spacing-3)}.modal-backdrop{padding:var(--spacing-3)}.modal-content,.modal-content.large,.modal-content.user-manager-modal,.modal-content.institution-modal-content{width:100%;max-width:100%;max-height:90vh}}@media(max-width:576px){.layout-content{max-width:100%;overflow-x:hidden;width:100%}.content-wrapper,.main-content{max-width:100%;width:100%;overflow-x:hidden}.layout-right-section{max-width:100%;overflow-x:hidden}.institution-name{font-size:1.2rem}.user-info{display:none}.profile-section{padding:8px 14px}.profile-circle{width:40px;height:40px}.btn{min-height:48px;padding:var(--spacing-3) var(--spacing-4);font-size:.95rem}.form-group input,.form-group select,.form-group textarea,.search-input{font-size:16px;min-height:48px;padding:var(--spacing-3) var(--spacing-4)}.alert{min-width:calc(100% - 24px);max-width:calc(100% - 24px);left:12px;right:12px;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--border-radius-md)}.card{padding:var(--spacing-4);border-radius:var(--border-radius-lg)}.page-heading{gap:var(--spacing-2)}.page-heading h1{font-size:1.5rem}}.dark .form-group select{background-color:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border)}.dark .form-group select:focus{background-color:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-accent);box-shadow:0 0 0 2px var(--focus-ring-inner),0 0 0 4px var(--focus-ring-color)}.dark .form-group select option{background:var(--color-surface);color:var(--color-text-primary)}.dark .form-group select:hover{background-color:var(--color-surface-alt);border-color:var(--color-border-strong)}:root{color-scheme:light;--sidebar-width: 288px;--app-header-height: 88px;--font-family-sans: "Poppins", "Inter", "Segoe UI", "Roboto", sans-serif;--font-size-base: 15px;--line-height-base: 1.6;--line-height-tight: 1.22;--line-height-snug: 1.4;--type-heading-xl: clamp(2.1rem, 3vw, 2.6rem);--type-heading-lg: clamp(1.75rem, 2.6vw, 2.2rem);--type-heading-md: clamp(1.4rem, 2.2vw, 1.8rem);--type-heading-sm: clamp(1.15rem, 2vw, 1.45rem);--type-lead: clamp(1.05rem, 1.9vw, 1.24rem);--type-body: 1rem;--type-body-sm: .95rem;--type-meta: .78rem;--metric-icon-size: 48px;--metric-icon-radius: 14px;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 24px;--spacing-6: 32px;--spacing-7: 40px;--spacing-8: 56px;--border-radius-md: 12px;--border-radius-lg: 18px;--border-radius-xl: 26px;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--color-primary: #ffb400;--color-primary-dark: #cc8f00;--color-primary-soft: rgba(255, 180, 0, .16);--color-primary-softer: rgba(255, 180, 0, .08);--color-secondary: #101926;--color-secondary-dark: #0b1320;--color-accent: #2f80ed;--color-accent-dark: #1f67d7;--color-accent-soft: rgba(47, 128, 237, .16);--color-app-gradient: linear-gradient(180deg, #f3f6f9 0%, #ffffff 24%, #f3f6f9 100%);--color-background: #f3f6f9;--color-background-alt: #ffffff;--color-surface: #ffffff;--color-surface-alt: #f7faff;--color-surface-muted: #ecf1f8;--color-surface-elevated: #ffffff;--color-sidebar: #101926;--color-text-primary: #101926;--color-text-secondary: #4a5d7c;--color-text-muted: #7688a3;--color-text-light: #ffffff;--surface-neutral-50: #f8fafc;--surface-neutral-100: #f1f5f9;--surface-neutral-200: #e2e8f0;--surface-positive: #ecfdf3;--surface-negative: #fee2e2;--surface-warning: #fef3c7;--gradient-accent-start: #4f9cff;--gradient-accent-end: #2563eb;--gradient-accent: linear-gradient(135deg, var(--gradient-accent-start), var(--gradient-accent-end));--gradient-azure-start: #3b82f6;--gradient-azure-end: #2563eb;--gradient-azure: linear-gradient(135deg, var(--gradient-azure-start), var(--gradient-azure-end));--gradient-purple-start: #667eea;--gradient-purple-end: #764ba2;--gradient-purple: linear-gradient(135deg, var(--gradient-purple-start), var(--gradient-purple-end));--gradient-emerald-start: #10b981;--gradient-emerald-end: #059669;--gradient-emerald: linear-gradient(135deg, var(--gradient-emerald-start), var(--gradient-emerald-end));--gradient-amber-start: #fbbf24;--gradient-amber-end: #d97706;--gradient-amber: linear-gradient(135deg, var(--gradient-amber-start), var(--gradient-amber-end));--gradient-rose-start: #f87171;--gradient-rose-end: #ef4444;--gradient-rose: linear-gradient(135deg, var(--gradient-rose-start), var(--gradient-rose-end));--gradient-magenta-start: #ec4899;--gradient-magenta-end: #d946ef;--gradient-magenta: linear-gradient(135deg, var(--gradient-magenta-start), var(--gradient-magenta-end));--color-success: #16a34a;--color-success-soft-bg: rgba(34, 197, 94, .18);--color-success-strong: #1b873d;--color-error: #dc2626;--color-error-soft-bg: rgba(214, 69, 69, .14);--color-error-strong: #b91c1c;--color-warning: #f59e0b;--color-warning-soft-bg: rgba(255, 180, 0, .22);--color-warning-strong: #b45309;--color-info-soft-bg: rgba(47, 128, 237, .16);--color-info-soft: rgba(47, 128, 237, .12);--color-info: #2f80ed;--color-info-strong: #1f67d7;--color-info-border: rgba(47, 128, 237, .22);--color-blue-soft-bg: rgba(47, 128, 237, .12);--color-blue-strong: #1d4ed8;--color-danger: #b42323;--color-danger-soft-bg: rgba(180, 35, 35, .14);--color-danger-strong: #7f1d1d;--color-purple-soft-bg: rgba(102, 126, 234, .16);--color-purple-strong: #764ba2;--focus-ring-color: rgba(37, 99, 235, .6);--focus-ring-inner: rgba(37, 99, 235, .18);--color-neutral-soft-bg: rgba(16, 25, 38, .06);--color-neutral-strong: rgba(16, 25, 38, .62);--alert-success-bg: #ecfdf3;--alert-success-border: #16a34a;--alert-success-text: #166534;--alert-info-bg: #eef4ff;--alert-info-border: #2f80ed;--alert-info-text: #1d4ed8;--alert-warning-bg: #fff7ed;--alert-warning-border: #f59e0b;--alert-warning-text: #9a3412;--color-border: rgba(16, 25, 38, .08);--color-border-soft: rgba(47, 128, 237, .08);--color-border-strong: rgba(16, 25, 38, .18);--color-hover: rgba(47, 128, 237, .08);--card-surface: linear-gradient(150deg, rgba(255, 255, 255, .98), rgba(243, 246, 249, .94));--card-surface-alt: linear-gradient(150deg, rgba(247, 250, 255, .96), rgba(234, 242, 255, .9));--card-surface-soft: linear-gradient(135deg, rgba(248, 250, 252, .96), rgba(255, 255, 255, .98));--card-border-color: rgba(47, 128, 237, .14);--card-heading-color: #0f172a;--card-body-color: rgba(15, 23, 42, .92);--card-muted-color: rgba(30, 41, 59, .62);--shadow-xs: 0 4px 12px rgba(16, 25, 38, .05);--shadow-sm: 0 12px 30px rgba(16, 25, 38, .08);--shadow-md: 0 20px 44px rgba(16, 25, 38, .12);--shadow-lg: 0 28px 60px rgba(16, 25, 38, .15);--shadow-xl: 0 42px 88px rgba(16, 25, 38, .18);--glass-surface: rgba(255, 255, 255, .9);--glass-surface-hover: #f1f6ff;--glass-surface-soft: rgba(255, 255, 255, .85);--glass-surface-strong: rgba(255, 255, 255, .95);--glass-overlay-soft: rgba(255, 255, 255, .25);--glass-overlay-strong: rgba(255, 255, 255, .75);--card-overlay: linear-gradient(135deg, rgba(47, 128, 237, .01), rgba(255, 180, 0, .01));--focus-ring-primary: rgba(47, 128, 237, .32);--focus-ring-strong: rgba(47, 128, 237, .48);--focus-ring-inverse: rgba(15, 23, 42, .55);--btn-min-target-size: 44px;--btn-padding-y: var(--spacing-3);--btn-padding-x: var(--spacing-4);--btn-gap: var(--spacing-2);--btn-font-size: .95rem;--btn-radius: var(--border-radius-lg);--btn-disabled-opacity-base: .55;--btn-disabled-bg: rgba(16, 25, 38, .06);--btn-disabled-border: rgba(16, 25, 38, .12);--btn-disabled-text: rgba(16, 25, 38, .45);--button-surface: #ffffff;--button-hover-surface: #eef4ff;--btn-surface: var(--button-surface);--btn-surface-border: var(--color-border);--btn-surface-hover: var(--button-hover-surface);--btn-surface-hover-border: var(--color-border-soft);--btn-primary-bg: linear-gradient(135deg, #2f80ed, #1f67d7);--btn-primary-hover-bg: linear-gradient(135deg, #3b8ff5, #226fe6);--btn-primary-active-bg: linear-gradient(135deg, #2a73d7, #1b5ec4);--btn-primary-text: #ffffff;--btn-primary-border: transparent;--btn-primary-hover-border: transparent;--btn-primary-shadow: 0 18px 36px rgba(35, 98, 192, .35);--btn-primary-hover-shadow: 0 22px 42px rgba(35, 98, 192, .4);--btn-primary-focus-ring: rgba(47, 128, 237, .5);--btn-primary-disabled-bg: rgba(47, 128, 237, .32);--btn-primary-disabled-text: rgba(255, 255, 255, .82);--btn-primary-disabled-opacity: .7;--secondary-button-surface: rgba(255, 180, 0, .16);--secondary-button-hover: rgba(255, 180, 0, .24);--secondary-button-border: rgba(255, 180, 0, .36);--secondary-button-border-hover: rgba(255, 180, 0, .5);--secondary-button-text: #101926;--secondary-button-shadow: 0 16px 28px rgba(255, 180, 0, .16);--secondary-button-hover-shadow: 0 18px 32px rgba(255, 180, 0, .22);--btn-secondary-bg: var(--secondary-button-surface);--btn-secondary-hover-bg: var(--secondary-button-hover);--btn-secondary-active-bg: linear-gradient(135deg, rgba(255, 180, 0, .28), rgba(255, 196, 92, .38));--btn-secondary-text: var(--secondary-button-text);--btn-secondary-border: var(--secondary-button-border);--btn-secondary-hover-border: var(--secondary-button-border-hover);--btn-secondary-shadow: var(--secondary-button-shadow);--btn-secondary-hover-shadow: var(--secondary-button-hover-shadow);--btn-secondary-focus-ring: rgba(255, 193, 94, .45);--btn-secondary-disabled-bg: rgba(255, 196, 92, .22);--btn-secondary-disabled-border: rgba(255, 193, 94, .32);--btn-secondary-disabled-text: rgba(16, 25, 38, .5);--danger-button-surface: linear-gradient(135deg, #d64545, #a92f2f);--danger-button-hover: linear-gradient(135deg, #a92f2f, #7f1f1f);--btn-danger-bg: var(--danger-button-surface);--btn-danger-hover-bg: var(--danger-button-hover);--btn-danger-active-bg: linear-gradient(135deg, #962c2c, #6e1a1a);--btn-danger-text: #ffffff;--btn-danger-border: transparent;--btn-danger-hover-border: transparent;--btn-danger-shadow: 0 18px 34px rgba(214, 69, 69, .32);--btn-danger-hover-shadow: 0 22px 40px rgba(214, 69, 69, .36);--btn-danger-focus-ring: rgba(214, 69, 69, .48);--btn-danger-disabled-bg: rgba(214, 69, 69, .32);--btn-danger-disabled-text: rgba(255, 255, 255, .82);--btn-text-color: var(--color-accent);--btn-text-hover-color: var(--color-accent-dark);--btn-text-hover-bg: rgba(47, 128, 237, .14);--btn-text-focus-ring: var(--focus-ring-primary);--btn-text-disabled-color: rgba(47, 128, 237, .45);--sidebar-item-hover-bg: rgba(47, 128, 237, .18);--sidebar-item-hover-border: rgba(47, 128, 237, .28);--sidebar-item-hover-text: rgba(243, 246, 249, .95);--sidebar-item-focus-ring: rgba(47, 128, 237, .6);--sidebar-item-active-bg: linear-gradient(135deg, rgba(47, 128, 237, .95), rgba(35, 98, 192, .95));--sidebar-item-active-border: transparent;--sidebar-item-active-shadow: 0 22px 38px rgba(35, 98, 192, .36);--schedule-tab-bg: var(--btn-surface);--schedule-tab-border: var(--color-border);--schedule-tab-text: var(--color-text-secondary);--schedule-tab-hover-bg: var(--btn-surface-hover);--schedule-tab-hover-border: var(--btn-surface-hover-border);--schedule-tab-hover-text: var(--color-text-primary);--schedule-tab-focus-ring: var(--focus-ring-primary);--schedule-tab-active-bg: var(--btn-primary-bg);--schedule-tab-active-border: var(--color-primary);--schedule-tab-active-text: var(--btn-primary-text);--schedule-tab-active-hover-bg: var(--btn-primary-hover-bg);--schedule-tab-active-shadow: 0 8px 16px rgba(47, 128, 237, .25);--schedule-tab-count-bg: rgba(255, 255, 255, .24);--schedule-tab-count-text: currentColor;--attendance-status-bg: var(--color-surface);--attendance-status-border: var(--color-border);--attendance-status-hover-bg: var(--btn-surface-hover);--attendance-status-hover-border: var(--btn-surface-hover-border);--attendance-status-hover-text: var(--color-text-primary);--attendance-status-focus-ring: var(--focus-ring-primary);--attendance-present-bg: var(--color-success);--attendance-present-border: var(--color-success);--attendance-present-text: var(--color-text-light);--attendance-present-hover-bg: var(--color-success-strong);--attendance-present-focus-ring: rgba(34, 197, 94, .45);--attendance-absent-bg: var(--color-danger);--attendance-absent-border: var(--color-danger);--attendance-absent-text: var(--color-text-light);--attendance-absent-hover-bg: var(--color-danger-strong);--attendance-absent-focus-ring: rgba(220, 38, 38, .48);--attendance-late-bg: var(--color-warning);--attendance-late-border: var(--color-warning);--attendance-late-text: var(--color-text-primary);--attendance-late-hover-bg: var(--color-warning-dark);--attendance-late-focus-ring: rgba(245, 158, 11, .45);--chip-surface: rgba(47, 128, 237, .12);--chip-hover-surface: rgba(47, 128, 237, .2);--sidebar-spotlight: rgba(47, 128, 237, .14);--nav-hover-surface: rgba(47, 128, 237, .18);--nav-sub-hover-surface: rgba(47, 128, 237, .14);--overlay-backdrop: rgba(16, 25, 38, .55);--analysis-accent: var(--color-accent);--analysis-accent-strong: var(--color-accent-dark);--analysis-accent-gradient: linear-gradient(135deg, var(--analysis-accent) 0%, var(--analysis-accent-strong) 100%);--analysis-accent-contrast: var(--color-text-light);--analysis-elevated-shadow: 0 4px 15px color-mix(in srgb, var(--color-secondary) 12%, transparent);--analysis-divider-color: color-mix(in srgb, var(--color-border) 65%, transparent);--analysis-pagination-surface: var(--card-surface-soft);--analysis-pagination-shadow: 0 4px 15px color-mix(in srgb, var(--color-accent) 18%, transparent);--analysis-tab-hover-bg: linear-gradient(135deg, color-mix(in srgb, var(--analysis-accent) 6%, var(--color-surface)) 0%, color-mix(in srgb, var(--analysis-accent) 12%, var(--color-surface)) 100%);--analysis-tab-hover-text: var(--analysis-accent);--analysis-tab-active-bg: var(--card-surface-soft);--analysis-tab-underline: linear-gradient(90deg, var(--analysis-accent) 0%, var(--analysis-accent-strong) 100%);--analysis-stat-border: color-mix(in srgb, var(--color-border) 55%, transparent);--analysis-stat-hover-border: color-mix(in srgb, var(--analysis-accent) 55%, transparent);--analysis-stat-hover-shadow: 0 8px 25px color-mix(in srgb, var(--analysis-accent) 24%, transparent);--analysis-success: var(--color-success);--analysis-success-strong: var(--color-success-strong);--analysis-success-gradient: linear-gradient(135deg, var(--analysis-success) 0%, var(--analysis-success-strong) 100%);--analysis-danger: var(--color-danger);--analysis-danger-strong: var(--color-danger-strong);--analysis-danger-soft: var(--color-danger-soft-bg);--analysis-danger-gradient: linear-gradient(135deg, var(--analysis-danger) 0%, var(--analysis-danger-strong) 100%);--analysis-topic-bg: linear-gradient(135deg, color-mix(in srgb, var(--analysis-danger) 12%, var(--color-surface)) 0%, color-mix(in srgb, var(--analysis-danger) 20%, var(--color-surface)) 100%);--analysis-topic-border: color-mix(in srgb, var(--analysis-danger) 24%, var(--color-border));--analysis-topic-shadow: 0 4px 15px color-mix(in srgb, var(--analysis-danger) 18%, transparent);--analysis-topic-score-bg: var(--color-surface);--analysis-topic-score-shadow: 0 2px 8px color-mix(in srgb, var(--analysis-danger) 22%, transparent);--analysis-table-header-bg: linear-gradient(135deg, color-mix(in srgb, var(--analysis-accent) 8%, var(--color-surface)) 0%, color-mix(in srgb, var(--analysis-accent) 14%, var(--color-surface)) 100%);--analysis-table-divider: color-mix(in srgb, var(--color-border) 75%, transparent);--analysis-table-hover-bg: linear-gradient(135deg, color-mix(in srgb, var(--analysis-accent) 10%, var(--color-surface)) 0%, color-mix(in srgb, var(--analysis-accent) 18%, var(--color-surface)) 100%);--analysis-table-highlight: color-mix(in srgb, var(--analysis-accent) 65%, var(--color-text-primary));--analysis-empty-border: color-mix(in srgb, var(--color-border) 60%, transparent);--analysis-topic-text: var(--color-text-primary);--analysis-topic-score-text: var(--analysis-danger);--auth-hero-gradient: linear-gradient(135deg, #0f172a, #1e293b);--auth-hero-orb: rgba(59, 130, 246, .28);--auth-hero-orb-soft: rgba(59, 130, 246, .22);--auth-grid-line: rgba(148, 163, 184, .1);--auth-surface: rgba(255, 255, 255, .98);--auth-surface-border: rgba(255, 255, 255, .32);--auth-text-primary: #0f172a;--auth-text-secondary: #475569;--auth-text-contrast: rgba(226, 232, 240, .96);--auth-highlight-surface: rgba(15, 23, 42, .4);--auth-highlight-border: rgba(148, 163, 184, .24);--auth-highlight-hover: rgba(15, 23, 42, .5);--auth-accent: #2563eb;--auth-accent-strong: #1d4ed8;--auth-error: #ef4444;--auth-card-shadow: 0 28px 70px rgba(15, 23, 42, .3);--auth-input-surface: rgba(15, 23, 42, .05);--auth-input-border: rgba(148, 163, 184, .35);--auth-input-border-strong: rgba(37, 99, 235, .8);--auth-input-ring: rgba(37, 99, 235, .22);--auth-input-placeholder: rgba(100, 116, 139, .75);--auth-highlight-shadow: 0 8px 24px rgba(96, 165, 250, .2);--sidebar-text: rgba(243, 246, 249, .97);--sidebar-text-muted: rgba(243, 246, 249, .78);--sidebar-border: rgba(255, 255, 255, .08);--gradient-sidebar: linear-gradient(180deg, #101926 0%, #0d1726 56%, #0a121d 100%);--sidebar-shadow: 0 18px 42px rgba(5, 12, 24, .42);--sidebar-card-surface: rgba(255, 255, 255, .06);--sidebar-card-hover-surface: rgba(255, 255, 255, .1);--sidebar-card-border: rgba(255, 255, 255, .08);--sidebar-card-hover-border: rgba(255, 255, 255, .12);--sidebar-link-color: rgba(243, 246, 249, .8);--sidebar-link-hover-color: rgba(243, 246, 249, .95);--sidebar-scrollbar-thumb: rgba(130, 148, 176, .3);--sidebar-scrollbar-thumb-hover: rgba(130, 148, 176, .45);--admin-background-gradient: linear-gradient(180deg, #f3f6f9 0%, #eef2ff 35%, #f7faff 100%);--admin-main-gradient: linear-gradient(180deg, rgba(247, 250, 255, .96) 0%, rgba(240, 246, 255, .98) 50%, rgba(236, 243, 255, .98) 100%);--admin-sidebar-surface: rgba(255, 255, 255, .9);--admin-sidebar-border: rgba(16, 25, 38, .08);--admin-sidebar-shadow: inset -1px 0 0 rgba(16, 25, 38, .05);--admin-sidebar-link-bg: rgba(47, 128, 237, .08);--admin-sidebar-link-hover-bg: rgba(47, 128, 237, .14);--admin-sidebar-link-active-bg: linear-gradient(135deg, rgba(47, 128, 237, .26), rgba(47, 128, 237, .12));--admin-sidebar-link-active-border: rgba(47, 128, 237, .55);--admin-sidebar-link-shadow: 0 18px 30px rgba(33, 56, 88, .18);--admin-breadcrumb-text: rgba(74, 93, 124, .78);--admin-breadcrumb-divider: rgba(74, 93, 124, .45);--admin-breadcrumb-current: var(--color-text-primary);--admin-text-muted: rgba(74, 93, 124, .72);--admin-card-surface: var(--card-surface);--admin-card-border: var(--color-border);--admin-card-shadow: var(--shadow-sm);--admin-header-surface: linear-gradient(180deg, rgba(255, 255, 255, .92) 0%, rgba(243, 246, 249, .86) 100%);--admin-header-border: var(--color-border);--admin-primary-button-bg: var(--btn-primary-bg);--admin-primary-button-shadow: var(--btn-primary-shadow);--admin-primary-button-hover-shadow: var(--btn-primary-hover-shadow);--modal-backdrop: rgba(16, 25, 38, .45);--modal-surface: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(243, 246, 249, .94));--modal-border: rgba(16, 25, 38, .12);--modal-shadow: var(--shadow-lg);--modal-text: var(--color-text-primary);--modal-muted: var(--color-text-secondary);--modal-secondary-bg: rgba(47, 128, 237, .08);--modal-secondary-border: rgba(47, 128, 237, .22);--modal-secondary-hover-bg: rgba(47, 128, 237, .12);--modal-secondary-hover-border: rgba(47, 128, 237, .28);--modal-primary-bg: var(--btn-primary-bg);--modal-primary-shadow: var(--btn-primary-shadow);--modal-error: var(--color-danger);--modal-error-soft: var(--color-danger-soft-bg);scrollbar-gutter:stable}.dark{color-scheme:dark;--color-app-gradient: linear-gradient(180deg, #050a12 0%, #0f1726 100%);--color-background: #050a12;--color-background-alt: #0f1726;--color-surface: #101926;--color-surface-alt: #121f32;--color-surface-muted: #17263d;--color-surface-elevated: #141f30;--color-sidebar: #050a12;--color-secondary: rgba(243, 246, 249, .96);--color-secondary-dark: rgba(213, 219, 232, .9);--color-text-primary: #f3f6f9;--color-text-secondary: rgba(224, 230, 240, .82);--color-text-muted: rgba(186, 194, 208, .76);--surface-neutral-50: #111d31;--surface-neutral-100: #121f32;--surface-neutral-200: #17263d;--surface-positive: rgba(34, 197, 94, .12);--surface-negative: rgba(248, 113, 113, .14);--surface-warning: rgba(234, 179, 8, .16);--color-accent-soft: rgba(47, 128, 237, .18);--gradient-accent-start: #3a7bff;--gradient-accent-end: #1d4ed8;--gradient-azure-start: #60a5fa;--gradient-azure-end: #2563eb;--gradient-purple-start: #818cf8;--gradient-purple-end: #a855f7;--gradient-emerald-start: #34d399;--gradient-emerald-end: #059669;--gradient-amber-start: #facc15;--gradient-amber-end: #f59e0b;--gradient-rose-start: #f87171;--gradient-rose-end: #ef4444;--gradient-magenta-start: #f472b6;--gradient-magenta-end: #d946ef;--color-error: #f87171;--color-warning: #facc15;--color-warning-strong: #fbbf24;--color-warning-dark: #fcd34d;--color-accent: #4a96ff;--color-success: #34d399;--color-success-strong: #10b981;--color-info-soft-bg: rgba(47, 128, 237, .28);--color-info-soft: rgba(47, 128, 237, .22);--color-info: #4a96ff;--color-info-strong: #60a5fa;--color-info-border: rgba(47, 128, 237, .4);--color-blue-soft-bg: rgba(47, 128, 237, .28);--color-blue-strong: #8cb7ff;--color-danger: #f87171;--color-danger-soft-bg: rgba(248, 113, 113, .18);--color-danger-strong: #fecaca;--color-purple-soft-bg: rgba(139, 92, 246, .28);--color-purple-strong: #a78bfa;--color-border: rgba(243, 246, 249, .14);--color-border-soft: rgba(47, 128, 237, .08);--color-border-strong: rgba(243, 246, 249, .18);--color-hover: rgba(47, 128, 237, .18);--alert-success-bg: #1b4332;--alert-success-border: #34d399;--alert-success-text: #bbf7d0;--alert-info-bg: rgba(47, 128, 237, .22);--alert-info-border: #60a5fa;--alert-info-text: #dbeafe;--alert-warning-bg: rgba(234, 179, 8, .22);--alert-warning-border: #facc15;--alert-warning-text: #fef08a;--glass-surface: rgba(15, 23, 42, .82);--glass-surface-hover: rgba(21, 32, 51, .9);--glass-surface-soft: rgba(15, 23, 42, .78);--glass-surface-strong: rgba(15, 23, 42, .88);--glass-overlay-soft: rgba(47, 128, 237, .2);--glass-overlay-strong: rgba(47, 128, 237, .32);--card-overlay: linear-gradient(135deg, rgba(47, 128, 237, .01), rgba(255, 180, 0, .01));--gradient-sidebar: linear-gradient(180deg, #050a12 0%, #0a1624 56%, #0c1c2d 100%);--sidebar-shadow: 0 18px 42px rgba(5, 12, 24, .6);--sidebar-card-surface: rgba(243, 246, 249, .05);--sidebar-card-hover-surface: rgba(243, 246, 249, .12);--sidebar-card-border: rgba(243, 246, 249, .08);--sidebar-card-hover-border: rgba(138, 180, 248, .22);--sidebar-link-color: rgba(224, 230, 240, .78);--sidebar-link-hover-color: rgba(243, 246, 249, .95);--sidebar-scrollbar-thumb: rgba(138, 180, 248, .28);--sidebar-scrollbar-thumb-hover: rgba(138, 180, 248, .42);--admin-background-gradient: linear-gradient(180deg, #0b1523 0%, #0d1826 40%, #101b2c 100%);--admin-main-gradient: linear-gradient(180deg, rgba(18, 32, 49, .96) 0%, rgba(15, 27, 43, .98) 45%, rgba(12, 21, 34, .99) 100%);--admin-sidebar-surface: rgba(10, 18, 29, .92);--admin-sidebar-border: rgba(255, 255, 255, .05);--admin-sidebar-shadow: inset -1px 0 0 rgba(255, 255, 255, .04);--admin-sidebar-link-bg: rgba(255, 255, 255, .02);--admin-sidebar-link-hover-bg: rgba(255, 255, 255, .08);--admin-sidebar-link-active-bg: linear-gradient(135deg, rgba(79, 156, 255, .22), rgba(79, 156, 255, .08));--admin-sidebar-link-active-border: rgba(79, 156, 255, .55);--admin-sidebar-link-shadow: 0 18px 30px rgba(29, 46, 76, .35);--admin-breadcrumb-text: rgba(226, 235, 245, .7);--admin-breadcrumb-divider: rgba(226, 235, 245, .5);--admin-breadcrumb-current: #ffffff;--admin-text-muted: rgba(223, 232, 245, .72);--admin-card-surface: linear-gradient(150deg, rgba(15, 26, 40, .92), rgba(8, 16, 28, .9));--admin-card-border: rgba(255, 255, 255, .04);--admin-card-shadow: 0 18px 35px rgba(13, 24, 38, .5);--admin-header-surface: linear-gradient(180deg, rgba(15, 26, 40, .92) 0%, rgba(15, 26, 40, .75) 100%);--admin-header-border: rgba(255, 255, 255, .05);--modal-backdrop: rgba(3, 9, 18, .65);--modal-surface: radial-gradient(circle at top, rgba(25, 45, 70, .9), rgba(10, 18, 30, .96));--modal-border: rgba(255, 255, 255, .07);--modal-shadow: 0 35px 65px rgba(4, 12, 24, .6);--modal-text: #f1f5fb;--modal-muted: rgba(218, 228, 243, .7);--modal-secondary-bg: rgba(255, 255, 255, .08);--modal-secondary-border: rgba(255, 255, 255, .1);--modal-secondary-hover-bg: rgba(255, 255, 255, .16);--modal-secondary-hover-border: rgba(255, 255, 255, .2);--modal-primary-bg: var(--gradient-accent);--modal-primary-shadow: 0 18px 32px rgba(37, 99, 235, .45);--modal-error: var(--color-danger);--modal-error-soft: rgba(248, 113, 113, .12);--focus-ring-primary: rgba(138, 180, 248, .55);--focus-ring-strong: rgba(138, 180, 248, .68);--focus-ring-inverse: rgba(5, 10, 18, .78);--btn-min-target-size: 44px;--btn-padding-y: var(--spacing-3);--btn-padding-x: var(--spacing-4);--btn-gap: var(--spacing-2);--btn-font-size: .95rem;--btn-radius: var(--border-radius-lg);--btn-disabled-opacity-base: .6;--btn-disabled-bg: rgba(17, 29, 49, .55);--btn-disabled-border: rgba(138, 180, 248, .22);--btn-disabled-text: rgba(204, 214, 226, .55);--button-surface: #111d31;--button-hover-surface: #1a2941;--btn-surface: var(--button-surface);--btn-surface-border: rgba(243, 246, 249, .16);--btn-surface-hover: var(--button-hover-surface);--btn-surface-hover-border: rgba(138, 180, 248, .32);--btn-primary-bg: linear-gradient(135deg, #2f80ed, #1f67d7);--btn-primary-hover-bg: linear-gradient(135deg, #4a96ff, #2a7be9);--btn-primary-active-bg: linear-gradient(135deg, #2567c5, #1a56b5);--btn-primary-text: rgba(243, 246, 249, .96);--btn-primary-border: transparent;--btn-primary-hover-border: transparent;--btn-primary-shadow: 0 22px 42px rgba(18, 61, 120, .45);--btn-primary-hover-shadow: 0 26px 48px rgba(24, 72, 140, .55);--btn-primary-focus-ring: rgba(138, 180, 248, .65);--btn-primary-disabled-bg: rgba(47, 128, 237, .36);--btn-primary-disabled-text: rgba(226, 232, 240, .78);--btn-primary-disabled-opacity: .75;--secondary-button-surface: rgba(47, 128, 237, .16);--secondary-button-hover: rgba(47, 128, 237, .24);--secondary-button-border: rgba(47, 128, 237, .35);--secondary-button-border-hover: rgba(47, 128, 237, .5);--secondary-button-text: rgba(243, 246, 249, .95);--secondary-button-shadow: 0 18px 34px rgba(47, 128, 237, .18);--secondary-button-hover-shadow: 0 22px 40px rgba(47, 128, 237, .24);--btn-secondary-bg: var(--secondary-button-surface);--btn-secondary-hover-bg: var(--secondary-button-hover);--btn-secondary-active-bg: rgba(47, 128, 237, .32);--btn-secondary-text: var(--secondary-button-text);--btn-secondary-border: var(--secondary-button-border);--btn-secondary-hover-border: var(--secondary-button-border-hover);--btn-secondary-shadow: var(--secondary-button-shadow);--btn-secondary-hover-shadow: var(--secondary-button-hover-shadow);--btn-secondary-focus-ring: rgba(47, 128, 237, .5);--btn-secondary-disabled-bg: rgba(47, 128, 237, .12);--btn-secondary-disabled-border: rgba(47, 128, 237, .25);--btn-secondary-disabled-text: rgba(243, 246, 249, .65);--btn-danger-bg: var(--danger-button-surface);--btn-danger-hover-bg: linear-gradient(135deg, #f26565, #c53a3a);--btn-danger-active-bg: linear-gradient(135deg, #c53a3a, #922626);--btn-danger-text: rgba(255, 244, 244, .96);--btn-danger-border: transparent;--btn-danger-hover-border: transparent;--btn-danger-shadow: 0 22px 40px rgba(180, 52, 52, .45);--btn-danger-hover-shadow: 0 26px 48px rgba(180, 52, 52, .52);--btn-danger-focus-ring: rgba(248, 113, 113, .58);--btn-danger-disabled-bg: rgba(214, 69, 69, .42);--btn-danger-disabled-text: rgba(255, 230, 230, .78);--btn-text-color: rgba(140, 183, 255, .92);--btn-text-hover-color: rgba(198, 218, 255, .98);--btn-text-hover-bg: rgba(47, 128, 237, .24);--btn-text-focus-ring: rgba(138, 180, 248, .6);--btn-text-disabled-color: rgba(138, 180, 248, .45);--sidebar-item-hover-bg: rgba(47, 128, 237, .28);--sidebar-item-hover-border: rgba(47, 128, 237, .42);--sidebar-item-hover-text: rgba(243, 246, 249, .96);--sidebar-item-focus-ring: rgba(138, 180, 248, .65);--sidebar-item-active-bg: linear-gradient(135deg, rgba(47, 128, 237, .85), rgba(35, 98, 192, .85));--sidebar-item-active-border: transparent;--sidebar-item-active-shadow: 0 24px 44px rgba(17, 45, 92, .55);--schedule-tab-bg: var(--btn-surface);--schedule-tab-border: rgba(243, 246, 249, .12);--schedule-tab-text: rgba(224, 230, 240, .82);--schedule-tab-hover-bg: rgba(26, 41, 65, .88);--schedule-tab-hover-border: rgba(138, 180, 248, .32);--schedule-tab-hover-text: var(--color-text-primary);--schedule-tab-focus-ring: rgba(138, 180, 248, .6);--schedule-tab-active-bg: var(--btn-primary-bg);--schedule-tab-active-border: rgba(47, 128, 237, .7);--schedule-tab-active-text: var(--btn-primary-text);--schedule-tab-active-hover-bg: var(--btn-primary-hover-bg);--schedule-tab-active-shadow: 0 10px 22px rgba(22, 68, 128, .48);--schedule-tab-count-bg: rgba(15, 23, 42, .4);--schedule-tab-count-text: rgba(243, 246, 249, .92);--attendance-status-bg: var(--color-surface);--attendance-status-border: rgba(243, 246, 249, .16);--attendance-status-hover-bg: rgba(26, 41, 65, .88);--attendance-status-hover-border: rgba(138, 180, 248, .32);--attendance-status-hover-text: var(--color-text-primary);--attendance-status-focus-ring: rgba(138, 180, 248, .6);--attendance-present-bg: var(--color-success);--attendance-present-border: var(--color-success);--attendance-present-text: var(--color-text-light);--attendance-present-hover-bg: rgba(34, 197, 94, .78);--attendance-present-focus-ring: rgba(34, 197, 94, .52);--attendance-absent-bg: var(--color-danger);--attendance-absent-border: var(--color-danger);--attendance-absent-text: var(--color-text-light);--attendance-absent-hover-bg: rgba(248, 113, 113, .78);--attendance-absent-focus-ring: rgba(248, 113, 113, .55);--attendance-late-bg: var(--color-warning);--attendance-late-border: var(--color-warning);--attendance-late-text: var(--color-text-primary);--attendance-late-hover-bg: rgba(250, 204, 21, .78);--attendance-late-focus-ring: rgba(250, 204, 21, .5);--chip-surface: rgba(47, 128, 237, .26);--chip-hover-surface: rgba(47, 128, 237, .34);--sidebar-spotlight: rgba(47, 128, 237, .22);--sidebar-text: rgba(243, 246, 249, .98);--sidebar-text-muted: rgba(243, 246, 249, .84);--sidebar-border: rgba(47, 128, 237, .24);--analysis-accent: color-mix(in srgb, var(--color-accent) 78%, #9ec3ff 22%);--analysis-accent-strong: color-mix(in srgb, var(--color-accent-dark) 72%, #c1d8ff 28%);--analysis-accent-gradient: linear-gradient(135deg, var(--analysis-accent) 0%, var(--analysis-accent-strong) 100%);--analysis-accent-contrast: rgba(5, 10, 18, .92);--analysis-elevated-shadow: 0 6px 22px color-mix(in srgb, rgba(5, 10, 18, .92) 82%, transparent);--analysis-divider-color: color-mix(in srgb, var(--color-border) 45%, transparent);--analysis-pagination-surface: color-mix(in srgb, var(--analysis-accent) 18%, rgba(15, 23, 42, .86));--analysis-pagination-shadow: 0 10px 28px color-mix(in srgb, var(--analysis-accent) 32%, transparent);--analysis-tab-hover-bg: linear-gradient(135deg, color-mix(in srgb, var(--analysis-accent) 26%, rgba(15, 23, 42, .92)) 0%, color-mix(in srgb, var(--analysis-accent) 36%, rgba(15, 23, 42, .84)) 100%);--analysis-tab-hover-text: color-mix(in srgb, var(--analysis-accent) 80%, #f3f6f9 20%);--analysis-tab-active-bg: color-mix(in srgb, var(--analysis-accent) 16%, rgba(15, 23, 42, .9));--analysis-tab-underline: linear-gradient(90deg, color-mix(in srgb, var(--analysis-accent) 85%, #b5d0ff 15%) 0%, color-mix(in srgb, var(--analysis-accent-strong) 82%, #d3e4ff 18%) 100%);--analysis-stat-border: color-mix(in srgb, var(--analysis-accent) 34%, rgba(138, 180, 248, .32));--analysis-stat-hover-border: color-mix(in srgb, var(--analysis-accent) 65%, transparent);--analysis-stat-hover-shadow: 0 12px 28px color-mix(in srgb, var(--analysis-accent) 34%, transparent);--analysis-success: color-mix(in srgb, var(--color-success) 72%, #34d399 28%);--analysis-success-strong: color-mix(in srgb, var(--color-success-strong) 72%, #86efac 28%);--analysis-success-gradient: linear-gradient(135deg, var(--analysis-success) 0%, var(--analysis-success-strong) 100%);--analysis-danger: color-mix(in srgb, var(--color-danger) 72%, #fda4a4 28%);--analysis-danger-strong: color-mix(in srgb, var(--color-danger-strong) 82%, #fecaca 18%);--analysis-danger-soft: color-mix(in srgb, var(--analysis-danger) 26%, rgba(15, 23, 42, .72));--analysis-danger-gradient: linear-gradient(135deg, var(--analysis-danger) 0%, var(--analysis-danger-strong) 100%);--analysis-topic-bg: linear-gradient(135deg, color-mix(in srgb, var(--analysis-danger) 32%, rgba(15, 23, 42, .9)) 0%, color-mix(in srgb, var(--analysis-danger) 40%, rgba(15, 23, 42, .84)) 100%);--analysis-topic-border: color-mix(in srgb, var(--analysis-danger) 46%, transparent);--analysis-topic-shadow: 0 8px 20px color-mix(in srgb, var(--analysis-danger) 34%, transparent);--analysis-topic-score-bg: rgba(15, 23, 42, .82);--analysis-topic-score-shadow: 0 4px 12px color-mix(in srgb, var(--analysis-danger) 36%, transparent);--analysis-topic-text: color-mix(in srgb, var(--color-text-primary) 88%, #dce6ff 12%);--analysis-topic-score-text: color-mix(in srgb, var(--analysis-danger) 78%, #ffe4e6 22%);--analysis-table-header-bg: linear-gradient(135deg, color-mix(in srgb, var(--analysis-accent) 28%, rgba(15, 23, 42, .9)) 0%, color-mix(in srgb, var(--analysis-accent) 38%, rgba(15, 23, 42, .84)) 100%);--analysis-table-divider: color-mix(in srgb, var(--color-border) 55%, transparent);--analysis-table-hover-bg: linear-gradient(135deg, color-mix(in srgb, var(--analysis-accent) 34%, rgba(15, 23, 42, .82)) 0%, color-mix(in srgb, var(--analysis-accent) 44%, rgba(15, 23, 42, .76)) 100%);--analysis-table-highlight: color-mix(in srgb, var(--analysis-accent) 78%, #f3f6f9 22%);--analysis-empty-border: color-mix(in srgb, var(--color-border) 48%, transparent);--shadow-xs: 0 4px 12px rgba(0, 0, 0, .38);--shadow-sm: 0 16px 36px rgba(0, 0, 0, .42);--shadow-md: 0 24px 52px rgba(0, 0, 0, .48);--shadow-lg: 0 32px 68px rgba(0, 0, 0, .56);--shadow-xl: 0 46px 96px rgba(0, 0, 0, .62);--card-surface: linear-gradient(150deg, rgba(26, 38, 56, .96), rgba(16, 25, 38, .94));--card-surface-alt: linear-gradient(150deg, rgba(31, 45, 66, .94), rgba(20, 32, 51, .92));--card-surface-soft: linear-gradient(150deg, rgba(21, 32, 51, .92), rgba(15, 23, 42, .9));--card-border-color: rgba(47, 128, 237, .32);--card-heading-color: rgba(248, 250, 252, .98);--card-body-color: rgba(226, 232, 240, .9);--card-muted-color: rgba(186, 194, 208, .78);--color-neutral-soft-bg: rgba(243, 246, 249, .08);--color-neutral-strong: rgba(224, 230, 240, .78);--auth-card-shadow: 0 32px 80px rgba(4, 13, 26, .6);--auth-input-surface: rgba(15, 23, 42, .32);--auth-input-border: rgba(94, 110, 143, .55);--auth-input-border-strong: rgba(96, 165, 250, .72);--auth-input-ring: rgba(96, 165, 250, .28);--auth-input-placeholder: rgba(186, 194, 208, .72);--auth-highlight-shadow: 0 14px 36px rgba(47, 128, 237, .22);--auth-hero-gradient: linear-gradient(135deg, #050a12, #0f1726);--auth-hero-orb: rgba(47, 128, 237, .32);--auth-hero-orb-soft: rgba(47, 128, 237, .24);--auth-grid-line: rgba(59, 73, 99, .26);--auth-surface: rgba(16, 25, 38, .9);--auth-surface-border: rgba(94, 110, 143, .46);--auth-text-primary: rgba(243, 246, 249, .96);--auth-text-secondary: rgba(202, 213, 225, .82);--auth-text-contrast: rgba(243, 246, 249, .94);--auth-highlight-surface: rgba(15, 23, 42, .62);--auth-highlight-border: rgba(82, 101, 135, .42);--auth-highlight-hover: rgba(47, 128, 237, .32);--auth-accent: #60a5fa;--auth-accent-strong: #3b82f6;--auth-error: #fb7185}select option{background-color:var(--color-text-light);color:var(--color-text-primary)}.dark select{background-color:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border)}.dark select option{background-color:var(--color-surface);color:var(--color-text-primary)}.dark select:focus{background-color:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-primary)}.dark select:hover{background-color:var(--color-surface-alt);border-color:var(--color-border-strong)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;background:var(--color-app-gradient);scroll-behavior:smooth;-webkit-tap-highlight-color:transparent;scroll-padding-top:calc(var(--app-header-height) + 20px);overflow-x:hidden;max-width:100%;box-sizing:border-box}html *,html *:before,html *:after{box-sizing:inherit}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);background:var(--color-app-gradient);color:var(--color-text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .4s ease,color .3s ease;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-gutter:auto;max-width:100%;box-sizing:border-box;width:100%}#root{display:flex;min-height:100vh;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}main{flex:1;display:flex;flex-direction:column}a{color:var(--color-accent);text-decoration:none;transition:all .3s ease}a:hover{color:var(--color-accent-dark)}a:focus-visible{outline:none;border-radius:6px;box-shadow:0 0 0 2px var(--focus-ring-inner),0 0 0 4px var(--focus-ring-color)}p{color:var(--color-text-secondary)}strong{color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-weight:600;color:var(--color-text-primary);line-height:1.25;transition:color .3s ease}h1{font-size:var(--type-heading-xl)}h2{font-size:var(--type-heading-lg)}h3{font-size:var(--type-heading-md)}small{font-size:.85rem;color:var(--color-text-muted)}.text-heading-xl,.text-heading-lg,.text-heading-md,.text-heading-sm{font-weight:600;color:var(--color-text-primary);line-height:var(--line-height-tight)}.text-heading-xl{font-size:var(--type-heading-xl)}.text-heading-lg{font-size:var(--type-heading-lg)}.text-heading-md{font-size:var(--type-heading-md)}.text-heading-sm{font-size:var(--type-heading-sm)}.text-lead{font-size:var(--type-lead);line-height:1.55;color:var(--color-text-secondary);font-weight:500}.text-body{font-size:var(--type-body);line-height:var(--line-height-base);color:var(--color-text-primary)}.text-body-sm{font-size:var(--type-body-sm);line-height:var(--line-height-snug);color:var(--color-text-secondary)}.text-muted{color:var(--color-text-secondary)}.text-meta{font-size:var(--type-meta);line-height:1.35;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600}.metric-block{display:flex;align-items:center;gap:var(--spacing-3)}.metric-block--stacked{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.metric-block__icon{width:var(--metric-icon-size);height:var(--metric-icon-size);border-radius:var(--metric-icon-radius);display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0;background:var(--color-primary-soft);color:var(--color-primary-dark)}.metric-block__content{display:flex;flex-direction:column;gap:4px}.metric-block__value{font-size:var(--type-heading-sm);line-height:var(--line-height-tight);font-weight:600;color:var(--color-text-primary)}.metric-block__label{font-size:var(--type-meta);line-height:1.35;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600}.metric-block__meta{font-size:var(--type-body-sm);color:var(--color-text-secondary);line-height:var(--line-height-snug)}.metric-block__icon--success{background:var(--color-success-soft-bg);color:var(--color-success-strong)}.metric-block__icon--warning{background:var(--color-warning-soft-bg);color:var(--color-warning-dark)}.metric-block__icon--info{background:var(--color-blue-soft-bg);color:var(--color-accent)}.metric-block__icon--neutral{background:var(--color-neutral-soft-bg);color:var(--color-neutral-strong)}button,input,select,textarea{font-family:inherit;color:inherit;color-scheme:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}::selection{background:#2f80ed40;color:var(--color-text-primary)}::-moz-selection{background:#2f80ed40;color:var(--color-text-primary)}hr{border:none;height:1px;background-color:var(--color-border);margin:var(--spacing-5) 0}*{scrollbar-width:thin;scrollbar-color:rgba(47,128,237,.4) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#2f80ed47;border-radius:12px}*::-webkit-scrollbar-thumb:hover{background:#2f80ed6b}:where(.content-wrapper) table{width:100%;border-collapse:collapse;background-color:var(--color-surface);color:var(--color-text-primary);border-radius:var(--border-radius-lg);overflow:hidden;border:1px solid var(--color-border);box-shadow:var(--shadow-xs);max-width:100%;box-sizing:border-box;table-layout:auto}:where(.content-wrapper) table caption{caption-side:top;text-align:left;padding:var(--spacing-4);font-weight:600;color:var(--color-text-primary)}:where(.content-wrapper) table th,:where(.content-wrapper) table td{border-bottom:1px solid var(--color-border);padding:var(--spacing-3) var(--spacing-4);white-space:normal!important;word-break:break-word;overflow-wrap:anywhere}:where(.content-wrapper) table th{background-color:var(--color-surface-alt);color:var(--color-text-secondary);font-weight:600;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase}:where(.content-wrapper) table tbody tr{background-color:var(--color-surface)}:where(.content-wrapper) table tbody tr:nth-child(2n){background-color:var(--color-surface-alt)}:where(.content-wrapper) table tbody tr:hover{background-color:var(--color-hover)}.dark :where(.content-wrapper) table tbody tr:hover{background-color:var(--color-surface-alt)}:where(.content-wrapper) table tbody tr:last-child td{border-bottom:none}img,video,canvas{max-width:100%;display:block;height:auto}figure{margin:0}blockquote{padding:var(--spacing-4) var(--spacing-5);background:var(--color-surface-alt);border-left:4px solid var(--color-accent);border-radius:var(--border-radius-md);color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)!important}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:.8rem;font-weight:600;background:var(--chip-surface);color:var(--color-accent)}.badge.gold{background:var(--color-primary-soft);color:var(--color-primary-dark)}.badge.dark{background:#1019261f;color:var(--color-secondary)}.code-block{font-family:Fira Code,Source Code Pro,monospace;background:var(--color-surface-muted);padding:var(--spacing-4);border-radius:var(--border-radius-md);border:1px solid var(--color-border);overflow:auto}@media(max-width:1200px){:root{--sidebar-width: 264px}}@media(min-width:600px)and (max-width:1023px){:root{--sidebar-width: 260px}.grid,[class*=grid-],.dashboard-grid{gap:16px}.flex,[class*=flex-],.row,[class*=row-],.col,[class*=col-]{gap:12px}}@media(max-width:992px){.responsive-table-container{overflow:visible}.data-table{display:block;width:100%}.data-table thead{display:none}.data-table tbody{display:flex;flex-direction:column;gap:var(--spacing-3)}.data-table tr{display:block;border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-4);background-color:var(--color-surface);box-shadow:var(--shadow-sm);margin-bottom:0}.data-table td{display:grid;grid-template-columns:minmax(110px,1.2fr) minmax(0,2fr);align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) 0;border-bottom:1px solid var(--color-border-soft);word-break:break-word;overflow-wrap:anywhere}.data-table tr td:last-child{border-bottom:none}.data-table td:before{content:attr(data-label);font-weight:600;color:var(--color-text-secondary);padding-right:var(--spacing-3);white-space:normal}.data-table .col-islemler,.data-table .col-checkbox{grid-template-columns:1fr}.data-table .col-islemler:before,.data-table .col-checkbox:before{display:none}.data-table .action-buttons{justify-content:flex-start;flex-wrap:wrap}.table-scroll-wrapper{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--layout-horizontal-padding));padding:0 var(--layout-horizontal-padding);max-width:100%;box-sizing:border-box}.table-container{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:576px){body{font-size:14px;max-width:100%;overflow-x:hidden}:where(.content-wrapper) table th,:where(.content-wrapper) table td{padding:var(--spacing-2) var(--spacing-3)}html,#root{max-width:100%;overflow-x:hidden}}.scrollable-container{overscroll-behavior:contain}@media(max-width:992px){button,a.btn,.btn,[role=button],input[type=checkbox],input[type=radio],select{min-height:44px;min-width:44px}input[type=checkbox],input[type=radio]{width:20px;height:20px;cursor:pointer}label{padding:var(--spacing-2);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.navigation ul li a,.navigation ul li.has-submenu>.submenu-toggle{min-height:48px;padding:14px 20px}}@media(hover:hover)and (pointer:fine){.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.btn:hover:not(:disabled){transform:translateY(-2px)}.profile-section:hover .profile-circle{transform:rotate(5deg) scale(1.05)}}@media(hover:none){.card,.stat-card,.task-card,.weekly-summary-card,.feedback-form-container,.parent-mobile-day,.parent-mobile-task{transition:box-shadow .2s ease}.card:active{box-shadow:var(--shadow-md)}.btn:active:not(:disabled){transform:scale(.98)}.stat-card,.task-card,.weekly-summary-card{box-shadow:var(--shadow-sm)}.stat-card:hover,.task-card:hover,.weekly-summary-card:hover{transform:none;box-shadow:var(--shadow-sm)}}@media(max-width:640px){.card,.stat-card,.task-card,.feedback-form-container,.parent-mobile-day,.parent-mobile-task{box-shadow:none}}@media(max-width:992px){.sidebar-overlay{display:none;position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;touch-action:none;-webkit-tap-highlight-color:transparent;animation:fadeIn .2s ease-out}#root-layout.sidebar-open .sidebar-overlay{display:block}#root-layout.sidebar-open,#root-layout.sidebar-open .layout-right-section{overflow:hidden;height:100vh;overflow-x:hidden}#root-layout.sidebar-open .layout-content{overflow:hidden;overflow-x:hidden;touch-action:none}.layout-content,.content-wrapper,.main-content{max-width:100%;overflow-x:hidden}}@media(max-width:768px){.header{padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 12px;min-height:72px;gap:var(--spacing-2);box-shadow:0 8px 22px #0f172a1f}.institution-area{gap:var(--spacing-2);min-width:0;flex:1;overflow:hidden}.institution-logo{width:44px;height:44px;padding:6px;flex-shrink:0}.institution-name{font-size:1rem;line-height:1.3;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.header-right{gap:var(--spacing-2);flex-shrink:0}.sidebar-toggle-btn,.theme-toggle{width:44px;height:44px;min-width:44px;min-height:44px}}@media(max-width:640px){.header{box-shadow:0 4px 12px #0f172a1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}@media(max-width:480px){.institution-name{display:none}.institution-area{width:auto;flex:0}}@media(max-width:768px){.layout-content,.content-wrapper,.main-content{max-width:100%;overflow-x:hidden}}@media(max-width:480px){.page-heading{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.page-heading h1{font-size:1.4rem}}@media(min-width:600px)and (max-width:1023px){:root{--sidebar-width: 260px}.layout-content{max-width:none}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-4)}.data-table{display:table}.data-table thead{display:table-header-group}.data-table tr{display:table-row}.data-table td{display:table-cell}.data-table td:before{display:none}}@media(min-width:992px){.layout-content{max-width:min(100%,calc((100vh - var(--app-header-height)) * 16 / 9));margin-left:auto;margin-right:auto}.content-wrapper,.main-content{max-width:100%;overflow-x:hidden}}@media(min-width:1920px){.layout-content{max-width:min(1600px,calc((100vh - var(--app-header-height)) * 16 / 9));margin-left:auto;margin-right:auto}.card{max-width:100%;overflow-x:hidden}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@supports (padding: env(safe-area-inset-top)){.header{padding-top:calc(env(safe-area-inset-top) + 18px)}.sidebar{padding-top:env(safe-area-inset-top)}@media(max-width:992px){#root-layout.sidebar-open .sidebar{height:calc(100vh + env(safe-area-inset-top))}}}.table-container{overflow:visible}.data-table{display:block;width:100%}.data-table thead{display:none}.data-table tbody{display:flex;flex-direction:column;gap:var(--spacing-3)}.data-table tr{display:block;border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-4);background:var(--color-surface);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-3)}.data-table td{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(0,2fr);align-items:start;gap:var(--spacing-2);padding:var(--spacing-2) 0;border-bottom:1px solid var(--color-border-soft);word-break:break-word;overflow-wrap:anywhere}.data-table td:before{content:attr(data-label);font-weight:600;color:var(--color-text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;white-space:normal}.data-table tr td:last-child{border-bottom:none;padding-bottom:0}.data-table tr td:first-child{padding-top:0}.data-table .col-islemler,.data-table .col-checkbox{grid-template-columns:1fr;justify-items:start}.data-table .col-islemler:before,.data-table .col-checkbox:before{display:none}.data-table .action-buttons{display:flex;flex-direction:column;gap:var(--spacing-2);flex-wrap:wrap;width:100%}.data-table .action-buttons .btn{flex:1;min-width:100px;justify-content:center}@media(min-width:600px)and (max-width:1023px){.table-scroll-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--layout-horizontal-padding));padding:0 var(--layout-horizontal-padding);position:relative}.table-scroll-wrapper:after{content:"→";position:absolute;right:0;top:50%;transform:translateY(-50%);background:linear-gradient(to left,var(--color-surface) 50%,transparent);padding:var(--spacing-4) var(--spacing-2);pointer-events:none;font-size:1.5rem;color:var(--color-accent);opacity:.6;transition:opacity .3s ease}.table-scroll-wrapper.scrolled-end:after{opacity:0}.table-container{overflow:visible}.data-table{display:table}.data-table thead{display:table-header-group}.data-table tbody{display:table-row-group}.data-table tr{display:table-row;padding:0;border:none;background:transparent;box-shadow:none;margin-bottom:0}.data-table td{display:table-cell;grid-template-columns:none;padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--color-border)}.data-table td:before{display:none}}@media(min-width:993px){.table-container{overflow:visible}.data-table{display:table;border-collapse:collapse}.data-table thead{display:table-header-group}.data-table tbody{display:table-row-group}.data-table tr{display:table-row;padding:0;border:none;background:transparent;box-shadow:none;margin-bottom:0}.data-table td{display:table-cell;grid-template-columns:none;padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--color-border)}.data-table td:before{display:none}.data-table .action-buttons{flex-direction:row}}@media(max-width:768px){.card{padding:clamp(var(--spacing-3),3vw,var(--spacing-4));border-radius:var(--border-radius-lg)}.card-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.card-actions{width:100%;flex-wrap:wrap}.card-actions .btn{flex:1;min-width:120px}.license-suspended-banner,.corporate-profile-alert{flex-direction:column;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4)}.license-suspended-banner .banner-icon,.corporate-profile-alert .alert-icon{width:48px;height:48px;font-size:1.4rem}.license-suspended-banner .banner-content h3,.corporate-profile-alert .alert-content h3{font-size:1rem}.license-suspended-banner .banner-actions,.corporate-profile-alert .alert-actions{width:100%}.license-banner-button{width:100%;justify-content:center}}@media(max-width:640px){.alert{left:var(--spacing-2);right:var(--spacing-2);min-width:auto;max-width:calc(100vw - 16px);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--border-radius-md);font-size:.9rem}.processing-notification{left:var(--spacing-2);right:var(--spacing-2);width:calc(100% - 16px);max-width:calc(100vw - 16px)}}.form-group input,.form-group select,.form-group textarea,.search-input{font-size:16px;min-height:48px;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--border-radius-md)}.form-group textarea{min-height:120px;resize:vertical}.form-group select{padding-right:calc(var(--spacing-4) + 24px);background-position:calc(100% - 16px) center}.modal-backdrop{padding:0;align-items:flex-end;overflow-x:hidden;overflow-y:auto;box-sizing:border-box}.modal-content{width:100%;max-width:100vw;max-height:90vh;border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;margin:0;animation:modalSlideUp .3s ease-out;overflow-x:hidden;box-sizing:border-box}.modal-content.large,.modal-content.user-manager-modal,.modal-content.institution-modal-content{width:100%;max-width:100vw;max-height:95vh;padding:var(--spacing-4);overflow-x:hidden;box-sizing:border-box}.modal-actions{flex-direction:column-reverse;gap:var(--spacing-2)}.modal-actions .btn{width:100%;justify-content:center}@media(min-width:600px)and (max-width:1023px){.form-group input,.form-group select,.form-group textarea,.search-input{font-size:1rem;min-height:auto;padding:clamp(12px,2vw,16px);max-width:100%;box-sizing:border-box}.form-container,form{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-4);align-items:start}.form-group{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-4)}.form-group.full-width,.form-group:has(textarea),.form-group:has(select[multiple]){grid-template-columns:1fr}.form-group>input,.form-group>select,.form-group>textarea,.form-group>label{width:100%;max-width:100%}form{padding:clamp(16px,3vw,20px)}.modal-backdrop{padding:var(--spacing-5);align-items:center}.modal-content{width:min(90vw,600px);max-width:600px;max-height:85vh;border-radius:var(--border-radius-xl);padding:clamp(16px,3vw,20px);animation:modalSlideIn .3s ease-out;margin:auto}.modal-content.large,.modal-content.user-manager-modal,.modal-content.institution-modal-content{width:min(95vw,900px);max-width:900px;max-height:92vh;padding:clamp(16px,3vw,20px);overflow-x:hidden;box-sizing:border-box}.modal-actions{flex-direction:row;justify-content:flex-end;gap:var(--spacing-3)}.modal-actions .btn{width:auto}.modal-content form{max-height:calc(85vh - 120px);overflow-y:auto;padding-right:var(--spacing-2)}}@media(min-width:1024px){.form-group input,.form-group select,.form-group textarea,.search-input{font-size:1rem;min-height:auto;padding:var(--spacing-3)}.modal-backdrop{padding:var(--spacing-5);align-items:center}.modal-content{width:min(95vw,640px);max-height:85vh;border-radius:var(--border-radius-xl);padding:clamp(24px,4vw,36px);animation:modalSlideIn .3s ease-out}.modal-content.large,.modal-content.user-manager-modal,.modal-content.institution-modal-content{width:min(98vw,1200px);max-width:100vw;max-height:92vh;padding:clamp(24px,4vw,36px);overflow-x:hidden;box-sizing:border-box}.modal-actions{flex-direction:row;justify-content:flex-end}.modal-actions .btn{width:auto}}@media(min-width:992px){.modal-content{box-shadow:var(--shadow-lg);overflow-x:hidden;max-width:min(95vw,calc(100vh * 16 / 9 * .8),640px)}.modal-content.large,.modal-content.user-manager-modal,.modal-content.institution-modal-content{width:min(98vw,calc(100vh * 16 / 9 * .8),1200px);max-width:100vw;overflow-x:hidden}}@media(min-width:1025px){.modal-content{box-shadow:var(--shadow-lg)}}@keyframes modalSlideUp{0%{transform:translateY(100%);opacity:.8}to{transform:translateY(0);opacity:1}}@keyframes modalSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.nav-alert-dot,.notification-badge{animation:none!important}}@media print{.sidebar,.header,.sidebar-toggle-btn,.theme-toggle,.modal-backdrop,.alert,.processing-notification,.no-print{display:none!important}.layout-right-section{margin-left:0}.layout-content{padding:0}.card{break-inside:avoid;box-shadow:none;border:1px solid #ddd}body{background:#fff;color:#000}}html.dark{--sidebar-text-muted: rgba(243, 246, 249, .75);--color-text-muted: rgba(168, 176, 188, .72);--color-border: rgba(243, 246, 249, .14)}*:focus-visible{outline:3px solid rgba(47,128,237,.5);outline-offset:2px;border-radius:4px}button:focus-visible,a:focus-visible,.btn:focus-visible{outline:3px solid rgba(47,128,237,.5);outline-offset:3px}.navigation ul li a:focus-visible,.navigation ul li.has-submenu>.submenu-toggle:focus-visible{outline:2px solid rgba(255,180,0,.8);outline-offset:2px}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);max-width:var(--sidebar-width);height:100vh;position:fixed;top:0;left:0;display:flex;flex-direction:column;background:var(--gradient-sidebar);color:var(--sidebar-text);box-shadow:var(--sidebar-shadow);z-index:1001;transition:transform .4s cubic-bezier(.4,0,.2,1);overflow:hidden;overflow-x:hidden}.sidebar:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#2f80ed24,#10192600 65%);pointer-events:none;opacity:.55}.sidebar-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);padding:36px 26px 26px 30px;border-bottom:1px solid var(--sidebar-border);overflow-x:hidden;min-width:0;max-width:100%}.logo-area-link{flex:1;color:inherit;text-decoration:none;transition:transform .3s ease;overflow-x:hidden;min-width:0;max-width:100%}.logo-area-link:hover{transform:scale(1.02)}.logo-area{display:flex;flex-direction:column;gap:11px;padding:20px 22px;border-radius:var(--border-radius-lg);background:var(--sidebar-card-surface);box-shadow:inset 0 0 0 1px var(--sidebar-card-border);transition:all .3s ease;overflow-x:hidden;min-width:0;max-width:100%;box-sizing:border-box}.logo-area:hover{background:var(--sidebar-card-hover-surface);box-shadow:inset 0 0 0 1px var(--sidebar-card-hover-border),0 6px 18px #2f80ed29}.logo-area .logo-main-text{font-size:1.8rem;font-weight:700;line-height:1.08;letter-spacing:.05em}.logo-area .logo-main-text span:first-child{color:var(--color-primary);text-shadow:0 2px 8px rgba(255,180,0,.3)}.logo-area .logo-main-text span:last-child{color:#ffffffd1}.logo-area .role-title{color:var(--sidebar-text-muted)}.navigation{position:relative;z-index:1;flex:1;padding:24px 0 30px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--sidebar-scrollbar-thumb) transparent;min-width:0;max-width:100%}.nav-section{padding:0 0 24px;overflow-x:hidden;min-width:0;max-width:100%}.nav-section+.nav-section{margin-top:8px;border-top:1px solid var(--sidebar-border);padding-top:24px}.nav-section-title{margin:0 30px 14px;color:var(--sidebar-text-muted);opacity:.9}.navigation::-webkit-scrollbar{width:8px}.navigation::-webkit-scrollbar-track{background:transparent}.navigation::-webkit-scrollbar-thumb{background:var(--sidebar-scrollbar-thumb);border-radius:10px;transition:background .2s ease}.navigation::-webkit-scrollbar-thumb:hover{background:var(--sidebar-scrollbar-thumb-hover)}.navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;overflow-x:hidden;min-width:0;max-width:100%}.navigation ul li a,.navigation ul li.has-submenu>.submenu-toggle{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 22px;margin:2px 20px;color:var(--sidebar-link-color);border-radius:var(--border-radius-lg);background:transparent;border:1px solid transparent;transition:all .25s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden;overflow-x:hidden;min-width:0;max-width:100%;box-sizing:border-box}.navigation ul li a:before,.navigation ul li.has-submenu>.submenu-toggle:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#2f80ed2e,#2f80ed14);opacity:0;transition:opacity .25s ease}.nav-item-main,.submenu-toggle-content{display:flex;align-items:center;gap:13px;flex:1;min-width:0;position:relative;z-index:1}.submenu-toggle-content{justify-content:flex-start}.sidebar :is(.nav-item-main,.submenu-toggle-content,.logout-link) .text-body{color:inherit}.navigation ul li a:hover,.navigation ul li.has-submenu>.submenu-toggle:hover{background:#2f80ed29;border-color:#2f80ed3d;color:var(--color-text-light);transform:translate(3px)}.navigation ul li a:focus-visible,.navigation ul li.has-submenu>.submenu-toggle:focus-visible{outline:3px solid var(--sidebar-item-focus-ring);outline-offset:2px}.navigation ul li a:hover:before,.navigation ul li.has-submenu>.submenu-toggle:hover:before{opacity:1}.navigation ul li a.active,.navigation ul li.has-submenu.open>.submenu-toggle{background:var(--sidebar-item-active-bg);border-color:var(--sidebar-item-active-border);color:var(--color-text-light);box-shadow:var(--sidebar-item-active-shadow);transform:translate(2px)}.nav-icon{font-size:1.08rem;width:24px;text-align:center;opacity:.85;transition:all .3s ease;flex-shrink:0}.navigation ul li a:hover .nav-icon,.navigation ul li a.active .nav-icon,.navigation ul li.has-submenu.open>.submenu-toggle .nav-icon{opacity:1;transform:scale(1.1)}.nav-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-alert-dot{width:11px;height:11px;border-radius:9999px;background:linear-gradient(135deg,#fbbf24fa,#f97316f2);box-shadow:0 0 0 4px #fbbf242e;flex-shrink:0;animation:navDotPulse 2.6s ease-in-out infinite}@keyframes navDotPulse{0%{transform:scale(1);box-shadow:0 0 0 4px #fbbf2433}50%{transform:scale(1.25);box-shadow:0 0 0 7px #f973164d}to{transform:scale(1);box-shadow:0 0 0 4px #fbbf2433}}.submenu-caret{margin-left:14px;transition:transform .35s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.navigation .has-submenu.open .submenu-caret{transform:rotate(180deg)}.navigation .submenu{list-style:none;margin:0 20px 6px 38px;padding:0;border-left:2px solid rgba(47,128,237,.35);background:#0a101aa6;border-radius:var(--border-radius-lg);overflow-x:hidden;overflow-y:auto;max-height:0;transition:max-height .4s cubic-bezier(.4,0,.2,1),padding .3s ease;scrollbar-width:thin;scrollbar-color:var(--sidebar-scrollbar-thumb) transparent}.navigation .has-submenu.open .submenu{max-height:calc(100vh - 300px);padding:12px 0}.navigation .submenu::-webkit-scrollbar{width:6px}.navigation .submenu::-webkit-scrollbar-track{background:transparent}.navigation .submenu::-webkit-scrollbar-thumb{background:var(--sidebar-scrollbar-thumb);border-radius:10px;transition:background .2s ease}.navigation .submenu::-webkit-scrollbar-thumb:hover{background:var(--sidebar-scrollbar-thumb-hover)}.navigation .submenu li a{margin:2px 8px;padding:11px 20px;border-radius:var(--border-radius-md);font-size:.89rem;color:#f3f6f9d1;background:transparent;border:1px solid transparent;transition:all .3s ease;font-weight:600}.navigation .submenu li a:hover{background:#2f80ed38;border-color:#2f80ed52;color:var(--color-text-light);transform:translate(3px)}.navigation .submenu li a.active{background:linear-gradient(135deg,#2f80edeb,#2362c0eb);color:var(--color-text-light);box-shadow:0 6px 16px #2f80ed4d}.nav-badge{margin-left:auto;padding:4px 10px;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;color:#f3f6f9d9;background:#ffffff14}.nav-badge--wip{background:#ffb4002e;border-color:#ffb4006b;color:#ffd666f2;box-shadow:0 0 0 1px #ffb40040}.notification-badge{margin-left:auto;padding:3px 11px;border-radius:999px;font-size:.72rem;font-weight:700;background:linear-gradient(135deg,#ffb400fa,#ffd666fa);color:var(--color-secondary);border:1px solid rgba(255,180,0,.4);box-shadow:0 4px 12px #ffb4004d;animation:badgeGlow 2s ease-in-out infinite}@keyframes badgeGlow{0%,to{box-shadow:0 4px 12px #ffb4004d}50%{box-shadow:0 6px 18px #ffb40080}}.logout-section{position:relative;z-index:1;padding:24px 26px 30px;border-top:1px solid var(--sidebar-border);background:#050a12b3;overflow-x:hidden;min-width:0;max-width:100%}.logout-modal-backdrop{z-index:3000;inset:0}.logout-modal-content{max-width:min(90vw,440px)}.logout-link{display:flex;align-items:center;gap:15px;padding:13px 20px;color:var(--sidebar-link-color);border-radius:var(--border-radius-lg);border:1px solid transparent;transition:all .3s ease;position:relative;overflow:hidden}.logout-link:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--color-danger) 25%,transparent),color-mix(in srgb,var(--color-danger-strong, var(--color-danger)) 18%,transparent));opacity:0;transition:opacity .3s ease}.logout-link:hover{background:color-mix(in srgb,var(--color-danger) 18%,transparent);border-color:color-mix(in srgb,var(--color-danger-strong, var(--color-danger)) 32%,transparent);color:color-mix(in srgb,var(--color-text-light) 90%,transparent);transform:translate(4px)}.logout-link:hover:before{opacity:1}.logout-link .nav-icon,.logout-link .nav-text{position:relative;z-index:1}.sidebar .navigation a,.sidebar .navigation .submenu-toggle{width:100%;box-sizing:border-box;overflow-x:hidden;min-width:0;max-width:100%}@media(max-width:992px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:0 0 0 100vw #0009}}@media(max-width:768px){.sidebar{width:280px;min-width:280px;max-width:280px}.navigation ul li a,.navigation ul li.has-submenu>.submenu-toggle{margin:2px 16px;padding:13px 20px}.navigation .submenu{margin-left:30px}}@media(prefers-reduced-motion:reduce){.sidebar,.navigation ul li a,.navigation ul li.has-submenu>.submenu-toggle,.submenu-caret,.navigation .submenu,.nav-icon,.nav-alert-dot,.notification-badge,.logout-link,.logo-area-link{transition:none;animation:none}}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--overlay-backdrop);display:flex;justify-content:center;align-items:center;z-index:1050;padding:20px;box-sizing:border-box}.modal-content.profile-modal-content{background-color:var(--color-surface);padding:25px;border-radius:var(--border-radius-lg, 8px);box-shadow:var(--shadow-lg);width:100%;max-width:1200px;height:auto;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;transition:margin-left .3s ease}.profile-sections{display:flex;flex-wrap:wrap;gap:20px;margin-top:10px;flex:1;overflow-y:auto;padding-right:10px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent}.profile-sections::-webkit-scrollbar{width:8px}.profile-sections::-webkit-scrollbar-track{background:transparent;border-radius:4px}.profile-sections::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.profile-sections::-webkit-scrollbar-thumb:hover{background:#0000004d}.profile-card{flex:1 1 300px;margin:0}@media(min-width:992px){.modal-backdrop{--modal-horizontal-safe-space: clamp(16px, 2vw, 40px);padding-left:calc(var(--sidebar-width) + var(--modal-horizontal-safe-space));padding-right:var(--modal-horizontal-safe-space)}.modal-content.profile-modal-content{max-width:min(1200px,calc(100vw - var(--sidebar-width) - 2 * var(--modal-horizontal-safe-space)))}}@media(max-width:768px){.modal-content.profile-modal-content{max-width:calc(100vw - 30px);padding:20px}.profile-card{flex-basis:100%}}.logout-section{margin-top:20px;text-align:center}.pin-info-section{margin-bottom:20px;padding:15px;background-color:var(--alert-info-bg);border-radius:var(--border-radius-md, 6px);border-left:4px solid var(--alert-info-border)}.pin-status{margin:0}.pin-status-text{margin:0;font-weight:500;color:var(--color-text-primary)}.pin-date{display:block;font-size:.9em;color:var(--color-text-secondary);margin-top:5px}.pin-view-section,.pin-update-section{margin-bottom:25px;padding:20px;background-color:var(--color-surface);border-radius:var(--border-radius-md, 6px);border:1px solid var(--color-border)}.pin-view-section h4,.pin-update-section h4{margin-top:0;margin-bottom:15px;color:var(--color-text-primary);font-size:1.1em}.pin-display{margin-top:15px;padding:15px;background-color:var(--color-surface-alt);border-radius:var(--border-radius-md, 6px);border:1px solid var(--color-border)}.pin-value{display:flex;align-items:center;gap:10px;margin-bottom:10px}.pin-visible{font-family:Courier New,monospace;font-size:1.2em;font-weight:700;color:var(--color-accent);letter-spacing:2px}.pin-masked{font-family:Courier New,monospace;font-size:1.2em;font-weight:700;color:var(--color-text-secondary);letter-spacing:2px}.pin-toggle-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:5px;border-radius:var(--border-radius-sm, 4px);transition:background-color .2s ease}.pin-toggle-btn:hover{background-color:var(--color-surface-alt);color:var(--color-text-primary)}.pin-warning{margin:0;font-size:.9em;color:var(--color-warning);font-style:italic}.pin-tips{margin-top:20px;padding:15px;background-color:var(--alert-info-bg);border-radius:var(--border-radius-md, 6px);border-left:4px solid var(--alert-info-border)}.pin-tips h4{margin-top:0;margin-bottom:10px;color:var(--alert-info-text);font-size:1em}.pin-tips ul{margin:0;padding-left:20px}.pin-tips li{margin-bottom:5px;font-size:.9em;color:var(--color-text-primary)}@media(max-width:768px){.pin-view-section,.pin-update-section{padding:15px}.pin-value{flex-direction:column;align-items:flex-start;gap:5px}.pin-toggle-btn{align-self:flex-end}}.document-approval-backdrop{z-index:2000}.modal-content.document-approval-modal{max-width:1000px;width:95%;max-height:90vh;display:flex;flex-direction:column}.document-approval-header{margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--color-border)}.document-approval-header h2{margin-top:0;margin-bottom:var(--spacing-3);font-size:1.5rem}.document-progress{display:flex;align-items:center;gap:var(--spacing-3)}.progress-text{font-size:.9rem;color:var(--color-text-secondary);white-space:nowrap}.progress-bar{flex:1;height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);transition:width .3s ease}.document-navigation{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--color-border)}.nav-button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-2);cursor:pointer;color:var(--color-text-primary);transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px}.nav-button:hover:not(:disabled){background:var(--color-surface-alt);border-color:var(--color-primary)}.nav-button:disabled{opacity:.5;cursor:not-allowed}.document-tabs{flex:1;display:flex;gap:var(--spacing-2);overflow-x:auto;scrollbar-width:thin}.document-tab{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-2) var(--spacing-3);cursor:pointer;color:var(--color-text-primary);transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;gap:var(--spacing-2);font-size:.9rem}.document-tab:hover{background:var(--color-surface-alt);border-color:var(--color-primary)}.document-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.document-tab.approved{border-color:var(--color-success)}.document-tab.approved .tab-check-icon{color:var(--color-success)}.document-tab.active.approved .tab-check-icon{color:#fff}.document-content{flex-grow:1;display:flex;flex-direction:column;min-height:0}.document-content h3{margin-top:0;margin-bottom:var(--spacing-3);font-size:1.3rem;color:var(--color-text-primary)}.document-text-container{flex-grow:1;overflow-y:auto;font-size:.95rem;line-height:1.7;color:var(--color-text-primary);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-4);padding-right:calc(var(--spacing-4) + 6px);max-height:min(50vh,400px);box-shadow:inset 0 1px 2px #1019260a;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent}.document-text-container::-webkit-scrollbar{width:8px}.document-text-container::-webkit-scrollbar-track{background:transparent;border-radius:4px}.document-text-container::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.document-text-container::-webkit-scrollbar-thumb:hover{background:#0000004d}.document-approval-actions{margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-3);align-items:center;justify-content:flex-end}.document-approval-actions .btn{padding:var(--spacing-3) var(--spacing-4);font-size:1rem;display:flex;align-items:center;gap:var(--spacing-2)}.document-approval-actions .btn:disabled{background-color:var(--color-disabled-bg);cursor:not-allowed;transform:none;box-shadow:none}.approved-badge{display:flex;align-items:center;gap:var(--spacing-2);color:var(--color-success);font-size:.9rem;padding:var(--spacing-2) var(--spacing-3);background:var(--color-surface-alt);border-radius:var(--border-radius)}@media(max-width:640px){.modal-content.document-approval-modal{width:100%;max-width:none;padding:var(--spacing-4)}.document-navigation{flex-wrap:wrap}.document-tabs{order:3;width:100%;margin-top:var(--spacing-2)}.document-approval-actions{flex-direction:column}.document-approval-actions .btn{width:100%}}.processing-notification{position:fixed;bottom:var(--toast-bottom-offset, clamp(16px, 4vw, 32px));right:clamp(16px,4vw,32px);z-index:10000;min-width:280px;max-width:min(420px,calc(100vw - 32px));display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-5);border-radius:var(--border-radius-lg);border:1px solid rgba(47,128,237,.28);background:linear-gradient(135deg,#2f80ed2e,#ffb4001f);color:var(--color-text-primary);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translateY(120%);opacity:0;animation:toastSlideIn .35s ease-out forwards;pointer-events:auto;will-change:transform,opacity;overflow:hidden}.processing-notification:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,#2f80ed1f,#ffb4001a);opacity:0;transition:opacity .3s ease;pointer-events:none}.processing-notification:hover:before{opacity:1}.processing-notification:hover{box-shadow:var(--shadow-xl)}.processing-notification>*{position:relative;z-index:1}.processing-notification button{margin-left:auto;border:none;background:#2f80ed24;color:var(--color-info-strong);padding:var(--spacing-2) var(--spacing-3);border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease;position:relative;z-index:1}.processing-notification button:hover{background:#2f80ed3d;transform:translateY(-1px)}.processing-notification.completed{animation:toastSlideIn .35s ease-out forwards,toastHide .4s ease-in forwards 6s;animation-play-state:running,running}.processing-notification.completed:hover{animation-play-state:running,paused}.unauthorized-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2)}.unauthorized-content{max-width:500px;text-align:center;background:#fff;padding:3rem;border-radius:1rem;box-shadow:0 10px 40px #0000001a}.unauthorized-icon{margin-bottom:2rem;color:#dc3545}.unauthorized-content h1{font-size:2rem;color:#333;margin-bottom:1rem}.unauthorized-content p{font-size:1.1rem;color:#666;line-height:1.6;margin-bottom:2rem}.unauthorized-actions{display:flex;gap:1rem;justify-content:center}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.5rem;text-decoration:none;font-weight:500;transition:all .2s}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.loader{position:relative;width:56px;height:56px;margin:32px auto;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,var(--color-accent) 90deg,var(--color-primary) 180deg,transparent 270deg);animation:loaderRotate 1.4s cubic-bezier(.4,0,.2,1) infinite}.loader:before{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--color-surface)}.loader:after{content:"";position:absolute;inset:12px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent),var(--color-primary));opacity:.2;filter:blur(8px);animation:loaderPulse 1.4s ease-in-out infinite}@keyframes loaderRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loaderPulse{0%,to{opacity:.2;transform:scale(.95)}50%{opacity:.4;transform:scale(1.05)}}.loader--inline{width:24px;height:24px;margin:0}.loader--small{width:32px;height:32px}.loader--large{width:72px;height:72px}.loader-fullscreen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--spacing-5);background:var(--color-app-gradient);z-index:9999}.loader-fullscreen .loader{width:80px;height:80px}.loader-fullscreen .loader-text{font-size:1.05rem;font-weight:600;color:var(--color-text-secondary);animation:loaderTextFade 2s ease-in-out infinite}@keyframes loaderTextFade{0%,to{opacity:.6}50%{opacity:1}}.loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:inherit;z-index:10}@media(prefers-reduced-motion:reduce){.loader,.loader:after,.loader-text{animation:none}.loader{border:5px solid var(--color-border);border-top-color:var(--color-accent)}}
