/* ReStorIQ Apps Hub — light theme (matches the invoicing app) */
:root{
  --navy:#1F3A5F; --navy-2:#2A4A75; --teal:#0E8C9E; --teal-d:#0a6f7e;
  --bg:#F5F7FB; --card:#ffffff; --border:#E1E6EF;
  --text:#1F2937; --muted:#6B7280;
}
*{box-sizing:border-box;}
body{
  margin:0; min-height:100vh; color:var(--text); font-size:14px; line-height:1.5;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  background:linear-gradient(180deg,#EAF0F8 0%, var(--bg) 240px) no-repeat, var(--bg);
}
a{color:inherit; text-decoration:none;}
.accent{color:var(--teal);}

/* flash */
.flash-wrap{position:fixed; top:16px; left:50%; transform:translateX(-50%); z-index:10; width:min(420px,90%);}
.flash{padding:10px 14px; border-radius:8px; margin-bottom:8px; font-size:14px; text-align:center;}
.flash-error{background:#FEE2E2; color:#B91C1C; border:1px solid #FCA5A5;}
.flash-success{background:#ECFDF5; color:#2D8B4E; border:1px solid #A7F3D0;}

/* buttons */
.btn{display:inline-block; padding:11px 18px; border-radius:9px; border:none; cursor:pointer;
  font-size:15px; font-family:inherit; font-weight:600;}
.btn-primary{background:var(--navy); color:#fff;}
.btn-primary:hover{background:var(--navy-2);}
.btn-block{display:block; width:100%;}

/* login */
.login-wrap{min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px;}
.login-card{background:#fff; border:1px solid var(--border); border-radius:16px;
  padding:36px 32px; width:100%; max-width:380px; text-align:center;
  box-shadow:0 10px 30px rgba(31,58,95,.08);}
.login-logo{width:68px; height:68px; border-radius:16px; margin-bottom:14px;}
.login-brand{font-size:26px; font-weight:800; letter-spacing:-.5px; color:var(--navy);}
.login-tagline{color:var(--muted); text-transform:uppercase; letter-spacing:3px; font-size:12px; margin:4px 0 22px;}
.login-form{text-align:left;}
.login-form label{display:block; font-size:13px; color:var(--muted); margin-bottom:14px;}
.login-form input{width:100%; margin-top:5px; padding:11px 12px; border-radius:9px;
  border:1px solid var(--border); background:#fff; color:var(--text); font-size:15px;}
.login-form input:focus{outline:none; border-color:var(--teal);}
.login-form button{margin-top:6px;}

/* hub header */
.hub-header{display:flex; align-items:center; justify-content:space-between;
  padding:18px 28px; max-width:1000px; margin:0 auto; border-bottom:1px solid var(--border);}
.hub-brand{display:flex; align-items:center; gap:10px; font-size:20px; font-weight:800; color:var(--navy);}
.hub-mark{width:30px; height:30px; border-radius:8px;}
.hub-signout{color:var(--muted); font-size:14px;}
.hub-signout:hover{color:var(--navy);}

/* hub main */
.hub-main{max-width:1000px; margin:0 auto; padding:28px;}
.hub-main h1{font-size:30px; margin:8px 0 4px; color:var(--navy);}
.hub-sub{color:var(--muted); margin:0 0 28px;}

.app-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:18px;}
.app-tile{position:relative; background:#fff; border:1px solid var(--border); border-radius:16px;
  padding:22px; display:block; box-shadow:0 1px 3px rgba(31,58,95,.04);
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;}
.app-tile:hover{transform:translateY(-3px); border-color:var(--teal);
  box-shadow:0 14px 30px rgba(31,58,95,.12);}
.app-icon{width:52px; height:52px; border-radius:13px; display:flex; align-items:center; justify-content:center;
  background:var(--teal); color:#fff; margin-bottom:16px;}
.icon-support{background:#5566c4;} .icon-tools{background:#c4863a;}
.app-name{font-size:18px; font-weight:700; margin-bottom:4px; color:var(--navy);}
.app-desc{color:var(--muted); font-size:13.5px; line-height:1.5; min-height:40px;}
.app-go{margin-top:14px; color:var(--teal); font-weight:600; font-size:14px;}
.app-tile-soon{opacity:.7; cursor:default; background:#FAFBFD;}
.app-tile-soon:hover{transform:none; border-color:var(--border); box-shadow:0 1px 3px rgba(31,58,95,.04);}
.app-soon{margin-top:14px; display:inline-block; font-size:12px; color:var(--muted);
  border:1px solid var(--border); border-radius:20px; padding:3px 10px;}

.hub-footer{text-align:center; color:var(--muted); font-size:12px; padding:20px;}
