/* GarageTesla Cloud — общая тема
   Тёплая бумага, круглые формы, «нажимающиеся» кнопки. */

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&display=swap');

:root{
  --paper:#FFF6E9;
  --paper-2:#FFEFDC;
  --white:#FFFFFF;
  --ink:#333050;
  --ink-soft:#5C5876;
  --muted:#8B85A0;
  --line:#F0E4D4;

  --sky:#3FB3EA;
  --sky-dark:#2A94C8;
  --sun:#FFC53D;
  --sun-dark:#E2A616;
  --grass:#56C97A;
  --grass-dark:#3EA860;
  --berry:#FF7BA0;
  --berry-dark:#E25B82;
  --grape:#9A7BFF;
  --grape-dark:#7C5CE0;

  --r:26px;
  --r-sm:16px;
  --shadow:0 10px 30px rgba(80,60,40,.10);
  --shadow-sm:0 4px 14px rgba(80,60,40,.08);
}

*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:'Nunito','Segoe UI',system-ui,-apple-system,sans-serif;
  background:var(--paper);
  color:var(--ink);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}

/* ── небо на фоне ── */
.sky-bg{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;
  background:linear-gradient(180deg,#DCF1FB 0%,#FDF3E6 55%,var(--paper) 100%)}
.sky-bg .c{position:absolute;background:#fff;border-radius:100px;opacity:.85}
.sky-bg .c::before,.sky-bg .c::after{content:'';position:absolute;background:#fff;border-radius:50%}
.c1{width:190px;height:56px;top:9%;left:6%;animation:drift 46s linear infinite}
.c1::before{width:78px;height:78px;top:-34px;left:30px}
.c1::after{width:56px;height:56px;top:-24px;left:100px}
.c2{width:140px;height:44px;top:22%;right:9%;animation:drift 62s linear infinite reverse}
.c2::before{width:58px;height:58px;top:-26px;left:22px}
.c2::after{width:44px;height:44px;top:-18px;left:74px}
.c3{width:110px;height:36px;top:56%;left:12%;opacity:.55;animation:drift 78s linear infinite}
.c3::before{width:48px;height:48px;top:-22px;left:18px}
.c3::after{width:34px;height:34px;top:-14px;left:58px}
@keyframes drift{from{transform:translateX(-8vw)}to{transform:translateX(88vw)}}

/* ── шапка ── */
.topbar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:14px clamp(14px,4vw,38px);
}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-weight:800;font-size:20px}
.brand .mini-cloud{width:38px;height:auto;flex:none}
.brand b{color:var(--sky)}
.topnav{display:flex;gap:10px;flex-wrap:wrap}
.nav-link{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  padding:10px 16px;border-radius:14px;font-weight:700;font-size:14px;
  color:var(--ink-soft);background:var(--white);box-shadow:var(--shadow-sm);transition:.18s;
}
.nav-link:hover{transform:translateY(-2px);color:var(--sky-dark)}
.nav-link.accent{background:var(--sun);color:#5B4400;box-shadow:0 4px 0 var(--sun-dark)}
.nav-link.accent:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--sun-dark)}

.wrap{max-width:1180px;margin:0 auto;padding:8px clamp(14px,4vw,38px) 48px}

/* ── карточки ── */
.card{background:var(--white);border-radius:var(--r);box-shadow:var(--shadow)}

/* ── кнопки-игрушки ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  border:0;cursor:pointer;text-decoration:none;font-family:inherit;
  font-weight:800;font-size:16px;padding:14px 24px;border-radius:16px;
  background:var(--sky);color:#fff;box-shadow:0 5px 0 var(--sky-dark);
  transition:transform .12s,box-shadow .12s;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--sky-dark)}
.btn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--sky-dark)}
.btn.sun{background:var(--sun);color:#5B4400;box-shadow:0 5px 0 var(--sun-dark)}
.btn.sun:hover{box-shadow:0 7px 0 var(--sun-dark)}
.btn.sun:active{box-shadow:0 2px 0 var(--sun-dark)}
.btn.grass{background:var(--grass);box-shadow:0 5px 0 var(--grass-dark)}
.btn.grass:hover{box-shadow:0 7px 0 var(--grass-dark)}
.btn.grass:active{box-shadow:0 2px 0 var(--grass-dark)}
.btn.berry{background:var(--berry);box-shadow:0 5px 0 var(--berry-dark)}
.btn.berry:hover{box-shadow:0 7px 0 var(--berry-dark)}
.btn.berry:active{box-shadow:0 2px 0 var(--berry-dark)}
.btn.ghost{background:var(--white);color:var(--ink-soft);box-shadow:0 5px 0 var(--line)}
.btn.ghost:hover{color:var(--sky-dark);box-shadow:0 7px 0 var(--line)}
.btn.ghost:active{box-shadow:0 2px 0 var(--line)}
.btn.wide{width:100%}

/* ── поля ── */
.field{
  width:100%;font-family:inherit;font-size:16px;font-weight:600;
  padding:14px 16px;border-radius:16px;color:var(--ink);
  background:var(--paper-2);border:2px solid transparent;outline:0;transition:.18s;
}
.field::placeholder{color:#B3ABC0;font-weight:600}
.field:focus{border-color:var(--sky);background:#fff}
.label{display:block;font-size:13px;font-weight:700;color:var(--muted);margin:0 0 6px 4px}

/* ── заголовок страницы ── */
.page-head{text-align:center;margin:6px 0 22px}
.page-head h1{font-size:clamp(26px,4vw,38px);font-weight:800;letter-spacing:-.02em}
.page-head p{color:var(--muted);font-weight:600;margin-top:8px;font-size:15px}

/* ── строка поиска ── */
.searchbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px;background:var(--white);border-radius:22px;box-shadow:var(--shadow)}
.searchbar .field{flex:1 1 240px;min-width:0}
.searchbar select{
  font-family:inherit;font-size:15px;font-weight:700;color:var(--ink-soft);
  padding:14px 14px;border-radius:16px;background:var(--paper-2);border:2px solid transparent;outline:0;cursor:pointer;
}

/* ── чипы ── */
.chips{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin:18px 0 10px}
.chip{
  display:inline-flex;align-items:center;gap:7px;text-decoration:none;
  padding:9px 15px;border-radius:999px;font-size:14px;font-weight:700;
  color:var(--ink-soft);background:var(--white);box-shadow:var(--shadow-sm);transition:.18s;
}
.chip:hover{transform:translateY(-2px);color:var(--sky-dark)}
.chip.active{background:var(--sky);color:#fff;box-shadow:0 4px 0 var(--sky-dark)}
.chip-num{opacity:.6;font-size:12px;font-weight:700}
.result-line{text-align:center;color:var(--muted);font-weight:700;font-size:15px;margin:14px 0 20px}
.result-line b{color:var(--ink)}
.reset{color:var(--berry-dark);text-decoration:none;margin-left:10px;font-size:14px}
.reset:hover{text-decoration:underline}

/* ── сетка файлов ── */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:18px}
.fcard{background:var(--white);border-radius:22px;box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;gap:12px;transition:.2s}
.fcard:hover{transform:translateY(-4px)}
.fcard-top{display:flex;align-items:center;justify-content:space-between}
.ficon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font-size:20px;color:#fff;background:var(--sky);box-shadow:0 4px 0 var(--sky-dark)}
.kind-scratch .ficon{background:var(--sun);color:#5B4400;box-shadow:0 4px 0 var(--sun-dark)}
.kind-construct .ficon{background:var(--grape);box-shadow:0 4px 0 var(--grape-dark)}
.kind-code .ficon{background:var(--grass);box-shadow:0 4px 0 var(--grass-dark)}
.kind-art .ficon{background:var(--berry);box-shadow:0 4px 0 var(--berry-dark)}
.kind-media .ficon,.kind-doc .ficon{background:var(--grape);box-shadow:0 4px 0 var(--grape-dark)}
.kind-arch .ficon{background:#A99A88;box-shadow:0 4px 0 #8B7E6E}
.badge{font-size:12px;font-weight:800;color:var(--muted);background:var(--paper-2);padding:5px 11px;border-radius:999px}
.fname{font-size:15.5px;font-weight:700;line-height:1.35;word-break:break-word;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px}
.meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:13px;font-weight:700}
.meta i{opacity:.65;margin-right:4px}
.fcard-actions{display:flex;gap:8px;margin-top:auto}
.fcard-actions .btn{flex:1;font-size:14.5px;padding:11px 14px;border-radius:14px}
.icon-btn{
  display:grid;place-items:center;width:46px;border-radius:14px;text-decoration:none;flex:none;
  color:var(--ink-soft);background:var(--paper-2);box-shadow:0 4px 0 var(--line);transition:.12s;
}
.icon-btn:hover{color:var(--sky-dark);transform:translateY(-2px)}
.icon-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--line)}

/* ── пусто ── */
.empty{text-align:center;padding:54px 24px;background:var(--white);border-radius:var(--r);box-shadow:var(--shadow)}
.empty h3{font-size:22px;margin:14px 0 8px}
.empty p{color:var(--muted);font-weight:600}

/* ── таблица ── */
.table-wrap{background:var(--white);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.table-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:18px 22px;border-bottom:2px solid var(--line)}
.table-head h2{font-size:19px;display:flex;align-items:center;gap:10px}
.table-head h2 i{color:var(--sky)}
table{width:100%;border-collapse:collapse}
thead th{
  text-align:left;padding:14px 18px;font-size:13.5px;font-weight:800;color:var(--muted);
  background:var(--paper-2);cursor:pointer;user-select:none;white-space:nowrap;
}
thead th:hover{color:var(--sky-dark)}
thead th::after{content:'\f0dc';font-family:'Font Awesome 6 Free';font-weight:900;font-size:10px;opacity:.35;margin-left:7px}
tbody td{padding:14px 18px;border-top:1px solid var(--line);font-weight:600;font-size:14.5px;vertical-align:middle}
tbody tr:hover{background:#FFFBF4}
.fname-cell{display:flex;align-items:center;gap:10px;color:var(--ink-soft);word-break:break-word}
.fname-cell i{color:var(--sky);flex:none}
.dl{
  display:inline-flex;align-items:center;gap:7px;text-decoration:none;white-space:nowrap;
  padding:9px 15px;border-radius:13px;font-weight:800;font-size:13.5px;
  background:var(--grass);color:#fff;box-shadow:0 4px 0 var(--grass-dark);transition:.12s;
}
.dl:hover{transform:translateY(-2px)}
.dl:active{transform:translateY(3px);box-shadow:0 1px 0 var(--grass-dark)}

/* ── статистика ── */
.stats{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-bottom:22px}
.stat{background:var(--white);border-radius:20px;box-shadow:var(--shadow-sm);padding:14px 26px;text-align:center;min-width:150px}
.stat .num{font-size:25px;font-weight:800;color:var(--sky)}
.stat .lbl{font-size:13px;font-weight:700;color:var(--muted);margin-top:2px}

/* ── пагинация ── */
.pager{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:30px;flex-wrap:wrap}
.pager a,.pager .cur{min-width:44px;padding:11px 15px;border-radius:14px;text-decoration:none;font-weight:800;font-size:14.5px;
  display:inline-flex;align-items:center;justify-content:center;gap:7px}
.pager a{color:var(--ink-soft);background:var(--white);box-shadow:var(--shadow-sm);transition:.18s}
.pager a:hover{transform:translateY(-2px);color:var(--sky-dark)}
.pager .cur{background:var(--sky);color:#fff;box-shadow:0 4px 0 var(--sky-dark)}
.pager .dots{color:var(--muted);font-weight:800}

/* ── плашка «Олег» ── */
.note{
  display:flex;align-items:center;gap:12px;
  background:#FFF3D6;border-radius:18px;padding:12px 16px;
  font-weight:700;font-size:13.5px;color:#7A5A12;line-height:1.45;
  box-shadow:0 4px 0 #F2DFAE;
}
.note .emo{font-size:22px;flex:none;line-height:1}
.note b{color:#5B4400}
.note a{color:#B37A00}

.foot{text-align:center;color:var(--muted);font-size:13.5px;font-weight:700;padding:22px 16px 34px}
.foot a{color:var(--sky-dark)}

@media (max-width:700px){
  thead{display:none}
  tbody td{display:flex;justify-content:space-between;gap:14px;border-top:0;padding:9px 16px}
  tbody td::before{content:attr(data-label);font-weight:800;color:var(--muted);font-size:13px}
  tbody tr{display:block;border-top:2px solid var(--line);padding:8px 0}
  .grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
}
