@font-face{font-family:'Bebas Neue Pro Regular';src:url('fonts/Bebas Neue Pro Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Bebas Neue Pro';src:url('fonts/Bebas Neue Pro Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}

*{box-sizing:border-box}
:root{--bg:#061a3b;--bg2:#092652;--line:#17365f;--text:#f3f7ff;--muted:#9eb0ca;--accent:#3b82f6;--card:#071e44}

body{margin:0;background:radial-gradient(circle at 50% -10%,#113665 0,#061a3b 42%,#04142e 100%);color:var(--text);font-family:'Bebas Neue Pro',Arial,Helvetica,sans-serif;min-height:100vh;letter-spacing:-0.25px}
html,body{width:100%;max-width:100%;overflow-x:hidden}

.hero{padding:34px 20px 28px;border-bottom:1px solid #20436f;background:rgba(2,15,36,.55)}
.hero-inner{max-width:1600px;margin:auto;text-align:center}
.brand{font-size:36px;font-weight:700}
.subtitle{color:var(--muted);margin-top:7px;font-size:15px}
.container{max-width:1600px;margin:auto;padding:22px 18px 45px}

.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.tabs button,.admin-actions button,.editor button{height:42px;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:9px;padding:0 16px;cursor:pointer}
.tabs .active,.primary{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff}

.stats{display:none!important}

.toolbar{display:grid;grid-template-columns:1fr 170px 190px 180px;gap:10px;margin-bottom:14px}
.search-wrap{display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:0 10px;gap:8px;overflow:hidden}
.search-wrap span{font-size:25px;color:var(--muted)}
input,select{width:100%;height:44px;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:0 12px;outline:none}
.search-wrap input{border:0!important;outline:none!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;padding-left:4px}
select{-webkit-appearance:none;appearance:none;padding-right:42px!important;background-color:var(--card)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='M4 6.5 9 11.5 14 6.5' fill='none' stroke='%23dce8fb' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 13px center!important;background-size:18px 18px!important}

.table-card{width:100%;max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:12px;background:rgba(4,20,46,.75);-webkit-overflow-scrolling:touch}
.table-head,.row{display:grid;grid-template-columns:50px minmax(420px,4fr) 85px 100px 95px 95px 85px 95px 115px 115px 105px;align-items:center;min-width:1160px}

.table-head{background:#092650;color:#dce8fb;font-weight:700;font-size:22px;text-transform:uppercase;text-align:center;letter-spacing:-0.3px}
.table-head>div{height:46px;min-height:46px;padding:0 9px;line-height:1;display:flex;align-items:center;justify-content:center;text-align:center;min-width:0;box-sizing:border-box;overflow:hidden}
.table-head>div:nth-child(2){font-size:28px!important}

.row{border-top:1px solid var(--line);font-size:15px;min-height:36px;letter-spacing:-0.3px;align-items:stretch}
.row>div{display:flex;align-items:center;justify-content:center;text-align:center;min-width:0;box-sizing:border-box;overflow:hidden}

.row,.row *{font-family:'Bebas Neue Pro Regular',Arial,Helvetica,sans-serif!important;font-weight:400!important;font-stretch:normal!important}
.row .name{font-size:18px;font-weight:400!important;white-space:normal;overflow-wrap:break-word;word-break:normal;line-height:1.12;overflow:hidden}
.row .number{font-size:17px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.row>div:nth-child(1){background:rgba(11,45,91,.32);border-right:1px solid var(--line)}
.badge,.status-badge{display:inline-flex;align-items:center;width:max-content;padding:5px 8px;border-radius:999px;background:#102f59;color:#dbeafe;font-size:12px;white-space:nowrap}
.status-badge{background:#17365f}
.working .status-badge{background:#5c4b12}
.done .status-badge{background:#175b36}
.total{font-weight:800!important}
.note,.muted{color:var(--muted);font-size:12px}
.empty{text-align:center;padding:35px;color:var(--muted)}

.table-head>div:first-child{background:#0b2d5b;border-right:1px solid var(--line)}

.admin-card,.admin-top,.editor,.admin-list{background:rgba(7,30,68,.82);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:14px}
.admin-card{max-width:600px;margin:0 auto}
.admin-card form{display:flex;gap:8px;flex-wrap:wrap}
.admin-card form input{flex:1}
.admin-top{display:flex;justify-content:space-between;gap:15px;align-items:center}
.admin-actions{display:flex;gap:8px}
.editor{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.editor button{height:44px}
.admin-list{padding:0}
.admin-row{display:grid;grid-template-columns:minmax(280px,1fr) 120px 120px minmax(360px,2fr);gap:10px;align-items:center;padding:12px;border-top:1px solid var(--line)}
.admin-row:first-child{border-top:0}
.admin-row .actions{display:flex;gap:6px;flex-wrap:wrap}
.admin-row button{border:1px solid var(--line);background:#102f59;color:var(--text);border-radius:7px;padding:7px 10px;cursor:pointer}
.admin-row .del{color:#ff9b9b}
.hidden{display:none!important}
.error{color:#ffaaaa;margin-top:8px}

@media(max-width:900px){
  .toolbar{grid-template-columns:1fr 1fr}
  .search-wrap{grid-column:1/-1}
  .editor{grid-template-columns:1fr 1fr}
  .admin-top{display:block}
  .admin-actions{margin-top:12px}
}

@media(max-width:600px){
  .hero{padding:24px 14px 22px}
  .hero-inner{width:100%}
  .brand{font-size:28px}
  .subtitle{font-size:14px}
  .container{width:100%;padding:14px 10px 30px}

  .tabs{width:100%;gap:7px;margin-bottom:14px}
  .tabs button{flex:1 1 calc(50% - 8px);min-width:0;height:40px;padding:0 14px}

  .toolbar{display:grid!important;grid-template-columns:1fr!important;width:100%!important;min-width:0!important;gap:9px!important}
  .search-wrap{grid-column:auto;display:flex!important;width:100%!important;min-width:0!important;height:44px!important;margin:0!important;padding:0 10px!important}
  .search-wrap span{width:24px!important;min-width:24px!important;flex:0 0 24px!important;display:flex!important;align-items:center!important;justify-content:center!important}
  .search-wrap input{flex:1 1 auto!important;width:auto!important;min-width:0!important;height:42px!important;margin:0!important;padding:0 6px!important}
  .toolbar>select{width:100%!important;min-width:0!important;height:44px!important;margin:0!important;padding:0 42px 0 14px!important}

  /*
    MOBILE TABLE — stable 11-column grid.
    № = 50px
    Заказ = about 55vw
    other columns = fixed widths.
    Everything scrolls together; nothing is sticky and no cell can overflow into another.
  */
  .table-card{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    position:relative!important;
    box-sizing:border-box!important;
  }

  .table-head,.row{
    width:max-content!important;
    min-width:max-content!important;
    max-width:none!important;
    grid-template-columns:
      50px
      calc(100vw - 70px)
      85px
      95px
      90px
      90px
      80px
      90px
      110px
      110px
      105px!important;
  }

  .table-head>div,.row>div{
    min-width:0!important;
    max-width:none!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  .table-head{
    font-size:16px!important;
    letter-spacing:-0.2px!important;
  }
  .table-head>div:nth-child(2){font-size:16px!important}

  .row{
    min-height:44px!important;
    height:auto!important;
    align-items:stretch!important;
    align-content:stretch!important;
  }

  .row>div{
    align-self:stretch!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  /* Order text: only this cell wraps */
  .row>div:nth-child(2),
  .row .name{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    text-overflow:clip!important;
    overflow:hidden!important;
    line-height:1.08!important;
    text-align:center!important;
    justify-content:center!important;
    align-items:center!important;
    font-size:13px!important;
  }

  /* All remaining cells stay inside their own columns */
  .row>div:nth-child(n+3){
    white-space:nowrap!important;
    text-overflow:clip!important;
    overflow:hidden!important;
  }

  /* Number column fills the complete row height */
  .table-head>div:first-child,
  .row>div:first-child{
    align-self:stretch!important;
    height:auto!important;
    min-height:100%!important;
    margin:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }

  .admin-row{display:block}
  .admin-row>div{margin:6px 0}
  .admin-row .actions button{flex:1}
}


/* FINAL MOBILE LAYOUT:
   № + full-width Заказ are visible first.
   All remaining columns are to the right and available by horizontal swipe.
   All row data use the same 13px size as the order name. */
@media (max-width:600px){
  .table-card{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .table-head,
  .row{
    width:max-content!important;
    min-width:max-content!important;
    max-width:none!important;
    grid-template-columns:
      50px
      calc(100vw - 70px)
      85px
      95px
      90px
      90px
      80px
      90px
      110px
      110px
      105px!important;
  }

  .table-head{
    font-size:16px!important;
  }

  .table-head>div:nth-child(2){
    width:calc(100vw - 70px)!important;
    min-width:calc(100vw - 70px)!important;
    max-width:calc(100vw - 70px)!important;
    font-size:16px!important;
  }

  .row>div,
  .row .name,
  .row .number,
  .row .badge,
  .row .status-badge,
  .row .total{
    font-size:13px!important;
  }

  .row>div{
    min-width:0!important;
    max-width:none!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    align-self:stretch!important;
    height:auto!important;
  }

  .row>div:nth-child(2),
  .row .name{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow:hidden!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    text-overflow:clip!important;
    line-height:1.08!important;
    text-align:center!important;
    justify-content:center!important;
    align-items:center!important;
  }

  .row>div:nth-child(n+3){
    white-space:nowrap!important;
    text-overflow:clip!important;
    overflow:hidden!important;
  }

  .row{
    min-height:44px!important;
    height:auto!important;
    align-items:stretch!important;
    align-content:stretch!important;
  }

  .table-head>div:first-child,
  .row>div:first-child{
    align-self:stretch!important;
    height:auto!important;
    min-height:100%!important;
    margin:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
}


/* MOBILE: smaller column headers only */
@media (max-width:600px){
  .table-head,
  .table-head>div:nth-child(2){
    font-size:14px!important;
  }
}
