:root{--radius: .5rem;--brand-navy: oklch(.23 .035 250);--brand-blue: oklch(.36 .072 250);--brand-cyan: oklch(.67 .132 234);--brand-amber: oklch(.79 .148 78);--brand-wine: oklch(.42 .121 12);--background: oklch(.982 .004 247);--foreground: oklch(.23 .035 250);--card: oklch(1 0 0);--card-foreground: oklch(.23 .035 250);--popover: oklch(1 0 0);--popover-foreground: oklch(.23 .035 250);--primary: oklch(.36 .072 250);--primary-foreground: oklch(.985 .005 240);--secondary: oklch(.945 .011 247);--secondary-foreground: oklch(.3 .05 250);--muted: oklch(.955 .008 247);--muted-foreground: oklch(.52 .028 250);--accent: oklch(.93 .035 234);--accent-foreground: oklch(.3 .06 245);--destructive: oklch(.53 .19 25);--destructive-foreground: oklch(.985 .005 240);--success: oklch(.55 .115 158);--success-foreground: oklch(.985 .005 240);--warning: oklch(.72 .145 72);--warning-foreground: oklch(.23 .035 250);--border: oklch(.9 .011 247);--input: oklch(.9 .011 247);--ring: oklch(.67 .132 234);--chart-1: oklch(.67 .132 234);--chart-2: oklch(.36 .072 250);--chart-3: oklch(.55 .115 158);--chart-4: oklch(.79 .148 78);--chart-5: oklch(.42 .121 12);--sidebar: oklch(.23 .035 250);--sidebar-foreground: oklch(.88 .012 240);--sidebar-primary: oklch(.67 .132 234);--sidebar-primary-foreground: oklch(.16 .03 250);--sidebar-accent: oklch(.29 .045 250);--sidebar-accent-foreground: oklch(.97 .005 240);--sidebar-border: oklch(1 0 0 / 10%);--sidebar-ring: oklch(.67 .132 234);--color-bg: var(--background);--color-bg-subtle: var(--muted);--color-surface: var(--card);--color-border: var(--border);--color-text: var(--foreground);--color-text-muted: var(--muted-foreground);--color-primary: var(--primary);--color-primary-dark: oklch(.28 .072 250);--color-primary-soft: var(--accent);--color-success: var(--success);--color-success-soft: oklch(.96 .035 158);--color-success-border: oklch(.88 .06 158);--color-warning: var(--warning);--color-warning-soft: oklch(.97 .04 72);--color-warning-border: oklch(.9 .08 72);--color-danger: var(--destructive);--color-danger-dark: oklch(.45 .19 25);--color-danger-soft: oklch(.97 .03 25);--color-danger-border: oklch(.89 .07 25);--color-info: var(--brand-cyan);--radius-sm: 6px;--radius-md: var(--radius);--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 14px rgba(15, 23, 42, .08);--sidebar-width: 250px;--topbar-height: 64px}[data-theme=dark],.dark{--background: oklch(.18 .03 250);--foreground: oklch(.95 .006 240);--card: oklch(.23 .035 250);--card-foreground: oklch(.95 .006 240);--popover: oklch(.23 .035 250);--popover-foreground: oklch(.95 .006 240);--primary: oklch(.67 .132 234);--primary-foreground: oklch(.16 .03 250);--secondary: oklch(.28 .04 250);--secondary-foreground: oklch(.95 .006 240);--muted: oklch(.28 .04 250);--muted-foreground: oklch(.72 .02 245);--accent: oklch(.32 .05 245);--accent-foreground: oklch(.95 .006 240);--destructive: oklch(.62 .18 25);--destructive-foreground: oklch(.98 .005 240);--success: oklch(.68 .13 158);--success-foreground: oklch(.16 .03 250);--warning: oklch(.79 .148 78);--warning-foreground: oklch(.18 .03 250);--border: oklch(1 0 0 / 12%);--input: oklch(1 0 0 / 16%);--ring: oklch(.67 .132 234);--chart-1: oklch(.67 .132 234);--chart-2: oklch(.78 .06 240);--chart-3: oklch(.68 .13 158);--chart-4: oklch(.79 .148 78);--chart-5: oklch(.6 .14 12);--sidebar: oklch(.16 .028 250);--sidebar-foreground: oklch(.88 .012 240);--sidebar-primary: oklch(.67 .132 234);--sidebar-primary-foreground: oklch(.16 .03 250);--sidebar-accent: oklch(.24 .04 250);--sidebar-accent-foreground: oklch(.97 .005 240);--sidebar-border: oklch(1 0 0 / 10%);--sidebar-ring: oklch(.67 .132 234);--color-bg: var(--background);--color-bg-subtle: var(--muted);--color-surface: var(--card);--color-border: var(--border);--color-text: var(--foreground);--color-text-muted: var(--muted-foreground);--color-primary: var(--primary);--color-primary-dark: oklch(.75 .132 234);--color-primary-soft: var(--accent);--color-success: var(--success);--color-success-soft: oklch(.25 .06 158);--color-success-border: oklch(.35 .08 158);--color-warning: var(--warning);--color-warning-soft: oklch(.28 .06 78);--color-warning-border: oklch(.38 .09 78);--color-danger: var(--destructive);--color-danger-dark: oklch(.7 .18 25);--color-danger-soft: oklch(.28 .07 25);--color-danger-border: oklch(.4 .12 25);--color-info: var(--brand-cyan);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 4px 18px rgba(0, 0, 0, .45)}*{box-sizing:border-box}body{transition:background-color .15s ease,color .15s ease}html,body,#root{height:100%}body{margin:0;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}h1,h2,h3,h4{margin:0 0 .5rem;font-weight:600}p{margin:0 0 .75rem;color:var(--color-text-muted)}button,input,select,textarea{font-family:inherit;font-size:.9rem}.app-shell{display:flex;min-height:100vh}.app-sidebar{width:var(--sidebar-width);background:var(--sidebar);color:var(--sidebar-foreground);flex-shrink:0;display:flex;flex-direction:column;transition:width .2s ease;border-right:1px solid var(--sidebar-border)}.app-sidebar.collapsed{width:72px}.app-sidebar .brand{padding:1.1rem 1.25rem;font-weight:700;color:var(--sidebar-accent-foreground, #fff);font-size:.95rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;border-bottom:1px solid var(--sidebar-border);text-align:center;transition:padding .2s ease}.app-sidebar.collapsed .brand{padding:1rem .5rem}.app-sidebar .brand img.logo{height:44px;width:auto;max-width:100%;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}.app-sidebar .brand img.logo-collapsed{height:28px}.app-sidebar .brand-title{white-space:nowrap}.app-sidebar nav{flex:1;overflow-y:auto;padding:.75rem .5rem}.sidebar-link{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border-radius:var(--radius-sm);color:var(--sidebar-foreground);font-size:.88rem;margin-bottom:2px;white-space:nowrap;overflow:hidden}.sidebar-link-icon{width:19px;height:19px;flex-shrink:0}.sidebar-link-label{overflow:hidden;text-overflow:ellipsis}.app-sidebar.collapsed .sidebar-link{justify-content:center}.sidebar-link:hover{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.sidebar-link.active{background:var(--sidebar-primary);color:var(--sidebar-primary-foreground)}.app-main{flex:1;display:flex;flex-direction:column;min-width:0}.app-topbar{height:var(--topbar-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;position:sticky;top:0;z-index:10}.app-content{flex:1;padding:1.5rem;max-width:1400px;width:100%;margin:0 auto}.breadcrumbs{font-size:.82rem;color:var(--color-text-muted);margin-bottom:1rem}.breadcrumbs a{color:var(--color-text-muted)}.breadcrumbs .current{color:var(--color-text);font-weight:600}@media (max-width: 900px){.app-sidebar{position:fixed;z-index:30;height:100vh;transform:translate(-100%)}.app-sidebar.mobile-open{transform:translate(0)}.app-content{padding:1rem}}@keyframes float-slow{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(3%,-6%,0) scale(1.12)}}@keyframes float-slow-reverse{0%,to{transform:translateZ(0) scale(1.12)}50%{transform:translate3d(-3%,6%,0) scale(1)}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes sheen{0%{background-position:-140% 0}to{background-position:240% 0}}.auth-shell{position:relative;min-height:100vh;width:100%;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0d151c;padding:2rem 1rem}.auth-halo{position:absolute;border-radius:50%;filter:blur(110px);pointer-events:none;z-index:0}.auth-halo-cyan{width:440px;height:440px;top:-120px;left:-100px;background:#00b3f040;background:oklch(.72 .15 232 / .25);animation:float-slow 14s ease-in-out infinite}.auth-halo-red{width:480px;height:480px;bottom:-120px;right:-100px;background:#d4092433;animation:float-slow-reverse 22s ease-in-out infinite}.auth-halo-yellow{width:400px;height:400px;bottom:-90px;left:calc(50% - 200px);background:#fac13126;animation:float-slow 18s ease-in-out infinite}.auth-theme-toggle{position:absolute!important;top:1.25rem;right:1.25rem;z-index:10;background:#ffffff14!important;border-color:#ffffff26!important;color:#eff2f5!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-theme-toggle:hover{background:#ffffff26!important}.auth-card-wrapper{position:relative;z-index:1;width:100%;max-width:28rem;border-radius:1.5rem;padding:1.5px;background-image:var(--gradient-brand);animation:rise .7s cubic-bezier(.22,1,.36,1) forwards}.auth-card{width:100%;border-radius:calc(1.5rem - 1.5px);background:#111921;box-shadow:var(--shadow-card);padding:2.5rem 2rem;color:#eff2f5}.auth-card .brand{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:2rem}.auth-card .brand img.logo{height:56px;width:auto;max-width:100%;object-fit:contain;margin-bottom:1.25rem;transition:transform .5s ease;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}.auth-card .brand img.logo:hover{transform:scale(1.05)}.auth-card .brand h1{font-size:1.5rem;font-weight:600;letter-spacing:-.025em;color:#eff2f5;margin:0 0 .4rem;line-height:1.2}.auth-card .brand .subtitle{font-size:.875rem;color:#9ba6b1;margin:0;font-weight:400}.auth-card .form-field{position:relative;margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.45rem}.auth-card .form-field label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:#9ba6b1}.auth-card .input{width:100%;border-radius:.75rem;border:1px solid oklch(1 0 0 / .12);background:#ffffff0a;color:#eff2f5;padding:.75rem 1rem;font-size:.9rem;outline:none;transition:all .3s ease}.auth-card .input::placeholder{color:#5d6b79}.auth-card .form-field:has(#email:focus) .input,.auth-card #email:focus{border-color:transparent;background:#ffffff12;box-shadow:0 0 0 2px var(--brand-cyan)}.auth-card .form-field:has(#password:focus) .input,.auth-card #password:focus{border-color:transparent;background:#ffffff12;box-shadow:0 0 0 2px var(--brand-red)}.auth-card .form-field-line{position:absolute;bottom:0;left:0;height:1.5px;width:0%;transition:width .5s ease;pointer-events:none;border-radius:9999px;z-index:2}.auth-card .form-field:has(#email) .form-field-line{background:var(--brand-cyan)}.auth-card .form-field:has(#password) .form-field-line,.auth-card .form-field:has(input[type=password]) .form-field-line{background:var(--brand-red)}.auth-card .form-field:focus-within .form-field-line{width:100%}.auth-card .btn-primary{position:relative;width:100%;border-radius:.75rem;padding:.75rem 1rem;color:#fff;font-size:.875rem;font-weight:600;background:var(--gradient-brand);border:none;cursor:pointer;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;box-shadow:0 4px 16px #d409244d;margin-top:.5rem}.auth-card .btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background-image:linear-gradient(100deg,transparent 35%,oklch(1 0 0 / .45) 50%,transparent 65%);background-size:200% 100%;animation:sheen 3.2s linear infinite;pointer-events:none}.auth-card .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px -6px #d4092473}.auth-card .btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.auth-card .btn-secondary{border-radius:.75rem;padding:.75rem 1rem;background:#ffffff0d;border:1px solid oklch(1 0 0 / .12);color:#eff2f5;transition:all .2s ease}.auth-card .btn-secondary:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.auth-card a{color:var(--brand-cyan);position:relative;display:inline-block;text-decoration:none;font-weight:500;font-size:.875rem;transition:color .2s ease}.auth-card a:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1.5px;background:var(--brand-cyan);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.auth-card a:hover:after{transform:scaleX(1)}.auth-card .alert{border-radius:.75rem;padding:.75rem 1rem;margin-bottom:1.25rem;font-size:.85rem;display:flex;align-items:center;gap:.5rem}.auth-card .alert-danger{background:#d4092426;border:1px solid oklch(.55 .22 25 / .35);color:#ffbab3;color:oklch(.85 .12 25)}.auth-footer{margin-top:2rem;font-size:.75rem;color:#77828c;text-align:center;position:relative;z-index:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1rem;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:600;font-size:.86rem;cursor:pointer;transition:all .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-subtle)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger-dark)}.btn-sm{padding:.35rem .7rem;font-size:.78rem}.form-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.form-field label{font-size:.82rem;font-weight:600;color:var(--color-text)}.form-field .hint{font-size:.75rem;color:var(--color-text-muted)}.form-field .error{font-size:.75rem;color:var(--color-danger)}.input,select.input,textarea.input{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.55rem .7rem;background:var(--color-surface);color:var(--color-text);width:100%}.input:focus,select.input:focus,textarea.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb26}.password-input{position:relative;display:flex}.password-input-toggle{position:absolute;top:50%;right:.6rem;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;background:none;border:none;padding:.2rem;margin:0;color:var(--color-text-muted);cursor:pointer;line-height:0}.password-input-toggle:hover{color:var(--color-text)}.rich-text-editor-content{min-height:180px;cursor:text}.rich-text-editor-content:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb26}.rich-text-editor-content p{margin:0 0 .5rem}.rich-text-editor-content ul,.rich-text-editor-content ol{padding-left:1.4rem;margin:0 0 .5rem}.table-wrapper{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface)}table.data-table{width:100%;border-collapse:collapse;font-size:.86rem}table.data-table th{text-align:left;padding:.7rem .9rem;background:var(--color-bg-subtle);color:var(--color-text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--color-border);cursor:pointer;white-space:nowrap}table.data-table td{padding:.7rem .9rem;border-bottom:1px solid var(--color-border);vertical-align:middle}table.data-table tbody tr:hover{background:var(--color-bg-subtle);cursor:pointer}table.data-table tbody tr:last-child td{border-bottom:none}.table-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:1rem;justify-content:space-between}.table-filters{display:flex;flex-wrap:wrap;gap:.5rem}.pagination{display:flex;align-items:center;gap:.5rem;justify-content:flex-end;padding:.75rem .9rem;font-size:.82rem;color:var(--color-text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal-panel{background:var(--color-surface);border-radius:var(--radius-lg);max-width:520px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-md);padding:1.5rem}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:90}.drawer-panel{position:fixed;top:0;right:0;height:100vh;width:min(480px,100vw);background:var(--color-surface);box-shadow:-8px 0 24px #0f172a26;z-index:95;overflow-y:auto;padding:1.5rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.spinner{width:22px;height:22px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{display:flex;align-items:center;justify-content:center;padding:3rem}.alert{padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:1rem}.alert-danger{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger-border)}.alert-success{background:var(--color-success-soft);color:var(--color-success);border:1px solid var(--color-success-border)}.card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:1.25rem}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.grid{display:grid;gap:1rem}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 900px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.kpi-card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.35rem}.kpi-card .kpi-label{font-size:.78rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.kpi-card .kpi-value{font-size:1.9rem;font-weight:700;color:var(--color-text)}.kb-content-preview{max-height:140px;overflow:hidden;position:relative}.kb-content-preview p{margin:0 0 .5rem}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.badge-dot{width:7px;height:7px;border-radius:50%}.timeline{display:flex;flex-direction:column;gap:0}.timeline-item{display:flex;gap:.85rem;padding-bottom:1.1rem;position:relative}.timeline-item:before{content:"";position:absolute;left:5px;top:20px;bottom:0;width:2px;background:var(--color-border)}.timeline-item:last-child:before{display:none}.timeline-dot{width:12px;height:12px;border-radius:50%;background:var(--color-primary);margin-top:4px;flex-shrink:0}.timeline-content{flex:1}.timeline-meta{font-size:.75rem;color:var(--color-text-muted);margin-top:.15rem}.comment-box{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.9rem;margin-bottom:.75rem}.comment-box.internal{background:var(--color-warning-soft);border-color:var(--color-warning-border)}.comment-box .comment-header{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--color-text-muted);margin-bottom:.4rem}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--color-border);margin-bottom:1.25rem;overflow-x:auto}.tab-btn{padding:.6rem 1rem;font-size:.85rem;font-weight:600;color:var(--color-text-muted);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;background:none;border-top:none;border-left:none;border-right:none}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.file-uploader{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:1.5rem;text-align:center;color:var(--color-text-muted);font-size:.85rem;cursor:pointer}.file-uploader:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:.82rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.w-full{width:100%}
