:root{--bg:#07111f;--bg2:#0a1626;--panel:#0d1b2d;--panel2:#102139;--line:#203751;--line2:#2e4b6d;--text:#f6f9ff;--muted:#92a9c5;--blue:#4f84ff;--blue2:#6ba4ff;--green:#27cf8d;--red:#ef6474;--amber:#f5b84b;--purple:#9d78ff;--shadow:0 18px 60px rgba(0,0,0,.32);--radius:16px}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}body{min-height:100vh;background:radial-gradient(circle at 85% -10%,rgba(79,132,255,.14),transparent 35%),var(--bg)}button,input,select,textarea{font:inherit}.boot{padding:40px;color:var(--muted)}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:linear-gradient(180deg,#071526,#07111f);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:16px;padding:4px 6px 22px}.brand-mark{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#4b82ff,#40c8df);box-shadow:0 8px 26px rgba(66,140,255,.28);font-weight:900}.nav{display:flex;flex-direction:column;gap:5px}.nav-group{font-size:10px;text-transform:uppercase;letter-spacing:1.45px;color:#6f89aa;margin:18px 8px 7px;font-weight:800}.nav-item{border:0;background:transparent;color:#bed0e7;padding:11px 12px;border-radius:10px;text-align:left;display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:650}.nav-item:hover{background:#102139;color:white}.nav-item.active{background:linear-gradient(90deg,rgba(79,132,255,.24),rgba(79,132,255,.06));color:#fff;box-shadow:inset 3px 0 0 var(--blue)}.nav-icon{width:20px;text-align:center;color:#6ea0ff}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:16px}.user-box{display:flex;align-items:center;gap:10px;padding:8px}.avatar{width:36px;height:36px;border-radius:12px;background:#1a3760;display:grid;place-items:center;font-weight:800}.user-meta{display:flex;flex-direction:column;min-width:0}.user-meta b{font-size:13px}.user-meta span{font-size:11px;color:var(--muted)}.main{min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 28px;background:rgba(7,17,31,.82);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.top-title h2{margin:0;font-size:17px}.top-title span{font-size:11px;color:var(--muted)}.top-actions{display:flex;gap:8px}.content{padding:28px;max-width:1600px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-head h1{font-size:28px;margin:0 0 5px}.page-head p{margin:0;color:var(--muted);font-size:13px}.btn{border:1px solid transparent;border-radius:10px;padding:10px 14px;color:white;background:#17304f;cursor:pointer;font-weight:750;transition:.15s}.btn:hover{transform:translateY(-1px);filter:brightness(1.08)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-sm{padding:8px 11px;font-size:12px}.btn-primary{background:linear-gradient(135deg,#4e7fff,#607fff);box-shadow:0 8px 20px rgba(79,132,255,.18)}.btn-success{background:linear-gradient(135deg,#19b77a,#2cc991)}.btn-danger{background:#8e3443}.btn-ghost{border-color:var(--line);background:#0a1728}.btn-block{width:100%}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.card,.panel,.route-card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(15,32,53,.96),rgba(10,23,39,.96));border-radius:var(--radius);box-shadow:0 10px 35px rgba(0,0,0,.12)}.card{padding:18px;position:relative;overflow:hidden}.card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:rgba(79,132,255,.08);right:-28px;top:-30px}.stat-label{font-size:10px;color:#89a4c4;font-weight:800;letter-spacing:.55px}.stat-value{font-size:28px;font-weight:850;margin:10px 0 6px}.stat-sub{font-size:11px;color:var(--muted)}.grid-2{display:grid;grid-template-columns:2fr 1fr;gap:16px}.panel{overflow:hidden}.panel-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel-head h3{margin:0;font-size:14px}.panel-body{padding:18px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:12px}.table th{color:#7895b9;font-size:10px;text-transform:uppercase;letter-spacing:.6px;text-align:left;padding:12px;border-bottom:1px solid var(--line)}.table td{padding:12px;border-bottom:1px solid rgba(32,55,81,.65);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:rgba(72,128,211,.035)}.row-actions{display:flex;gap:7px;justify-content:flex-end}.muted{color:var(--muted)}.empty{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);gap:8px}.empty strong{color:white;font-size:16px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.45px;background:#1b2b3e;color:#b6c9de}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge-success,.badge-online,.badge-live,.badge-implemented{color:#48e0a4;background:rgba(34,196,132,.12)}.badge-failed,.badge-error{color:#ff7889;background:rgba(239,100,116,.12)}.badge-running,.badge-ready{color:#78aaff;background:rgba(79,132,255,.13)}.badge-guided,.badge-warning{color:#f5bd5c;background:rgba(245,184,75,.12)}.badge-roadmap,.badge-unknown{color:#a4b6cc}.progress{height:6px;background:#172b43;border-radius:99px;min-width:100px;overflow:hidden}.progress span{height:100%;display:block;background:linear-gradient(90deg,#4e82ff,#47d5db);border-radius:99px}.callout{display:flex;align-items:center;gap:14px;padding:15px 16px;border:1px solid #24476b;background:#0a2035;border-radius:14px;margin-bottom:18px}.callout p{margin:3px 0 0;color:#9cb8d7;font-size:11px}.provider-logo{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:11px;font-weight:900;letter-spacing:-.2px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.logo-microsoft365{background:linear-gradient(135deg,#f5523c,#ff8a3d 45%,#6876f6 46%,#4d88ff);color:white}.logo-googleworkspace{background:linear-gradient(135deg,#4285f4,#34a853 45%,#fbbc05 70%,#ea4335);color:white}.logo-exchangeonprem{background:linear-gradient(135deg,#0e5bbd,#13a1de);color:white}.logo-awss3{background:linear-gradient(135deg,#25364b,#ff9900);color:white}.logo-localfiles{background:linear-gradient(135deg,#566a7d,#7da3c1);color:white}.provider-tile{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#0a1728;cursor:pointer;transition:.15s}.provider-tile:hover,.provider-tile.selected{border-color:#4d7bd3;background:#0f213b;transform:translateY(-1px)}.provider-tile b{display:block;font-size:13px}.provider-tile span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.route-card{padding:18px}.route-flow{display:grid;grid-template-columns:1fr 48px 1fr;align-items:center;gap:8px;margin:14px 0}.route-end{border:1px solid var(--line);background:#08182a;border-radius:13px;padding:12px;display:flex;align-items:center;gap:10px;min-height:70px}.route-arrow{text-align:center;color:#6da0ff;font-size:24px}.route-meta{font-size:11px;color:var(--muted);line-height:1.55}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.span-2{grid-column:span 2}.field label{font-size:10px;color:#91a9c5;font-weight:800;letter-spacing:.55px}.field input,.field select,.field textarea{width:100%;border:1px solid #2a4565;background:#0b1a2e;color:#f5f8ff;border-radius:10px;padding:11px 12px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#5d88dc;box-shadow:0 0 0 3px rgba(79,132,255,.09)}.field textarea{min-height:100px;resize:vertical}.note{border:1px solid #24476b;background:#0b2035;padding:12px;border-radius:11px;color:#a7bfd9;font-size:11px;line-height:1.55}.note.warn{border-color:#6c5630;background:#221c12;color:#e6c77f}.note.good{border-color:#246047;background:#0e2a21;color:#9ce1c5}.review{display:grid;grid-template-columns:155px 1fr;gap:9px 14px;font-size:12px}.review dt{color:#7d99ba}.review dd{margin:0;color:#eef5ff}.modal-root{display:none;position:fixed;inset:0;background:rgba(1,7,13,.72);z-index:100;align-items:center;justify-content:center;padding:24px}.modal-root.show{display:flex}.modal{width:min(920px,96vw);max-height:92vh;overflow:auto;background:#0a1728;border:1px solid #2a4565;border-radius:18px;box-shadow:var(--shadow)}.modal.wide{width:min(1180px,97vw)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:19px 21px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:17px;margin:0}.modal-body{padding:20px}.modal-foot{padding:15px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.x{border:0;background:transparent;color:#96acc7;font-size:22px;cursor:pointer}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:0 0 20px}.step{font-size:10px;color:#6e89aa;border-bottom:2px solid #243b58;padding:8px 4px}.step.active{color:white;border-color:#5a88ff}.step.done{color:#66d5a7;border-color:#2e9f75}.workloads{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.workload{display:flex;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0a1829}.workload input{margin-top:3px}.workload b{font-size:12px}.workload p{font-size:10px;color:var(--muted);margin:4px 0}.log{font-family:Consolas,monospace;font-size:10px}.log-row{display:grid;grid-template-columns:170px 70px 1fr;gap:10px;border-bottom:1px solid rgba(32,55,81,.7);padding:9px 0}.log-level{font-weight:800}.log-level.error{color:#ff7a8a}.log-level.success{color:#4bdea4}.log-level.info{color:#75a7ff}.restore-hero{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;gap:12px;margin:16px 0}.restore-mailbox{border:1px solid var(--line);background:#0a182a;border-radius:14px;padding:16px}.restore-mailbox .email{font-size:13px;font-weight:800;margin-top:10px}.restore-arrow{text-align:center;font-size:28px;color:#6c9cff}.choice-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.choice{border:1px solid var(--line);background:#0a1728;border-radius:12px;padding:13px;cursor:pointer}.choice.selected{border-color:#5485e2;background:#10233e}.choice input{margin-right:7px}.security-card{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:14px;background:#0a1728;margin-bottom:12px}.codebox{font-family:Consolas,monospace;background:#06101e;border:1px solid #294663;border-radius:10px;padding:12px;word-break:break-all;color:#b9d8ff}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.3fr .8fr}.auth-art{padding:44px 52px;display:flex;flex-direction:column;background:radial-gradient(circle at 30% 15%,rgba(71,128,255,.22),transparent 30%),linear-gradient(145deg,#071425,#07111f)}.auth-art .brand{padding:0}.hero{margin:auto 0;max-width:740px}.hero h1{font-size:48px;line-height:1.05;margin:0 0 18px;letter-spacing:-1.7px}.hero>p{color:#a7bdd8;font-size:16px;line-height:1.7;max-width:650px}.hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.mini-feature{padding:15px;border:1px solid #24415f;background:rgba(10,27,47,.7);border-radius:13px}.mini-feature b{font-size:12px}.mini-feature span{display:block;color:#8fa8c5;font-size:10px;margin-top:5px;line-height:1.45}.auth-side{display:flex;align-items:center;justify-content:center;padding:30px;background:#091421}.auth-card{width:min(390px,94vw);background:#0d1b2d;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.auth-card h2{margin:0 0 7px}.auth-card>p{color:var(--muted);font-size:12px;line-height:1.55;margin-bottom:22px}.auth-card .field{margin-bottom:14px}.toast{position:fixed;right:24px;bottom:24px;background:#132943;border:1px solid #315378;color:white;padding:12px 15px;border-radius:11px;z-index:200;opacity:0;transform:translateY(20px);pointer-events:none;transition:.2s;box-shadow:var(--shadow);max-width:430px}.toast.show{opacity:1;transform:none}.toast.error{border-color:#8f4050;background:#351821}.toast.success{border-color:#28745a;background:#102a22}@media(max-width:1100px){.app-shell{grid-template-columns:210px 1fr}.cards{grid-template-columns:repeat(2,1fr)}.route-grid{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr}.auth-art{display:none}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;height:auto}.content{padding:18px}.topbar{position:relative;padding:0 16px}.cards,.form-grid,.provider-grid,.workloads,.choice-row{grid-template-columns:1fr}.field.span-2{grid-column:span 1}.restore-hero,.route-flow{grid-template-columns:1fr}.restore-arrow,.route-arrow{transform:rotate(90deg)}.top-actions{display:none}}
.folder-preview{margin-top:14px;padding:14px;border:1px solid rgba(123,158,201,.20);border-radius:14px;background:rgba(4,14,28,.35)}
.folder-preview-title{font-size:9px;letter-spacing:.12em;color:#91a9c5;font-weight:900;margin-bottom:10px}
.folder-chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.folder-chip{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid rgba(123,158,201,.15);border-radius:10px;background:rgba(13,31,55,.62);font-size:11px}
.folder-chip span{color:#79a9ff}.folder-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-chip em{font-style:normal;color:#8fa7c5;font-size:10px}.folder-chip.more{display:block;color:#8fa7c5}
