@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.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:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,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:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.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:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,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:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.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:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,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:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.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:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,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:DM Sans Fallback;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_e64f39{font-family:DM Sans,DM Sans Fallback;font-style:normal}.__variable_e64f39{--font-dm-sans:"DM Sans","DM Sans Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,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:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_e896d9{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_e896d9{--font-jetbrains:"JetBrains Mono","JetBrains Mono Fallback"}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}button{font-family:inherit}a{color:inherit;text-decoration:none}:root{--bg:#F4F5F7;--bg2:#FFFFFF;--card:#FFFFFF;--card-h:#F8FAFB;--t1:#1A1D21;--t2:#5F6B7A;--t3:#9CA5B0;--grid:#E8ECF0;--border:#DFE3E8;--pos:#0F7B46;--neg:#C1292E;--c360:#0077B6;--shadow:0 1px 3px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04);--shadow-lg:0 4px 20px rgba(0,0,0,0.08)}body{font-family:var(--font-dm-sans),-apple-system,BlinkMacSystemFont,sans-serif;color:var(--t1);background:var(--bg);font-size:13px;-webkit-font-smoothing:antialiased}.mono{font-family:var(--font-jetbrains),"JetBrains Mono",monospace}.app{display:flex;height:100vh;width:100vw;overflow:hidden}.main-area{min-width:0;overflow:hidden}.canvas,.main-area{flex:1 1;display:flex;flex-direction:column}.canvas{background:var(--bg);overflow:auto;animation:enter .3s ease}.page-body{padding:12px 16px;flex:1 1;min-height:0}@keyframes enter{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.side-nav{width:140px;flex-shrink:0;background:#FFFFFF;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.side-nav-brand{padding:12px 14px;border-bottom:1px solid var(--border)}.side-nav-logo{font-family:var(--font-jetbrains),"JetBrains Mono",monospace;font-size:12px;font-weight:700;color:var(--c360);letter-spacing:-.3px;line-height:1.2}.side-nav-subtitle{font-size:10px;color:var(--t3);font-weight:500;margin-top:2px}.side-nav-items{display:flex;flex-direction:column;padding:6px 0;overflow-y:auto}.side-nav-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;border:none;background:transparent;font-family:var(--font-dm-sans),"DM Sans",sans-serif;font-size:11px;font-weight:500;color:var(--t3);cursor:pointer;transition:all .15s;white-space:nowrap;text-align:left;width:100%}.side-nav-btn:hover{color:var(--t2);background:rgba(0,119,182,.03)}.side-nav-btn.active{color:var(--c360);background:rgba(0,119,182,.06);font-weight:600}.side-nav-num{font-family:var(--font-jetbrains),"JetBrains Mono",monospace;font-size:8px;opacity:.4;width:12px;flex-shrink:0}.side-nav-label{overflow:hidden;text-overflow:ellipsis}.side-nav-spacer{flex:1 1}.top-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-bottom:1px solid var(--border);flex-shrink:0;background:#FFFFFF}.top-bar-title{font-size:13px;font-weight:700;letter-spacing:-.2px;color:var(--t1)}.top-bar-sub{font-size:9.5px;color:var(--t3);margin-top:1px}.top-bar-right{display:flex;align-items:center;gap:12px}.top-bar-user{font-size:9.5px;color:var(--t2);font-family:var(--font-jetbrains),"JetBrains Mono",monospace}.chip{padding:4px 10px;border-radius:14px;border:1px solid var(--border);font-size:11.5px;color:var(--t2);cursor:pointer;background:#fff;font-family:inherit;transition:all .2s}.chip.on,.chip:hover{border-color:var(--c360);color:var(--c360);background:rgba(0,119,182,.04)}.toggle-btn{padding:4px 12px;border:1px solid var(--border);border-radius:4px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;background:#fff;color:var(--t2);cursor:pointer;transition:all .15s}.toggle-btn:hover{border-color:var(--c360);color:var(--c360)}.toggle-btn.active{background:var(--c360);color:#fff;border-color:var(--c360)}.logout-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:14px;border:1px solid var(--border);background:#fff;color:var(--t2);font-size:9px;cursor:pointer;transition:all .2s}.logout-btn:hover{border-color:var(--neg);color:var(--neg)}.card{background:#FFFFFF;border-radius:8px;padding:10px 14px;border:1px solid var(--border);box-shadow:var(--shadow)}.overlay{position:fixed;inset:0;background:var(--bg);display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;z-index:2000}.spinner{width:26px;height:26px;border:2.5px solid var(--grid);border-top-color:var(--c360);border-radius:50%;animation:spin .7s linear infinite}.overlay-text{font-size:11px;color:var(--t3)}@keyframes spin{to{transform:rotate(1turn)}}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px}.login-card{width:380px;max-width:100%;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:28px 26px}.login-brand{font-family:var(--font-jetbrains),"JetBrains Mono",monospace;font-size:18px;font-weight:700;color:var(--c360);letter-spacing:-.4px}.login-sub{font-size:13px;color:var(--t2);margin-top:2px}.login-tagline{font-size:11px;color:var(--t3);margin-top:8px;margin-bottom:20px}.field{margin-bottom:14px}.field label{display:block;font-size:9.5px;text-transform:uppercase;font-weight:600;color:var(--t2);letter-spacing:.4px;margin-bottom:5px}.field input{width:100%;font-size:13px;padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:#FAFBFC;color:var(--t1);outline:none;transition:all .15s}.field input:focus{border-color:var(--c360);background:#fff}.btn-primary{width:100%;background:var(--c360);color:#fff;border:none;border-radius:8px;padding:11px;font-size:13px;font-weight:600;cursor:pointer;transition:filter .15s}.btn-primary:hover{filter:brightness(1.06)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error-banner{background:rgba(193,41,46,.08);color:var(--neg);border:1px solid rgba(193,41,46,.25);border-radius:6px;padding:9px 12px;font-size:11px;margin-bottom:16px}.login-footer{text-align:center;font-size:9px;color:var(--t3);margin-top:18px}.portal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px}.app-card{position:relative;display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px;box-shadow:var(--shadow);min-height:118px;transition:all .15s}.app-card.clickable{cursor:pointer}.app-card.clickable:hover{border-color:var(--c360);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.app-card.disabled{opacity:.7}.app-card-icon{width:34px;height:34px;border-radius:9px;background:rgba(0,119,182,.08);color:var(--c360);display:flex;align-items:center;justify-content:center}.app-card-title{font-size:13px;font-weight:600;color:var(--t1)}.app-card-desc{font-size:10.5px;color:var(--t3);flex:1 1}.app-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:2px}.badge{font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:2px 7px;border-radius:10px}.badge-ok{background:rgba(15,123,70,.1);color:var(--pos)}.badge-no{background:rgba(95,107,122,.1);color:var(--t2)}.badge-soon{background:rgba(0,119,182,.08);color:var(--c360)}.console-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.console-apps{display:flex;gap:6px;flex-wrap:wrap}.search-input{font-size:11.5px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--t1);outline:none;min-width:180px}.search-input:focus{border-color:var(--c360)}.console-hint{font-size:9.5px;color:var(--t3);margin-left:auto}.board{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;align-items:flex-start}.column{flex:0 0 190px;background:var(--bg2);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;min-height:120px;max-height:calc(100vh - 220px);transition:all .12s}.column.special{background:#FBFCFD}.column.over{border-color:var(--c360);background:rgba(0,119,182,.04);box-shadow:var(--shadow)}.column-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--grid)}.column-title{font-size:8.5px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--c360);background:rgba(0,119,182,.08);padding:2px 7px;border-radius:10px}.column.special .column-title{color:var(--t2);background:rgba(95,107,122,.1)}.column-count{font-size:9px;color:var(--t3);font-family:var(--font-jetbrains),"JetBrains Mono",monospace}.column-body{display:flex;flex-direction:column;gap:6px;padding:8px;overflow-y:auto}.user-chip{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:6px 8px;cursor:-webkit-grab;cursor:grab;box-shadow:var(--shadow);transition:border-color .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.user-chip:hover{border-color:var(--c360)}.user-chip:active{cursor:-webkit-grabbing;cursor:grabbing}.user-chip.dragging{opacity:.4}.user-chip.inactive{opacity:.55}.user-chip.overlay{box-shadow:var(--shadow-lg);cursor:-webkit-grabbing;cursor:grabbing}.user-avatar{width:22px;height:22px;flex-shrink:0;border-radius:50%;background:rgba(0,119,182,.12);color:var(--c360);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.user-meta{min-width:0}.user-name{font-size:11px;font-weight:500;color:var(--t1)}.user-email,.user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:9px;color:var(--t3);font-family:var(--font-jetbrains),"JetBrains Mono",monospace}.user-lock{margin-left:auto;color:var(--t3);flex-shrink:0}.inactive-note{font-size:9.5px;color:var(--t2);background:rgba(95,107,122,.06);border:1px solid var(--grid);border-radius:6px;padding:6px 10px;margin-bottom:10px;display:flex;align-items:center;gap:6px}.toast-wrap{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:3000;display:flex;flex-direction:column;gap:8px}.toast{padding:10px 16px;border-radius:8px;font-size:11.5px;box-shadow:var(--shadow-lg);animation:enter .2s ease}.toast-error{background:#2A1416;color:#FFD7D9;border:1px solid rgba(193,41,46,.5)}.toast-ok{background:#10231A;color:#C6F0D8;border:1px solid rgba(15,123,70,.5)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px;color:var(--t3);font-size:12px;text-align:center}.page-note{font-size:10.5px;color:var(--t3);margin-bottom:12px}