﻿:root{--primary-bg: #f4f6f9;--card-bg: #ffffff;--text-main: #2c3e50;--text-muted: #6c757d;--warsaw-red: #e74c3c;--warsaw-blue: #3498db;--accent: #2980b9;--success: #27ae60;--radius: 12px;--shadow: 0 4px 12px rgba(0, 0, 0, 0.08);--shadow-hover: 0 8px 16px rgba(0, 0, 0, 0.12)}.text-center{text-align:center}body{font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background-color:var(--primary-bg);color:var(--text-main);line-height:1.6;padding-bottom:50px}h1,h2,h3{font-weight:600}.container{max-width:900px;margin:0 auto;padding:20px}.input-section{background:var(--card-bg);padding:24px;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:30px;border-bottom:4px solid var(--accent)}label{font-weight:600;font-size:.9rem;color:var(--text-muted);margin-bottom:5px;display:block}.form-control,.form-select{border:1px solid #dee2e6;border-radius:8px;padding:10px 12px;font-size:1rem;transition:border-color .2s}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(41,128,185,.15);outline:none}input[type=date],input[type=time],input[type=number],input[type=text],select{width:100%;padding:12px 14px;font-size:1rem;font-family:inherit;color:var(--text-main);background-color:#fff;border:2px solid #e0e6ed;border-radius:8px;transition:all .2s ease;box-sizing:border-box;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.2em}input[type=date],input[type=time],input[type=number],input[type=text]{background-image:none}input[type=date],input[type=time]{appearance:auto;-webkit-appearance:auto}input:focus,select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px rgba(41,128,185,.1)}input[type=checkbox]{appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid #cbd5e0;border-radius:6px;margin-right:8px;position:relative;top:5px;cursor:pointer;transition:all .2s ease;background-color:#fff}input[type=checkbox]:checked{background-color:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked::after{content:"✓";position:absolute;color:#fff;font-size:14px;font-weight:bold;top:50%;left:50%;transform:translate(-50%, -50%)}.config-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:20px;margin-bottom:30px}.config-grid>div{display:flex;flex-direction:column}#generateBtn{background:linear-gradient(135deg, #2980b9, #2c3e50);border:none;color:#fff;font-weight:600;padding:12px 30px;border-radius:8px;width:100%;text-transform:uppercase;letter-spacing:1px;transition:transform .2s,box-shadow .2s}#generateBtn:hover{transform:translateY(-2px);box-shadow:0 6px 15px rgba(44,62,80,.3)}#attrContainer{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:20px;margin-bottom:40px}.attr-card{background:var(--card-bg);border:2px solid rgba(0,0,0,0);border-radius:var(--radius);cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,.05);transition:all .25s ease;position:relative;overflow:hidden}.attr-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.attr-card.selected{border-color:var(--accent);background-color:#f0f8ff}.attr-card.selected::after{content:"✓";position:absolute;top:10px;right:10px;background:var(--accent);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:bold}.attr-card h5{font-size:1.1rem;margin-bottom:8px;color:var(--text-main)}.attr-card p{font-size:.9rem;color:var(--text-muted);margin:0}.day-section{background:rgba(0,0,0,0);margin-bottom:40px;position:relative;padding-bottom:10px}.day-title{font-size:1.5rem;font-weight:700;color:#2c3e50;margin-bottom:30px;padding-bottom:10px;border-bottom:2px solid #e9ecef;padding-left:10px}.day-section::before{content:"";position:absolute;top:60px;bottom:20px;left:40px;width:4px;background:#dde1e5;border-radius:2px;z-index:0}.step{background:var(--card-bg);border-radius:var(--radius);padding:20px 24px;margin-bottom:25px;margin-left:80px;position:relative;box-shadow:var(--shadow);border-left:none;transition:transform .2s}.step:hover{transform:translateX(5px)}.step::before{content:"";position:absolute;left:-48px;top:25px;width:12px;height:12px;border-radius:50%;background:#fff;border:4px solid var(--text-muted);z-index:1;box-shadow:0 0 0 5px var(--primary-bg)}.step.RED::before{border-color:var(--warsaw-red);background:#fff}.step.BLUE::before{border-color:var(--warsaw-blue);background:#fff}.step div:first-child{justify-content:space-between;align-items:center;margin-bottom:10px}.step .line-badge,span[style*="padding:3px"]{color:#fff;padding:4px 8px !important;border-radius:6px;font-size:.8rem !important;font-weight:bold;background-color:#95a5a6}.step.RED .line-badge,.step.RED span[style*="padding:3px"]{background-color:var(--warsaw-red) !important;color:#fff !important}.step.BLUE .line-badge,.step.BLUE span[style*="padding:3px"]{background-color:var(--warsaw-blue) !important;color:#fff !important}.highlight{background-color:#e8f5e9;color:var(--success);padding:4px 8px;border-radius:4px;font-weight:600}.return-box{margin-top:15px;padding:10px;background-color:#f8f9fa;border-radius:6px;font-size:.9rem;border:1px dashed #ced4da;color:#495057}.step.LUNCH{background:#fffdf5;border-left:4px solid #f39c12 !important;padding:16px 24px;display:flex;flex-direction:column;justify-content:center}.step.LUNCH::before{content:"";position:absolute;left:-44px;top:50%;transform:translateY(-50%);width:24px;height:24px;background:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f39c12'%3e%3cpath d='M11 9H9V2H7v7H5V2H3v7c0 2.12 1.66 3.84 3.75 3.97V22h2.5v-9.03C11.34 12.84 13 11.12 13 9V2h-2v7zm5-3v8h2.5v8H21V2c-2.76 0-5 2.24-5 4z'/%3e%3c/svg%3e") no-repeat center center;background-size:contain;border:none;border-radius:0;box-shadow:none;z-index:2}.step.TRANSFER{background:#fff;border-left:4px dashed #e67e22 !important;opacity:.9}.step.TRANSFER::before{content:"";position:absolute;left:-48px;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:#fff;border:3px dashed #e67e22}[dir=rtl] .step.LUNCH{border-left:none !important;border-right:4px solid #f39c12 !important}[dir=rtl] .step.LUNCH::before{left:auto;right:-44px}[dir=rtl] .step.TRANSFER{border-left:none !important;border-right:4px dashed #e67e22 !important}[dir=rtl] .step.TRANSFER::before{left:auto;right:-48px}.modal-content{border-radius:var(--radius);border:none;box-shadow:0 10px 30px rgba(0,0,0,.2)}.modal-header{background-color:var(--primary-bg);border-bottom:1px solid #e9ecef}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(44,62,80,.6);z-index:10000;justify-content:center;align-items:center;backdrop-filter:blur(4px)}.modal.show{display:flex !important}.modal-content{background:#fff;padding:30px;border-radius:16px;width:90%;max-width:500px;position:relative;box-shadow:0 15px 40px rgba(0,0,0,.25);animation:slideUp .3s ease-out}@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.close-modal{position:absolute;top:15px;right:20px;background:none;border:none;font-size:1.8rem;color:#999;cursor:pointer;line-height:1;transition:color .2s}.close-modal:hover{color:var(--warsaw-red)}.modal-desc{color:var(--text-muted);font-size:1rem;margin-bottom:20px;line-height:1.5}.btn-main{background:linear-gradient(135deg, #2980b9, #2573a7);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;padding:12px 24px;font-weight:600;font-size:1rem;box-shadow:0 4px 6px rgba(41,128,185,.2);text-transform:uppercase;letter-spacing:.5px;display:inline-block;width:auto}.btn-main:hover{background:linear-gradient(135deg, #3498db, #2980b9);transform:translateY(-2px);box-shadow:0 6px 12px rgba(41,128,185,.3)}.btn-main:active{transform:translateY(0);box-shadow:0 2px 4px rgba(41,128,185,.2)}button[style*="background:#eee"],button[onclick="closeModal()"]:not(.close-modal){background:#f1f3f5 !important;color:var(--text-main) !important;border:1px solid #dee2e6 !important;font-weight:600;transition:all .2s}button[style*="background:#eee"]:hover,button[onclick="closeModal()"]:not(.close-modal):hover{background:#e9ecef !important;border-color:#ced4da !important}.modal-footer{border-top:none}.custom-modal{display:none;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);position:fixed;z-index:9999;justify-content:center;align-items:center}.show{display:flex !important}.modal-box{background:#fff;padding:20px;border-radius:8px;max-width:500px;width:90%;position:relative}.close-btn{position:absolute;top:10px;right:15px;cursor:pointer;font-size:1.5em}[dir=rtl]{text-align:right}[dir=rtl] input,[dir=rtl] select,[dir=rtl] textarea{text-align:right;background-position:left 1rem center}[dir=rtl] input[type=checkbox]{margin-right:0;margin-left:8px}[dir=rtl] .day-section::before{left:auto;right:40px}[dir=rtl] .step{margin-left:0;margin-right:80px}[dir=rtl] .step:hover{transform:translateX(-5px)}[dir=rtl] .step::before{left:auto;right:-48px}[dir=rtl] .step[style*=lunch]::before{left:auto;right:-44px}[dir=rtl] .close-modal,[dir=rtl] .close-btn{right:auto;left:20px}[dir=rtl] .attr-card.selected::after{right:auto;left:10px}[dir=rtl] .day-title{padding-left:0;padding-right:10px}.ticket-wrapper{margin-top:30px;filter:drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1))}.ticket{display:flex;background:#fff;border-radius:12px;overflow:hidden;position:relative;max-width:600px;margin:0 auto}.ticket-stub{background:var(--accent);color:#fff;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:100px}.ticket-icon{font-size:2rem;margin-bottom:8px}.ticket-label{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;font-weight:600;text-align:center;opacity:.9}.ticket-rip{width:20px;background-image:radial-gradient(circle at 0 50%, rgba(0, 0, 0, 0) 0px, rgba(0, 0, 0, 0) 0px),radial-gradient(circle at 100% 50%, rgba(0, 0, 0, 0) 0px, rgba(0, 0, 0, 0) 0px);background-position:0 10px;background-size:20px 20px;background-repeat:repeat-y;position:relative;background-color:#fff;background:radial-gradient(circle at top left, transparent 8px, white 9px) top left,radial-gradient(circle at bottom left, transparent 8px, white 9px) bottom left,radial-gradient(circle at top right, transparent 8px, white 9px) top right,radial-gradient(circle at bottom right, transparent 8px, white 9px) bottom right;background-size:50% 50%;background-repeat:no-repeat;display:none}.ticket-rip{width:0;border-left:2px dashed #cbd5e0;margin:10px 0}.ticket-main{flex:1;padding:24px;display:flex;flex-direction:column;justify-content:center;position:relative}.ticket::before,.ticket::after{content:"";position:absolute;left:140px;width:20px;height:20px;background-color:var(--primary-bg);border-radius:50%;z-index:10}.ticket::before{top:-10px}.ticket::after{bottom:-10px}.ticket-name{font-size:1.25rem;font-weight:700;color:var(--text-main);margin-bottom:8px;line-height:1.3}.ticket-note{font-size:.95rem;color:var(--text-muted);font-style:italic;background:#f8f9fa;padding:8px 12px;border-radius:6px;display:inline-block;align-self:flex-start}[dir=rtl] .ticket-main{text-align:right}[dir=rtl] .ticket::before,[dir=rtl] .ticket::after{left:auto;right:140px}[dir=rtl] .ticket-note{align-self:flex-start}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--red: #dc2626;--red-hover: #b91c1c;--red-10: rgba(220,38,38,0.1);--red-20: rgba(220,38,38,0.2);--black-5: rgba(0,0,0,0.05);--black-10: rgba(0,0,0,0.10);--black-20: rgba(0,0,0,0.20);--black-30: rgba(0,0,0,0.30);--black-40: rgba(0,0,0,0.40);--ink: #1A1A1A;--bg: #FDFDFB;--sidebar-bg: #F7F7F5}html,body{height:100%;background:var(--bg);color:var(--ink);font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.top-nav{height:72px;border-bottom:1px solid var(--black-5);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:rgba(253,253,251,.8);backdrop-filter:blur(12px);position:sticky;top:0;z-index:50}.nav-brand{display:flex;align-items:center;gap:12px}.nav-logo{width:32px;height:32px;background:var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center}.nav-logo svg{width:16px;height:16px;fill:#fff}.nav-title{font-family:"Playfair Display",serif;font-style:italic;font-size:1.1rem;color:var(--ink);letter-spacing:-0.01em}.nav-right{display:flex;align-items:center;gap:16px}.nav-link{display:flex;align-items:center;gap:7px;padding:8px 18px;border-radius:99px;border:1px solid var(--black-10);background:rgba(0,0,0,0);color:var(--black-40);font-family:"Inter",sans-serif;font-size:.62rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:all .2s;white-space:nowrap}.nav-link:hover{background:var(--red-10);border-color:var(--red-20);color:var(--red)}.nav-link svg{width:13px;height:13px;flex-shrink:0}@media(max-width: 640px){.nav-link span{display:none}.nav-link{padding:8px;border-radius:50%}.nav-link svg{width:16px;height:16px}}.lang-pill{display:flex;background:var(--black-5);border-radius:99px;padding:4px;border:1px solid var(--black-5);gap:2px}.lang-pill button{background:none;border:none;padding:6px 14px;border-radius:99px;font-size:.65rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--black-40);cursor:pointer;transition:all .2s}.lang-pill button.active{background:var(--red);color:#fff;box-shadow:0 4px 12px var(--red-20)}.app-body{display:flex;flex:1;min-height:calc(100vh - 72px)}.sidebar{width:420px;min-width:360px;border-right:1px solid var(--black-5);background:var(--sidebar-bg);display:flex;flex-direction:column;padding:40px 28px 0;overflow:hidden;height:calc(100vh - 72px);position:sticky;top:72px}.sidebar-section-label{font-size:.55rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--black-30);margin-bottom:20px}.sidebar-title{font-family:"Playfair Display",serif;font-style:italic;font-size:1.3rem;color:var(--ink);margin-bottom:28px}.config-block{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}.config-field{display:flex;flex-direction:column;gap:6px}.config-field label{font-size:.6rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--black-30)}.config-field input,.config-field select{background:#fff;border:1px solid var(--black-10);border-radius:12px;padding:10px 14px;font-size:.85rem;font-family:"Inter",sans-serif;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s;width:100%;appearance:none;-webkit-appearance:none}.config-field input:focus,.config-field select:focus{border-color:var(--red);box-shadow:0 0 0 3px var(--red-10)}.lunch-row{display:flex;align-items:center;gap:10px;margin-bottom:28px}.lunch-row input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1px solid var(--black-20);border-radius:6px;cursor:pointer;position:relative;transition:all .2s;flex-shrink:0}.lunch-row input[type=checkbox]:checked{background:var(--red);border-color:var(--red)}.lunch-row input[type=checkbox]:checked::after{content:"";position:absolute;top:3px;left:5px;width:5px;height:8px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(40deg)}.lunch-row label{font-size:.78rem;color:var(--black-40);cursor:pointer}.sidebar-divider{height:1px;background:var(--black-5);margin:20px 0}.your-plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.your-plan-label{font-size:.55rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--black-30)}.btn-clear{background:none;border:none;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--black-30);cursor:pointer;padding:4px 10px;border-radius:99px;transition:all .2s}.btn-clear:hover{background:var(--red-10);color:var(--red)}.plan-empty{text-align:center;padding:40px 20px}.plan-empty-icon{width:56px;height:56px;border-radius:50%;border:1px solid var(--black-10);background:var(--black-5);display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.plan-empty-icon svg{width:22px;height:22px;color:rgba(220,38,38,.4)}.plan-empty h3{font-family:"Playfair Display",serif;font-style:italic;font-size:1.05rem;color:var(--ink);margin-bottom:12px}.plan-empty p{font-size:.7rem;font-weight:300;color:var(--black-30);line-height:1.7}#planList{display:flex;flex-direction:column;gap:14px;flex:1;overflow-y:auto;min-height:0;padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--black-10) rgba(0,0,0,0)}#planList::-webkit-scrollbar{width:4px}#planList::-webkit-scrollbar-track{background:rgba(0,0,0,0)}#planList::-webkit-scrollbar-thumb{background:var(--black-10);border-radius:99px}.plan-stop{display:flex;align-items:center}.stop-num{width:36px;height:36px;border-radius:50%;border:1px solid var(--black-10);background:var(--black-5);display:flex;align-items:center;justify-content:center;font-size:.6rem;font-family:monospace;color:var(--black-40);flex-shrink:0;transition:all .2s}.plan-stop:hover .stop-num{border-color:rgba(220,38,38,.5);color:var(--red)}.stop-card{margin-left:16px;flex:1;background:#fff;border:1px solid var(--black-10);border-radius:16px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;transition:background .2s}.plan-stop:hover .stop-card{background:rgba(0,0,0,.01)}.stop-name{font-size:.82rem;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.stop-meta{display:flex;gap:10px;margin-top:6px}.stop-meta span{font-size:.55rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase}.stop-meta .stop-line{color:var(--red)}.stop-meta .stop-time{color:var(--black-20);display:flex;align-items:center;gap:4px}.btn-remove{width:30px;height:30px;border:none;background:none;border-radius:50%;color:var(--black-20);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.btn-remove:hover{background:var(--red-10);color:var(--red)}.sidebar-footer{padding:20px 0 28px;border-top:1px solid var(--black-5);margin-top:8px;flex-shrink:0;background:var(--sidebar-bg)}.btn-main{width:100%;padding:16px;border:none;border-radius:99px;background:var(--red);color:#fff;font-family:"Inter",sans-serif;font-size:.65rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s;box-shadow:0 8px 24px var(--red-20)}.btn-main:hover{background:var(--red-hover)}.btn-main:disabled{background:var(--black-5);color:var(--black-20);box-shadow:none;cursor:not-allowed}.btn-ticket{width:100%;margin-top:12px;padding:14px;border:none;border-radius:99px;background:#eab308;color:#fff;font-family:"Inter",sans-serif;font-size:.65rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;cursor:pointer;display:none;align-items:center;justify-content:center;text-decoration:none;transition:all .2s;box-shadow:0 8px 24px rgba(234,179,8,.2)}.btn-ticket:hover{background:#ca8a04}.main-content{flex:1;padding:32px 56px 80px;overflow-y:auto;height:calc(100vh - 72px);background:var(--bg)}.section-heading{font-size:.6rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--black-30);margin-bottom:20px}#attrContainer{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:24px}.attr-item{display:flex;flex-direction:column;height:360px;background:#fff;border:1px solid var(--black-5);border-radius:24px;overflow:hidden;cursor:pointer;transition:transform .25s,box-shadow .25s,border-color .25s;opacity:0;transform:translateY(16px)}.attr-item.in-view{opacity:1;transform:translateY(0);transition:opacity .4s ease calc(var(--delay, 0ms)),transform .4s ease calc(var(--delay, 0ms)),box-shadow .25s,border-color .25s}.attr-item:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,.07);border-color:var(--black-10)}.attr-item.selected{border-color:var(--red);box-shadow:0 0 0 3px var(--red-10)}.attr-img-wrap{width:100%;flex:0 0 66.666%;background:linear-gradient(135deg, #f0f0ee 0%, #e8e8e4 100%);position:relative;overflow:hidden}.attr-item .card-body{width:100%;flex:1 1 auto;padding:12px 14px;display:flex;flex-direction:column;justify-content:space-between}.attr-item .card-body>*:last-child{margin-bottom:0}.attr-img-wrap img{width:100%;height:100%;object-fit:cover}.attr-line-tag{position:absolute;top:14px;left:14px;padding:4px 10px;border-radius:99px;font-size:.55rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:#fff;backdrop-filter:blur(8px)}.attr-line-tag.red{background:rgba(220,38,38,.85)}.attr-line-tag.blue{background:rgba(37,99,235,.85)}.attr-line-tag.combined{background:rgba(0,0,0,.5)}.attr-body{padding:20px 20px 18px}.attr-name{font-size:1rem;font-weight:500;color:var(--ink);margin-bottom:6px;line-height:1.3}.attr-stop{font-size:.6rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--red);margin-bottom:10px}.attr-meta{display:flex;align-items:center;gap:14px;margin-bottom:14px}.attr-meta span{font-size:.7rem;color:var(--black-30);display:flex;align-items:center;gap:4px}.attr-footer{border-top:1px solid var(--black-5);padding-top:14px;display:flex;justify-content:space-between;align-items:center}.btn-add-card{padding:8px 20px;border-radius:99px;font-size:.65rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--black-10);background:#fff;color:var(--black-40);cursor:pointer;transition:all .2s}.btn-add-card:hover{background:var(--red);border-color:var(--red);color:#fff}.btn-add-card.added{background:var(--red);border-color:var(--red);color:#fff}#output{margin-top:60px}.day-section{margin-bottom:40px;opacity:0;transform:translateY(12px)}.day-section.in-view{opacity:1;transform:translateY(0);transition:opacity .5s ease,transform .5s ease}.day-title{font-family:"Playfair Display",serif;font-style:italic;font-size:1.8rem;color:var(--ink);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--black-5)}.step{margin-bottom:16px;background:#fff;border:1px solid var(--black-5);border-radius:20px;overflow:hidden;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}.step.in-view{opacity:1;transform:translateY(0)}.step.TRANSFER{background:var(--sidebar-bg);border-style:dashed}.step.LUNCH{background:#fff9f5;border-color:#fde8d8}.step-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 12px;border-bottom:1px solid var(--black-5)}.step-header-left{display:flex;align-items:center;gap:10px}.step-bus-time{font-size:1.25rem;font-weight:700;color:var(--ink)}.step-bus-time::before{content:"🚌 "}.step-ride-dur{font-size:.72rem;color:#888;background:#f4f4f2;padding:4px 10px;border-radius:99px;white-space:nowrap}.step-ride-dur::before{content:"⏳ "}.step-body{display:grid;grid-template-columns:1fr auto;gap:0;padding:18px 20px}.step-route{display:flex;flex-direction:column;gap:0}.step-stop{padding:4px 0}.step-stop-label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#999;margin-bottom:3px}.step-stop-time{color:var(--red);font-weight:700}.step-stop-name{font-size:1.05rem;font-weight:700;color:var(--ink);line-height:1.2}.step-atr-name{font-size:.85rem;color:#2980b9;font-weight:600;margin-top:4px}.step-atr-name::before{content:"👉 "}.step-connector{width:2px;height:20px;background:repeating-linear-gradient(to bottom, #cbd5e0 0px, #cbd5e0 4px, transparent 4px, transparent 8px);margin:4px 0 4px 6px}.step-qr{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-left:20px;border-left:1px solid var(--black-5);margin-left:20px}.step-qr img{width:80px;height:80px;border-radius:8px;border:1px solid #eaeaea;padding:3px;background:#fff}.step-qr-label{font-size:.55rem;color:#aaa;font-weight:600;margin-top:5px;text-transform:uppercase;letter-spacing:.1em}.step-footer{display:flex;align-items:center;gap:0;padding:12px 20px;border-top:1px dashed #eee;background:#fafbfc}.step-footer-item{flex:1}.step-footer-item--right{text-align:right}.step-footer-icon{font-size:1.3rem;flex-shrink:0}.step-footer-divider{width:1px;height:32px;background:#eee;margin:0 16px;flex-shrink:0}.step-footer-label{font-size:.65rem;color:#888;text-transform:uppercase;font-weight:600;margin-bottom:3px}.step-footer-label--orange{color:#e67e22}.step-footer-value{font-size:.95rem;font-weight:700;color:var(--ink)}@media(max-width: 640px){.step{border-radius:16px;margin-bottom:12px}.step-header{padding:12px 16px 10px}.step-bus-time{font-size:1.05rem}.step-body{grid-template-columns:1fr;padding:14px 16px;gap:16px}.step-qr{flex-direction:row;align-items:center;gap:14px;padding-left:0;border-left:none;margin-left:0;border-top:1px solid var(--black-5);padding-top:14px}.step-qr img{width:64px;height:64px}.step-qr-label{font-size:.65rem;color:#555;text-align:left;max-width:140px;line-height:1.4}.step-qr-label::before{content:"Skanuj kod QR aby otworzyc lokalizacje w Mapach Google.";display:block;white-space:normal}.step-stop-name{font-size:.95rem}.step-footer{padding:10px 16px;flex-wrap:wrap;gap:8px}.step-footer-item{flex:none;width:calc(50% - 4px)}.step-footer-item--right{text-align:right}.step-footer-divider{display:none}.step-footer-value{font-size:.85rem}}.step-time{display:none}.step-content{display:none}.ticket-wrapper{margin-top:32px}.ticket{display:flex;background:#fff;border:1px solid var(--black-5);border-radius:20px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.05)}.ticket-stub{background:var(--red);padding:24px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:90px}.ticket-icon{font-size:1.6rem}.ticket-label{font-size:.55rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:hsla(0,0%,100%,.8);text-align:center}.ticket-rip{width:2px;background:repeating-linear-gradient(to bottom, var(--black-10) 0, var(--black-10) 6px, transparent 6px, transparent 12px)}.ticket-main{padding:20px 24px;flex:1;display:flex;flex-direction:column;justify-content:center}.ticket-name{font-size:1rem;font-weight:500;color:var(--ink)}.ticket-note{font-size:.78rem;color:var(--black-40);margin-top:6px}#downloadPdfBtn{margin-top:20px;display:none;background:var(--ink);box-shadow:0 8px 24px rgba(0,0,0,.12)}#downloadPdfBtn:hover{background:#333}.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);z-index:200;align-items:center;justify-content:center}.modal.active{display:flex}.modal-content{background:#fff;border-radius:28px;padding:36px;max-width:480px;width:90%;position:relative;box-shadow:0 32px 80px rgba(0,0,0,.15)}.close-modal{position:absolute;top:16px;right:16px;width:36px;height:36px;border:none;background:var(--black-5);border-radius:50%;font-size:1.2rem;cursor:pointer;color:var(--black-40);display:flex;align-items:center;justify-content:center;transition:all .2s}.close-modal:hover{background:var(--red-10);color:var(--red)}.modal-content h2{font-family:"Playfair Display",serif;font-size:1.5rem;margin-bottom:12px;padding-right:40px}.modal-desc{font-size:.85rem;color:var(--black-40);line-height:1.6;margin-bottom:20px}.modal-info-box{background:var(--sidebar-bg);border:1px solid var(--black-5);border-radius:16px;padding:16px 20px;margin-bottom:20px;display:flex;gap:24px}.modal-info-box p{font-size:.8rem;color:var(--black-40)}.modal-info-box p strong{color:var(--ink)}.modal-actions{display:flex;gap:10px}#addBtn{flex:1;padding:14px;font-size:.65rem}.btn-secondary{flex:1;padding:14px;border:1px solid var(--black-10);border-radius:99px;background:#fff;font-family:"Inter",sans-serif;font-size:.65rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--black-40);cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--black-5)}.spin{animation:spinAnim .9s linear infinite}@keyframes spinAnim{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@media(max-width: 1024px)and (min-width: 641px){.app-body{flex-direction:column}.sidebar{width:100%;height:auto;position:static;border-right:none;border-bottom:1px solid var(--black-5);overflow:visible}.main-content{padding:36px 24px 60px;height:auto}}@media(max-width: 640px){.sidebar{display:none !important}.app-body{flex-direction:column}.main-content{padding:24px 16px 120px;height:calc(100vh - 56px);overflow-y:auto}.top-nav{height:56px;padding:0 16px}.nav-title{font-size:.9rem}#attrContainer{grid-template-columns:1fr;gap:16px}.mob-fab{display:flex !important;position:fixed;bottom:28px;right:20px;z-index:100;flex-direction:column;align-items:flex-end;gap:12px}.mob-sheet-trigger{width:52px;height:52px;border:none;border-radius:50%;background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.12),0 1px 4px rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:transform .2s,box-shadow .2s}.mob-sheet-trigger:active{transform:scale(0.93)}.mob-sheet-trigger svg{width:22px;height:22px;color:var(--ink)}.mob-sheet-dot{position:absolute;top:8px;right:8px;width:9px;height:9px;background:var(--red);border-radius:50%;border:2px solid #fff;display:none}.mob-sheet-dot.visible{display:block}.mob-btn-plan{height:56px;padding:0 22px;border:none;border-radius:99px;background:var(--red);color:#fff;font-family:"Inter",sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;gap:10px;box-shadow:0 6px 24px var(--red-20),0 2px 8px rgba(220,38,38,.2);transition:transform .2s,box-shadow .2s}.mob-btn-plan:active{transform:scale(0.95);box-shadow:0 2px 10px var(--red-20)}.mob-count-badge{display:none;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;background:#fff;color:var(--red);border-radius:99px;font-size:.7rem;font-weight:700;flex-shrink:0}.mob-count-badge.visible{display:inline-flex}.mobile-sheet-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:200;backdrop-filter:blur(2px)}.mobile-sheet-overlay.open{display:block !important}.mobile-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--bg);border-radius:24px 24px 0 0;z-index:201;transform:translateY(100%);transition:transform .35s cubic-bezier(0.32, 0.72, 0, 1);max-height:88vh;display:flex !important;flex-direction:column;overflow:hidden}.mobile-sheet.open{transform:translateY(0) !important}.sheet-handle-wrap{padding:12px 0 4px;display:flex;justify-content:center;flex-shrink:0;cursor:grab}.sheet-handle{width:40px;height:4px;background:var(--black-10);border-radius:99px}.sheet-header{padding:8px 20px 16px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-bottom:1px solid var(--black-5)}.sheet-header-title{font-family:"Playfair Display",serif;font-style:italic;font-size:1.15rem;color:var(--ink)}.sheet-close{width:32px;height:32px;border:none;background:var(--black-5);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--black-40);font-size:1rem}.sheet-body{flex:1;overflow-y:auto;padding:16px 20px;-webkit-overflow-scrolling:touch}.sheet-footer{padding:12px 20px 20px;border-top:1px solid var(--black-5);flex-shrink:0;background:var(--bg)}}@media(min-width: 641px){.mob-fab,.mobile-sheet-overlay,.mobile-sheet{display:none !important}}.sidebar{top:70px;height:calc(100vh - 70px)}.main-content{height:calc(100vh - 70px)}.app-body{min-height:calc(100vh - 70px)}.app-wrapper{min-height:calc(100vh - 70px)}@media print{body>*:not(#print-plan-container){display:none !important}#print-plan-container{display:block !important}#print-plan-container{font-family:Arial,sans-serif;font-size:11px;color:#1a1a1a;background:#fff;padding:0;margin:0}.print-header{margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid #dc2626}.print-day-section{margin-bottom:24px;page-break-inside:avoid}.print-day-title{font-size:16px;font-weight:700;color:#1a1a1a;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #eee}.print-step{border:1px solid #e5e7eb;border-radius:8px;padding:10px 14px;margin-bottom:8px;page-break-inside:avoid;background:#fafafa}.print-step.is-transfer{background:#fff9f0;border-color:#fed7aa;border-left:4px solid #e67e22}.print-step.is-lunch{background:#fff5f0;border-color:#fdd5bb}.print-step.is-walk{border-left:4px solid #27ae60}.print-step img{max-width:90px !important;height:auto}.line-badge{display:inline-block;background:#dc2626;color:#fff;font-size:8px;font-weight:700;padding:1px 6px;border-radius:99px;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;margin-left:4px}}/*# sourceMappingURL=planner.css.map */
