@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-CkZN0sRy.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-BV5B8Are.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff) format("woff");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}:root{--color-primary: #1C5FCC;--color-primary-dark: #16489C;--color-primary-bg: #EAF1FC;--color-success: #1F8A5B;--color-success-bg: #E1F0E8;--color-danger: #C9433F;--color-danger-bg: #FBE4E3;--color-warning: #E8A23D;--color-warning-hover: #CF8324;--color-warning-bg: #FBF4E6;--color-info: #1C5FCC;--color-info-bg: #EAF1FC;--color-neutral: #6B7686;--color-neutral-bg: #F4F6F9;--color-purple: #7A3FBF;--color-purple-bg: #F3ECFB;--color-text: #1B2330;--color-text-strong: #3C4757;--color-text-sidebar: #5b6678;--color-text-muted: #6B7686;--color-text-placeholder: #9AA3B0;--color-bg: #F4F6F9;--color-surface: #FFFFFF;--color-surface-alt: #FAFAFA;--color-surface-muted: #f5f5f5;--color-border: #E6EAF0;--color-border-soft: #f0f0f0;--color-track: #E0E0E0;--radius-card: 12px;--radius-control: 8px;--radius-modal: 16px;--radius-pill: 12px;--shadow-card: 0 1px 3px rgba(0,0,0,.08);--shadow-kanban: 0 1px 2px rgba(0,0,0,.06);--shadow-kanban-hover: 0 2px 8px rgba(0,0,0,.12);--shadow-modal: 0 12px 40px rgba(0,0,0,.25);--shadow-login: 0 8px 32px rgba(0,0,0,.2);--sidebar-w: 250px;--header-h: 64px;--font-sans: "IBM Plex Sans", "Roboto", "Helvetica", "Arial", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-base: 14px;--fs-ui: 13px;--fs-small: 12px;--fs-micro: 11px;--fs-title: 16px;--fs-kpi: 28px;--overlay: rgba(27,35,48,.45);--focus-ring: 0 0 0 4px rgba(28,95,204,.2);--transition: all .2s}*{margin:0;padding:0;box-sizing:border-box}body{font-family:IBM Plex Sans,sans-serif;font-size:14px;color:#1b2330;background:#f4f6f9}.layout{display:flex;min-height:100vh}.sidebar{width:250px;background:#fff;color:#5b6678;display:flex;flex-direction:column;position:fixed;height:100vh;z-index:100;border-right:1px solid #E6EAF0}.main{margin-left:250px;flex:1;display:flex;flex-direction:column;min-height:100vh}.header{height:64px;background:#fff;border-bottom:1px solid #E6EAF0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:50}.content{flex:1;padding:24px;overflow:auto}.sidebar-header{padding:20px 16px;border-bottom:1px solid #E6EAF0}.sidebar-logo{font-size:17px;font-weight:700;color:#1b2330;letter-spacing:.06em;text-decoration:none;display:flex;align-items:center;gap:9px}.sidebar-nav{flex:1;overflow-y:auto;padding:12px 0}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 16px;color:#5b6678;text-decoration:none;font-size:14px;cursor:pointer;transition:all .2s;border-left:3px solid transparent}.nav-item:hover{background:#f4f6f9;color:#1b2330}.nav-item.active{background:#eaf1fc;color:#1c5fcc;border-left-color:#1c5fcc}.nav-item .icon{font-size:16px;width:20px;text-align:center}.nav-sub{padding-left:24px;display:none}.nav-sub.open{display:flex;flex-direction:column}.nav-sub .nav-item{padding:8px 16px;font-size:13px}.breadcrumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7686}.breadcrumbs a{color:#1c5fcc;text-decoration:none}.header-right{display:flex;align-items:center;gap:20px}.search-box{position:relative}.search-box input{padding:8px 12px 8px 32px;border:1px solid #E6EAF0;border-radius:8px;font-size:13px;width:240px;outline:none}.search-box input:focus{border-color:#1c5fcc}.search-box:before{content:"";position:absolute;left:11px;top:50%;width:14px;height:14px;transform:translateY(-50%);background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7686' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E") center / contain no-repeat}.header-btn{position:relative;background:none;border:none;font-size:18px;cursor:pointer;padding:6px;border-radius:8px;transition:background .2s}.header-btn:hover{background:#f5f5f5}.badge{position:absolute;top:2px;right:2px;background:#c9433f;color:#fff;font-size:10px;padding:1px 5px;border-radius:10px;font-weight:600}.user-menu{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:#1b2330}.card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:20px;margin-bottom:16px}.card-title{font-size:16px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .2s;text-decoration:none}.btn-primary{background:#1c5fcc;color:#fff}.btn-primary:hover{background:#16489c}.btn-accent{background:#e8a23d;color:#fff}.btn-accent:hover{background:#cf8324}.btn-success{background:#1f8a5b;color:#fff}.btn-outline{background:#fff;color:#1c5fcc;border:1px solid #1C5FCC}.btn-outline:hover{background:#1c5fcc;color:#fff}.btn-danger{background:#c9433f;color:#fff}.btn-warning{background:#e8a23d;color:#1b2330}.btn-sm{padding:6px 12px;font-size:12px}.btn-lg{padding:12px 24px;font-size:14px}.btn:disabled{opacity:.5;cursor:not-allowed}.badge-status{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500}.badge-green{background:#e1f0e8;color:#1f8a5b}.badge-red{background:#fbe4e3;color:#c9433f}.badge-yellow{background:#fbf4e6;color:#e8a23d}.badge-blue{background:#eaf1fc;color:#1c5fcc}.badge-gray{background:#f4f6f9;color:#6b7686}.badge-orange{background:#fbf4e6;color:#e8a23d}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{background:#fafafa;padding:12px 16px;text-align:left;font-weight:600;color:#6b7686;border-bottom:2px solid #E6EAF0;white-space:nowrap}.data-table td{padding:12px 16px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.data-table tr:hover td{background:#fafafa}.data-table tr:last-child td{border-bottom:none}.form-group{margin-bottom:16px}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;border:1px solid #E6EAF0;border-radius:8px;font-size:13px;outline:none;transition:border-color .2s;font-family:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#1c5fcc}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.widget-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}.widget-grid-2{grid-template-columns:repeat(2,1fr)}.progress-bar{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:#1c5fcc;border-radius:4px;transition:width .3s}.progress-fill.success{background:#1f8a5b}.progress-fill.warning{background:#e8a23d}.progress-fill.error{background:#c9433f}.tabs{display:flex;gap:4px;border-bottom:2px solid #E6EAF0;margin-bottom:20px}.tab{padding:10px 20px;cursor:pointer;font-size:13px;font-weight:500;color:#6b7686;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.tab:hover{color:#1c5fcc}.tab.active{color:#1c5fcc;border-bottom-color:#1c5fcc}.tab-content{display:none}.tab-content.active{display:block}.wizard-steps{display:flex;justify-content:center;gap:8px;margin-bottom:24px}.wizard-step{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;color:#6b7686;background:#f5f5f5}.wizard-step.active{background:#1c5fcc;color:#fff}.wizard-step.completed{background:#e1f0e8;color:#1f8a5b}.kanban{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.kanban-col{background:#f5f5f5;border-radius:12px;padding:12px;min-height:400px}.kanban-col-count{background:#0000001a;padding:2px 8px;border-radius:10px;font-size:11px}.kanban-card{background:#fff;border-radius:8px;padding:12px;margin-bottom:8px;box-shadow:0 1px 2px #0000000f;cursor:pointer;transition:box-shadow .2s}.kanban-card:hover{box-shadow:0 2px 8px #0000001f}.kanban-card-title{font-weight:500;font-size:12px;margin-bottom:8px;color:#1b2330}.kanban-card-meta{font-size:11px;color:#6b7686;display:flex;flex-direction:column;gap:4px}.chart-bar{display:flex;align-items:flex-end;gap:8px;height:120px}.bar-item{flex:1;background:#1c5fcc;border-radius:4px 4px 0 0;transition:all .3s;position:relative;min-height:4px}.bar-item:hover{opacity:.8}.bar-label{font-size:11px;color:#6b7686;text-align:center;margin-top:4px}.chart-legend{display:flex;gap:16px;margin-top:12px;font-size:12px;color:#6b7686}.legend-item{display:flex;align-items:center;gap:4px}.legend-dot{width:8px;height:8px;border-radius:50%}.diff-added{background:#e1f0e8;color:#1f8a5b;padding:2px 4px}.diff-removed{background:#fbe4e3;text-decoration:line-through;color:#c9433f;padding:2px 4px}.login-body{background:linear-gradient(135deg,#1c5fcc,#16489c);min-height:100vh;display:flex;align-items:center;justify-content:center}.login-logo h1{font-size:24px;color:#1c5fcc;margin-bottom:8px}.login-links{text-align:center;margin-top:20px;font-size:13px}.drop-zone-icon{font-size:32px;margin-bottom:8px}.toggle{display:flex;align-items:center;gap:8px;cursor:pointer}.toggle-switch{width:36px;height:20px;background:#e6eaf0;border-radius:10px;position:relative;transition:background .2s}.toggle-switch:after{content:"";position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:2px;left:2px;transition:left .2s}.toggle input{display:none}.toggle input:checked+.toggle-switch{background:#1c5fcc}.toggle input:checked+.toggle-switch:after{left:18px}.text-center{text-align:center}.text-muted{color:#6b7686}.text-success{color:#1f8a5b}.text-danger{color:#c9433f}.text-warning{color:#e8a23d}.font-bold{font-weight:700}.font-semibold{font-weight:600}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.gap-2{gap:8px}.gap-3{gap:12px}.filter-bar{display:flex;gap:12px;margin-bottom:20px;align-items:center;flex-wrap:wrap}.filter-bar .form-select{width:auto;min-width:160px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#bdbdbd;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9e9e9e}.checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}.checkbox input{width:16px;height:16px;accent-color:#1C5FCC}.notif-item{padding:12px 16px;border-bottom:1px solid #f0f0f0;display:flex;align-items:flex-start;gap:12px}.notif-item:last-child{border-bottom:none}.notif-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.tooltip{position:relative}.tree-item{padding:6px 0;cursor:pointer}.tree-children{padding-left:20px}@media (max-width: 1366px){.widget-grid{grid-template-columns:repeat(2,1fr)}.kanban{grid-template-columns:repeat(3,1fr)}.filter-bar{flex-direction:column;align-items:stretch}.filter-bar .form-select{width:100%}}.metric-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014}.metric-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.metric-title{font-size:13px;color:#6b7686}.metric-value{font-size:28px;font-weight:700}.metric-spark{display:flex;align-items:flex-end;gap:2px;height:50px;margin-top:12px}.metric-spark-bar{flex:1;border-radius:2px 2px 0 0;min-height:2px}.integration-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#f5f5f5;border-radius:8px;margin-bottom:8px}.integration-status{display:flex;align-items:center;gap:8px;font-size:13px}.roles-layout{display:grid;grid-template-columns:220px 1fr;gap:20px}.roles-list{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.role-item{padding:12px 16px;cursor:pointer;font-size:13px;border-left:3px solid transparent;display:flex;justify-content:space-between;align-items:center}.role-item:hover{background:#f5f5f5}.role-item.active{background:#eaf1fc;color:#1c5fcc;border-left-color:#1c5fcc;font-weight:500}.role-count{font-size:11px;color:#6b7686;background:#f5f5f5;padding:2px 8px;border-radius:10px}.matrix-table{width:100%;border-collapse:collapse;font-size:13px}.matrix-table th{background:#fafafa;padding:10px 12px;text-align:center;font-weight:600;color:#6b7686;border-bottom:2px solid #E6EAF0}.matrix-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;text-align:center}.matrix-table td:first-child{text-align:left;font-weight:500}.matrix-table input[type=checkbox]{width:16px;height:16px;accent-color:#1C5FCC;cursor:pointer}.settings-tabs{display:flex;gap:4px;margin-bottom:20px;background:#f5f5f5;padding:4px;border-radius:8px;width:fit-content}.settings-tabs .tab{padding:8px 16px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500}.settings-tabs .tab.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#1c5fcc}.section-title{font-size:16px;font-weight:600;margin-bottom:16px;color:#1b2330}.user-actions{display:flex;gap:6px}.user-actions button{background:none;border:1px solid #E6EAF0;border-radius:6px;padding:4px 8px;cursor:pointer;font-size:12px;transition:all .2s}.user-actions button:hover{border-color:#1c5fcc;color:#1c5fcc}.ai-hero{text-align:center;padding:40px 0 30px}.ai-hero h1{font-size:24px;margin-bottom:8px}.ai-hero p{color:#6b7686;font-size:14px}.ai-input-wrapper{max-width:700px;margin:0 auto 30px;position:relative}.ai-input{width:100%;padding:16px 60px 16px 20px;border:2px solid #E6EAF0;border-radius:12px;font-size:15px;outline:none;transition:border-color .2s}.ai-input:focus{border-color:#1c5fcc}.ai-submit{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:#1c5fcc;color:#fff;border:none;border-radius:8px;padding:10px 16px;cursor:pointer;font-size:13px}.examples{max-width:700px;margin:0 auto}.examples-title{font-size:13px;color:#6b7686;margin-bottom:12px}.example-chip{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:#fff;border:1px solid #E6EAF0;border-radius:20px;margin:6px;cursor:pointer;font-size:13px;transition:all .2s}.example-chip:hover{border-color:#1c5fcc;color:#1c5fcc;box-shadow:0 2px 8px #1c5fcc1a}.answer-area{max-width:800px;margin:30px auto;display:none}.answer-area.active{display:block}.answer-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #00000014;margin-bottom:16px}.citation{padding:12px 16px;background:#f5f5f5;border-left:3px solid #1C5FCC;border-radius:0 8px 8px 0;margin:8px 0;font-size:13px}.citation-source{font-size:11px;color:#6b7686;margin-top:4px}.answer-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.answer-actions button{background:none;border:1px solid #E6EAF0;border-radius:8px;padding:6px 12px;cursor:pointer;font-size:13px;transition:all .2s}.answer-actions button:hover{border-color:#1c5fcc;color:#1c5fcc}.sources-list{display:flex;flex-direction:column;gap:8px}.source-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#fff;border-radius:8px;font-size:13px}.source-num{width:24px;height:24px;background:#1c5fcc;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.kpi-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.kpi-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014}.kpi-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.kpi-title{font-size:12px;color:#6b7686;text-transform:uppercase;letter-spacing:.5px}.kpi-value{font-size:28px;font-weight:700}.kpi-trend{font-size:12px;display:flex;align-items:center;gap:4px}.trend-up{color:#1f8a5b}.trend-down{color:#c9433f}.chart-container{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014}.chart-title{font-size:14px;font-weight:600;margin-bottom:16px}.mini-chart{display:flex;align-items:flex-end;gap:3px;height:60px}.mini-bar{flex:1;background:#1c5fcc;border-radius:2px 2px 0 0;min-height:2px}.pie-chart{width:120px;height:120px;border-radius:50%;background:conic-gradient(#1c5fcc,#1c5fcc 35%,#1f8a5b 35%,#1f8a5b 65%,#e8a23d 65%,#e8a23d 85%,#c9433f 85%,#c9433f);margin:0 auto}.check-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:8px;margin-bottom:8px;transition:all .2s;cursor:pointer}.check-row:hover{background:#fafafa}.check-row.success{background:#e1f0e8;border-left:3px solid #1F8A5B}.check-row.warning{background:#fbf4e6;border-left:3px solid #E8A23D}.check-row.error{background:#fbe4e3;border-left:3px solid #C9433F}.check-icon{font-size:20px;width:28px;text-align:center}.check-content{flex:1}.check-title{font-weight:500;font-size:13px}.check-desc{font-size:12px;color:#6b7686;margin-top:2px}.check-status{font-size:12px;font-weight:500;white-space:nowrap}.overall-score{text-align:center;padding:24px;background:#fff;border-radius:12px;margin-bottom:20px}.score-ring{width:120px;height:120px;border-radius:50%;border:8px solid #E1F0E8;border-top-color:#1f8a5b;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#1f8a5b;transform:rotate(-45deg)}.score-ring span{transform:rotate(45deg)}.ctd-layout{display:grid;grid-template-columns:240px 1fr 260px;gap:16px;height:calc(100vh - 180px)}.ctd-panel{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:auto}.ctd-panel-header{padding:16px;border-bottom:1px solid #f0f0f0;font-weight:600;font-size:14px}.ctd-tree-item{padding:8px 16px;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:6px;border-left:3px solid transparent}.ctd-tree-item:hover{background:#f5f5f5}.ctd-tree-item.active{background:#eaf1fc;color:#1c5fcc;border-left-color:#1c5fcc;font-weight:500}.ctd-tree-section{font-weight:600;font-size:12px;color:#6b7686;padding:8px 16px;text-transform:uppercase;letter-spacing:.5px;margin-top:8px}.ctd-content{padding:20px;font-size:13px}.ctd-doc-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f5f5f5;border-radius:8px;margin-bottom:8px;font-size:13px}.top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #E6EAF0}.progress-summary{display:flex;align-items:center;gap:12px}.progress-cell{display:flex;align-items:center;gap:10px}.progress-cell .progress-bar{flex:1;height:8px}.progress-cell span{font-size:12px;color:#6b7686;width:35px;text-align:right}.login-body{background:linear-gradient(135deg,#1c5fcc,#16489c);min-height:100vh;display:flex;align-items:center;justify-content:center;font-family:IBM Plex Sans,sans-serif}.login-card{background:#fff;border-radius:16px;padding:40px;width:420px;box-shadow:0 8px 32px #0003}.login-logo{text-align:center;margin-bottom:32px}.login-logo-icon{font-size:48px;margin-bottom:12px}.login-logo h1{font-size:24px;color:#1c5fcc;margin-bottom:8px;font-weight:700}.login-logo p{font-size:13px;color:#6b7686}.form-group{margin-bottom:20px}.form-label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:#3c4757}.form-input{width:100%;padding:12px 14px;border:1px solid #E6EAF0;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s;font-family:inherit}.form-input:focus{border-color:#1c5fcc}.password-wrapper{position:relative}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;font-size:14px;color:#6b7686;background:none;border:none}.remember-row{display:flex;justify-content:space-between;align-items:center;margin:20px 0;font-size:13px}.checkbox{display:flex;align-items:center;gap:8px;cursor:pointer}.btn-login{width:100%;padding:14px;background:#1c5fcc;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s;text-decoration:none;display:block;text-align:center}.btn-login:hover{background:#16489c}.login-links{text-align:center;margin-top:20px;font-size:13px;display:flex;flex-direction:column;gap:8px}.login-links a{color:#1c5fcc;text-decoration:none}.login-links a:hover{text-decoration:underline}.ad-login{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px solid #E6EAF0;border-radius:8px;margin-top:16px;font-size:13px;color:#3c4757;cursor:pointer;transition:all .2s}.ad-login:hover{background:#fafafa;border-color:#1c5fcc}.version{text-align:center;font-size:11px;color:#9e9e9e;margin-top:24px}.three-panel{display:grid;grid-template-columns:20% 50% 30%;gap:16px;height:calc(100vh - 140px)}.panel{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:auto}.panel-header{padding:16px;border-bottom:1px solid #f0f0f0;font-weight:600;font-size:14px}.panel-content{padding:12px}.tree-item{padding:8px 12px;cursor:pointer;border-radius:6px;display:flex;align-items:center;gap:6px;font-size:13px}.tree-item:hover{background:#f5f5f5}.tree-item.active{background:#eaf1fc;color:#1c5fcc;font-weight:500}.tree-children{padding-left:16px}.preview-doc{padding:20px;font-size:13px;line-height:1.6}.preview-doc h3{font-size:16px;margin-bottom:12px}.preview-doc p{margin-bottom:12px;color:#3c4757}.search-top{margin-bottom:16px;display:flex;gap:12px}.search-top input{flex:1;padding:10px 14px;border:1px solid #E6EAF0;border-radius:8px;font-size:13px;outline:none}.risk-1{background:#e1f0e8;color:#1f8a5b}.risk-2a{background:#eaf1fc;color:#1c5fcc}.risk-2b{background:#fbf4e6;color:#e8a23d}.risk-3{background:#fbe4e3;color:#c9433f}.drop-zone{border:2px dashed #E6EAF0;border-radius:12px;padding:32px;text-align:center;color:#6b7686;transition:all .2s;cursor:pointer}.drop-zone:hover{border-color:#1c5fcc;background:#eaf1fc}.file-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#e1f0e8;border-radius:8px;margin-top:10px;font-size:13px}.ai-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#eaf1fc;color:#1c5fcc;border-radius:10px;font-size:11px;font-weight:500}.manual-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#fbf4e6;color:#e8a23d;border-radius:10px;font-size:11px;font-weight:500}.edit-icon{cursor:pointer;color:#6b7686;transition:color .2s}.edit-icon:hover{color:#1c5fcc}.result-box{background:#eaf1fc;border-radius:12px;padding:32px;text-align:center;margin:20px 0}.result-number{font-size:48px;font-weight:700;color:#1c5fcc}.result-label{font-size:14px;color:#6b7686;margin-top:8px}.formulas{background:#f5f5f5;border-radius:8px;padding:16px;font-family:monospace;font-size:13px;line-height:1.8;margin-top:16px}.plan-layout{display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:start}.plan-nav{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.plan-nav-item{padding:12px 16px;cursor:pointer;font-size:13px;border-left:3px solid transparent}.plan-nav-item:hover{background:#f5f5f5}.plan-nav-item.active{background:#eaf1fc;color:#1c5fcc;border-left-color:#1c5fcc;font-weight:500}.plan-preview{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:32px;font-size:13px;line-height:1.8}.plan-preview h2{font-size:18px;text-align:center;margin-bottom:24px}.plan-preview h3{font-size:15px;margin:20px 0 10px}.plan-preview p{margin-bottom:10px}.report-layout{display:grid;grid-template-columns:220px 1fr;gap:20px}.report-nav{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.report-nav-item{padding:12px 16px;cursor:pointer;font-size:13px;border-left:3px solid transparent;display:flex;justify-content:space-between;align-items:center}.report-nav-item:hover{background:#f5f5f5}.report-nav-item.active{background:#eaf1fc;color:#1c5fcc;border-left-color:#1c5fcc;font-weight:500}.report-nav-status{width:8px;height:8px;border-radius:50%}.report-editor{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:32px;font-size:13px;line-height:1.8}.report-editor h1{font-size:18px;text-align:center;margin-bottom:8px}.report-editor h2{font-size:15px;margin:20px 0 10px;color:#1c5fcc;border-bottom:1px solid #E6EAF0;padding-bottom:6px}.report-editor p{margin-bottom:10px;text-align:justify}.report-editor table{width:100%;border-collapse:collapse;margin:12px 0;font-size:12px}.report-editor th,.report-editor td{border:1px solid #E6EAF0;padding:8px 10px;text-align:left}.report-editor th{background:#fafafa;font-weight:600}.deadline-alert{background:#fbe4e3;border-left:4px solid #C9433F;padding:12px 16px;border-radius:0 8px 8px 0;font-size:13px;color:#c9433f;margin-bottom:16px;display:flex;align-items:center;gap:8px}.request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #E6EAF0}.request-meta{display:flex;gap:20px;font-size:13px;color:#6b7686}.request-meta span strong{color:#1b2330}.pdf-viewer{background:#f5f5f5;border:1px solid #E6EAF0;border-radius:8px;padding:24px;min-height:400px;font-size:13px;line-height:1.6}.ai-analysis{background:#eaf1fc;border-radius:12px;padding:20px;margin-bottom:16px;border-left:4px solid #1C5FCC}.ai-verdict{font-size:15px;font-weight:600;color:#1c5fcc;margin-bottom:12px}.editor-toolbar{display:flex;gap:8px;padding:8px;background:#f5f5f5;border-radius:8px 8px 0 0;border:1px solid #E6EAF0;border-bottom:none}.editor-toolbar button{background:#fff;border:1px solid #E6EAF0;border-radius:4px;padding:4px 10px;cursor:pointer;font-size:12px}.editor-area{width:100%;min-height:250px;padding:16px;border:1px solid #E6EAF0;border-radius:0 0 8px 8px;font-family:inherit;font-size:13px;resize:vertical;outline:none}.workflow{display:flex;align-items:center;gap:8px;margin:20px 0}.workflow-step{display:flex;flex-direction:column;align-items:center;gap:4px}.workflow-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px}.workflow-dot.done{background:#1f8a5b;color:#fff}.workflow-dot.current{background:#1c5fcc;color:#fff;box-shadow:0 0 0 4px #1c5fcc33}.workflow-dot.pending{background:#e6eaf0;color:#6b7686}.workflow-line{flex:1;height:2px;background:#e6eaf0}.workflow-line.done{background:#1f8a5b}.workflow-label{font-size:11px;color:#6b7686;white-space:nowrap}.ai-recommendations{background:#fbf4e6;border-radius:8px;padding:16px;margin-top:16px}.ai-rec-item{padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:13px;cursor:pointer}.ai-rec-item:hover{color:#1c5fcc}.ai-rec-item:last-child{border-bottom:none}.history-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #f0f0f0}.history-time{font-size:12px;color:#6b7686;white-space:nowrap;width:100px}.history-content{font-size:13px}.view-switcher{display:flex;gap:4px;margin-bottom:20px;background:#f5f5f5;padding:4px;border-radius:8px;width:fit-content}.view-switcher button{padding:8px 16px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500}.view-switcher button.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#1c5fcc}.kanban{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.kanban-col{background:#f5f5f5;border-radius:12px;padding:12px;min-height:500px}.kanban-col-header{font-weight:600;font-size:13px;color:#3c4757;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.kanban-col-count{background:#00000014;padding:2px 10px;border-radius:12px;font-size:12px}.kanban-card{background:#fff;border-radius:10px;padding:14px;margin-bottom:10px;box-shadow:0 1px 3px #0000000f;cursor:pointer;transition:all .2s;border:1px solid transparent}.kanban-card:hover{box-shadow:0 4px 12px #0000001f;border-color:#1c5fcc}.kanban-card-title{font-weight:600;font-size:12px;margin-bottom:8px;color:#1b2330}.kanban-card-meta{font-size:11px;color:#6b7686;display:flex;flex-direction:column;gap:6px}.kanban-card-meta span{display:flex;align-items:center;gap:4px}.kanban-card.overdue{border-left:3px solid #C9433F}.kanban-card.urgent{border-left:3px solid #E8A23D}.new-request-btn,.filter-bar{margin-bottom:16px}.scatter-plot{position:relative;height:300px;background:#f5f5f5;border-radius:12px;margin:16px 0;overflow:hidden}.scatter-point{position:absolute;width:16px;height:16px;border-radius:50%;cursor:pointer;transition:all .2s}.scatter-point:hover{transform:scale(1.4);z-index:10}.scatter-axis-x{position:absolute;bottom:20px;left:40px;right:20px;height:1px;background:#9e9e9e}.scatter-axis-y{position:absolute;left:40px;top:20px;bottom:20px;width:1px;background:#9e9e9e}.axis-label-x{position:absolute;bottom:4px;left:50%;transform:translate(-50%);font-size:11px;color:#6b7686}.axis-label-y{position:absolute;left:4px;top:50%;transform:rotate(-90deg) translate(-50%);font-size:11px;color:#6b7686;transform-origin:left center}.threshold-line-h{position:absolute;left:40px;right:20px;height:1px;border-top:1px dashed #C9433F}.threshold-line-v{position:absolute;top:20px;bottom:20px;width:1px;border-left:1px dashed #C9433F}.quadrant-label{position:absolute;font-size:11px;color:#9e9e9e}.toolbar{display:flex;gap:8px;margin-bottom:20px;background:#fff;padding:8px;border-radius:8px;box-shadow:0 1px 3px #00000014}.toolbar button{padding:8px 16px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500}.toolbar button.active{background:#1c5fcc;color:#fff}.histogram{display:flex;align-items:flex-end;gap:4px;height:180px;padding:16px 0;justify-content:center}.hist-bar{width:40px;background:#1c5fcc;border-radius:3px 3px 0 0;transition:all .3s;position:relative}.hist-bar:hover{opacity:.8}.hist-label{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-size:10px;color:#6b7686;white-space:nowrap}.stat-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.stat-item{background:#fff;padding:16px;border-radius:8px;text-align:center;box-shadow:0 1px 3px #00000014}.stat-value{font-size:20px;font-weight:700;color:#1c5fcc}.stat-label{font-size:12px;color:#6b7686;margin-top:4px}.constructor-layout{display:grid;grid-template-columns:220px 1fr 260px;gap:16px;height:calc(100vh - 180px)}.constructor-panel{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:auto}.palette-item{padding:12px 16px;margin:6px 12px;background:#f5f5f5;border-radius:8px;cursor:grab;font-size:13px;display:flex;align-items:center;gap:8px;transition:all .2s}.palette-item:hover{background:#eaf1fc;color:#1c5fcc}.survey-area{padding:24px}.survey-question{background:#f5f5f5;border-radius:12px;padding:20px;margin-bottom:16px;border:1px solid transparent;transition:all .2s}.survey-question:hover{border-color:#1c5fcc}.survey-question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.survey-question-num{background:#1c5fcc;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.kpi-card{background:#fff;border-radius:12px;padding:20px;text-align:center;box-shadow:0 1px 3px #00000014}.kpi-value{font-size:32px;font-weight:700;margin-bottom:4px}.kpi-label{font-size:12px;color:#6b7686}.chart-line{display:flex;align-items:flex-end;gap:3px;height:150px;padding:16px 0}.line-bar{flex:1;background:#1c5fcc;border-radius:2px 2px 0 0;min-height:4px;transition:all .3s}.line-bar:hover{background:#16489c}.compare-layout{display:grid;grid-template-columns:200px 1fr 1fr;gap:16px;height:calc(100vh - 180px)}.compare-panel{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:auto}.diff-nav-item{padding:10px 14px;cursor:pointer;font-size:12px;border-left:3px solid transparent;margin-bottom:4px}.diff-nav-item:hover{background:#f5f5f5}.diff-nav-item.active{background:#eaf1fc;border-left-color:#1c5fcc;color:#1c5fcc}.diff-nav-num{font-size:10px;color:#6b7686;display:block;margin-top:2px}.doc-panel{padding:24px;font-size:13px;line-height:1.8}.doc-panel h3{font-size:16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #E6EAF0}.diff-added{background:#e1f0e8;padding:1px 3px;border-radius:2px}.diff-removed{background:#fbe4e3;text-decoration:line-through;padding:1px 3px;border-radius:2px}.stats-bar{display:flex;gap:16px;margin-bottom:16px}.stat-pill{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:500}.version-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:#f5f5f5;border-radius:8px;font-size:13px}.toast-container{position:fixed;top:16px;right:16px;z-index:2000;display:flex;flex-direction:column;gap:10px;max-width:380px}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--color-surface);border-radius:var(--radius-control);box-shadow:var(--shadow-kanban-hover);border-left:3px solid var(--color-neutral);font-size:var(--fs-ui);color:var(--color-text);animation:toast-in .2s ease-out}.toast.success{border-left-color:var(--color-success)}.toast.error{border-left-color:var(--color-danger)}.toast.warning{border-left-color:var(--color-warning)}.toast.info{border-left-color:var(--color-primary)}.toast-icon{flex:none;margin-top:1px}.toast.success .toast-icon{color:var(--color-success)}.toast.error .toast-icon{color:var(--color-danger)}.toast.warning .toast-icon{color:var(--color-warning)}.toast.info .toast-icon{color:var(--color-primary)}.toast-body{flex:1;line-height:1.45}.toast-close{flex:none;background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:0;line-height:1}.toast-close:hover{color:var(--color-text)}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}.error-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--color-bg)}.error-card{background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:40px;max-width:480px;text-align:center}.error-card h1{font-size:20px;margin-bottom:12px;color:var(--color-text)}.error-card p{font-size:var(--fs-ui);color:var(--color-text-muted);margin-bottom:20px}.error-card pre{text-align:left;font-family:var(--font-mono);font-size:var(--fs-small);background:var(--color-surface-muted);border-radius:var(--radius-control);padding:12px;overflow:auto;max-height:200px;margin-bottom:20px;color:var(--color-danger)}.route-loader{display:flex;align-items:center;justify-content:center;min-height:60vh;color:var(--color-text-muted);font-size:var(--fs-ui)}
