/* ApplePoint CRM V40 – profesjonalny, responsywny interfejs */
:root{
  --ap-bg:#eef2f6;
  --ap-panel:#ffffff;
  --ap-panel-soft:#f7f9fc;
  --ap-line:#dbe2ea;
  --ap-line-strong:#cbd5e1;
  --ap-text:#172033;
  --ap-muted:#667085;
  --ap-sidebar:#0b1424;
  --ap-sidebar-soft:#121e31;
  --ap-sidebar-line:rgba(255,255,255,.09);
  --ap-blue:#1677ff;
  --ap-blue-dark:#0d5fd2;
  --ap-green:#19945a;
  --ap-shadow:0 12px 35px rgba(15,23,42,.07);
  --ap-radius:16px;
}
html,body{max-width:100%;overflow-x:hidden}
body{
  background:var(--ap-bg)!important;
  color:var(--ap-text)!important;
  font-size:14px!important;
}
button,input,select,textarea{font-family:inherit}
button{
  min-height:40px;
  border-radius:10px!important;
  box-shadow:none!important;
}
button.primary,a.primary{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 15px;
  border:1px solid var(--ap-blue)!important;
  border-radius:10px!important;
  background:var(--ap-blue)!important;
  color:#fff!important;
  font-weight:800;
  text-decoration:none;
  box-shadow:none!important;
  cursor:pointer;
}
button.primary:hover,a.primary:hover{background:var(--ap-blue-dark)!important;border-color:var(--ap-blue-dark)!important}
input,select,textarea{
  border-color:var(--ap-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  min-height:44px;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--ap-blue)!important;
  box-shadow:0 0 0 3px rgba(22,119,255,.12)!important;
}
.card{
  background:var(--ap-panel)!important;
  border:1px solid var(--ap-line)!important;
  border-radius:var(--ap-radius)!important;
  box-shadow:var(--ap-shadow)!important;
  backdrop-filter:none!important;
}
.wrap{
  grid-template-columns:248px minmax(0,1fr)!important;
  background:var(--ap-bg)!important;
}
.side{
  width:248px!important;
  padding:22px 14px 18px!important;
  background:linear-gradient(180deg,var(--ap-sidebar) 0%,#0e1a2c 100%)!important;
  border-right:1px solid var(--ap-sidebar-line)!important;
  box-shadow:10px 0 35px rgba(4,12,24,.13)!important;
  color:#fff!important;
  z-index:20;
}
.side .brand{
  color:#fff!important;
  font-size:25px!important;
  margin:0 10px 4px!important;
  letter-spacing:-.04em!important;
}
.brand span{color:#4ca0ff!important}
.brand small{font-size:.58em;color:#a9b9ce;font-weight:800;letter-spacing:.02em}
.side-caption{
  margin:0 10px 18px;
  color:#72849b;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.side .nav{gap:5px!important}
.side .nav button{
  color:#cbd6e4!important;
  background:transparent!important;
  border:1px solid transparent!important;
  min-height:43px!important;
  padding:10px 12px!important;
  border-radius:11px!important;
  font-size:13px!important;
}
.side .nav button:hover{
  color:#fff!important;
  background:rgba(255,255,255,.065)!important;
  transform:none!important;
}
.side .nav button.active{
  color:#fff!important;
  background:linear-gradient(135deg,#1478ff,#0e61d5)!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 8px 18px rgba(22,119,255,.22)!important;
}
.side .nav button em{
  background:#1d8f57!important;
  color:#fff!important;
}
.side .nav-ico{width:20px;text-align:center;color:inherit!important}
.user-tile{
  left:14px!important;
  right:14px!important;
  bottom:16px!important;
  padding:12px!important;
  border:1px solid var(--ap-sidebar-line)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.055)!important;
}
.user-tile .avatar{background:#20314a!important;color:#fff!important}
.user-tile b{color:#fff!important}
.user-tile span,.user-tile small{color:#8395ac!important}
.main{
  min-width:0!important;
  max-width:100%!important;
  padding:28px 30px 48px!important;
  overflow-x:hidden!important;
  background:var(--ap-bg)!important;
}
h1{color:var(--ap-text)!important;font-size:31px!important;letter-spacing:-.04em!important}
h2{color:var(--ap-text)!important}
.mobile-topbar,.mobile-bottom-nav,.mobile-more-panel,.mobile-more-backdrop,.orders-mobile{display:none}

/* Nagłówki stron */
.page-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin-bottom:18px;
}
.page-heading h1{margin:3px 0 2px!important}
.page-heading p{margin:0;color:var(--ap-muted);font-weight:650}
.eyebrow{
  color:#52637a;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.new-order-button{min-width:150px}
.back-link{
  min-height:auto!important;
  padding:0!important;
  margin:0 0 13px!important;
  background:transparent!important;
  border:0!important;
  color:#52637a!important;
  font-size:13px!important;
}
.back-link:hover{color:var(--ap-blue)!important;transform:none!important}
.page-heading--form{align-items:flex-start}
.form-header-actions{display:flex;gap:9px;align-items:flex-start}
.page-actions-menu{position:relative}
.page-actions-menu>summary,.action-menu>summary{
  list-style:none;
  cursor:pointer;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--ap-line);
  border-radius:10px;
  padding:0 13px;
  background:#fff;
  color:#344054;
  font-weight:800;
}
.page-actions-menu>summary::-webkit-details-marker,.action-menu>summary::-webkit-details-marker{display:none}
.page-actions-menu>div,.action-menu-list{
  position:absolute;
  z-index:80;
  right:0;
  top:46px;
  width:210px;
  display:grid;
  gap:5px;
  padding:8px;
  background:#fff;
  border:1px solid var(--ap-line);
  border-radius:12px;
  box-shadow:0 18px 45px rgba(15,23,42,.16);
}
.page-actions-menu>div button,.action-menu-list button{
  width:100%;
  text-align:left;
  background:#fff!important;
  border:0!important;
  min-height:37px;
}
.page-actions-menu>div button:hover,.action-menu-list button:hover{background:#f1f5f9!important;transform:none!important}

/* Lista zleceń */
.orders-toolbar{
  display:grid;
  grid-template-columns:minmax(260px,1fr) 240px;
  gap:10px;
  margin-bottom:14px;
}
.search-control{position:relative}
.search-control>span{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  color:#8190a3;
  font-size:18px;
  z-index:1;
}
.search-control input{padding-left:42px!important}
.orders-list-shell{
  background:var(--ap-panel);
  border:1px solid var(--ap-line);
  border-radius:16px;
  box-shadow:var(--ap-shadow);
  overflow:visible;
}
.orders-desktop{width:100%;overflow:visible}
.orders-table-v40{
  table-layout:fixed;
  width:100%!important;
  min-width:0!important;
}
.orders-table-v40 th{
  padding:13px 14px!important;
  background:#f7f9fc!important;
  color:#667085!important;
  font-size:11px!important;
  letter-spacing:.06em!important;
  border-bottom:1px solid var(--ap-line)!important;
}
.orders-table-v40 th:nth-child(1){width:16%}
.orders-table-v40 th:nth-child(2){width:28%}
.orders-table-v40 th:nth-child(3){width:23%}
.orders-table-v40 th:nth-child(4){width:20%}
.orders-table-v40 th:nth-child(5){width:13%}
.orders-table-v40 td{
  padding:16px 14px!important;
  border-bottom:1px solid #e7ecf2!important;
  vertical-align:top!important;
  overflow-wrap:anywhere;
}
.orders-table-v40 tbody tr:last-child td{border-bottom:0!important}
.orders-table-v40 tbody tr:hover td{background:#fbfdff!important}
.order-number{display:block;font-size:14px;font-weight:950;color:#25324a;letter-spacing:.01em}
.order-date{display:block;margin-top:5px;color:#7a8798;font-size:11px;font-weight:650}
.chip-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}
.chip-row .priority-chip,.chip-row .problem-chip{margin:0!important}
.device-line{
  display:grid;
  gap:3px;
  margin-top:12px;
  padding:9px 10px;
  border:1px solid #e3e9f0;
  border-radius:10px;
  background:#f8fafc;
}
.device-line strong{font-size:13px;color:#263349}
.device-line span{font-size:11px;color:#768397}
.time-stack{display:grid;gap:7px;margin-top:9px;color:#68768a;font-size:11px}
.time-stack .age-chip{margin:0;width:max-content}
.time-stack b{color:#344054}
.order-actions{display:flex;align-items:flex-start;gap:7px;position:relative}
.order-actions .order-open{min-width:72px}
.action-menu{position:relative}
.action-menu>summary{padding:0 10px;font-size:12px}
.finance-primary{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:8px;
  padding:9px 10px;
  border-radius:10px;
  background:#eaf8ef;
  border:1px solid #c9ead5;
  color:#157645;
}
.finance-primary span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.finance-primary b{font-size:16px;white-space:nowrap}
.finance-meta{display:grid;grid-template-columns:1fr 1fr;gap:5px 8px;margin-top:8px;color:#667085;font-size:10px}
.finance-meta span{display:flex;justify-content:space-between;gap:5px}
.finance-meta b{color:#344054;white-space:nowrap}
.payment-line{display:flex;justify-content:space-between;gap:8px;margin-top:8px;color:#667085;font-size:10px}
.payment-line b{color:#344054}
.empty-state{min-height:260px;display:grid;place-content:center;justify-items:center;text-align:center;color:#7d8999;padding:30px}
.empty-state span{font-size:40px}.empty-state b{font-size:18px;color:#344054}.empty-state p{margin:4px 0 0}

/* Formularz zlecenia */
.intake-layout{
  grid-template-columns:minmax(0,1fr) 350px!important;
  gap:18px!important;
  align-items:start!important;
}
.intake-main{padding:0!important;overflow:hidden!important}
.intake-block{padding:21px 22px!important;border-bottom:1px solid #e5eaf0!important}
.intake-block:last-of-type{border-bottom:0!important}
.intake-block h2{font-size:18px!important;margin:0 0 15px!important}
.intake-steps{
  margin:0!important;
  padding:12px!important;
  gap:7px!important;
  background:#f7f9fc!important;
  border-bottom:1px solid var(--ap-line)!important;
}
.intake-steps span{
  border-radius:9px!important;
  padding:10px 8px!important;
  font-size:11px!important;
  text-align:center!important;
  background:#fff!important;
  border-color:#dfe6ee!important;
}
.intake-steps span.active{background:#e8f2ff!important;color:#075abe!important;border-color:#b9d7ff!important}
.compact-form{gap:9px 12px!important}
.compact-form label{font-size:12px!important;color:#475467!important;margin-top:8px!important}
.paybox{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important}
.paybox .mini{padding:12px!important;border-radius:12px!important;background:#f8fafc!important}
.paybox .amount{font-size:18px!important}
.intake-side{display:grid;gap:12px}
.intake-side .card{padding:16px!important;box-shadow:0 8px 24px rgba(15,23,42,.055)!important}
.intake-side .card h2{font-size:16px!important;margin-top:0!important}
.sticky-save{
  position:sticky!important;
  bottom:12px!important;
  z-index:25!important;
  margin:0!important;
  padding:13px 18px!important;
  background:rgba(255,255,255,.94)!important;
  border-top:1px solid var(--ap-line)!important;
  backdrop-filter:blur(16px)!important;
}

/* Pozostałe widoki */
.notice{background:#edf5ff!important;border-color:#cfe1f8!important;color:#2c4a6f!important}
.mobile-data-card{border-color:var(--ap-line)!important;box-shadow:0 8px 22px rgba(15,23,42,.055)!important}
.calendar{gap:12px!important}
.day{border-color:var(--ap-line)!important;box-shadow:0 6px 18px rgba(15,23,42,.04)}

@media(max-width:1200px){
  .intake-layout{grid-template-columns:1fr!important}
  .intake-side{grid-template-columns:repeat(2,minmax(0,1fr))}
  .paybox{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:900px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  body{font-size:14px!important;padding:0!important}
  .wrap{display:block!important;width:100%!important;min-height:100vh!important}
  .side{display:none!important}
  .mobile-topbar{
    position:sticky;
    top:0;
    z-index:70;
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    height:58px;
    padding:0 14px;
    background:rgba(11,20,36,.97);
    border-bottom:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(16px);
  }
  .mobile-topbar .brand{margin:0!important;color:#fff!important;font-size:21px!important}
  .mobile-topbar .brand small{font-size:11px}
  .mobile-topbar-menu{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
    background:#17253a!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.09)!important;
  }
  .main{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:16px 13px 92px!important;
    overflow-x:hidden!important;
  }
  h1{font-size:27px!important}
  .page-heading{align-items:flex-start;gap:12px;margin-bottom:14px}
  .page-heading p{font-size:12px}
  .new-order-button{min-width:auto;padding:0 12px!important;white-space:nowrap}
  .page-heading--form{display:grid!important;grid-template-columns:1fr!important}
  .form-header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .page-actions-menu>summary{width:100%}
  .page-actions-menu>div{right:0;left:auto;width:min(270px,calc(100vw - 28px))}
  .orders-toolbar{grid-template-columns:1fr!important;gap:8px!important}
  .orders-list-shell{background:transparent;border:0;box-shadow:none;overflow:visible}
  .orders-desktop{display:none!important}
  .orders-mobile{display:grid!important;gap:11px!important}
  .order-mobile-card{
    background:#fff;
    border:1px solid var(--ap-line);
    border-radius:15px;
    padding:14px;
    box-shadow:0 8px 24px rgba(15,23,42,.06);
    min-width:0;
    overflow:visible;
  }
  .order-mobile-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
  .order-mobile-head .badge{font-size:10px!important;padding:5px 7px!important;max-width:50%;text-align:center;justify-content:center}
  .order-mobile-device{margin-top:13px;font-size:17px;font-weight:950;line-height:1.2;color:#172033;overflow-wrap:anywhere}
  .order-mobile-imei{margin-top:3px;color:#7b8797;font-size:11px;overflow-wrap:anywhere}
  .order-mobile-client{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-top:13px;padding-top:12px;border-top:1px solid #e8edf3}
  .order-mobile-client>div{min-width:0}
  .order-mobile-client .call-btn{margin-top:7px!important}
  .order-mobile-client .priority-chip,.order-mobile-client .problem-chip{margin:0 0 5px!important;font-size:10px!important;padding:4px 7px!important}
  .order-mobile-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px}
  .order-mobile-meta>div{min-width:0;padding:9px 8px;border-radius:10px;background:#f7f9fc;border:1px solid #e4eaf1;display:grid;gap:5px}
  .order-mobile-meta>div>span{font-size:9px;color:#78869a;text-transform:uppercase;font-weight:900;letter-spacing:.04em}
  .order-mobile-meta b{font-size:11px;overflow-wrap:anywhere}
  .order-mobile-meta .age-chip,.order-mobile-meta .sms-chip{margin:0!important;font-size:9px!important;padding:4px 6px!important;width:max-content;max-width:100%}
  .order-mobile-finance{margin-top:10px}
  .order-mobile-finance .finance-primary{padding:10px 11px}
  .order-mobile-finance .finance-primary b{font-size:18px}
  .order-mobile-finance .finance-meta{grid-template-columns:1fr 1fr}
  .order-mobile-card .order-actions{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;width:100%}
  .order-mobile-card .order-actions>button,.order-mobile-card .action-menu>summary{width:100%}
  .order-mobile-card .action-menu-list{right:0;width:min(250px,calc(100vw - 54px))}
  .part-info{font-size:11px!important;margin-top:10px!important}
  .intake-layout{display:block!important;width:100%!important}
  .intake-main{width:100%!important;border-radius:14px!important}
  .intake-side{display:grid!important;grid-template-columns:1fr!important;width:100%!important;margin-top:12px!important}
  .intake-block{padding:17px 14px!important}
  .intake-block h2{font-size:17px!important}
  .intake-steps{grid-template-columns:repeat(5,minmax(0,1fr))!important;padding:8px!important;gap:4px!important}
  .intake-steps span{font-size:9px!important;line-height:1.15!important;padding:7px 3px!important;min-width:0!important;overflow-wrap:anywhere!important}
  .form,.compact-form{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:4px!important}
  .form>div,.compact-form>div,.full{grid-column:1!important;min-width:0!important}
  input,select,textarea{width:100%!important;max-width:100%!important;font-size:16px!important}
  textarea{min-height:90px!important}
  .paybox{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .paybox .mini{min-width:0!important}
  .paybox .amount{font-size:16px!important;overflow-wrap:anywhere}
  .signature-pad{height:190px!important;min-height:190px!important}
  .sticky-save{
    bottom:70px!important;
    padding:10px 12px!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  .sticky-save .danger{grid-column:1/-1}
  .sticky-save p{grid-column:1/-1;margin:0}
  .mobile-bottom-nav{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:75;
    display:grid!important;
    grid-template-columns:repeat(5,1fr);
    height:66px;
    padding:5px max(6px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));
    background:rgba(11,20,36,.98);
    border-top:1px solid rgba(255,255,255,.09);
    backdrop-filter:blur(18px);
  }
  .mobile-bottom-nav button{
    min-width:0!important;
    min-height:52px!important;
    padding:4px 2px!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    color:#8fa0b6!important;
    display:grid!important;
    place-items:center!important;
    align-content:center!important;
    gap:2px!important;
  }
  .mobile-bottom-nav button span{font-size:18px;line-height:1}
  .mobile-bottom-nav button small{font-size:9px;font-weight:800}
  .mobile-bottom-nav button.active{color:#fff!important;background:#172a45!important}
  .mobile-more-backdrop{
    position:fixed;inset:0;z-index:78;background:rgba(4,10,20,.56);opacity:0;pointer-events:none;transition:.2s;
  }
  .mobile-more-backdrop.open{display:block!important;opacity:1;pointer-events:auto}
  .mobile-more-panel{
    position:fixed;
    left:10px;
    right:10px;
    bottom:74px;
    z-index:79;
    display:block!important;
    padding:13px;
    background:#101c2e;
    border:1px solid rgba(255,255,255,.1);
    border-radius:17px;
    box-shadow:0 22px 60px rgba(0,0,0,.38);
    transform:translateY(20px);
    opacity:0;
    pointer-events:none;
    transition:.2s ease;
  }
  .mobile-more-panel.open{transform:translateY(0);opacity:1;pointer-events:auto}
  .mobile-more-head{display:flex;align-items:center;justify-content:space-between;color:#fff;margin-bottom:10px}
  .mobile-more-head button{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;background:#1c2b41!important;color:#fff!important}
  .mobile-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .mobile-more-grid button{
    width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:25px 1fr auto!important;align-items:center!important;gap:8px!important;text-align:left!important;background:#16253a!important;color:#d6e0ed!important;border:1px solid rgba(255,255,255,.06)!important;padding:10px!important;
  }
  .mobile-more-grid button.active{background:#166fdc!important;color:#fff!important}
  .mobile-more-grid button em{font-style:normal;font-size:8px;background:#1d8f57;color:#fff;border-radius:999px;padding:2px 5px}
  .mobile-menu-open{overflow:hidden!important}
  .desktop-table{display:none!important}
  .mobile-cards-list{display:grid!important;gap:10px!important}
  .card{max-width:100%!important;overflow:hidden!important}
  .calendar{grid-template-columns:1fr!important}
  .day{min-height:auto!important}
  .finance-panel,.finance-cards.two,.grid{grid-template-columns:1fr!important}
  .bar-row{grid-template-columns:78px minmax(0,1fr) 85px!important}
  .history-box{overflow-x:auto!important}
}

@media(max-width:420px){
  .main{padding-left:10px!important;padding-right:10px!important}
  .page-heading{display:grid;grid-template-columns:1fr auto}
  .page-heading--form{grid-template-columns:1fr!important}
  .order-mobile-meta{grid-template-columns:1fr 1fr}
  .order-mobile-meta>div:last-child{grid-column:1/-1}
  .paybox{grid-template-columns:1fr!important}
  .mobile-more-grid{grid-template-columns:1fr 1fr}
}

@media print{
  .mobile-topbar,.mobile-bottom-nav,.mobile-more-panel,.mobile-more-backdrop{display:none!important}
  .main{padding:0!important;background:#fff!important}
}

/* V43: linki natywne i klikalne logo */
.brand-home{appearance:none;border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer;font:inherit}
.brand-home:hover{opacity:.88}
.order-open{text-decoration:none;align-items:center;justify-content:center}
.order-number-link{color:inherit;text-decoration:none;display:inline-block}
.order-number-link:hover{text-decoration:underline;text-underline-offset:3px}
