:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202239;background:#f7f8fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #6857ef;outline-offset:2px}.shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}aside{background:#fff;border-right:1px solid #e8e9ef;padding:30px 18px;display:flex;flex-direction:column;min-height:100vh}.brand{font-weight:850;font-size:25px;color:#5147d8;letter-spacing:-1px}.brand span{font-size:11px;letter-spacing:1px;background:#eeeeff;padding:5px 7px;border-radius:5px;margin-left:4px}.sidehint,.eyebrow{font-size:10px;letter-spacing:2px;color:#a5a5b7;font-weight:800}.sidehint{margin:38px 11px 12px}nav{display:grid;gap:7px}nav button,.asidebottom button{background:transparent;border:0;text-align:left;padding:12px 14px;border-radius:10px;color:#5b5c72;font-weight:600}nav button:hover,nav button.selected{background:#f0efff;color:#5446d4}.asidebottom{margin-top:auto;border-top:1px solid #eee;padding-top:18px;display:grid;gap:9px;font-size:12px;color:#7b7d92}#profile{padding:8px 13px}main{padding:38px 5%;max-width:1500px;width:100%;margin:0 auto}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}h1{font-size:28px;margin:5px 0 7px;letter-spacing:-.7px}header p{color:#8a8b9b;margin:0;font-size:14px}.avatar{width:42px;height:42px;display:grid;place-items:center;background:#ebe8ff;color:#5f4de7;border-radius:50%;font-size:18px;font-weight:800}.actions,.toolbar,.inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.actions{margin-bottom:24px}button,.upload{border:1px solid #e1e2ed;background:white;padding:10px 14px;border-radius:10px;color:#45455c;font-weight:650;font-size:13px}.primary{background:#594ce1;color:#fff;border-color:#594ce1}.primary:hover{background:#4536c4}.upload{cursor:pointer}.upload:hover,button:hover{box-shadow:0 2px 9px #17173a12}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:20px}.stats div{background:white;border:1px solid #eaebf2;border-radius:13px;padding:19px 24px;display:grid;gap:6px}.stats strong{font-size:29px}.stats small{font-size:12px;color:#9294a7}.toolbar{margin:20px 0}.toolbar>input{flex:1;min-width:180px}.toolbar select{min-width:160px}.toolbar input,.toolbar select,.inline input,.userform input,.loginbox input,.modal input,.modal textarea{border:1px solid #e1e2ed;border-radius:9px;padding:12px 13px;background:#fff;color:#333448;min-width:0}.check{font-size:13px;color:#66687e;display:flex;gap:8px;align-items:center}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:16px}.contact{border:1px solid #e9e9f1;border-radius:14px;background:#fff;overflow:hidden;padding:20px;box-shadow:0 3px 12px #20204708}.contacttop{display:flex;gap:12px;align-items:center}.initial{background:#f0ecff;color:#5d4ce3;border-radius:11px;width:45px;height:45px;display:grid;place-items:center;font-weight:850}.contactinfo{flex:1;min-width:0;display:grid;gap:5px}.contactinfo strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.contactinfo small,.email{color:#8b8ca0;font-size:12px}.star{color:#c6c7d5;border:0;background:transparent;font-size:20px;padding:3px}.star.on{color:#e4a429}.status{border-radius:9px;background:#f7f8fc;color:#5e607a;margin:18px 0 12px;padding:12px;font-size:12px;font-weight:650}.status small{display:block;color:#a2a2b4;font-size:11px;margin:6px 0 0 18px;font-weight:400}.dot{display:inline-block;background:#bdc0ca;width:9px;height:9px;border-radius:50%;margin-right:6px}.email{overflow:hidden;text-overflow:ellipsis}.contactbuttons{display:flex;gap:7px;margin-top:18px;padding-top:14px;border-top:1px solid #eee}.contactbuttons button{font-size:11px;padding:8px 10px}.empty{padding:34px;text-align:center;color:#9394a6;border:1px dashed #d9d9e5;background:#fff;border-radius:13px;grid-column:1/-1}.panel{background:#fff;border:1px solid #e8e8f0;border-radius:15px;padding:25px}.panel h2{font-size:17px;margin:6px 0 17px}.listrows{margin-top:18px}.listrow{display:flex;align-items:center;gap:9px;border-top:1px solid #eee;padding:13px 0}.listrow>span{flex:1}.listrow small{font-size:12px;color:#9495a7}.userform{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:30px}.userform label,.modal label,.loginbox label{font-size:12px;color:#67687b;font-weight:650;display:grid;gap:7px}.userform button{align-self:end}.loginwrap{display:grid;min-height:100vh;place-items:center;padding:18px;background:radial-gradient(circle at top,#e9e7ff,#f8f8fb 55%)}.loginbox{width:min(420px,100%);display:grid;gap:18px;background:white;border:1px solid #e7e5ef;padding:35px;border-radius:19px;box-shadow:0 15px 50px #23234d15}.loginbox h1{margin:5px 0 -11px}.loginbox p{font-size:13px;color:#8b8ca2;margin:0}.loginbox .primary{margin-top:3px}.loginbox .hint{font-size:11px;text-align:center}.overlay{position:fixed;inset:0;background:#19182b88;display:grid;place-items:center;padding:15px;z-index:5}.modal{width:min(480px,100%);max-height:95vh;overflow:auto;border-radius:16px;background:white;padding:25px;box-shadow:0 20px 80px #13132455}.modalhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modalhead h2{margin:0}.modal form,.assign{display:grid;gap:15px}.modal textarea{resize:vertical;min-height:70px}.assign label{display:flex;align-items:center;gap:10px;padding:8px}.assign input{width:auto}#toast{position:fixed;right:20px;bottom:20px;z-index:10;background:#282745;color:#fff;padding:13px 20px;border-radius:10px;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}@media(max-width:820px){.shell{grid-template-columns:1fr}aside{min-height:unset;padding:15px;gap:12px}nav{display:flex;flex-wrap:wrap}.sidehint{display:none}.asidebottom{margin-top:0;display:flex;justify-content:space-between;align-items:center}main{padding:24px 18px}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stats div{padding:12px}.stats strong{font-size:20px}.userform{grid-template-columns:1fr}}@media(max-width:500px){.stats{grid-template-columns:1fr}.actions button,.actions .upload{flex:1;text-align:center}.toolbar>input{flex-basis:100%}.listrow{flex-wrap:wrap}.contact{padding:15px}}

/* Presence dashboard and provider setup */
.status{line-height:1.35;border:1px solid transparent}
.status .dot{vertical-align:middle}
.status-available{background:#eafaf1;border-color:#c8edd8;color:#15804a}
.status-available .dot{background:#16a34a}
.status-busy{background:#fef0f0;border-color:#f6d9d9;color:#b53535}
.status-busy .dot{background:#e14e4e}
.status-away{background:#fff8ea;border-color:#f9e6be;color:#a87012}
.status-away .dot{background:#edb03d}
.status-offline,.status-unknown{background:#f6f7fa;border-color:#eaebf0;color:#6d7280}
.status-offline .dot,.status-unknown .dot{background:#aeb4c2}
.status small{color:inherit;opacity:.73}
.trackingpin{font-size:10px;display:inline-block;margin-left:6px;background:#5349cc;color:#fff;border-radius:999px;padding:3px 7px;white-space:nowrap}
.contactbuttons{flex-wrap:wrap}
.contactbuttons button:first-child{background:#f2efff;border-color:#e5e0ff;color:#5947c8}
.settingsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.settingsGrid .panel{display:flex;flex-direction:column;gap:10px}
.settingsGrid h2{margin:0;font-size:18px}
.settingsGrid p{color:#7c8195;font-size:13px;line-height:1.55;margin:0}
.settingsGrid strong{font-size:14px}
.settingsGrid small{color:#9da1b1;line-height:1.55}
.settingsList{font-size:13px;color:#5c5f76;display:grid;gap:6px}
.lookupbox{max-width:760px}
.lookupbox h2{font-size:18px}
.lookupbox form{margin:18px 0}
.lookupbox form input{flex:1;min-width:200px;padding:12px;border-radius:9px;border:1px solid #dddfea}
.lookuprow{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;border-top:1px solid #eee}
.lookuprow>div{display:grid;gap:5px;min-width:0}
.lookuprow strong{font-size:14px}
.lookuprow small{font-size:12px;color:#888b9e;overflow-wrap:anywhere}
.detailform{display:grid;gap:13px;margin:12px 0 23px}
.detailform label{display:grid;gap:7px;font-size:12px;color:#73778c;font-weight:650}
.detailform select,.detailform input,.detailform textarea{width:100%;border:1px solid #e1e2ed;border-radius:9px;padding:11px;background:white}
.detailform textarea{min-height:86px;resize:vertical}
.detailform .check{display:flex;align-items:center}
.detailform .check input{width:auto}
.modal{width:min(640px,100%)}
.modal h3{font-size:15px;margin:27px 0 10px;border-bottom:1px solid #e9eaf1;padding-bottom:9px}
.modal p{line-height:1.55}
.modal .hint{color:#898da0;font-size:12px}
.notice{background:#fff4e7;color:#895c20;border:1px solid #f9e5c8;padding:10px;border-radius:8px;font-size:12px}
.history{display:grid;max-height:260px;overflow:auto}
.historyrow{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:11px 0;border-bottom:1px solid #ecedf2;font-size:12px}
.historyrow strong{font-size:12px}
.historyrow small{grid-column:1/-1;color:#9b9eae}
.modal .actions button{flex:1}
@media(max-width:760px){.settingsGrid{grid-template-columns:1fr}.lookuprow{align-items:start;flex-wrap:wrap}.modal{padding:17px}.toolbar select{min-width:140px}}

.passwordpanel{margin-top:18px}
.passwordpanel h2{font-size:18px}
.passwordform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:14px}
.passwordform label{display:grid;gap:7px;font-size:12px;color:#777b8e}
.passwordform input{padding:11px;border-radius:9px;border:1px solid #e1e2ed;min-width:0}
.passwordpanel .hint{color:#9093a3;font-size:12px}
@media(max-width:780px){.passwordform{grid-template-columns:1fr}}


/* Server-side Microsoft connection and diagnostic controls */
.microsoftpanel{margin-top:18px}
.microsoftpanel h2{font-size:19px;margin:0 0 8px}
.microsoftpanel h3{font-size:15px;margin:18px 0 8px}
.microsoftpanel .hint{color:#777d90;font-size:12px;line-height:1.6}
.microsoftpanel .connectedline{font-size:13px;overflow-wrap:anywhere;padding:10px 12px;background:#eaf8f0;border:1px solid #ccebd8;border-radius:9px}
.microsoftpanel .actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.msdiagnose{margin:10px 0 12px;display:flex;gap:10px;flex-wrap:wrap}
.msdiagnose input{flex:1;min-width:220px;border:1px solid #e1e2ed;border-radius:9px;padding:11px}
.msresult{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.5;color:#434d70;margin-top:11px}
.msresult:not(:empty){border:1px solid #dfe3ee;border-radius:9px;background:#f7f8fc;padding:12px}
