@font-face{font-family:"Pryvat Sans";src:url("fonts/PryvatSans-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Pryvat Sans";src:url("fonts/PryvatSans-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
:root{--background:#acd6d3;--white:#fff;--text:#212121;--secondary:#757575;--hint:#8a9094;--green:#4ea524;--green-bg:rgba(78,165,36,.2);--gradient:linear-gradient(-15deg,#1696af,#4cc24a)}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px;color:var(--text);background:var(--background);font-family:"Pryvat Sans",Arial,sans-serif;font-size:16px;font-feature-settings:"ss01" on;-webkit-font-smoothing:antialiased}button{font:inherit}
.ticket-page{width:100%;min-height:100vh;padding:13px 16px 16px}.ticket{width:100%;overflow:hidden;border-radius:9px;background:var(--white);box-shadow:0 0 2px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.1)}
.ticket-header{padding:15px 16px 13px}.company-row{display:grid;grid-template-columns:36px 1fr 24px;min-height:44px;align-items:start;column-gap:12px}.company-logo{width:40px;height:40px;object-fit:contain}.company-row h1{margin:4px 0 0;color:var(--secondary);font-size:14px;line-height:16px;font-weight:400;white-space:nowrap}.info-button{width:24px;height:24px;margin-top:2px;padding:0;border:0;background:transparent;cursor:pointer}.info-button img{width:24px;height:24px}.meta{margin-top:10px;margin-left:48px}.meta>div{display:flex;align-items:center;justify-content:space-between;min-height:26px;color:var(--secondary)}.meta span{font-size:14px;line-height:18px}.meta strong{font-size:14px;line-height:18px;font-weight:500}.meta>div:first-child strong{letter-spacing:.45px}.meta .transport strong{color:var(--text);font-size:20px;line-height:16px;letter-spacing:-.4px}
.tear-line{position:relative;height:21px;display:flex;align-items:center;justify-content:center}.tear-line:before,.tear-line:after{position:absolute;top:50%;width:21px;height:21px;content:"";border-radius:50%;background:var(--background);transform:translateY(-50%)}.tear-line:before{left:-10.5px}.tear-line:after{right:-10.5px}.tear-line svg{display:block;width:85%;height:2px}
.ticket-main{padding:0 16px 18px;display:flex;flex-direction:column;align-items:center}.qr-box{position:relative;width:144px;height:144px;overflow:hidden;background:#fff}.qr-canvas{display:block;width:100%;height:100%}
.summary{width:100%;margin-top:38px;display:flex;justify-content:space-between}.summary>div{display:flex;flex-direction:column;align-items:center;gap:11px}.summary>div:first-child{align-items:flex-start}.summary span{color:var(--secondary);font-size:13px}.summary strong{font-size:14px;font-weight:500}
.validity{margin-top:21px;text-align:center}.validity p{margin:0;font-size:16px;line-height:20px}.validity strong{display:block;margin-top:7px;color:var(--green);font-size:20px;line-height:24px;font-weight:500}.service{margin:20px 0 0;padding:0 8px;border-radius:4px;color:var(--secondary);background:var(--green-bg);font-size:14px;line-height:22px;letter-spacing:-.4px}.service strong{color:var(--green);font-weight:500;line-height:24px}.notice{margin:17px 0 0;color:var(--secondary);font-size:14px;line-height:19px;font-weight:400;text-align:center}.tip{margin:7px 0 0;color:var(--hint);font-size:10.2px;line-height:13px;text-align:center}
.details-page{position:fixed;inset:5dvh 0 0;z-index:10;padding:64px 9px 16px;display:flex;flex-direction:column;color:var(--text);background:var(--background);border-radius:16px 16px 0 0;box-shadow:0 -100vh 0 100vh rgba(0,0,0,.75)}.details-page[hidden]{display:none}.details-page h2{margin:0 0 8px 15px;font-size:18px;line-height:22px;font-weight:500;letter-spacing:-.4px}.details-card{margin:0;padding:16px;border-radius:8px;background:var(--white)}.details-card div+div{margin-top:16px}.details-card dt{color:var(--hint);font-size:14px;line-height:16px}.details-card dd{margin:4px 0 0;font-size:14px;line-height:16px}.close-button{width:100%;min-height:44px;margin-top:auto;border:0;border-radius:8px;color:#fff;background:var(--gradient);font-size:16px;line-height:20px;font-weight:500;cursor:pointer}
@media(max-width:767px){.info-button{transform:translateX(-4px)}.meta .transport strong{display:inline-block;transform:scaleX(1.075);transform-origin:right center}.tear-line svg{width:83.5%;height:2.5px}.tear-line:before,.tear-line:after{width:22px;height:22px}.tear-line:before{left:-11px}.tear-line:after{right:-11px}}
@media(max-width:410px){.ticket-page{padding-inline:16px}.ticket-main{padding-inline:16px}}
@media(min-width:768px){
  .ticket-page{height:100vh;min-height:0;padding:12px 16px 0 18px}
  .ticket-header{height:149px;padding:20px 20px 25px}
  .company-row{grid-template-columns:40px 1fr 26px;column-gap:12px}
  .company-logo{width:40px;height:40px}
  .company-row h1{margin-top:6px;font-size:14px;line-height:19px;letter-spacing:-.15px;white-space:normal}
  .company-row h1 br{display:none}
  .meta{margin-top:20px;margin-left:50px}
  .meta>div{min-height:25px}
  .meta span,.meta strong{font-size:14px}
  .meta .transport strong{font-size:22px;line-height:24px}
  .tear-line{height:21px}
  .tear-line:before,.tear-line:after{width:22px;height:22px}
  .tear-line:before{left:-11px}.tear-line:after{right:-11px}
  .tear-line span{width:calc(100% - 224px);border-top-width:2px}
  .ticket-main{padding:4px 18px 19px}
  .qr-box{width:160px;height:160px}
  .summary{margin-top:38px;display:grid;grid-template-columns:1fr 1fr 1fr}
  .summary>div{gap:15px}
  .summary>div:last-child{align-items:flex-end}
  .summary span,.summary strong{font-size:14px}
  .validity{margin-top:26px}
  .validity p{font-size:18px;line-height:21px}
  .validity strong{margin-top:6px;font-size:22px;line-height:26px}
  .service{margin-top:22px;font-size:13px;padding:4px 8px;line-height:16px}
  .notice{margin-top:21px;font-size:14px;line-height:19px}
  .notice br{display:none}
  .tip{margin-top:9px;font-size:11px;line-height:13px}
}
