:root{
  --p:#2b2d7a;
  --a:#8f4bd8;

  /* Dark modern background */
  --bg0:#070a17;
  --bg1:#0a0f25;
  --bg2:#101a3a;

  /* Glass cards */
  --card: rgba(18, 26, 54, .55);
  --card2: rgba(18, 26, 54, .40);
  --line: rgba(255,255,255,.10);
  --line2: rgba(255,255,255,.06);

  --text:#eaf0ff;
  --muted: rgba(234,240,255,.75);

  --shadow: 0 18px 60px rgba(0,0,0,.45);
  --shadow2: 0 10px 30px rgba(0,0,0,.35);

  --r:18px;
  --r2:14px;

  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(1100px 600px at 18% 20%, rgba(143,75,216,.25), transparent 60%),
    radial-gradient(900px 550px at 78% 18%, rgba(43,45,122,.35), transparent 55%),
    radial-gradient(900px 650px at 50% 85%, rgba(34,162,220,.10), transparent 60%),
    linear-gradient(180deg, var(--bg0), var(--bg1) 40%, var(--bg2));
}

/* layout */
.container{max-width:1200px;margin:26px auto;padding:0 18px}
a{text-decoration:none;color:inherit}
.muted{color:var(--muted);font-size:14px}

/* Topbar */
.topbar{
  position:sticky;top:0;z-index:10;
  margin:18px auto 0;
  max-width:1200px;
  padding:14px 18px;
  border-radius:22px;
  background: linear-gradient(90deg, rgba(35,42,82,.65), rgba(75,40,140,.35));
  border:1px solid var(--line);
  box-shadow: var(--shadow2);
  backdrop-filter: blur(14px);
  display:flex;align-items:center;justify-content:space-between;
}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-name strong{font-size:18px;letter-spacing:.2px}
.brand-logo{
  width:46px;height:46px;border-radius:16px;
  display:grid;place-items:center;
  background: linear-gradient(135deg, rgba(143,75,216,.45), rgba(43,45,122,.55));
  border:1px solid rgba(255,255,255,.14);
  overflow:hidden;
}
.brand-logo img{max-width:40px;max-height:40px;object-fit:contain}
.brand-logo.noimg .logo-fallback{display:block}
.logo-fallback{display:none;color:#fff;font-weight:900;letter-spacing:.8px}

/* Page title */
.page-title{margin:22px 0 18px;font-size:34px}

/* grid cards */
.grid4{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:16px;
  align-items:start;
}
@media (max-width: 1100px){ .grid4{grid-template-columns: repeat(2, 1fr);} }
@media (max-width: 640px){ .grid4{grid-template-columns: 1fr;} }

.card{
  border-radius:22px;
  background: linear-gradient(180deg, var(--card), var(--card2));
  border:1px solid var(--line);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.card-head{padding:18px 18px 0}
.card h3{margin:0 0 10px;font-size:20px}
.section{padding:12px 18px}
.subhead{margin:10px 0 10px;font-size:16px;color:rgba(234,240,255,.92)}
.divider{height:1px;background:var(--line2);margin:10px 0}

/* fields */
.field-label{display:block;font-size:13px;color:var(--muted);margin:0 0 8px}
input, select{
  width:100%;
  border:1px solid var(--line2);
  border-radius:14px;
  padding:11px 12px;
  outline:none;
  background: rgba(255,255,255,.06);
  color:var(--text);
}
select option{color:#111}
input:focus, select:focus{
  border-color: rgba(143,75,216,.45);
  box-shadow:0 0 0 4px rgba(143,75,216,.16);
}

.row{display:flex;gap:10px;align-items:center}
.row > * {flex:1}
.row .btn{flex:0 0 auto}

/* buttons */
.btn{
  background: linear-gradient(90deg, rgba(143,75,216,.95), rgba(43,45,122,.95));
  color:#fff;border:0;border-radius:14px;
  padding:10px 14px;font-weight:800;cursor:pointer;
  box-shadow:0 10px 22px rgba(0,0,0,.25);
}
.btn:hover{filter:brightness(1.06)}
.btn.ghost{
  background: rgba(255,255,255,.06);
  color:var(--text);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:none;
}

/* tip */
.tip{
  margin:12px 18px 0;
  padding:10px 12px;
  border-radius:16px;
  border:1px dashed rgba(143,75,216,.35);
  background:rgba(143,75,216,.08);
  color:rgba(234,240,255,.86);
  font-size:13px;
}

/* lists */
.list{list-style:none;margin:0;padding:0}
.list-item,.file-item{
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:12px 12px;
  margin:10px 0;
  background: rgba(10,14,30,.35);
}
.list-item{display:flex;align-items:center;justify-content:space-between;gap:12px}
.li-left{min-width:0}
.li-right{flex:0 0 auto}

.file-title{font-size:14px;word-break:break-word;color:rgba(234,240,255,.92)}
.file-actions{
  display:flex;
  gap:8px;
  flex-wrap:nowrap;            /* ✅ يمنع نزول زر تحت */
  align-items:center;
}
@media (max-width: 520px){
  .file-actions{flex-wrap:wrap} /* على الموبايل ممكن يلف */
}

/* small action buttons (View/Download/Delete) */
.link, .linkbtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:34px;                 /* ✅ أصغر */
  padding:0 10px;
  border-radius:12px;
  font-weight:800;
  font-size:13px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color:rgba(234,240,255,.92);
  white-space:nowrap;
}
.link:hover,.linkbtn:hover{filter:brightness(1.06)}
.link.danger,.linkbtn.danger{
  border-color: rgba(255,80,80,.35);
  background: rgba(255,80,80,.10);
  color: #ffd0d0;
}
.inline{display:inline}

/* menu (3 dots) */
.menu{position:relative}
.icon-btn{
  width:34px;height:34px;border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color:rgba(234,240,255,.9);
  cursor:pointer;font-size:18px;line-height:0;
}
.menu-pop{
  position:absolute;right:0;top:38px;
  min-width:140px;
  background: rgba(10,14,30,.85);
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  box-shadow: var(--shadow2);
  padding:8px;
  display:none;
  backdrop-filter: blur(12px);
}
.menu-pop.open{display:block}
.menu-item{
  width:100%;
  text-align:left;
  border:0;background:transparent;
  padding:10px 10px;border-radius:12px;
  cursor:pointer;font-weight:900;
  color:rgba(234,240,255,.92);
}
.menu-item:hover{background:rgba(255,255,255,.06)}
.menu-item.danger{color:#ffd0d0}

/* Company selector cards */
.cards-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:16px;
  align-items:start;
}
@media (max-width: 1100px){ .cards-grid{grid-template-columns: repeat(2, 1fr);} }
@media (max-width: 640px){ .cards-grid{grid-template-columns: 1fr;} }

.company-card{
  display:flex;gap:14px;
  padding:16px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(18, 26, 54, .55), rgba(18, 26, 54, .40));
  box-shadow: var(--shadow2);
  height:auto;
}
.company-logo{
  width:74px;height:50px;border-radius:16px;
  background: linear-gradient(135deg, rgba(143,75,216,.60), rgba(43,45,122,.55));
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;flex:0 0 auto;
  border:1px solid rgba(255,255,255,.14);
}
.company-logo img{max-height:32px;max-width:62px;object-fit:contain}
.company-logo .logo-fallback{display:none;color:#fff;font-weight:900;letter-spacing:.6px}
.company-logo.noimg .logo-fallback{display:block}
.company-meta h3{margin:0 0 6px;font-size:18px;color:rgba(234,240,255,.95)}

/* Login page */
.login-wrap{
  min-height:100%;
  display:grid;
  place-items:center;
  padding:28px 16px;
}
.login-card{
  width:min(520px, 100%);
  border-radius:26px;
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(18, 26, 54, .62), rgba(18, 26, 54, .40));
  box-shadow: var(--shadow);
}
.login-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 10px 2px;
}
.login-title{
  margin:8px 10px 14px;
  font-size:26px;
  letter-spacing:.2px;
}
.login-form{
  padding:0 10px 12px;
  display:grid;
  gap:12px;
}
.alert{
  margin:0 10px 12px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(255,80,80,.35);
  background: rgba(255,80,80,.10);
  color:#ffd0d0;
  font-weight:800;
}
.backlink{
  margin:12px 10px 6px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:rgba(234,240,255,.88);
  font-weight:900;
  opacity:.92;
}
.backlink:hover{opacity:1}

/* --- Fix: company cards width + long domain wrap --- */

/* على الشاشات العادية خليها 3 أعمدة بدل 4 */
.cards-grid{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* على الشاشات الصغيرة 2 ثم 1 */
@media (max-width: 1100px){
  .cards-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 640px){
  .cards-grid{grid-template-columns: 1fr;}
}

/* امنع خروج النص خارج الكرت */
.company-card{min-width:0}
.company-meta{min-width:0}

/* خلي الدومين يلف بدل ما يطلع برا */
.company-meta .muted{
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

