:root{--navy:#07111f;--ink:#16324f;--muted:#7188a1;--line:#dfe8f2;--canvas:#f3f7fb}
*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--canvas)}button,input,select{font:inherit}.status-dot{width:8px;height:8px;border-radius:50%;background:#39b77a;display:inline-block}.login-page{min-height:100vh;background:#07111f}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-brand{padding:70px;color:white;background:linear-gradient(145deg,#153b62,#07111f);display:flex;flex-direction:column;justify-content:space-between}.brand-mark,.mini-mark{display:grid;place-items:center;border:1px solid #c7a34b;color:#e2c67f;font-weight:800}.brand-mark{width:68px;height:68px;border-radius:20px}.login-brand h1{font-size:56px}.login-brand p{color:#a9bfd6}.login-panel{background:#f7f9fc;display:grid;place-items:center}.login-card{width:430px;max-width:90%;background:white;border:1px solid var(--line);border-radius:22px;padding:40px}.field{width:100%;height:48px;border:1px solid #cfdae7;border-radius:10px;padding:0 12px}.login-card label,.form-card label{display:block;margin:16px 0 8px;font-size:13px;font-weight:700}.primary-btn,.primary-link{background:#174b7b;color:white;border:0;border-radius:10px;font-weight:800;text-decoration:none}.primary-btn{width:100%;height:50px;margin-top:22px}.primary-btn.inline{width:auto;padding:0 20px}.primary-link{display:inline-block;padding:11px 15px}.danger-btn{background:#a33a4d;color:white;border:0;padding:10px 14px;border-radius:9px}.alert{padding:12px;border-radius:10px;margin:15px 0}.alert-error{background:#fff0f2;color:#a53145}.alert-success{background:#edf9f3;color:#257651}.alert-warning{background:#fff8e8;color:#8a6816}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:254px;background:#07111f;color:#d9e5f2;display:flex;flex-direction:column}.sidebar-brand{height:76px;padding:0 20px;display:flex;align-items:center;gap:12px}.mini-mark{width:38px;height:38px;border-radius:11px}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand span{font-size:11px;color:#718daa}.nav{padding:14px;flex:1;overflow:auto}.nav-section{font-size:10px;font-weight:800;color:#58738f;letter-spacing:.12em;margin:16px 8px 6px}.nav-link{display:flex;gap:10px;align-items:center;min-height:40px;padding:0 10px;color:#a9bdd1;text-decoration:none;border-radius:9px;font-size:13px}.nav-link.active{background:#153657;color:white}.nav-link.disabled{opacity:.55}.sidebar-foot{padding:16px 20px;color:#718daa;font-size:11px}.main{margin-left:254px;width:calc(100% - 254px)}.topbar{height:76px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;position:sticky;top:0}.topbar-title{font-weight:800}.topbar-subtitle{font-size:11px;color:#93a4b6}.user-box{margin-left:auto;display:flex;gap:10px;align-items:center}.user-avatar{width:36px;height:36px;border-radius:10px;background:#eaf2fb;display:grid;place-items:center;font-weight:900}.user-copy strong,.user-copy span{display:block}.user-copy span{font-size:10px;color:#91a1b2}.logout-btn{border:1px solid var(--line);background:white;border-radius:8px;padding:7px 10px}.content{padding:34px;max-width:1500px;margin:auto}.hero{padding:34px;border-radius:20px;background:linear-gradient(135deg,#102d4d,#173f68);color:white;display:flex;justify-content:space-between}.hero p{color:#abc0d5}.stats-grid,.module-grid,.integration-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0 30px}.stat-card,.module-card,.form-card,.table-card{background:white;border:1px solid var(--line);border-radius:16px}.stat-card,.module-card,.form-card{padding:20px}.stat-card span,.module-group,.eyebrow{font-size:10px;font-weight:800;color:#7890a8;letter-spacing:.08em}.stat-card strong{display:block;font-size:18px;margin:8px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin:26px 0 14px}.section-head h2{margin:5px 0}.muted{color:var(--muted)}.module-symbol{width:42px;height:42px;background:#edf4fb;border-radius:12px;display:grid;place-items:center;margin:18px 0}.table-card{overflow:hidden}.table-scroll{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:700px}.data-table th,.data-table td{padding:13px 15px;border-bottom:1px solid #edf2f7;text-align:left;font-size:12px}.data-table th{background:#f7f9fc;color:#748ca4;font-size:10px}.right{text-align:right!important}.table-action{color:#2c6da7;text-decoration:none;font-weight:800}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-actions{display:flex;justify-content:flex-end;margin-top:18px}.menu-btn{display:none}.brand-footer{color:#718daa}
@media(max-width:900px){.stats-grid,.module-grid,.integration-grid{grid-template-columns:1fr 1fr}.sidebar{transform:translateX(-100%)}.main{margin-left:0;width:100%}.login-shell{grid-template-columns:1fr}.login-brand{display:none}.form-grid{grid-template-columns:1fr}}@media(max-width:560px){.stats-grid,.module-grid,.integration-grid{grid-template-columns:1fr}.content{padding:15px}}
\
/* TechODesk V4 OneDrive mapping additions */
.mapping-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.mapping-item label{
    display:block;
    margin:0 0 8px;
    font-size:12px;
    font-weight:800;
    color:#536d88;
}
.mapping-meta{
    color:#91a1b2;
    font-size:10px;
    margin-top:8px;
    line-height:1.4;
}
.left-actions{
    justify-content:flex-start!important;
}
.sync-actions{
    margin:16px 0 30px;
    align-items:center;
    gap:14px;
}
@media(max-width:900px){
    .mapping-grid{grid-template-columns:1fr}
    .sync-actions{align-items:flex-start;flex-direction:column}
}
