:root{--color-primary: #fdc300;--color-primary-hover: #e9b400;--color-primary-soft: #fff8e0;--color-primary-line: #f2d97a;--color-on-primary: #1b1b1c;--color-primary-rgb: 253, 195, 0;--color-paper: #f4f4f2;--color-card: #ffffff;--color-tint: #faf9f3;--color-tint-warm: #faf8f2;--color-head: #fbfbf8;--color-hover: #f6f5f0;--color-avatar-bg: #f3f2ec;--color-inverse: #151516;--color-ink-strong: #151516;--color-ink: #1b1b1c;--color-ink-2: #26262b;--color-ink-3: #4b4b4c;--color-ink-4: #5a5a5b;--color-muted: #8a8a82;--color-faint: #a2a29c;--color-ghost: #b6b6b0;--color-ink-inverse: #ffffff;--color-line: #eae9e3;--color-line-2: #e5e4dc;--color-line-soft: #f0efe9;--color-line-row: #f4f3ed;--color-line-header: #e7e7e2;--color-line-icon: #ecece6;--color-line-hover: #e3e0d6;--color-scrollbar: #d7d7d2;--color-success: #1f7a41;--color-success-dot: #2a9d54;--color-success-bg: #eaf7ee;--color-warning: #a8820a;--color-warning-strong: #8a6b06;--color-warning-dot: #e0a92b;--color-warning-bg: #fff5d6;--color-danger: #c81e1e;--color-danger-bg: #fdecec;--color-danger-rgb: 200, 30, 30;--color-info: #1f5aa8;--color-info-bg: #e8f0fb;--font-basic: "Barlow", system-ui, -apple-system, sans-serif;--font-heading: "Barlow", system-ui, -apple-system, sans-serif;--font-label: "Barlow Semi Condensed", system-ui, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "Consolas", monospace;--font-size-10: 10px;--font-size-11: 11px;--font-size-12: 12px;--font-size-13: 13px;--font-size-14: 14px;--font-size-15: 15px;--font-size-16: 16px;--font-size-17: 17px;--font-size-18: 18px;--font-size-20: 20px;--font-size-24: 24px;--font-size-28: 28px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height: 1.45;--line-height-tight: 1.2;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--gutter: 40px;--stack: var(--space-5);--card-padding: clamp(16px, 2.4vw, 26px);--radius-sm: 8px;--radius: 10px;--radius-badge: 9px;--radius-lg: 14px;--radius-xl: 16px;--radius-pill: 999px;--shadow-soft: 0 6px 20px rgba(20, 20, 25, 0.05);--shadow: 0 8px 24px rgba(20, 20, 25, 0.08);--shadow-hover: 0 12px 30px rgba(20, 20, 25, 0.1);--focus-ring: 0 0 0 3px rgba(var(--color-primary-rgb), 0.4);--focus-ring-danger: 0 0 0 3px rgba(var(--color-danger-rgb), 0.25);--transition: all 0.2s ease-in-out;--topbar-height: 60px;--sidebar-width: 248px;--content-max: 1180px;--user-red: #d9534f;--user-orange: #e08a2b;--user-yellow: #d9b310;--user-green: #2a9d54;--user-blue: #2f6fb5;--user-purple: #7a3ea8;--user-gray: #8a8a82;color-scheme:light;accent-color:var(--color-primary)}:root[data-theme=dark]{color-scheme:dark;--color-paper: #121214;--color-card: #1b1b1f;--color-tint: #212126;--color-tint-warm: #24242a;--color-head: #1f1f24;--color-hover: #26262c;--color-avatar-bg: #2a2a30;--color-inverse: #f4f4f2;--color-ink-strong: #f6f6f8;--color-ink: #ececee;--color-ink-2: #e2e2e6;--color-ink-3: #c9c9ce;--color-ink-4: #b9b9bf;--color-muted: #9a9aa2;--color-faint: #84848c;--color-ghost: #6e6e76;--color-line: #2e2e35;--color-line-2: #36363e;--color-line-soft: #28282f;--color-line-row: #26262d;--color-line-header: #2e2e35;--color-line-icon: #33333b;--color-line-hover: #43434c;--color-scrollbar: #3a3a42;--color-success: #4ec97d;--color-success-dot: #43d17e;--color-success-bg: #16301f;--color-warning: #e2b23c;--color-warning-strong: #f0c258;--color-warning-dot: #e0a92b;--color-warning-bg: #332a10;--color-danger: #f36a6a;--color-danger-bg: #3a1a1a;--color-danger-rgb: 243, 106, 106;--color-info: #6ba6f0;--color-info-bg: #152438;--color-primary-soft: #3a2f0a;--color-primary-line: #6b5a12;--shadow-soft: 0 6px 20px rgba(0, 0, 0, 0.35);--shadow: 0 8px 24px rgba(0, 0, 0, 0.45);--shadow-hover: 0 12px 30px rgba(0, 0, 0, 0.55)}@media(prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--color-paper: #121214;--color-card: #1b1b1f;--color-tint: #212126;--color-tint-warm: #24242a;--color-head: #1f1f24;--color-hover: #26262c;--color-avatar-bg: #2a2a30;--color-inverse: #f4f4f2;--color-ink-strong: #f6f6f8;--color-ink: #ececee;--color-ink-2: #e2e2e6;--color-ink-3: #c9c9ce;--color-ink-4: #b9b9bf;--color-muted: #9a9aa2;--color-faint: #84848c;--color-ghost: #6e6e76;--color-line: #2e2e35;--color-line-2: #36363e;--color-line-soft: #28282f;--color-line-row: #26262d;--color-line-header: #2e2e35;--color-line-icon: #33333b;--color-line-hover: #43434c;--color-scrollbar: #3a3a42;--color-success: #4ec97d;--color-success-dot: #43d17e;--color-success-bg: #16301f;--color-warning: #e2b23c;--color-warning-strong: #f0c258;--color-warning-dot: #e0a92b;--color-warning-bg: #332a10;--color-danger: #f36a6a;--color-danger-bg: #3a1a1a;--color-danger-rgb: 243, 106, 106;--color-info: #6ba6f0;--color-info-bg: #152438;--color-primary-soft: #3a2f0a;--color-primary-line: #6b5a12;--shadow-soft: 0 6px 20px rgba(0, 0, 0, 0.35);--shadow: 0 8px 24px rgba(0, 0, 0, 0.45);--shadow-hover: 0 12px 30px rgba(0, 0, 0, 0.55)}}@media(max-width: 1400px){:root{--gutter: 30px;--font-size-28: 24px;--font-size-24: 22px}}@media(max-width: 1024px){:root{--gutter: 24px}}@media(max-width: 660px){:root{--gutter: 16px}}@font-face{font-family:"Barlow";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/barlow-400-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Barlow";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/barlow-400-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:"Barlow";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/barlow-500-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Barlow";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/barlow-500-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:"Barlow";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/barlow-600-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Barlow";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/barlow-600-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:"Barlow";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/barlow-700-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Barlow";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/barlow-700-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/barlow-semi-condensed-600-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/barlow-semi-condensed-600-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/barlow-semi-condensed-700-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/barlow-semi-condensed-700-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}:root{--icon-dashboard: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='9'%3E%3C/rect%3E%3Crect x='14' y='3' width='7' height='5'%3E%3C/rect%3E%3Crect x='14' y='12' width='7' height='9'%3E%3C/rect%3E%3Crect x='3' y='16' width='7' height='5'%3E%3C/rect%3E%3C/svg%3E");--icon-building: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18'%3E%3C/path%3E%3Cpath d='M5 21V7l7-4 7 4v14'%3E%3C/path%3E%3Cpath d='M9 21v-6h6v6'%3E%3C/path%3E%3C/svg%3E");--icon-book: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'%3E%3C/path%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'%3E%3C/path%3E%3C/svg%3E");--icon-file-text: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22V4a2 2 0 0 1 2-2h9l5 5v15a2 2 0 0 1-2 2z'%3E%3C/path%3E%3Cline x1='8' y1='11' x2='16' y2='11'%3E%3C/line%3E%3Cline x1='8' y1='15' x2='14' y2='15'%3E%3C/line%3E%3C/svg%3E");--icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");--icon-help-circle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'%3E%3C/path%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'%3E%3C/line%3E%3C/svg%3E");--icon-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13 1 .37 1.94.72 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.87.35 1.81.59 2.81.72A2 2 0 0 1 22 16.92z'%3E%3C/path%3E%3C/svg%3E");--icon-logout: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'%3E%3C/path%3E%3Cpolyline points='16 17 21 12 16 7'%3E%3C/polyline%3E%3Cline x1='21' y1='12' x2='9' y2='12'%3E%3C/line%3E%3C/svg%3E");--icon-bell: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'%3E%3C/path%3E%3Cpath d='M13.7 21a2 2 0 0 1-3.4 0'%3E%3C/path%3E%3C/svg%3E");--icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");--icon-menu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='6' x2='21' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='12' x2='21' y2='12'%3E%3C/line%3E%3Cline x1='3' y1='18' x2='21' y2='18'%3E%3C/line%3E%3C/svg%3E");--icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");--icon-download: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='7 10 12 15 17 10'%3E%3C/polyline%3E%3Cline x1='12' y1='15' x2='12' y2='3'%3E%3C/line%3E%3C/svg%3E");--icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");--icon-filter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'%3E%3C/polygon%3E%3C/svg%3E");--icon-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'%3E%3C/line%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");--icon-edit: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'%3E%3C/path%3E%3Cpath d='M18.5 2.5a2.12 2.12 0 0 1 3 3L12 15l-4 1 1-4z'%3E%3C/path%3E%3C/svg%3E");--icon-paperclip: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48'%3E%3C/path%3E%3C/svg%3E");--icon-arrow-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3Cpolyline points='12 5 19 12 12 19'%3E%3C/polyline%3E%3C/svg%3E");--icon-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'%3E%3C/path%3E%3Cpolyline points='15 3 21 3 21 9'%3E%3C/polyline%3E%3Cline x1='10' y1='14' x2='21' y2='3'%3E%3C/line%3E%3C/svg%3E");--icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--icon-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='9' cy='7' r='4'%3E%3C/circle%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'%3E%3C/path%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'%3E%3C/path%3E%3C/svg%3E");--icon-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'%3E%3C/rect%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'%3E%3C/path%3E%3C/svg%3E");--icon-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='12' cy='7' r='4'%3E%3C/circle%3E%3C/svg%3E");--icon-flag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4v16'%3E%3C/path%3E%3Cpath d='M4 5h16l-3 4 3 4H4'%3E%3C/path%3E%3C/svg%3E");--icon-email: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'%3E%3C/path%3E%3Cpolyline points='22,6 12,13 2,6'%3E%3C/polyline%3E%3C/svg%3E");--icon-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E");--icon-address-alt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");--icon-remove: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");--icon-arrow-right-thin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M3 8h9M8.5 4l4 4-4 4'/%3E%3C/svg%3E");--icon-check-thin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M2.5 6.2l2 2 5-5.4'/%3E%3C/svg%3E");--icon-cross-thin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath stroke='%23000' stroke-width='1.8' stroke-linecap='round' d='M3 3l6 6M9 3l-6 6'/%3E%3C/svg%3E");--icon-warning: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='22'%3E%3Cpath fill-rule='evenodd' fill='%23000' d='M2 15a2 2 0 01-2-2V1.999a2 2 0 014 0V13a2 2 0 01-2 2zm0 3a2 2 0 110 4 2 2 0 010-4z'/%3E%3C/svg%3E");--icon-ok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14.6 12.8'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' d='M12.9 1.6l-7.2 9.7-4.1-4.9'/%3E%3C/svg%3E");--icon-settings: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'%3E%3C/circle%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.6a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'%3E%3C/path%3E%3C/svg%3E");--icon-key: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3'%3E%3C/path%3E%3C/svg%3E");--icon-sun: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='5'%3E%3C/circle%3E%3Cpath d='M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42'%3E%3C/path%3E%3C/svg%3E");--icon-moon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z'%3E%3C/path%3E%3C/svg%3E");--icon-dot: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4' fill='%23000'%3E%3C/circle%3E%3C/svg%3E");--icon-trash: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M8 6V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2m3 0v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6'%3E%3C/path%3E%3Cpath d='M10 11v6M14 11v6'%3E%3C/path%3E%3C/svg%3E")}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-basic);font-size:var(--font-size-14);line-height:var(--line-height);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-family:var(--font-heading);color:var(--color-ink-strong);line-height:var(--line-height-tight);letter-spacing:-0.01em}p{margin:0 0 var(--space-3)}p:last-child{margin-bottom:0}a{color:var(--color-ink);text-decoration-color:var(--color-line-2);text-underline-offset:2px}a:hover{text-decoration-color:var(--color-primary)}img,svg{max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}table{border-collapse:collapse;width:100%}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}::selection{background:var(--color-primary-soft)}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:var(--space-2);z-index:100;padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius);font-weight:var(--font-weight-semibold)}.skip-link:focus{top:var(--space-2)}.label-caps{font-family:var(--font-label);font-size:var(--font-size-11);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.btn{--btn-bg: var(--color-tint);--btn-color: var(--color-ink);--btn-border: var(--color-line-2);--btn-icon: none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.7em 1.2em;border:1px solid var(--btn-border);border-radius:var(--radius);background:var(--btn-bg);color:var(--btn-color);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold);line-height:1;text-decoration:none;cursor:pointer;transition:var(--transition)}.btn:hover:not(:disabled){filter:brightness(0.96)}.btn:focus-visible{box-shadow:var(--focus-ring)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn::before{content:"";display:none;width:1.05em;height:1.05em;background-color:currentColor;mask:var(--btn-icon) center/contain no-repeat}.btn[class*=btn--icon-]::before{display:block}.btn--primary{--btn-bg: var(--color-primary);--btn-color: var(--color-on-primary);--btn-border: var(--color-primary)}.btn--dark{--btn-bg: var(--color-inverse);--btn-color: var(--color-card);--btn-border: var(--color-inverse)}.btn--danger{--btn-bg: transparent;--btn-color: var(--color-danger);--btn-border: var(--color-danger)}.btn--danger:hover:not(:disabled){--btn-bg: var(--color-danger-bg)}.btn--danger:focus-visible{box-shadow:var(--focus-ring-danger)}.btn--ghost{--btn-bg: transparent;--btn-border: transparent;--btn-color: var(--color-ink-3)}.btn--sm{padding:.45em .8em;font-size:var(--font-size-12)}.btn--lg{padding:.85em 1.5em;font-size:var(--font-size-15)}.btn--block{width:100%}.btn--icon-plus{--btn-icon: var(--icon-plus)}.btn--icon-edit{--btn-icon: var(--icon-edit)}.btn--icon-check{--btn-icon: var(--icon-check)}.btn--icon-trash{--btn-icon: var(--icon-trash)}.btn--icon-key{--btn-icon: var(--icon-key)}.btn--icon-search{--btn-icon: var(--icon-search)}.btn--icon-logout{--btn-icon: var(--icon-logout)}.btn.is-loading{color:rgba(0,0,0,0);pointer-events:none;position:relative}.btn.is-loading::after{content:"";position:absolute;width:1em;height:1em;border:2px solid currentColor;border-top-color:rgba(0,0,0,0);border-radius:50%;color:var(--btn-color);animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.3em;height:2.3em;padding:0;border:1px solid var(--color-line-icon);border-radius:var(--radius);background:rgba(0,0,0,0);color:var(--color-ink-3);cursor:pointer;transition:var(--transition)}.icon-btn:hover{background:var(--color-tint-warm);border-color:var(--color-line-hover)}.icon-btn::before{content:"";width:1.1em;height:1.1em;background-color:currentColor;mask:var(--btn-icon, var(--icon-menu)) center/contain no-repeat}.form{display:grid;grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));gap:var(--space-4)}.form--stacked{grid-template-columns:1fr}.form__full{grid-column:1/-1}.form__actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;padding-top:var(--space-2)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field__label{font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);color:var(--color-ink-2)}.field__required{color:var(--color-danger)}.field__hint{font-size:var(--font-size-12);color:var(--color-muted)}.field__error{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-12);color:var(--color-danger)}.field__error::before{content:"";width:.85em;height:.85em;flex:none;background-color:currentColor;mask:var(--icon-warning) center/contain no-repeat}.field input[type=text],.field input[type=email],.field input[type=password],.field input[type=date],.field input[type=time],.field input[type=number],.field input[type=search],.field select,.field textarea{width:100%;padding:.65em .8em;border:1px solid var(--color-line-2);border-radius:var(--radius);background:var(--color-card);color:var(--color-ink);transition:var(--transition)}.field input[type=text]:hover,.field input[type=email]:hover,.field input[type=password]:hover,.field input[type=date]:hover,.field input[type=time]:hover,.field input[type=number]:hover,.field input[type=search]:hover,.field select:hover,.field textarea:hover{border-color:var(--color-line-hover)}.field input[type=text]:focus,.field input[type=email]:focus,.field input[type=password]:focus,.field input[type=date]:focus,.field input[type=time]:focus,.field input[type=number]:focus,.field input[type=search]:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.field input[type=text]:disabled,.field input[type=email]:disabled,.field input[type=password]:disabled,.field input[type=date]:disabled,.field input[type=time]:disabled,.field input[type=number]:disabled,.field input[type=search]:disabled,.field select:disabled,.field textarea:disabled{background:var(--color-tint);color:var(--color-muted)}.field textarea{min-height:6em;resize:vertical}.field select{appearance:none;padding-right:2.2em;background-image:var(--icon-chevron-down);background-repeat:no-repeat;background-position:right .7em center;background-size:1em}.field--error input,.field--error select,.field--error textarea{border-color:var(--color-danger)}.field--error input:focus,.field--error select:focus,.field--error textarea:focus{box-shadow:var(--focus-ring-danger)}.field--success input{border-color:var(--color-success)}.checkbox{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-13);cursor:pointer}.checkbox input{width:1.05em;height:1.05em;accent-color:var(--color-primary);cursor:pointer}.color-picker{display:flex;flex-wrap:wrap;gap:var(--space-2)}.color-picker__item{position:relative}.color-picker__item input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.color-picker__item span{display:block;width:1.8em;height:1.8em;border-radius:50%;border:2px solid rgba(0,0,0,0);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.color-picker__item input:checked+span{border-color:var(--color-ink)}.color-picker__item input:focus-visible+span{box-shadow:var(--focus-ring)}.card{--card-bg: var(--color-card);--card-border: var(--color-line);padding:var(--card-padding);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl)}.card+.card{margin-top:var(--stack)}.card--tint{--card-bg: var(--color-tint)}.card--dark{--card-bg: var(--color-inverse);color:var(--color-ink-inverse)}.card__head{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between;margin:calc(var(--card-padding)*-1) calc(var(--card-padding)*-1) var(--card-padding);padding:var(--space-4) var(--card-padding);border-bottom:1px solid var(--color-line-soft)}.card__title{font-size:var(--font-size-17);font-weight:var(--font-weight-bold)}.card__subtitle{font-size:var(--font-size-13);color:var(--color-muted)}.card__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.card--flush{padding:0}.card--flush .card__head{margin:0}.tiles{display:grid;grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));gap:var(--space-4)}.tile{padding:var(--space-4);background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-xl)}.tile__label{font-family:var(--font-label);font-size:var(--font-size-10);font-weight:var(--font-weight-semibold);letter-spacing:.16em;text-transform:uppercase;color:var(--color-ghost)}.tile__value{margin-top:var(--space-1);font-size:var(--font-size-28);font-weight:var(--font-weight-bold);letter-spacing:-0.02em;line-height:1.05}.tile__note{margin-top:var(--space-1);font-size:var(--font-size-12);color:var(--color-muted)}.page-head{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.page-head__title{font-size:var(--font-size-24);font-weight:var(--font-weight-bold);letter-spacing:-0.02em}.page-head__subtitle{margin-top:var(--space-1);font-size:var(--font-size-13);color:var(--color-muted)}.data-table{--table-columns: 1fr;border:1px solid var(--color-line);border-radius:var(--radius-xl);overflow:hidden;background:var(--color-card)}.data-table__head,.data-table__row{display:grid;grid-template-columns:var(--table-columns);gap:var(--space-3);align-items:center}.data-table__head{padding:var(--space-3) var(--space-5);background:var(--color-head);border-bottom:1px solid var(--color-line);font-family:var(--font-label);font-size:var(--font-size-11);font-weight:var(--font-weight-semibold);letter-spacing:.03em;text-transform:uppercase;color:var(--color-faint)}.data-table__row{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-line-row);transition:var(--transition)}.data-table__row:last-child{border-bottom:0}.data-table__row:hover{background:var(--color-tint)}.data-table__row.is-inactive{opacity:.6}.data-table__cell-label{display:none;font-family:var(--font-label);font-size:var(--font-size-10);letter-spacing:.08em;text-transform:uppercase;color:var(--color-faint)}.data-table__primary{font-weight:var(--font-weight-semibold);color:var(--color-ink-2)}.data-table__meta{font-size:var(--font-size-12);color:var(--color-muted)}.data-table__actions{display:flex;gap:var(--space-2);justify-content:flex-end;flex-wrap:wrap}@media(max-width: 1024px){.data-table__head{display:none}.data-table__row{grid-template-columns:1fr;gap:var(--space-1)}.data-table__cell-label{display:block;margin-top:var(--space-2)}.data-table__actions{justify-content:flex-start;margin-top:var(--space-3)}}.empty-state{padding:var(--space-10) var(--space-5);text-align:center;color:var(--color-muted)}.empty-state__title{font-size:var(--font-size-18);font-weight:var(--font-weight-bold);color:var(--color-ink);margin-bottom:var(--space-2)}.pagination{display:flex;gap:var(--space-1);justify-content:center;margin-top:var(--space-5)}.pagination a,.pagination span{min-width:2.4em;padding:.4em .6em;border:1px solid var(--color-line-2);border-radius:var(--radius-sm);text-align:center;font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);text-decoration:none}.pagination .is-current{background:var(--color-inverse);border-color:var(--color-inverse);color:var(--color-card)}.pill{--pill-color: var(--color-ink-3);--pill-bg: var(--color-tint);display:inline-flex;align-items:center;gap:var(--space-1);padding:.3em .75em;border-radius:var(--radius-pill);background:var(--pill-bg);color:var(--pill-color);font-size:var(--font-size-12);font-weight:var(--font-weight-semibold);white-space:nowrap}.pill--success{--pill-color: var(--color-success);--pill-bg: var(--color-success-bg)}.pill--warning{--pill-color: var(--color-warning);--pill-bg: var(--color-warning-bg)}.pill--danger{--pill-color: var(--color-danger);--pill-bg: var(--color-danger-bg)}.pill--info{--pill-color: var(--color-info);--pill-bg: var(--color-info-bg)}.pill--dot::before{content:"";width:.5em;height:.5em;border-radius:50%;background:currentColor}.notice{--notice-color: var(--color-info);--notice-bg: var(--color-info-bg);display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid;border-color:color-mix(in srgb, var(--notice-color) 25%, transparent);border-radius:var(--radius);background:var(--notice-bg);color:var(--notice-color);font-size:var(--font-size-13)}.notice+.notice{margin-top:var(--space-2)}.notice--success{--notice-color: var(--color-success);--notice-bg: var(--color-success-bg)}.notice--error{--notice-color: var(--color-danger);--notice-bg: var(--color-danger-bg)}.notice--warning{--notice-color: var(--color-warning);--notice-bg: var(--color-warning-bg)}.toasts{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:60;display:flex;flex-direction:column;gap:var(--space-2);max-width:min(380px,100vw - var(--space-8))}.toast{--toast-accent: var(--color-success);display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-line);border-left:3px solid var(--toast-accent);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow);font-size:var(--font-size-13);animation:toast-in .2s ease-out}.toast--error{--toast-accent: var(--color-danger)}.toast--warning{--toast-accent: var(--color-warning)}.toast__close{margin-left:auto;border:0;background:none;color:var(--color-ghost);cursor:pointer;line-height:1}@keyframes toast-in{from{opacity:0;transform:translateY(6px)}}.avatar{display:inline-flex;align-items:center;justify-content:center;width:2.4em;height:2.4em;flex:none;border-radius:50%;background:var(--color-avatar-bg);color:var(--color-ink-3);font-size:var(--font-size-12);font-weight:var(--font-weight-bold);letter-spacing:.02em}.avatar--sm{width:1.9em;height:1.9em;font-size:var(--font-size-11)}.avatar[data-color=red]{background:var(--user-red);color:#fff}.avatar[data-color=orange]{background:var(--user-orange);color:#fff}.avatar[data-color=yellow]{background:var(--user-yellow);color:var(--color-on-primary)}.avatar[data-color=green]{background:var(--user-green);color:#fff}.avatar[data-color=blue]{background:var(--user-blue);color:#fff}.avatar[data-color=purple]{background:var(--user-purple);color:#fff}.avatar[data-color=gray]{background:var(--user-gray);color:#fff}.dialog{width:min(560px,100vw - var(--space-8));max-height:min(90vh,780px);padding:0;border:1px solid var(--color-line);border-radius:var(--radius-xl);background:var(--color-card);color:var(--color-ink);box-shadow:var(--shadow-hover)}.dialog::backdrop{background:rgba(0,0,0,.45)}.dialog__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-line-soft);font-weight:var(--font-weight-bold)}.dialog__body{padding:var(--space-5);overflow-y:auto}.dialog__foot{display:flex;gap:var(--space-2);justify-content:flex-end;padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-line-soft)}.data-table__row.is-closed{color:var(--color-muted)}.data-table__row.is-expired{box-shadow:inset 3px 0 0 var(--color-danger)}.data-table__row.is-unplanned{box-shadow:inset 3px 0 0 var(--color-warning-dot)}.data-table__sort{display:inline-flex;align-items:center;gap:var(--space-1);color:inherit;text-decoration:none}.data-table__sort::after{content:"";width:.8em;height:.8em;opacity:0;background-color:currentColor;mask:var(--icon-chevron-down) center/contain no-repeat;transition:var(--transition)}.data-table__sort:hover{color:var(--color-ink)}.data-table__sort.is-active{color:var(--color-ink)}.data-table__sort.is-active::after{opacity:1}.data-table__sort.is-active[data-direction=desc]::after{transform:rotate(180deg)}@media(max-width: 1024px){.data-table__hide-mobile{display:none}}.text-faint{color:var(--color-faint)}.card--filters{padding:var(--space-4)}.filters{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:var(--space-3);align-items:end}.filters .form__actions{padding-top:0}.file-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.file-grid__item{margin:0}.file-grid__item img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-tint)}.file-grid__item figcaption{margin-top:var(--space-1);font-size:var(--font-size-11);color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-grid__doc{display:grid;place-items:center;aspect-ratio:4/3;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-danger-bg);color:var(--color-danger);font-family:var(--font-label);font-weight:var(--font-weight-bold);letter-spacing:.08em}.pill[data-color]{--pill-bg: var(--color-tint)}.pill[data-color=red]{--pill-color: var(--user-red)}.pill[data-color=orange]{--pill-color: var(--user-orange)}.pill[data-color=yellow]{--pill-color: var(--user-yellow)}.pill[data-color=green]{--pill-color: var(--user-green)}.pill[data-color=blue]{--pill-color: var(--user-blue)}.pill[data-color=purple]{--pill-color: var(--user-purple)}.pill[data-color=gray]{--pill-color: var(--user-gray)}.card__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.shell{display:flex;min-height:100vh}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:var(--space-3);height:var(--topbar-height);padding:0 var(--gutter);background:var(--color-card);border-bottom:1px solid var(--color-line-header)}.topbar__brand{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-weight-bold);font-size:var(--font-size-15);text-decoration:none;color:var(--color-ink-strong)}.topbar__logo{display:grid;place-items:center;width:1.9em;height:1.9em;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-on-primary);font-weight:var(--font-weight-bold)}.topbar__logo-img{max-height:calc(var(--topbar-height) - var(--space-5));width:auto}.topbar__spacer{flex:1}.topbar__actions{display:flex;align-items:center;gap:var(--space-2)}.topbar__burger{display:none}@media(max-width: 1024px){.topbar__burger{display:inline-flex}}.sidebar{position:sticky;top:0;align-self:flex-start;width:var(--sidebar-width);flex:none;height:100vh;padding:var(--space-4) var(--space-3);background:var(--color-card);border-right:1px solid var(--color-line);display:flex;flex-direction:column;gap:var(--space-1);overflow-y:auto}.sidebar__label{padding:var(--space-2) var(--space-3) var(--space-1);font-family:var(--font-label);font-size:var(--font-size-10);font-weight:var(--font-weight-semibold);letter-spacing:.16em;text-transform:uppercase;color:var(--color-ghost)}.sidebar__item{display:flex;align-items:center;gap:var(--space-2);padding:.65em .8em;border-radius:var(--radius);color:var(--color-ink-4);font-size:var(--font-size-14);font-weight:var(--font-weight-medium);text-decoration:none;transition:var(--transition)}.sidebar__item::before{content:"";width:1.15em;height:1.15em;flex:none;background-color:currentColor;mask:var(--nav-icon, var(--icon-dot)) center/contain no-repeat}.sidebar__item:hover{background:var(--color-hover);color:var(--color-ink)}.sidebar__item.is-active{position:relative;background:var(--color-primary-soft);color:var(--color-ink-strong);font-weight:var(--font-weight-semibold)}.sidebar__item.is-active::after{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:0 3px 3px 0;background:var(--color-primary)}.sidebar__bottom{margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--color-line-soft)}.sidebar__logout{--nav-icon: var(--icon-logout);width:100%;border:0;background:none;cursor:pointer;text-align:left;font-family:inherit}.sidebar__logout:hover{color:var(--color-danger)}@media(max-width: 1024px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:50;transform:translateX(-100%);transition:transform .22s ease;box-shadow:var(--shadow)}.sidebar.is-open{transform:translateX(0)}}.sidebar-backdrop{display:none}@media(max-width: 1024px){.sidebar-backdrop.is-visible{display:block;position:fixed;inset:0;z-index:45;background:rgba(0,0,0,.35);border:0}}.main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.main__content{width:100%;max-width:var(--content-max);padding:var(--space-6) var(--gutter) var(--space-12)}.usermenu{position:relative}.usermenu__summary{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius);cursor:pointer;list-style:none}.usermenu__summary::-webkit-details-marker{display:none}.usermenu__summary:hover{background:var(--color-hover)}.usermenu__name{font-size:var(--font-size-13);font-weight:var(--font-weight-semibold)}@media(max-width: 660px){.usermenu__name{display:none}}.usermenu__panel{position:absolute;right:0;top:calc(100% + var(--space-2));min-width:16em;padding:var(--space-2);background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-xl);box-shadow:var(--shadow);z-index:50}.usermenu__item{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-13);text-decoration:none;color:var(--color-ink-4)}.usermenu__item:hover{background:var(--color-hover);color:var(--color-ink)}.usermenu__section{padding:var(--space-2) var(--space-3) var(--space-1);border-top:1px solid var(--color-line-soft);margin-top:var(--space-2)}.app-message{padding:var(--space-2) var(--gutter);background:var(--color-primary-soft);border-bottom:1px solid var(--color-primary-line);color:var(--color-ink-2);font-size:var(--font-size-13)}.auth{display:grid;place-items:center;min-height:100vh;padding:var(--space-6) var(--gutter);background:var(--color-paper)}.auth__card{width:min(420px,100%);padding:var(--space-8);background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft)}.auth__brand{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);font-weight:var(--font-weight-bold);font-size:var(--font-size-16)}.auth__logo{display:grid;place-items:center;width:2.2em;height:2.2em;border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary)}.auth__logo-img{max-height:3em;width:auto}.auth__title{font-size:var(--font-size-20);font-weight:var(--font-weight-bold);margin-bottom:var(--space-1)}.auth__subtitle{margin-bottom:var(--space-5);font-size:var(--font-size-13);color:var(--color-muted)}.auth__form{display:flex;flex-direction:column;gap:var(--space-4)}.auth__foot{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-line-soft);font-size:var(--font-size-13);text-align:center;color:var(--color-muted)}.migrate-list{margin:0 0 var(--space-5);padding:0;list-style:none;max-height:40vh;overflow-y:auto}.migrate-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-line-soft);font-size:var(--font-size-12)}.migrate-list code{font-family:var(--font-mono);word-break:break-all}.error-page{display:grid;place-items:center;min-height:60vh;padding:var(--space-10) var(--gutter);text-align:center}.error-page__code{font-size:var(--font-size-28);font-weight:var(--font-weight-bold);color:var(--color-ghost)}.error-page__title{margin:var(--space-2) 0;font-size:var(--font-size-24)}.error-page__message{color:var(--color-muted);margin-bottom:var(--space-5)}.caps-group+.caps-group{margin-top:var(--space-5)}.caps-group__title{margin-bottom:var(--space-3);font-family:var(--font-label);font-size:var(--font-size-11);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.caps-group__list{display:grid;grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));gap:var(--space-2)}.caps-group__item{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius);font-size:var(--font-size-13)}.caps-group__item code{display:block;font-family:var(--font-mono);font-size:var(--font-size-11);color:var(--color-faint)}
