@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.sn-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.sn-card-pad{padding:var(--space-5)}.sn-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.sn-card-header h2,.sn-card-header h3{font:var(--font-h3)}.sn-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 18px;border-radius:var(--radius-sm);border:1px solid transparent;font:600 14px/20px var(--font-family);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}.sn-btn:disabled{opacity:.6;cursor:not-allowed}.sn-btn-primary{background:var(--color-primary);color:#fff}.sn-btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.sn-btn-secondary{background:var(--color-primary-soft);color:var(--color-primary)}.sn-btn-secondary:hover:not(:disabled){background:var(--color-primary-soft-hover)}.sn-btn-outline{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.sn-btn-outline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.sn-btn-ghost{background:transparent;color:var(--color-muted)}.sn-btn-ghost:hover:not(:disabled){background:var(--color-background);color:var(--color-text)}.sn-btn-block{width:100%}.sn-btn-lg{padding:13px 22px;font-size:15px}.sn-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);cursor:pointer;position:relative}.sn-icon-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}.sn-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-pill);font:600 12px/16px var(--font-family);white-space:nowrap}.sn-badge-high,.sn-badge-error,.sn-badge-late{background:var(--color-error-soft);color:var(--color-error)}.sn-badge-medium,.sn-badge-warning,.sn-badge-in_progress{background:var(--color-warning-soft);color:var(--color-warning-ink)}.sn-badge-low,.sn-badge-info{background:var(--color-info-soft);color:var(--color-info)}.sn-badge-success,.sn-badge-completed,.sn-badge-submitted{background:var(--color-success-soft);color:var(--color-success-ink)}.sn-badge-neutral,.sn-badge-not_started{background:var(--color-track);color:var(--color-muted)}.sn-badge-primary{background:var(--color-primary-soft);color:var(--color-primary)}.sn-progress{height:6px;border-radius:var(--radius-pill);background:var(--color-track);overflow:hidden}.sn-progress span{display:block;height:100%;border-radius:var(--radius-pill);background:var(--color-primary);transition:width .3s ease}.sn-progress-success span{background:var(--color-success)}.sn-progress-warning span{background:var(--color-warning)}.sn-field{display:block;margin-bottom:var(--space-4)}.sn-field>span{display:block;margin-bottom:6px;font:500 14px/20px var(--font-family);color:var(--color-text)}.sn-input{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);font:var(--font-small);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.sn-input::placeholder{color:var(--color-placeholder)}.sn-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1f}.sn-field-error{display:block;margin-top:6px;font:var(--font-caption);color:var(--color-error)}.sn-alert-error{padding:10px 14px;border-radius:var(--radius-sm);background:var(--color-error-soft);color:var(--color-error-ink);font:var(--font-small);margin-bottom:var(--space-4)}.sn-alert-success{padding:10px 14px;border-radius:var(--radius-sm);background:var(--color-success-soft);color:var(--color-success-ink);font:var(--font-small);margin-bottom:var(--space-4)}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);font:var(--font-small);color:var(--color-muted)}.breadcrumb a:hover{color:var(--color-primary)}.row-body{flex:1;min-width:0}.row-body strong{display:block;font:600 14px/20px var(--font-family)}.quick-actions,.quick-links{display:flex;flex-direction:column;gap:var(--space-1)}.quick-action,.quick-link{display:flex;align-items:center;gap:var(--space-3);padding:10px;border:none;background:none;border-radius:var(--radius-md);font:500 14px/20px var(--font-family);color:var(--color-text);cursor:pointer;text-align:left;transition:background .15s ease}.quick-action:hover,.quick-link:hover{background:var(--color-background)}.quick-action .sn-tile,.quick-link .sn-tile{width:34px;height:34px;border-radius:var(--radius-sm)}.dropzone{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-5) var(--space-4);margin-bottom:var(--space-4);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-2);color:var(--color-primary);text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.dropzone:hover,.dropzone.has-file{border-color:var(--color-primary);background:var(--color-primary-soft)}.dropzone input{display:none}.dropzone strong{font:600 14px/20px var(--font-family);color:var(--color-text)}.sn-icon-btn.danger:hover{color:var(--color-error);border-color:var(--color-error)}.sn-search{position:relative;display:flex;align-items:center}.sn-search sn-icon{position:absolute;left:12px;color:var(--color-muted);display:flex}.sn-search input{width:100%;padding:10px 14px 10px 38px;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);font:var(--font-small)}.sn-search input::placeholder{color:var(--color-placeholder)}.sn-search input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1f}.sn-tabs{display:flex;gap:var(--space-5);border-bottom:1px solid var(--color-border);overflow-x:auto}.sn-tabs a,.sn-tabs button{position:relative;padding:12px 2px;border:none;background:none;cursor:pointer;font:500 14px/20px var(--font-family);color:var(--color-muted);white-space:nowrap}.sn-tabs a:hover,.sn-tabs button:hover{color:var(--color-text)}.sn-tabs a.active,.sn-tabs button.active{color:var(--color-primary);font-weight:600}.sn-tabs a.active:after,.sn-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--color-primary);border-radius:var(--radius-pill)}.sn-chips{display:flex;gap:var(--space-2);flex-wrap:wrap}.sn-chips button{padding:7px 16px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);font:500 13px/18px var(--font-family);cursor:pointer}.sn-chips button:hover{color:var(--color-text)}.sn-chips button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.sn-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;font:600 14px/1 var(--font-family);width:38px;height:38px;flex-shrink:0}.sn-tile{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);flex-shrink:0;background:var(--color-primary-soft);color:var(--color-primary)}.sn-tile-success{background:var(--color-success-soft);color:var(--color-success)}.sn-tile-warning{background:var(--color-warning-soft);color:var(--color-warning)}.sn-tile-error{background:var(--color-error-soft);color:var(--color-error)}.sn-tile-secondary{background:var(--color-secondary-soft);color:var(--color-secondary)}.sn-muted{color:var(--color-muted)}.sn-small{font:var(--font-small)}.sn-caption{font:var(--font-caption)}.sn-strong{font-weight:600}.sn-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8) var(--space-5);text-align:center;color:var(--color-muted)}.sn-empty strong{color:var(--color-text);font:600 16px/24px var(--font-family)}.sn-skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-track) 25%,var(--color-surface-2) 50%,var(--color-track) 75%);background-size:400% 100%;animation:sn-shimmer 1.2s ease infinite}@keyframes sn-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.sn-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.sn-page-header p{margin-top:var(--space-1);color:var(--color-muted);font:var(--font-small)}.sn-list{display:flex;flex-direction:column}.sn-list-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);cursor:pointer;transition:background .15s ease}.sn-list-row:last-child{border-bottom:none}.sn-list-row:hover{background:var(--color-surface-2)}:root{--color-primary: #2563eb;--color-primary-hover: #1d4fd8;--color-primary-soft: #e8effd;--color-secondary: #6d87ff;--color-secondary-soft: #eef1ff;--color-background: #f7f9fc;--color-surface: #ffffff;--color-text: #1f2937;--color-success: #10b981;--color-success-soft: #e7f8f1;--color-warning: #f59e0b;--color-warning-soft: #fef4e6;--color-error: #ef4444;--color-error-soft: #fdecec;--color-info: #3b82f6;--color-info-soft: #e9f1fe;--color-muted: #64748b;--color-border: #e8edf5;--color-border-strong: #d8e0ec;--color-border-hover: #cfdcf6;--color-surface-2: #fafcff;--color-track: #eef2f8;--color-placeholder: #9aa7b8;--color-primary-soft-hover: #dbe6fc;--color-primary-tint: #f4f8ff;--color-success-tint: #f2f9f6;--color-warning-tint: #fffdf7;--color-warning-ink: #b45309;--color-success-ink: #047857;--color-error-ink: #b91c1c;--color-error-border: #f5c9c9;--color-brand-ink: #1b3a73;--color-purple: #7c3aed;--color-purple-soft: #f1ebfe;--color-pink: #db2777;--color-pink-soft: #fdebf4;--hero-gradient: linear-gradient(115deg, #1e40af 0%, #2f5be0 42%, #5b7cf7 78%, #8fa6ff 100%);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-h1: 700 32px/40px var(--font-family);--font-h2: 600 24px/32px var(--font-family);--font-h3: 600 20px/28px var(--font-family);--font-body: 400 16px/24px var(--font-family);--font-small: 400 14px/20px var(--font-family);--font-caption: 400 12px/16px var(--font-family);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(31, 41, 55, .05);--shadow-md: 0 4px 16px rgba(31, 41, 55, .06);--shadow-lg: 0 12px 32px rgba(37, 99, 235, .12);--sidebar-width: 264px;--topbar-height: 78px;color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--color-primary: #4f7ef7;--color-primary-hover: #6b93fa;--color-primary-soft: #1c2b4d;--color-primary-soft-hover: #243760;--color-primary-tint: #151f36;--color-secondary: #8298ff;--color-secondary-soft: #22284a;--color-background: #0d1321;--color-surface: #151c2c;--color-surface-2: #1a2235;--color-text: #e5e9f0;--color-muted: #94a0b4;--color-placeholder: #66728a;--color-border: #242e42;--color-border-strong: #2f3a51;--color-border-hover: #3a4a6b;--color-track: #252f45;--color-success-soft: #123127;--color-success-tint: #122520;--color-success-ink: #4ade80;--color-warning-soft: #3a2a10;--color-warning-tint: #241e12;--color-warning-ink: #fbbf24;--color-error-soft: #3b1a1d;--color-error-ink: #f87171;--color-error-border: #5b2a2e;--color-info-soft: #172a4a;--color-brand-ink: #e5e9f0;--color-purple: #a78bfa;--color-purple-soft: #2a2145;--color-pink: #f472b6;--color-pink-soft: #3a1a2c;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .45);--hero-gradient: linear-gradient(115deg, #172554 0%, #1e3a8a 45%, #3651c9 100%)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font:var(--font-body);background:var(--color-background);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,p{margin:0}h1{font:var(--font-h1)}h2{font:var(--font-h2)}h3{font:var(--font-h3)}a{color:inherit;text-decoration:none}button,input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--color-track);border-radius:var(--radius-pill);border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover);background-clip:content-box}
