:root{--purple:#4c1d95;--purple-dark:#29105a;--purple-soft:#f2ebff;--green:#117955;--ink:#1f2937;--muted:#738092;--line:#e6e8ee;--paper:#fff;--bg:#f6f7fb;--danger:#c63855;--shadow:0 18px 45px rgba(30,21,52,.13)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}.auth-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 88% 12%,#8759d966,transparent 28%),radial-gradient(circle at 8% 93%,#1aa66e50,transparent 34%),linear-gradient(135deg,#270b55,#4f1897 56%,#08422f 160%)}.auth-card,.install-card{width:min(680px,100%);padding:42px;border:1px solid #ffffff38;border-radius:27px;color:#fff;background:#190c35d9;box-shadow:0 30px 85px #0005}.auth-brand{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.auth-brand strong,.brand-mini{display:block;font-size:29px;letter-spacing:-.07em}.auth-brand strong span,.brand-mini span{color:#b794f4}.auth-brand small{display:block;margin-top:3px;color:#cfbfef;font-size:9px;font-weight:800;letter-spacing:.17em}.auth-brand img{width:145px;max-height:57px;object-fit:contain;object-position:right top;border-radius:5px;background:#fff}.auth-copy{margin:38px 0 24px}.eyebrow{margin:0 0 7px;color:#73dba4;font-size:10px;font-weight:900;letter-spacing:.15em}.eyebrow.dark{color:var(--green)}.auth-copy h1{max-width:520px;margin:0;font-size:clamp(31px,5vw,47px);line-height:1.04;letter-spacing:-.055em}.auth-copy p:last-child{max-width:540px;color:#dfd6ef;line-height:1.6}.auth-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid #fff3}.auth-tab{padding:10px 3px;border:0;border-bottom:2px solid transparent;color:#cbbde3;background:transparent;font-size:12px;font-weight:800}.auth-tab.active{border-color:#8debb4;color:#fff}.auth-form{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.auth-form.active{display:grid}.auth-form label,.stack-form label{display:grid;gap:7px;color:#e2daf2;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.auth-form input,.stack-form input{width:100%;height:46px;padding:0 12px;border:1px solid #fff4;border-radius:10px;outline:0;color:#fff;background:#fff1}.auth-form input:focus,.stack-form input:focus{border-color:#bba0ff;background:#fff2}.auth-form .primary{grid-column:1/-1}.password-wrap{position:relative}.password-wrap input{padding-right:56px}.show-password{position:absolute;top:50%;right:6px;transform:translateY(-50%);border:0;color:#d9c9ff;background:transparent;font-size:10px;font-weight:800}.primary,.secondary{min-height:42px;padding:0 15px;border:0;border-radius:10px;font-weight:850}.primary{color:#fff;background:linear-gradient(135deg,#6b2ac9,#3b126f);box-shadow:0 8px 18px #40147c42}.primary:hover{filter:brightness(1.12)}.secondary{color:var(--purple);background:var(--purple-soft)}.wide{width:100%}.error-box,.success-box{margin:16px 0;padding:12px 14px;border-radius:10px;font-size:13px}.error-box{color:#ffe5e9;background:#c92f5747;border:1px solid #f6a5b6}.success-box{color:#c9ffdc;background:#19865038;border:1px solid #83e3a7}.auth-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:23px;color:#d5c9e9;font-size:12px}.auth-footer button{border:1px solid #fff6;border-radius:8px;padding:7px 10px;color:#fff;background:#ffffff12;font-size:11px;font-weight:800}.online-dot{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:#54dc8f;box-shadow:0 0 0 4px #54dc8f33}.install-card{color:var(--ink);background:#fff}.install-card h1{margin:5px 0 10px}.install-card>p{color:var(--muted);line-height:1.6}.stack-form{display:grid;gap:14px}.stack-form h2{margin:15px 0 0}.stack-form label{color:#596476}.stack-form input{border-color:#d7dae2;color:var(--ink);background:#fff}.app-shell{display:grid;min-height:100vh;grid-template-columns:64px 274px minmax(0,1fr)}.rail{display:flex;flex-direction:column;align-items:center;gap:11px;padding:13px 9px;color:#d8c7f7;background:var(--purple-dark)}.rail-logo{display:grid;width:42px;height:42px;margin:2px 0 16px;place-items:center;border:0;border-radius:13px;color:#fff;background:linear-gradient(135deg,#8d59df,#51209e);font-weight:950;letter-spacing:-.1em}.rail-button{display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:12px;color:#d9c9f6;background:transparent;font-size:18px}.rail-button:hover,.rail-button.active{color:#fff;background:#ffffff22}.rail-gap{flex:1}.sidebar{display:flex;min-height:0;flex-direction:column;border-right:1px solid var(--line);background:#fff}.sidebar-brand{display:flex;align-items:center;gap:10px;min-height:77px;padding:11px 15px;border-bottom:1px solid var(--line)}.sidebar-brand img{width:73px;height:39px;object-fit:contain}.sidebar-brand strong{display:block;color:var(--purple-dark);font-size:16px;letter-spacing:-.05em}.sidebar-brand small{display:flex;align-items:center;gap:4px;color:#8090a1;font-size:10px}.sidebar-brand i{width:7px;height:7px;border-radius:50%;background:#43ca82}.sidebar>.wide{width:calc(100% - 24px);margin:14px 12px 5px}.side-section{padding:14px 10px 0}.side-heading{display:flex;align-items:center;justify-content:space-between;margin:0 8px 7px;color:#9aa2b1;font-size:10px;font-weight:900;letter-spacing:.11em}.side-heading button{border:0;color:#7b8492;background:transparent;font-size:16px}.list-button{display:flex;width:100%;align-items:center;gap:8px;min-height:36px;padding:0 8px;border:0;border-radius:8px;color:#5e6979;background:#fff;text-align:left}.list-button:hover,.list-button.active{color:var(--purple);background:var(--purple-soft);font-weight:800}.list-button .person-dot{width:8px;height:8px;margin-left:auto;border:1px solid #fff;border-radius:50%;background:#45c982}.list-button .person-avatar{display:grid;width:23px;height:23px;place-items:center;border-radius:7px;color:#fff;background:linear-gradient(135deg,#7141c7,#147655);font-size:9px;font-weight:900}.list-button small{display:block;overflow:hidden;color:#99a2b0;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.inbox-button{display:flex;width:100%;align-items:center;justify-content:space-between;border:0;border-radius:8px;padding:10px;color:#596374;background:#f8f9fc;font-weight:800;font-size:12px}.inbox-button b{display:none;min-width:18px;padding:2px 5px;border-radius:9px;color:#fff;background:var(--danger);font-size:9px;text-align:center}.sidebar-user{display:flex;align-items:center;gap:8px;margin-top:auto;padding:12px 15px;border-top:1px solid var(--line)}.sidebar-user .avatar{display:grid;width:31px;height:31px;place-items:center;border:0;border-radius:10px;color:#fff;background:var(--green);font-weight:900}.sidebar-user div{min-width:0;flex:1}.sidebar-user strong,.sidebar-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user strong{font-size:11px}.sidebar-user small{color:#9099a7;font-size:9px}.sidebar-user a{color:var(--purple);text-decoration:none}.main{min-width:0;display:flex;min-height:100vh;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:77px;padding:10px 24px;border-bottom:1px solid var(--line);background:#fff}.topbar p{margin:0;color:#9ca4b1;font-size:9px;font-weight:900;letter-spacing:.13em}.topbar h1{margin:2px 0 0;color:#364052;font-size:18px;letter-spacing:-.035em}.top-actions{display:flex;gap:7px}.top-actions button,.mobile-menu{display:grid;width:35px;height:35px;place-items:center;border:0;border-radius:9px;color:var(--purple);background:var(--purple-soft)}.mobile-menu{display:none}.view{display:none;min-height:0;flex:1}.view.active{display:flex}.chat-view{flex-direction:column;background:#fbfbfd}.message-stream{display:flex;min-height:0;flex:1;flex-direction:column;gap:2px;overflow-y:auto;padding:24px max(24px,5vw)}.message{display:flex;gap:10px;padding:9px 7px;border-radius:10px}.message:hover{background:#f4f3f9}.message.me{background:#f3ecff}.message-avatar{display:grid;width:31px;height:31px;flex:0 0 auto;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(135deg,#7545c8,#167555);font-size:10px;font-weight:900}.message-main{min-width:0;flex:1}.message-head{display:flex;align-items:baseline;gap:7px}.message-head strong{font-size:12px}.message-head time{color:#9ea6b4;font-size:9px}.message-body{margin-top:3px;color:#4e5868;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.reply-preview{margin:4px 0;padding:5px 8px;border-left:3px solid #a678e7;color:#778191;background:#f7f3fd;font-size:11px}.attachment{display:inline-flex;align-items:center;gap:6px;margin-top:7px;padding:7px 9px;border-radius:8px;color:var(--purple);background:#f0eafe;font-size:11px;font-weight:800;text-decoration:none}.empty{margin:auto;color:#98a1ae;font-size:13px;text-align:center}.composer{display:flex;align-items:center;gap:8px;padding:13px max(20px,5vw);border-top:1px solid var(--line);background:#fff}.composer input{min-width:0;height:43px;flex:1;padding:0 13px;border:1px solid #dfe2ea;border-radius:11px;outline:0}.composer input:focus{border-color:#a981e7;box-shadow:0 0 0 3px #efe6ff}.composer button{height:40px;border:0;border-radius:10px}.composer>#attachButton{width:40px;color:var(--purple);background:var(--purple-soft)}.composer .send{padding:0 15px;color:#fff;background:var(--purple);font-weight:850}.reply-bar{display:flex;align-items:center;justify-content:space-between;padding:8px max(20px,5vw);color:#675278;background:#f7f2ff;font-size:11px}.reply-bar button{border:0;color:#64418e;background:transparent;font-size:19px}.work-view{flex-direction:column;gap:19px;overflow:auto;padding:28px;background:var(--bg)}.view-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.view-head h2{margin:0;color:#354052;font-size:25px;letter-spacing:-.045em}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.work-grid article,.meeting-card,.admin-card{padding:19px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 15px #1d263109}.work-grid h3{margin:0 0 12px;font-size:15px}.work-grid article>.secondary{min-height:33px;margin:-5px 0 10px;font-size:11px}.work-item{padding:11px 0;border-top:1px solid #edf0f4}.work-item:first-child{border-top:0}.work-item strong{display:block;font-size:12px}.work-item p{margin:3px 0;color:#7d8795;font-size:11px;line-height:1.45}.work-item small{color:#99a3b0;font-size:10px}.work-item button{margin-top:6px;border:0;border-radius:6px;padding:5px 7px;color:var(--green);background:#e7f8ef;font-size:10px;font-weight:800}.notice{margin:0;padding:13px;border-radius:10px;color:#5e4b11;background:#fff9d7;font-size:12px}.meeting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.meeting-card h3{margin:0;font-size:15px}.meeting-card p{color:#798391;font-size:11px;line-height:1.45}.meeting-card small{display:block;margin:9px 0;color:#8a94a1;font-size:10px}.admin-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line)}.admin-tabs button{padding:9px 3px;border:0;border-bottom:2px solid transparent;color:#7e8898;background:transparent;font-size:12px;font-weight:800}.admin-tabs button.active{border-color:var(--purple);color:var(--purple)}.admin-card{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:11px}.data-table th,.data-table td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.data-table th{color:#8993a2;font-size:9px;letter-spacing:.08em}.badge{display:inline-block;padding:3px 6px;border-radius:8px;font-size:9px;font-weight:800}.badge.active{color:#087145;background:#e2f8ea}.badge.pending{color:#98620a;background:#fff2c9}.badge.blocked{color:#ae2640;background:#fde5ea}.mini-action{margin:2px;border:0;border-radius:6px;padding:5px 7px;color:var(--purple);background:var(--purple-soft);font-size:9px;font-weight:800}.toast-stack{position:fixed;right:17px;bottom:17px;z-index:50;display:grid;gap:9px;width:min(350px,calc(100vw - 34px))}.toast{padding:14px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#4b1b90,#0b6548);box-shadow:var(--shadow);animation:in .2s ease}.toast strong,.toast span{display:block}.toast strong{font-size:12px}.toast span{margin-top:3px;color:#e2d8f3;font-size:11px}.modal-backdrop{position:fixed;z-index:40;inset:0;display:grid;place-items:center;padding:18px;background:#16112587}.modal{width:min(500px,100%);max-height:88vh;overflow:auto;padding:23px;border-radius:16px;background:#fff;box-shadow:var(--shadow)}.modal h2{margin:0 0 8px;color:#354052;font-size:21px}.modal p{color:#707b8b;font-size:12px;line-height:1.55}.modal .stack-form label{color:#5c6677}.modal .stack-form input,.modal .stack-form textarea,.modal .stack-form select{width:100%;padding:10px;border:1px solid #dce0e7;border-radius:8px;color:#354052;background:#fff}.modal textarea{min-height:90px;resize:vertical}.modal-close{float:right;border:0;color:#7b8492;background:transparent;font-size:20px}.modal-list{display:grid;gap:7px;margin-top:12px}.modal-list button{display:flex;align-items:center;gap:8px;border:0;border-radius:8px;padding:9px;color:#4b5565;background:#f6f7fb;text-align:left}.modal-list small{color:#8c96a5}.call-frame{width:min(1100px,100%);height:min(700px,88vh);padding:0;overflow:hidden}.call-frame header{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;color:#fff;background:#241141}.call-frame iframe{width:100%;height:calc(100% - 58px);border:0}.hidden{display:none!important}@keyframes in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:860px){.app-shell{grid-template-columns:58px minmax(0,1fr)}.sidebar{position:fixed;z-index:30;top:0;bottom:0;left:58px;width:274px;box-shadow:12px 0 35px #12141d33;transform:translateX(-115%);transition:transform .2s}.sidebar.open{transform:none}.mobile-menu{display:grid}.work-grid,.meeting-grid{grid-template-columns:1fr 1fr}}@media(max-width:580px){.auth-card,.install-card{padding:25px 20px}.auth-brand img{width:118px}.auth-form{grid-template-columns:1fr}.app-shell{grid-template-columns:0 minmax(0,1fr)}.rail{display:none}.sidebar{left:0}.topbar{padding:10px 14px}.message-stream{padding:17px 13px}.composer{padding:11px}.work-view{padding:18px}.work-grid,.meeting-grid{grid-template-columns:1fr}.view-head h2{font-size:21px}.auth-tabs{gap:6px}.auth-tab{font-size:10px}}
