:root{--background: hsl(220, 25%, 97%);--card-bg: #ffffff;--foreground: hsl(220, 30%, 9%);--primary: hsl(213, 70%, 45%);--primary-foreground: hsl(0, 0%, 100%);--muted-foreground: hsl(215, 15%, 50%);--destructive: hsl(0, 72%, 55%);--destructive-foreground: hsl(0, 0%, 100%);--border: hsl(215, 20%, 86%);--radius: .75rem;--bg-gradient: var(--background);--tint-bg: rgba(0, 0, 0, .04);--tint-bg-md: rgba(0, 0, 0, .07);--tint-hover: rgba(0, 0, 0, .05);--sidebar-border: color-mix(in srgb, var(--foreground) 8%, transparent);--header-shadow: 0 1px 0 rgba(0, 0, 0, .04)}.dark{--background: hsl(224, 30%, 8%);--card-bg: hsl(224, 30%, 12%);--foreground: hsl(215, 20%, 95%);--primary: hsl(213, 80%, 60%);--primary-foreground: hsl(222, 25%, 8%);--muted-foreground: hsl(215, 15%, 55%);--destructive: hsl(0, 60%, 42%);--destructive-foreground: hsl(0, 0%, 100%);--border: hsl(220, 15%, 20%);--bg-gradient: var(--background);--tint-bg: rgba(255, 255, 255, .04);--tint-bg-md: rgba(255, 255, 255, .08);--tint-hover: rgba(255, 255, 255, .06);--sidebar-border: color-mix(in srgb, var(--foreground) 8%, transparent);--header-shadow: 0 1px 0 rgba(255, 255, 255, .03)}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg-gradient);background-attachment:fixed;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:transparent;color:var(--foreground);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;margin:0}p,ul,ol,figure{margin:0}ul,ol{list-style:none;padding:0}img,picture,video,canvas,svg{display:block;max-width:100%}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;background:none;border:none;padding:0}input,select,textarea{font:inherit;color:inherit}table{border-collapse:collapse}button:focus-visible,[role=button]:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:high){button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-width:3px}}.page{display:flex;flex-direction:column;gap:24px}.page__eyebrow{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--foreground) 35%,transparent)}.page__title{font-size:22px;font-weight:600;letter-spacing:-.02em}@media(min-width:768px){.page__title{font-size:26px}}.page__body{font-size:14px;color:color-mix(in srgb,var(--foreground) 55%,transparent);line-height:1.6}.loading-text{font-size:13px;color:color-mix(in srgb,var(--foreground) 40%,transparent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 14px;border-radius:calc(var(--radius) - 4px);border:none;font-size:13px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none;transition:background .12s ease,opacity .12s ease,transform .1s ease}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled,.btn[aria-busy=true]{opacity:.42;cursor:not-allowed;pointer-events:none}.btn--primary{background:var(--primary);color:var(--primary-foreground)}.btn--primary:hover{background:color-mix(in srgb,var(--primary) 85%,#000)}.btn--secondary{background:color-mix(in srgb,var(--foreground) 6%,transparent);color:color-mix(in srgb,var(--foreground) 75%,transparent);border:none}.btn--secondary:hover{background:color-mix(in srgb,var(--foreground) 10%,transparent);color:var(--foreground)}.btn--ghost{background:transparent;color:color-mix(in srgb,var(--foreground) 55%,transparent)}.btn--ghost:hover{background:var(--tint-bg);color:var(--foreground)}.btn--destructive{background:var(--destructive);color:var(--destructive-foreground);box-shadow:0 1px 3px #00000024}.btn--destructive:hover{background:color-mix(in srgb,var(--destructive) 85%,#000)}.btn--warning{background:#eab308;color:#1c1917}.btn--warning:hover:not(:disabled){background:color-mix(in srgb,#eab308 85%,#000)}.card{border-radius:var(--radius);border:1px solid var(--border);background:color-mix(in srgb,var(--foreground) 4%,transparent);padding:16px;color:var(--foreground)}.card--glass{background:var(--background);border:1px solid color-mix(in srgb,var(--foreground) 6%,transparent);box-shadow:0 4px 12px #00000008}.glass-panel{border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--foreground) 6%,transparent);padding:16px;background:var(--card-bg);box-shadow:0 4px 12px #00000008}.modal-overlay{position:fixed;inset:0;background:#00000059;backdrop-filter:blur(8px) saturate(1.4);-webkit-backdrop-filter:blur(8px) saturate(1.4);display:flex;align-items:flex-end;justify-content:center;z-index:1000}@media(min-width:640px){.modal-overlay{align-items:center;padding:16px}}.modal{background:var(--card-bg);border:1px solid color-mix(in srgb,var(--foreground) 10%,transparent);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;width:100%;max-height:92dvh;overflow-y:auto;box-shadow:0 -2px 60px #0000002e}@media(min-width:640px){.modal{border:1px solid color-mix(in srgb,var(--foreground) 10%,transparent);border-radius:var(--radius);box-shadow:0 24px 64px #00000026}}@media(min-width:640px){.modal--sm{max-width:380px}}@media(min-width:640px){.modal--md{max-width:500px}}@media(min-width:640px){.modal--lg{max-width:640px}}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:22px 22px 0}@media(min-width:640px){.modal__header{padding:26px 26px 0}}.modal__title{font-size:17px;font-weight:600;letter-spacing:-.02em}.modal__close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:none;background:color-mix(in srgb,var(--foreground) 9%,transparent);color:color-mix(in srgb,var(--foreground) 60%,transparent);cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.modal__close:hover{background:color-mix(in srgb,var(--foreground) 15%,transparent);color:var(--foreground)}.modal__body{padding:20px 22px 22px}@media(min-width:640px){.modal__body{padding:22px 26px 28px}}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px}.loading--full-width{width:100%}.loading--center{margin:0 auto}.loading__spinner{position:relative;display:inline-block}.loading__spinner--sm{width:20px;height:20px}.loading__spinner--md{width:32px;height:32px}.loading__spinner--lg{width:48px;height:48px}.loading__spinner-ring{position:absolute;top:0;left:0;width:100%;height:100%;border:2px solid transparent;border-top-color:var(--primary);border-radius:50%;animation:loading-spin .8s linear infinite}.loading__spinner-ring:nth-child(2){animation-delay:-.2s;border-top-color:color-mix(in srgb,var(--primary) 70%,transparent);width:80%;height:80%;top:10%;left:10%}.loading__spinner-ring:nth-child(3){animation-delay:-.4s;border-top-color:color-mix(in srgb,var(--primary) 50%,transparent);width:60%;height:60%;top:20%;left:20%}.loading__text{font-size:13px;color:color-mix(in srgb,var(--foreground) 50%,transparent);margin:0}@keyframes loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.assign-select{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.assign-select__label{font-size:13px;font-weight:500;color:color-mix(in srgb,var(--foreground) 65%,transparent);white-space:nowrap}.assign-select__select{flex:1;min-width:200px;max-width:360px;height:36px;padding:0 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--foreground) 15%,transparent);background:color-mix(in srgb,var(--foreground) 4%,transparent);color:var(--foreground);font-size:13px;cursor:pointer;transition:border-color .15s ease}.assign-select__select:focus{outline:none;border-color:var(--accent)}.assign-select__select:disabled{opacity:.5;cursor:not-allowed}.auth-layout{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;width:100%;background:var(--bg-gradient);padding:20px;position:relative}.auth-layout__brand{position:absolute;top:20px;left:20px;display:flex;align-items:center;gap:10px;z-index:1}@media(min-width:768px){.auth-layout__brand{top:32px;left:32px;gap:12px}}.auth-layout__brand-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--primary) 0%,color-mix(in srgb,var(--primary) 75%,#000) 100%);color:#fff;font-size:14px;box-shadow:0 2px 8px color-mix(in srgb,var(--primary) 35%,transparent)}@media(min-width:768px){.auth-layout__brand-icon{width:38px;height:38px;font-size:16px}}.auth-layout__brand-name{display:flex;align-items:baseline;gap:2px}.auth-layout__brand-cx{font-size:16px;font-weight:800;letter-spacing:-.03em;color:var(--primary)}@media(min-width:768px){.auth-layout__brand-cx{font-size:18px}}.auth-layout__brand-platform{font-size:14px;font-weight:600;letter-spacing:-.01em;color:color-mix(in srgb,var(--foreground) 55%,transparent)}@media(min-width:768px){.auth-layout__brand-platform{font-size:16px}}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.app-skeleton{display:flex;height:100vh;width:100%;background:var(--background);overflow:hidden}.app-skeleton__bone{border-radius:6px;background:linear-gradient(90deg,color-mix(in srgb,var(--foreground) 7%,transparent) 25%,color-mix(in srgb,var(--foreground) 12%,transparent),color-mix(in srgb,var(--foreground) 7%,transparent) 75%);background-size:800px 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.app-skeleton__sidebar{width:200px;flex-shrink:0;border-right:1px solid color-mix(in srgb,var(--foreground) 8%,transparent);background:var(--card-bg);display:flex;flex-direction:column;gap:8px}@media(max-width:767px){.app-skeleton__sidebar{display:none}}.app-skeleton__brand{display:flex;align-items:center;gap:10px;padding:20px 18px 16px;border-bottom:1px solid color-mix(in srgb,var(--foreground) 6%,transparent);margin-bottom:8px}.app-skeleton__nav{display:flex;flex-direction:column;gap:4px;padding:0 10px}.app-skeleton__nav-item{display:flex;align-items:center;gap:10px;padding:6px 8px}.app-skeleton__main{flex:1;display:flex;flex-direction:column;overflow:hidden}.app-skeleton__header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:1px solid color-mix(in srgb,var(--foreground) 6%,transparent);background:var(--card-bg);gap:16px}.app-skeleton__content{flex:1;padding:28px 24px;display:flex;flex-direction:column;gap:20px;overflow:hidden}.app-skeleton__cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){.app-skeleton__cards{grid-template-columns:1fr}}.app-skeleton__card,.app-skeleton__block{background:var(--card-bg);border:1px solid color-mix(in srgb,var(--foreground) 6%,transparent);border-radius:var(--radius, 12px);padding:20px;display:flex;flex-direction:column;gap:12px}.app-skeleton__bone--icon{width:30px;height:30px;border-radius:8px;flex-shrink:0}.app-skeleton__bone--brand-text{width:80px;height:14px}.app-skeleton__bone--nav-icon{width:20px;height:20px;border-radius:5px;flex-shrink:0}.app-skeleton__bone--nav-label{width:70px;height:12px}.app-skeleton__bone--search{flex:1;max-width:320px;height:32px;border-radius:8px}.app-skeleton__bone--avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0}.app-skeleton__bone--title{width:220px;height:24px}.app-skeleton__bone--subtitle{width:320px;height:14px;margin-top:-4px}.app-skeleton__bone--card-header{width:60%;height:16px}.app-skeleton__bone--card-body{width:100%;height:12px}.app-skeleton__bone--short{width:55%!important}.app-skeleton__bone--block-header{width:140px;height:16px}.app-skeleton__bone--row{width:100%;height:44px;border-radius:8px}.notif-bell{position:relative}.notif-bell__btn{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;background:transparent;border-radius:8px;color:color-mix(in srgb,var(--foreground) 65%,transparent);cursor:pointer;font-size:14px;transition:background .15s,color .15s}.notif-bell__btn:hover{background:color-mix(in srgb,var(--foreground) 6%,transparent);color:var(--foreground)}.notif-bell__badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#dc2626;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;pointer-events:none}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:200;width:340px;max-width:calc(100vw - 24px);border-radius:var(--radius);background:var(--card-bg);border:1px solid color-mix(in srgb,var(--foreground) 10%,transparent);box-shadow:0 8px 32px #00000024;overflow:hidden;display:flex;flex-direction:column}.notif-panel__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid color-mix(in srgb,var(--foreground) 8%,transparent);gap:8px}.notif-panel__title{font-size:13px;font-weight:600;color:var(--foreground)}.notif-panel__mark-all{display:flex;align-items:center;gap:5px;border:none;background:transparent;font-size:11px;color:var(--primary);cursor:pointer;padding:0;white-space:nowrap}.notif-panel__mark-all:hover{text-decoration:underline}.notif-panel__list{max-height:380px;overflow-y:auto}.notif-panel__empty{font-size:13px;color:color-mix(in srgb,var(--foreground) 45%,transparent);padding:24px 16px;text-align:center}.notif-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px 16px;border:none;background:transparent;cursor:pointer;text-align:left;border-bottom:1px solid color-mix(in srgb,var(--foreground) 6%,transparent);transition:background .12s}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:color-mix(in srgb,var(--foreground) 4%,transparent)}.notif-item--unread{background:color-mix(in srgb,var(--primary) 5%,transparent)}.notif-item--unread:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.notif-item__dot-col{width:10px;flex-shrink:0;padding-top:4px}.notif-item__dot{display:block;width:8px;height:8px;border-radius:50%;background:var(--primary)}.notif-item__body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.notif-item__type{font-size:11px;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:.04em}.notif-item__msg{font-size:12px;line-height:1.5;color:var(--foreground);white-space:normal}.notif-item__time{font-size:11px;color:color-mix(in srgb,var(--foreground) 40%,transparent);margin-top:2px}.app-layout{min-height:100vh;display:flex;flex-direction:column}@media(min-width:768px){.app-layout{flex-direction:row;height:100vh;overflow:hidden}}.app-sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:40;width:200px;display:flex;flex-direction:column;border-right:1px solid var(--sidebar-border);transform:translate(-100%);transition:transform .2s ease-out;background:var(--card-bg)}@media(min-width:768px){.app-sidebar{position:sticky;top:0;height:100vh;transform:none;flex-shrink:0;overflow:hidden}}.app-sidebar--open{transform:translate(0)}.app-sidebar__brand{display:flex;align-items:center;gap:9px;padding:20px 18px 16px;border-bottom:1px solid color-mix(in srgb,var(--foreground) 6%,transparent);margin-bottom:8px}.app-sidebar__brand-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--primary) 0%,color-mix(in srgb,var(--primary) 75%,#000) 100%);color:#fff;font-size:13px;flex-shrink:0;box-shadow:0 2px 6px color-mix(in srgb,var(--primary) 35%,transparent)}.app-sidebar__brand-name{font-size:14px;font-weight:700;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:baseline;gap:2px}.app-sidebar__brand-cx{color:var(--primary);font-weight:800;letter-spacing:-.03em}.app-sidebar__brand-platform{color:color-mix(in srgb,var(--foreground) 55%,transparent);font-weight:600;font-size:13px;letter-spacing:-.01em}.app-sidebar__nav{flex:1;padding:4px 10px 16px;display:flex;flex-direction:column;gap:2px}.app-sidebar__link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:13px;font-weight:500;color:color-mix(in srgb,var(--foreground) 45%,transparent);text-decoration:none;cursor:pointer;transition:background .12s ease,color .12s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-sidebar__link:hover{background:color-mix(in srgb,var(--foreground) 5%,transparent);color:color-mix(in srgb,var(--foreground) 80%,transparent);text-decoration:none}.app-sidebar__link--active{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-weight:600}.app-sidebar__link--active .app-sidebar__icon{color:var(--primary)}.app-sidebar__icon{display:flex;align-items:center;justify-content:center;width:16px;flex-shrink:0;font-size:13px;color:color-mix(in srgb,var(--foreground) 38%,transparent);transition:color .12s ease}.app-sidebar__link-label{flex:1;min-width:0}.app-sidebar__footer{padding:12px 14px 18px;border-top:1px solid color-mix(in srgb,var(--foreground) 6%,transparent);display:flex;flex-direction:column;gap:6px}.app-sidebar__footer-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:color-mix(in srgb,var(--foreground) 32%,transparent)}.app-sidebar__status-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:#059669}.app-sidebar__status-dot{width:7px;height:7px;border-radius:999px;background:#22c55e;flex-shrink:0}.app-overlay{position:fixed;inset:0;z-index:30;background:#00000040;border:none;cursor:pointer}@media(min-width:768px){.app-overlay{display:none}}.app-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow-x:hidden}@media(min-width:768px){.app-main{overflow-y:auto;height:100vh}}.app-header{position:sticky;top:0;z-index:20;box-shadow:var(--header-shadow);background:var(--card-bg);border-bottom:1px solid color-mix(in srgb,var(--foreground) 6%,transparent)}.app-header__inner{display:flex;align-items:center;gap:16px;padding:0 16px;height:60px}@media(min-width:768px){.app-header__inner{padding:0 28px;height:64px}}.app-header__menu-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:color-mix(in srgb,var(--foreground) 45%,transparent);flex-shrink:0;transition:background .12s ease,color .12s ease}.app-header__menu-btn:hover{background:color-mix(in srgb,var(--foreground) 5%,transparent);color:var(--foreground)}@media(min-width:768px){.app-header__menu-btn{display:none}}.app-header__search{flex:1;max-width:420px;position:relative;display:flex;align-items:center}.app-header__search-icon{position:absolute;left:12px;color:color-mix(in srgb,var(--foreground) 35%,transparent);pointer-events:none;display:flex;align-items:center}.app-header__search-input{width:100%;height:38px;padding:0 14px 0 36px;border-radius:8px;border:1px solid color-mix(in srgb,var(--foreground) 8%,transparent);background:color-mix(in srgb,var(--foreground) 3%,transparent);font-size:13px;color:var(--foreground);outline:none;transition:all .2s ease}.app-header__search-input::-moz-placeholder{color:color-mix(in srgb,var(--foreground) 35%,transparent)}.app-header__search-input::placeholder{color:color-mix(in srgb,var(--foreground) 35%,transparent)}.app-header__search-input:focus{border-color:var(--primary);background:var(--card-bg);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.app-header__controls{display:flex;align-items:center;gap:16px;margin-left:auto}.app-header__utils{display:flex;align-items:center;gap:4px;background:color-mix(in srgb,var(--foreground) 3%,transparent);padding:4px;border-radius:10px;border:1px solid color-mix(in srgb,var(--foreground) 6%,transparent)}.app-header__icon-btn,.app-header__lang-btn{display:flex;align-items:center;justify-content:center;height:32px;border-radius:6px;color:color-mix(in srgb,var(--foreground) 55%,transparent);transition:all .15s ease}.app-header__icon-btn:hover,.app-header__lang-btn:hover{background:var(--card-bg);color:var(--foreground);box-shadow:0 1px 4px #0000000f}.app-header__icon-btn{width:32px;font-size:14px}.app-header__lang-btn{padding:0 10px;font-size:11px;font-weight:700;letter-spacing:.05em}.app-header__divider{width:1px;height:24px;background:color-mix(in srgb,var(--foreground) 8%,transparent)}.app-header__user{display:flex;align-items:center}.app-content{flex:1;padding:32px 24px;width:100%;max-width:1200px;margin:0 auto}@media(min-width:768px){.app-content{padding:48px}}.access-denied{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:24px}.access-denied__card{max-width:420px;width:100%;text-align:center;padding:40px 32px;background:var(--card-bg);border:1px solid color-mix(in srgb,var(--foreground) 10%,transparent);border-radius:12px;box-shadow:0 4px 24px color-mix(in srgb,var(--foreground) 6%,transparent)}.access-denied__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:color-mix(in srgb,#dc2626 12%,transparent);color:#dc2626;font-size:28px;margin-bottom:20px}.access-denied__title{margin:0 0 12px;font-size:22px;font-weight:700;color:var(--foreground);letter-spacing:-.02em}.access-denied__desc{margin:0 0 24px;font-size:15px;line-height:1.5;color:color-mix(in srgb,var(--foreground) 65%,transparent)}.access-denied__btn{margin:0}
