@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-var.woff2)format("woff2")}@font-face{font-family:Urbanist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/urbanist-var.woff2)format("woff2")}:root{--c-secondary:#041b47;--c-primary:#6e7a84;--c-accent:#ffffff2b;--c-orange:#ff743d;--c-green:#00bf71;--c-grey:#f0f0f0;--c-mint:#ceeeed;--c-ink:#0b1927;--c-blue:#174675;--c-canvas:#f5f6f8;--c-line:#e4e7eb;--c-line-soft:#eef0f3;--c-amber:#d99000;--c-red:#d0342c;--c-info:#2f6fb0;--radius:6px;--radius-lg:10px;--shadow-sm:0 1px 2px #041b470f, 0 1px 3px #041b470a;--shadow-md:0 4px 16px #041b4714;--shadow-lg:0 18px 48px #041b472e;--rail:260px;--topbar-h:64px}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{color:var(--c-secondary);background:var(--c-canvas);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,sans-serif;font-size:14px;line-height:1.5}img{max-width:100%;display:block}a{color:var(--c-blue);text-decoration:none}a:hover{text-decoration:underline}ul{margin:0;padding:0;list-style:none}p{margin:0}h1,h2,h3,h4,h5{color:var(--c-secondary);margin:0;font-family:Urbanist,sans-serif;font-weight:700}h1{font-size:28px;line-height:1.2}h2{font-size:21px;line-height:1.25}h3{font-size:17px;font-weight:600;line-height:1.3}h4{font-size:15px;font-weight:600;line-height:1.35}button{font:inherit;cursor:pointer}table{border-collapse:collapse;width:100%}:focus-visible{outline:2px solid var(--c-blue);outline-offset:2px;border-radius:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--c-ink);color:#fff;border-radius:var(--radius);padding:10px 16px;transition:top .15s;position:absolute;top:-60px;left:8px}.skip-link:focus{text-decoration:none;top:8px}.btn{border-radius:var(--radius);background:var(--c-ink);color:#fff;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-family:Urbanist,sans-serif;font-size:15px;font-weight:600;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{background:var(--c-blue);text-decoration:none}.btn[disabled],.btn.is-disabled{opacity:.45;pointer-events:none}.btn svg{fill:currentColor;flex:none;width:16px;height:16px}.btn--ghost{color:var(--c-secondary);border-color:var(--c-line);background:#fff}.btn--ghost:hover{background:var(--c-grey);color:var(--c-secondary);border-color:#d6dae0}.btn--quiet{color:var(--c-primary);background:0 0;border-color:#0000;padding:8px 10px}.btn--quiet:hover{background:var(--c-grey);color:var(--c-secondary)}.btn--danger{color:var(--c-red);background:#fff;border-color:#f0cfcd}.btn--danger:hover{color:var(--c-red);background:#fdf3f2;border-color:#e2a9a5}.btn--sm{padding:8px 12px;font-size:13px}.btn--block{width:100%}.pill{background:var(--c-grey);color:var(--c-primary);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.pill--draft{color:#5c6873;background:#eef0f3}.pill--pending{color:var(--c-amber);background:#fdf4e3}.pill--approved{color:#0a7a52;background:#e6f7f0}.pill--rejected{color:var(--c-red);background:#fdeeed}.pill--info{color:var(--c-info);background:#eaf2fa}.pill--nodot:before{display:none}.card{border:1px solid var(--c-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff}.card__head{border-bottom:1px solid var(--c-line-soft);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.card__head h3{align-items:center;gap:10px;display:flex}.card__body{padding:20px}.card__foot{border-top:1px solid var(--c-line-soft);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:#fcfcfd;padding:14px 20px}.muted{color:var(--c-primary)}.tiny{font-size:12px}.mono{font-variant-numeric:tabular-nums}.auth{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth__aside{color:#fff;background-color:var(--c-secondary);background-image:url(/auth-bg.png);background-position:50%;background-size:cover;flex-direction:column;justify-content:space-between;padding:56px 64px;display:flex;position:relative;overflow:hidden}.auth__aside:before{content:"";background:linear-gradient(135deg,#0b1927f0 0%,#041b47db 60%,#174675c7 100%);position:absolute;inset:0}.auth__aside>*{z-index:1;position:relative}.auth__aside img{filter:brightness(0)invert();width:150px;height:auto}.auth__pitch h2{color:#fff;margin-bottom:14px;font-size:34px;line-height:1.2}.auth__pitch p{color:#ffffffb8;max-width:44ch}.auth__points{flex-direction:column;gap:14px;margin-top:30px;display:flex}.auth__points li{color:#ffffffd9;align-items:flex-start;gap:12px;display:flex}.auth__points svg{width:18px;height:18px;fill:var(--c-mint);flex:none;margin-top:2px}.auth__legal{color:#ffffff73;font-size:12px}.auth__main{background:#fff;justify-content:center;align-items:center;padding:40px 24px;display:flex}.auth__form{width:100%;max-width:400px}.auth__form h1{margin-bottom:6px}.auth__form form>p.muted{margin-bottom:28px}.field{margin-bottom:18px}.field>label{margin-bottom:6px;font-family:Urbanist,sans-serif;font-size:14px;font-weight:600;display:block}.field .hint{color:var(--c-primary);margin-top:6px;font-size:12px}.field .err,.err{color:var(--c-red);margin-top:6px;font-size:12px;font-weight:600}.check[aria-invalid],.check input[aria-invalid]{outline:2px solid var(--c-red);outline-offset:3px;border-radius:3px}.input,.select,.textarea{border-radius:var(--radius);width:100%;color:var(--c-secondary);background:#fff;border:1px solid #d6dae0;padding:11px 13px;font-family:Inter,sans-serif;font-size:14px;line-height:1.4;transition:border-color .15s,box-shadow .15s}.input::placeholder,.textarea::placeholder{color:#9aa4ae}.input:focus,.select:focus,.textarea:focus{border-color:var(--c-blue);outline:none;box-shadow:0 0 0 3px #1746751f}.input[aria-invalid=true]{border-color:var(--c-red);box-shadow:0 0 0 3px #d0342c1a}.textarea{resize:vertical;min-height:90px}.input-group{display:flex;position:relative}.input-group .input{padding-right:76px}.input-group button{color:var(--c-blue);background:0 0;border:0;border-radius:4px;padding:6px 8px;font-size:12px;font-weight:600;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.input-group button:hover{background:var(--c-grey)}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.check{cursor:pointer;align-items:flex-start;gap:9px;font-size:13px;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--c-blue);flex:none;margin:1px 0 0}.divider-or{color:var(--c-primary);align-items:center;gap:14px;margin:22px 0;font-size:12px;display:flex}.divider-or:before,.divider-or:after{content:"";background:var(--c-line);flex:1;height:1px}.sso{flex-direction:column;gap:10px;display:flex}.sso .btn svg{width:18px;height:18px}.alert{border-radius:var(--radius);align-items:flex-start;gap:10px;margin-bottom:18px;padding:12px 14px;font-size:13px;display:flex}.alert svg{flex:none;width:17px;height:17px;margin-top:1px}.alert--error{color:#8f231d;background:#fdeeed;border:1px solid #f3d3d0}.alert--error svg{fill:var(--c-red)}.alert--info{color:#204d78;background:#eaf2fa;border:1px solid #cfe0f0}.alert--info svg{fill:var(--c-info)}.alert--warn{color:#7a5200;background:#fdf4e3;border:1px solid #f0dfba}.alert--warn svg{fill:var(--c-amber)}.alert--ok{color:#0a5c3f;background:#e6f7f0;border:1px solid #bfe8d7}.alert--ok svg{fill:#0a7a52}.alert[hidden]{display:none}.otp{gap:10px;display:flex}.otp input{text-align:center;border-radius:var(--radius);background:#fff;border:1px solid #d6dae0;width:52px;height:58px;font-family:Urbanist,sans-serif;font-size:24px;font-weight:700}.otp input:focus{border-color:var(--c-blue);outline:none;box-shadow:0 0 0 3px #1746751f}.demo-creds{border-radius:var(--radius);color:var(--c-primary);background:#fbfcfd;border:1px dashed #cdd3da;margin-top:26px;padding:14px 16px;font-size:12.5px}.demo-creds b{color:var(--c-secondary)}.demo-creds code{background:var(--c-grey);color:var(--c-secondary);border-radius:3px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.app{grid-template-columns:var(--rail) 1fr;min-height:100vh;display:grid}.rail{background:var(--c-secondary);color:#fff;flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.rail__brand{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.rail__brand img{filter:brightness(0)invert();width:116px;height:auto}.rail__nav{flex:1;padding:14px 12px;overflow-y:auto}.rail__label{letter-spacing:.08em;text-transform:uppercase;color:#fff6;padding:14px 10px 6px;font-size:11px;font-weight:600}.rail__link{border-radius:var(--radius);color:#ffffffc2;text-align:left;background:0 0;border:0;align-items:center;gap:11px;width:100%;margin-bottom:2px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.rail__link:hover{color:#fff;background:#ffffff12;text-decoration:none}.rail__link[hidden],.rail__label[hidden],.rail__user[hidden]{display:none}.rail__link.is-active{background:var(--c-blue);color:#fff;font-weight:600}.rail__link svg{fill:currentColor;flex:none;width:18px;height:18px}.rail__badge{background:var(--c-orange);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.rail__badge--quiet{background:#ffffff29}.rail__foot{border-top:1px solid #ffffff14;padding:12px}.rail__role{border-radius:var(--radius);background:#ffffff0f;margin-bottom:10px;padding:9px 11px}.rail__role-now{color:#ffffff8c;font-size:11.5px;display:block}.rail__role-now b{color:#fff;font-weight:600}.rail__role-swap{color:var(--c-mint);text-underline-offset:2px;background:0 0;border:0;margin-top:6px;padding:0;font-family:inherit;font-size:12px;font-weight:600;text-decoration:underline}.rail__role-swap:hover{color:#fff}.rail__user{border-radius:var(--radius);align-items:center;gap:10px;padding:8px 10px;display:flex}.rail__user:hover{background:#ffffff12}.rail__user .who{min-width:0}.rail__user .who b{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;display:block;overflow:hidden}.rail__user .who span{color:#ffffff80;font-size:11.5px}.avatar{color:#fff;background:var(--c-blue);object-fit:cover;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-family:Urbanist,sans-serif;font-size:13px;font-weight:700;display:inline-flex;position:relative}.avatar--sm{width:26px;height:26px;font-size:11px}.avatar--lg{width:46px;height:46px;font-size:16px}.presence{background:#b6bec6;border:2px solid #fff;border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.presence--online{background:var(--c-green)}.presence--away{background:#e8b62c}.presence--dnd{background:var(--c-red)}.rail .presence{border-color:var(--c-secondary)}.main{flex-direction:column;min-width:0;display:flex}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--c-line);z-index:20;background:#fff;flex:none;align-items:center;gap:16px;padding:0 24px;display:flex;position:sticky;top:0}.topbar__title{flex-direction:column;min-width:0;display:flex}.topbar__title b{font-family:Urbanist,sans-serif;font-size:17px;font-weight:700}.topbar__title span{color:var(--c-primary);font-size:12px}.topbar__spacer{flex:1}.rail-toggle,.icon-btn.rail-toggle{display:none}.search{width:300px;max-width:34vw;position:relative}.search input{border:1px solid var(--c-line);border-radius:var(--radius);background:var(--c-canvas);width:100%;color:var(--c-secondary);padding:9px 12px 9px 34px;font-family:inherit;font-size:13.5px}.search input:focus{border-color:var(--c-blue);background:#fff;outline:none;box-shadow:0 0 0 3px #1746751a}.search svg{fill:#9aa4ae;width:15px;height:15px;position:absolute;top:50%;left:11px;transform:translateY(-50%)}#search-pop{width:420px;max-height:60vh;left:0;right:auto;overflow:hidden}#search-pop .pop__list{max-height:46vh}#search-pop .pop__item:hover{background:var(--c-grey);cursor:pointer}#search-pop .pop__item p{font-size:13px}.search kbd{color:var(--c-primary);border:1px solid var(--c-line);background:#fff;border-radius:4px;padding:2px 5px;font-family:inherit;font-size:11px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.icon-btn{border-radius:var(--radius);width:36px;height:36px;color:var(--c-primary);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-btn:hover{background:var(--c-grey);color:var(--c-secondary)}.icon-btn svg{fill:currentColor;width:18px;height:18px}.icon-btn .dot{background:var(--c-orange);border-radius:999px;min-width:8px;height:8px;position:absolute;top:6px;right:6px}.pop{z-index:60;border:1px solid var(--c-line);border-radius:var(--radius-lg);width:340px;box-shadow:var(--shadow-lg);background:#fff;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.pop[hidden]{display:none}.pop__head{border-bottom:1px solid var(--c-line-soft);justify-content:space-between;align-items:center;padding:13px 16px;display:flex}.pop__head b{font-family:Urbanist,sans-serif;font-size:14px}.pop__list{max-height:340px;overflow-y:auto}.pop__item{border-bottom:1px solid var(--c-line-soft);align-items:flex-start;gap:11px;padding:12px 16px;display:flex}.pop__item:last-child{border-bottom:0}.pop__item.is-unread{background:#f7fafd}.pop__item p{font-size:13px}.pop__item time{color:var(--c-primary);font-size:11.5px}.pop__foot{text-align:center;border-top:1px solid var(--c-line-soft);background:#fcfcfd;padding:10px 16px}.has-pop{position:relative}.view{flex:1;min-width:0;padding:24px}.view[hidden]{display:none}.view--flush{min-height:0;padding:0;display:flex}.wrap{min-width:0;max-width:1240px;margin:0 auto}.grid{gap:18px;display:grid}.grid>*,.stack-16>*,.stack-18>*,.card,.card__body,.card__head{min-width:0}.table-wrap{max-width:100%}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.grid--2-1{grid-template-columns:2fr 1fr}.stack-16{flex-direction:column;gap:16px;display:flex}.stack-18{flex-direction:column;gap:18px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.page-head p{color:var(--c-primary);margin-top:4px}.actions{flex-wrap:wrap;gap:10px;display:flex}.kpi{flex-direction:column;gap:8px;padding:18px 20px;display:flex}.kpi__label{letter-spacing:.04em;text-transform:uppercase;color:var(--c-primary);font-size:12px;font-weight:600}.kpi__value{font-family:Urbanist,sans-serif;font-size:30px;font-weight:700;line-height:1}.kpi__value small{color:var(--c-primary);font-size:15px;font-weight:600}.kpi__meta{color:var(--c-primary);align-items:center;gap:6px;font-size:12.5px;display:flex}.bar{background:var(--c-grey);border-radius:999px;height:6px;overflow:hidden}.bar>span{background:var(--c-blue);border-radius:999px;height:100%;display:block}.bar--ok>span{background:var(--c-green)}.bar--warn>span{background:var(--c-amber)}.clock{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.clock .actions{margin-left:auto}@media (max-width:560px){.clock .actions{margin-left:0}.clock__time{font-size:28px}}.clock__time{letter-spacing:.01em;font-variant-numeric:tabular-nums;font-family:Urbanist,sans-serif;font-size:34px;font-weight:700}.clock__state{color:var(--c-primary);font-size:12.5px}.tasklist li{border-bottom:1px solid var(--c-line-soft);align-items:flex-start;gap:12px;padding:13px 0;display:flex}.tasklist li:last-child{border-bottom:0}.tasklist .ico{border-radius:var(--radius);background:var(--c-grey);flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.tasklist .ico svg{width:16px;height:16px;fill:var(--c-blue)}.tasklist .ico--warn{background:#fdf4e3}.tasklist .ico--warn svg{fill:var(--c-amber)}.tasklist .ico--ok{background:#e6f7f0}.tasklist .ico--ok svg{fill:#0a7a52}.tasklist b{font-size:13.5px;font-weight:600;display:block}.tasklist span{color:var(--c-primary);font-size:12.5px}.tasklist .go{align-self:center;margin-left:auto}.feed li{border-bottom:1px solid var(--c-line-soft);padding:14px 0}.feed li:last-child{border-bottom:0}.feed .by{align-items:center;gap:8px;margin-bottom:6px;display:flex}.feed .by b{font-size:13px;font-weight:600}.feed .by time{color:var(--c-primary);font-size:11.5px}.feed p{color:#46525d;font-size:13.5px}.table-wrap{overflow-x:auto}.tbl{font-size:13.5px}.tbl th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--c-primary);border-bottom:1px solid var(--c-line);white-space:nowrap;background:#fcfcfd;padding:11px 12px;font-family:Urbanist,sans-serif;font-size:12px;font-weight:700}.tbl td{border-bottom:1px solid var(--c-line-soft);vertical-align:middle;padding:12px}.tbl tbody tr:hover{background:#fafbfc}.tbl tbody tr:last-child td{border-bottom:0}.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.tbl .right{text-align:right}.ts-toolbar{border-bottom:1px solid var(--c-line-soft);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 20px;display:flex}.weekpick{align-items:center;gap:4px;display:flex}.weekpick b{white-space:nowrap;padding:0 8px;font-family:Urbanist,sans-serif;font-size:15px}.ts{min-width:880px;font-size:13.5px}.ts th{text-align:center;border-bottom:1px solid var(--c-line);text-transform:uppercase;letter-spacing:.04em;color:var(--c-primary);background:#fcfcfd;padding:10px 6px;font-family:Urbanist,sans-serif;font-size:12px}.ts th.left,.ts td.left{text-align:left}.ts th small{color:var(--c-secondary);text-transform:none;letter-spacing:0;margin-top:2px;font-size:15px;font-weight:700;display:block}.ts th.is-weekend,.ts td.is-weekend{background:#fafbfc}.ts th.is-today small{color:var(--c-blue)}.ts td{border-bottom:1px solid var(--c-line-soft);text-align:center;padding:6px}.ts tfoot td{border-bottom:0;border-top:2px solid var(--c-line);padding:12px 8px;font-weight:700}.ts .proj{min-width:230px}.ts .task{min-width:130px}.ts .type{min-width:100px}.ts .proj select,.ts .task select,.ts .type select{width:100%}.hr-input{text-align:center;border-radius:var(--radius);background:var(--c-canvas);width:56px;font:inherit;font-variant-numeric:tabular-nums;color:var(--c-secondary);border:1px solid #0000;padding:8px 4px}.hr-input:hover{border-color:var(--c-line);background:#fff}.hr-input:focus{border-color:var(--c-blue);background:#fff;outline:none;box-shadow:0 0 0 3px #1746751f}.hr-input[readonly]{color:var(--c-primary);pointer-events:none;background:0 0}.hr-input.is-over{border-color:var(--c-red);background:#fdeeed}.ts .rowtot{font-variant-numeric:tabular-nums;font-weight:700}.ts .tot{z-index:2;background:#fff;position:sticky;right:44px}.ts .act{z-index:2;background:#fff;width:44px;position:sticky;right:0}.ts thead .tot,.ts thead .act{z-index:3;background:#fcfcfd}.ts .tot{box-shadow:-10px 0 12px -10px #041b472e}.ts tfoot .tot,.ts tfoot .act{background:#fff}.daytot{font-variant-numeric:tabular-nums}.daytot.is-over{color:var(--c-red)}.daytot.is-under{color:var(--c-amber)}.grand{font-family:Urbanist,sans-serif;font-size:19px}.legend{color:var(--c-primary);flex-wrap:wrap;gap:16px;font-size:12px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.trail{flex-direction:column;gap:0;display:flex}.trail li{gap:12px;padding-bottom:18px;display:flex;position:relative}.trail li:last-child{padding-bottom:0}.trail li:before{content:"";background:var(--c-line);width:2px;position:absolute;top:24px;bottom:0;left:11px}.trail li:last-child:before{display:none}.trail .dot{z-index:1;background:var(--c-grey);width:24px;height:24px;color:var(--c-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.trail .dot svg{fill:currentColor;width:13px;height:13px}.trail .dot--done{color:#0a7a52;background:#e6f7f0}.trail .dot--now{color:var(--c-amber);background:#fdf4e3}.trail b{font-size:13.5px;font-weight:600;display:block}.trail span{color:var(--c-primary);font-size:12.5px}.tabs{border-bottom:1px solid var(--c-line);flex-wrap:wrap;gap:4px;margin-bottom:18px;display:flex}.tab{color:var(--c-primary);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:11px 14px;font-family:Urbanist,sans-serif;font-size:14.5px;font-weight:600;display:inline-flex}.tab:hover{color:var(--c-secondary)}.tab.is-active{color:var(--c-secondary);border-bottom-color:var(--c-blue)}.tab .count{background:var(--c-grey);color:var(--c-primary);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.drop{border-radius:var(--radius-lg);text-align:center;background:#fbfcfd;border:2px dashed #cdd3da;padding:34px 24px;transition:border-color .15s,background .15s}.drop.is-over{border-color:var(--c-blue);background:#f2f7fc}.drop svg{width:34px;height:34px;fill:var(--c-blue);margin:0 auto 12px}.drop b{margin-bottom:4px;font-family:Urbanist,sans-serif;font-size:16px;display:block}.drop p{color:var(--c-primary);font-size:13px}.drop .btn{margin-top:14px}.filelist{flex-direction:column;gap:10px;margin-top:16px;display:flex}.fileitem{border:1px solid var(--c-line);border-radius:var(--radius);background:#fff;align-items:center;gap:12px;padding:12px 14px;display:flex}.filetype{border-radius:var(--radius);letter-spacing:.03em;background:var(--c-grey);width:36px;height:36px;color:var(--c-primary);flex:none;justify-content:center;align-items:center;font-family:Urbanist,sans-serif;font-size:10px;font-weight:700;display:inline-flex}.filetype--pdf{color:#b02a22;background:#fdeeed}.filetype--doc{color:#1f5c96;background:#eaf2fa}.filetype--xls{color:#0a7a52;background:#e6f7f0}.filetype--img{color:#6b3fbe;background:#f3eefd}.filetype--ppt{color:#b3541e;background:#fdf0e8}.filetype--zip{color:#4a5560;background:#eef0f3}.filetype--eml{color:#0f6a6e;background:#e8f4f4}.fileitem .meta{flex:1;min-width:0}.fileitem .meta b{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;display:block;overflow:hidden}.fileitem .meta span{color:var(--c-primary);font-size:12px}.progress{background:var(--c-grey);border-radius:999px;height:4px;margin-top:6px;overflow:hidden}.progress>span{background:var(--c-blue);height:100%;transition:width .25s;display:block}.ack{border-radius:var(--radius);background:#fffdf7;border:1px solid #f0dfba;align-items:flex-start;gap:12px;padding:14px;display:flex}.ev-row{align-items:center;gap:9px;padding:1px 0;display:flex}.ev-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--c-blue);cursor:pointer;flex:none}.ev-text{min-width:0;font:inherit;color:var(--c-secondary);border-radius:var(--radius);background:0 0;border:1px solid #0000;flex:1;padding:6px 8px;font-size:13.5px;transition:background .12s,border-color .12s}.ev-text:hover{border-color:var(--c-line);background:#fff}.ev-text:focus{border-color:var(--c-blue);background:#fff;outline:none;box-shadow:0 0 0 3px #1746751a}.ev-row.is-done .ev-text{color:var(--c-primary);text-decoration:line-through}.ev-del{width:26px;height:26px;color:var(--c-primary);opacity:0;background:0 0;border:0;border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex}.ev-row:hover .ev-del,.ev-del:focus-visible{opacity:1}.ev-del:hover{color:var(--c-red);background:#fdeeed}.ev-del svg{fill:currentColor;width:14px;height:14px}.ev-add{gap:8px;margin-top:12px;display:flex}.ev-add .input{padding:8px 10px;font-size:13.5px}.ev-empty{color:var(--c-primary);padding:4px 0 2px;font-size:13px}.chat{flex:1;grid-template-columns:240px 1fr;min-width:0;min-height:0;display:grid}.chat.has-thread{grid-template-columns:240px 1fr 330px}.chan{background:var(--c-ink);color:#fffc;flex-direction:column;min-height:0;display:flex}.chan__head{border-bottom:1px solid #ffffff14;padding:14px 16px}.chan__head b{color:#fff;font-family:Urbanist,sans-serif;font-size:15px;display:block}.chan__head span{color:#ffffff73;font-size:11.5px}.chan__body{flex:1;padding:10px 8px 20px;overflow-y:auto}.chan__group{letter-spacing:.07em;text-transform:uppercase;color:#ffffff61;justify-content:space-between;align-items:center;padding:12px 8px 4px;font-size:11px;font-weight:600;display:flex}.chan__group button{color:#ffffff80;background:0 0;border:0;border-radius:4px;padding:2px 5px;font-size:14px;line-height:1}.chan__group button:hover{color:#fff;background:#ffffff1a}.chan__item{text-align:left;border-radius:var(--radius);color:#ffffffb8;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:7px 10px;font-family:inherit;font-size:14px;display:flex}.chan__item:hover{color:#fff;background:#ffffff12}.chan__item.is-active{background:var(--c-blue);color:#fff;font-weight:600}.chan__item.is-unread{color:#fff;font-weight:700}.chan__item .hash{opacity:.5;font-weight:400}.chan__item .nm{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chan__item .badge{background:var(--c-orange);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:19px;height:19px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.chan__item .pdot{background:#6b7783;border-radius:50%;flex:none;width:8px;height:8px}.chan__item .pdot.online{background:var(--c-green)}.chan__item .pdot.away{background:#e8b62c}.chan__item .pdot.dnd{background:var(--c-red)}.room{background:#fff;flex-direction:column;min-width:0;display:flex}.room__head{border-bottom:1px solid var(--c-line);flex:none;align-items:center;gap:14px;padding:12px 20px;display:flex}.room__head h3{white-space:nowrap;flex:none;align-items:center;gap:6px;display:flex}.room__head .topic{color:var(--c-primary);border-left:1px solid var(--c-line);text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-left:14px;font-size:12.5px;overflow:hidden}.room__head .spacer{flex:1}.facepile{display:flex}.facepile .avatar{border:2px solid #fff;margin-left:-8px}.facepile .avatar:first-child{margin-left:0}.facepile .more{background:var(--c-grey);width:26px;height:26px;color:var(--c-primary);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;margin-left:-8px;font-size:10.5px;font-weight:700;display:inline-flex}.pinned{color:#7a5200;background:#fffdf7;border-bottom:1px solid #f0dfba;align-items:center;gap:10px;padding:9px 20px;font-size:12.5px;display:flex}.pinned svg{width:14px;height:14px;fill:var(--c-amber);flex:none}.msgs{flex:1;padding:18px 20px 8px;overflow-y:auto}.daysep{align-items:center;gap:14px;margin:18px 0 14px;display:flex}.daysep:before,.daysep:after{content:"";background:var(--c-line);flex:1;height:1px}.daysep span{color:var(--c-primary);border:1px solid var(--c-line);background:#fff;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.newsep{align-items:center;gap:12px;margin:16px 0;display:flex}.newsep:before,.newsep:after{content:"";background:var(--c-orange);flex:1;height:1px}.newsep span{color:var(--c-orange);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.msg{border-radius:var(--radius);gap:11px;padding:5px 8px;display:flex;position:relative}.msg:hover{background:#fafbfc}.msg.is-compact{padding-top:1px;padding-bottom:1px}.msg__gutter{flex:none;justify-content:center;width:34px;display:flex}.msg.is-compact .msg__gutter time{color:#0000;font-size:10.5px}.msg.is-compact:hover .msg__gutter time{color:var(--c-primary)}.msg__body{flex:1;min-width:0}.msg__who{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:2px;display:flex}.msg__who b{font-family:Urbanist,sans-serif;font-size:14.5px;font-weight:700}.msg__who time{color:var(--c-primary);font-size:11.5px}.msg__who .tag{text-transform:uppercase;letter-spacing:.04em;background:var(--c-grey);color:var(--c-primary);border-radius:3px;padding:2px 6px;font-size:10px;font-weight:700}.msg__text{color:#2c3742;word-wrap:break-word;font-size:14px}.msg__text code{background:var(--c-grey);color:#b02a22;border-radius:3px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.msg__text pre{border:1px solid var(--c-line);border-radius:var(--radius);color:#2c3742;background:#f7f8fa;margin:6px 0 0;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;overflow-x:auto}.mention{color:var(--c-blue);background:#eaf2fa;border-radius:3px;padding:1px 4px;font-weight:600}.mention.is-me{color:#7a5200;background:#fdf4e3}.attach{border:1px solid var(--c-line);border-radius:var(--radius);background:#fff;align-items:center;gap:10px;max-width:340px;margin-top:8px;padding:10px 12px;display:inline-flex}.attach b{font-size:13px;font-weight:600;display:block}.attach span{color:var(--c-primary);font-size:11.5px}.reacts{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.react{border:1px solid var(--c-line);color:var(--c-primary);background:#fff;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;line-height:1.6;display:inline-flex}.react:hover{border-color:var(--c-blue)}.react.is-mine{color:var(--c-blue);background:#eaf2fa;border-color:#bcd4ea;font-weight:600}.react--add{color:var(--c-primary);padding:2px 7px}.react--add svg{fill:currentColor;width:13px;height:13px}.threadlink{border-radius:var(--radius);color:var(--c-blue);background:0 0;border:0;align-items:center;gap:8px;margin-top:6px;padding:4px 8px;font-family:inherit;font-size:12.5px;font-weight:600;display:inline-flex}.threadlink:hover{background:#eaf2fa}.threadlink .faces{display:flex}.threadlink .faces .avatar{border:1.5px solid #fff;margin-left:-6px}.threadlink .faces .avatar:first-child{margin-left:0}.msg__tools{border:1px solid var(--c-line);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;gap:2px;padding:2px;display:none;position:absolute;top:-12px;right:10px}.msg:hover .msg__tools{display:flex}.msg__tools button{width:28px;height:28px;color:var(--c-primary);background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.msg__tools button:hover{background:var(--c-grey);color:var(--c-secondary)}.msg__tools svg{fill:currentColor;width:15px;height:15px}.typing{color:var(--c-primary);height:20px;padding:0 28px 6px;font-size:12.5px}.typing i{background:var(--c-primary);border-radius:50%;width:4px;height:4px;margin-right:2px;animation:1.2s infinite blink;display:inline-block}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){margin-right:6px;animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.25}30%{opacity:1}}.composer{flex:none;padding:0 20px 18px}.composer__box{border:1px solid var(--c-line);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.composer__box:focus-within{border-color:var(--c-blue);box-shadow:0 0 0 3px #1746751a}.composer__fmt{border-bottom:1px solid var(--c-line-soft);gap:2px;padding:6px 8px;display:flex}.composer__fmt button{width:28px;height:28px;color:var(--c-primary);background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.composer__fmt button:hover{background:var(--c-grey);color:var(--c-secondary)}.composer__fmt svg{fill:currentColor;width:15px;height:15px}.composer__fmt .sep{background:var(--c-line);width:1px;margin:4px 6px}.composer textarea{resize:none;width:100%;font:inherit;color:var(--c-secondary);border:0;min-height:46px;max-height:200px;padding:12px 14px;font-size:14px;display:block}.composer textarea:focus{outline:none}.composer__bar{align-items:center;gap:4px;padding:6px 8px 8px;display:flex}.composer__bar .spacer{flex:1}.composer__hint{color:var(--c-primary);padding:6px 4px 0;font-size:11.5px}.thread{border-left:1px solid var(--c-line);background:#fff;flex-direction:column;min-height:0;display:flex}.thread[hidden]{display:none}.thread__head{border-bottom:1px solid var(--c-line);flex:none;justify-content:space-between;align-items:center;padding:13px 16px;display:flex}.thread__body{flex:1;padding:14px 12px;overflow-y:auto}.thread__count{color:var(--c-primary);border-bottom:1px solid var(--c-line-soft);margin-bottom:10px;padding:6px 10px 10px;font-size:12px}.empty{text-align:center;color:var(--c-primary);padding:44px 20px}.empty svg{fill:#c6ccd3;width:40px;height:40px;margin:0 auto 12px}.empty b{color:var(--c-secondary);margin-bottom:4px;font-family:Urbanist,sans-serif;font-size:16px;display:block}.toast-wrap{z-index:200;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--radius);background:var(--c-ink);color:#fff;min-width:280px;max-width:380px;box-shadow:var(--shadow-lg);align-items:flex-start;gap:10px;padding:13px 15px;font-size:13.5px;animation:.2s ease-out toastIn;display:flex}.toast svg{width:17px;height:17px;fill:var(--c-green);flex:none;margin-top:1px}.toast--warn svg{fill:#ffcf5c}.toast--error svg{fill:#ff8a80}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.modal{z-index:150;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal[hidden]{display:none}.modal__scrim{background:#041b4773;position:absolute;inset:0}.modal__box{border-radius:var(--radius-lg);width:100%;max-width:520px;box-shadow:var(--shadow-lg);background:#fff;position:relative;overflow:hidden}.modal__head{border-bottom:1px solid var(--c-line-soft);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal__body{max-height:62vh;padding:22px;overflow-y:auto}.modal__foot{border-top:1px solid var(--c-line-soft);background:#fcfcfd;justify-content:flex-end;align-items:center;gap:10px;padding:16px 22px;display:flex}.modal__hint{margin-right:auto}@media (max-width:560px){.modal__hint{display:none}}.session-bar{color:#7a5200;background:#fdf4e3;border-bottom:1px solid #f0dfba;justify-content:center;align-items:center;gap:10px;padding:9px 16px;font-size:13px;display:flex}.session-bar[hidden]{display:none}.session-bar button{color:#7a5200;background:0 0;border:0;font-weight:700;text-decoration:underline}@media (max-width:1180px){.grid--4{grid-template-columns:repeat(2,1fr)}.grid--2-1{grid-template-columns:1fr}.chat.has-thread{grid-template-columns:240px 1fr}.thread{inset:var(--topbar-h) 0 0 auto;z-index:80;width:min(380px,92vw);box-shadow:var(--shadow-lg);position:fixed}}@media (max-width:960px){.auth{grid-template-columns:1fr}.auth__aside{display:none}.grid--3,.app{grid-template-columns:1fr}.rail{z-index:120;width:268px;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.rail.is-open{transform:none}.rail-toggle,.icon-btn.rail-toggle{display:inline-flex}.scrim{z-index:110;background:#041b4766;position:fixed;inset:0}.scrim[hidden]{display:none}.search{width:180px}.chat,.chat.has-thread{grid-template-columns:1fr}.chan{display:none}.chat.show-channels .chan{inset:var(--topbar-h) 0 0 0;z-index:90;display:flex;position:fixed}}@media (max-width:680px){.view{padding:16px}.room__head{gap:8px;padding:10px 12px}.room__head .topic,.room__head .facepile{display:none}.room__head h3{white-space:nowrap;font-size:15px}.room__head .icon-btn[aria-label="Start a call"],.room__head .icon-btn[aria-label="Start a huddle"]{display:none}.msgs{padding:14px 12px 6px}.composer{padding:0 12px 12px}.pinned{padding:8px 12px}.grid--4{grid-template-columns:1fr}.search{display:none}.topbar{gap:8px;padding:0 14px}.tabs{flex-wrap:nowrap;overflow-x:auto}.page-head{flex-direction:column}.modal__box{max-width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.card__head h3 svg{width:17px;height:17px;fill:var(--c-blue);flex:none}.card__head h3 .avatar{flex:none}.rail__brand img,.auth__aside img{height:auto}.peoplelist{margin:0;padding:0;list-style:none}.peoplelist li+li{margin-top:2px}.personrow{border-radius:var(--radius);text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:12px;padding:10px 12px;display:flex}.personrow:hover{border-color:var(--c-line);background:#f6f7f9}.personrow:focus-visible{outline:2px solid var(--c-blue);outline-offset:2px}.personrow__who{flex:1;min-width:0}.personrow__who b{font-size:14px;font-weight:600;display:block}.personrow__who span{color:var(--c-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.personrow__go{color:var(--c-blue);opacity:0;flex:none;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.personrow__go svg{fill:currentColor;width:14px;height:14px}.personrow:hover .personrow__go,.personrow:focus-visible .personrow__go{opacity:1}@media (hover:none){.personrow__go{opacity:1}}
