*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}.modal-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;padding:28px;overflow-y:auto}.modal h2{margin-bottom:20px;font-size:1.3rem}.type-toggle{gap:8px;margin-bottom:20px;display:flex}.type-toggle button{cursor:pointer;background:#fff;border:2px solid #eee;border-radius:8px;flex:1;padding:10px;font-size:.95rem;transition:all .15s}.type-toggle button.active{color:#4285f4;background:#f0f5ff;border-color:#4285f4;font-weight:600}form label{color:#888;margin-top:12px;margin-bottom:4px;font-size:.85rem;display:block}form input,form select,form textarea{border:1px solid #ddd;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:.95rem;transition:border .15s}form input:focus,form select:focus,form textarea:focus{border-color:#4285f4}form textarea{resize:vertical;height:80px;font-family:inherit}.city-input-wrapper{position:relative}.city-input{border:1px solid #ddd;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:.95rem;transition:border .15s}.city-input:focus{border-color:#4285f4}.city-suggestions{z-index:200;background:#fff;border:1px solid #ddd;border-radius:8px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 4px 16px #0000001a}.city-suggestions li{cursor:pointer;padding:10px 14px;font-size:.9rem;transition:background .1s}.city-suggestions li:hover{background:#f0f5ff}.datetime-field{flex-direction:column;gap:6px;display:flex;position:relative}.time-mode-toggle{gap:6px;display:flex}.time-mode-toggle button{color:#aaa;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:20px;flex:1;padding:5px 0;font-size:.75rem;transition:all .15s}.time-mode-toggle button.active{color:#4285f4;background:#f0f5ff;border-color:#4285f4;font-weight:600}.datetime-mode-label{color:#4285f4;font-size:.85rem}.datetime-mode-label.later{color:#aaa}.datetime-wrapper{border:1px solid #ddd;border-radius:8px;align-items:center;gap:14px;padding:10px 12px;transition:border .15s;display:flex;position:relative}.datetime-wrapper:focus-within{border-color:#4285f4}.time-selects{z-index:3;align-items:center;gap:2px;margin-left:auto;display:flex;position:relative}.time-select{color:#333;cursor:pointer;appearance:none;text-align:center;background:0 0;border:none;outline:none;width:28px;padding:0;font-size:.95rem}.time-colon{color:#333;font-size:.95rem}.datetime-icon{cursor:pointer;flex-shrink:0;font-size:1.1rem}.datetime-date{color:#333;font-size:.95rem}.datetime-date.placeholder{color:#aaa}.datepicker-dropdown{z-index:300;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #ddd;border-radius:12px;width:280px;padding:12px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 20px #00000026}.datepicker-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.datepicker-header button{cursor:pointer;color:#555;background:0 0;border:none;padding:2px 8px;font-size:1.3rem;line-height:1}.datepicker-header span{font-size:.95rem;font-weight:600}.datepicker-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.datepicker-dayname{text-align:center;color:#aaa;padding:4px 0;font-size:.72rem}.datepicker-day{text-align:center;cursor:pointer;border-radius:50%;padding:6px 2px;font-size:.88rem;transition:background .1s}.datepicker-day:hover:not(.disabled){background:#f0f5ff}.datepicker-day.selected{color:#fff;background:#4285f4}.datepicker-day.today{color:#4285f4;font-weight:700}.datepicker-day.disabled{color:#ddd;cursor:default}.datepicker-footer{border-top:1px solid #eee;justify-content:space-between;margin-top:8px;padding-top:8px;display:flex}.datepicker-footer button{color:#4285f4;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:.85rem}.datepicker-footer button:disabled{color:#ccc;cursor:default}.oneway-toggle{align-items:center;gap:10px;margin-top:12px;display:flex}.oneway-label{color:#444;font-size:.9rem}.toggle-switch{flex-shrink:0;width:44px;height:26px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-track{cursor:pointer;background:#ccc;border-radius:13px;transition:background .2s;position:absolute;inset:0}.toggle-track:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-track{background:#4caf50}.toggle-switch input:checked+.toggle-track:after{transform:translate(18px)}.ticket-file-hidden{display:none}.scan-ticket-btn{color:#4285f4;cursor:pointer;background:#f0f5ff;border:1.5px dashed #4285f4;border-radius:8px;width:100%;margin-top:12px;padding:12px;font-size:.95rem;transition:background .15s}.scan-ticket-btn:hover:not(:disabled){background:#e0ecff}.scan-ticket-btn:disabled{opacity:.6;cursor:default}.scan-error{color:#d32f2f;margin-top:4px;font-size:.85rem}.pending-flights-list{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.pending-flight-item{border:1px solid #eee;border-radius:10px;align-items:flex-start;gap:12px;padding:12px;display:flex}.pending-flight-num{color:#fff;background:#4285f4;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:700;display:flex}.pending-flight-info{flex-direction:column;gap:4px;display:flex}.pending-flight-route{color:#222;font-size:.95rem;font-weight:600}.pending-flight-details{color:#888;gap:10px;font-size:.82rem;display:flex}.form-buttons{gap:10px;margin-top:24px;display:flex}.form-buttons button{cursor:pointer;border:none;border-radius:8px;flex:1;padding:12px;font-size:.95rem}.form-buttons button[type=button]{color:#444;background:#f0f0f0}.form-buttons button[type=submit]{color:#fff;background:#4285f4;font-weight:600}.card{background:#fff;border-radius:16px;width:100%;max-width:420px;overflow:hidden;box-shadow:0 8px 32px #00000026}.card-header{color:#fff;padding:20px 24px}.card-header h2{font-size:1.3rem;font-weight:600}.card-body{flex-direction:column;gap:8px;padding:20px 24px;display:flex}.card-body p{color:#444;font-size:.95rem;line-height:1.5}.card-body b{color:#222}.card-buttons{gap:10px;margin-top:16px;display:flex}.card-buttons button{cursor:pointer;border:none;border-radius:8px;flex:1;padding:10px;font-size:.9rem;font-weight:500}.card-buttons button:not(.delete){color:#444;background:#f0f0f0}.card-buttons button.delete{color:#d32f2f;background:#ffe8e8}.calendar{max-width:1200px;margin:0 auto;padding:24px}.year-nav{justify-content:center;align-items:center;gap:32px;margin-bottom:32px;display:flex}.year-nav h2{font-size:2rem;font-weight:700}.year-nav button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;padding:8px 18px;font-size:.95rem}.months{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.month{background:#fff;border-radius:12px;min-width:0;padding:16px;box-shadow:0 1px 4px #0000000f}.month h3{color:#444;margin-bottom:12px;font-size:1rem;font-weight:600}.day-names{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.day-names span{text-align:center;color:#aaa;font-size:.7rem;font-weight:500}.days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.day{aspect-ratio:1;cursor:default;border-radius:6px;justify-content:center;align-items:center;font-size:.8rem;display:flex;position:relative;overflow:hidden}.day.has-periods .day-number{color:#000}.day-segments{display:flex;position:absolute;inset:0}.day-segment{height:100%;transition:opacity .15s}.day-segment.clickable{cursor:pointer}.day-segment.clickable:hover{opacity:.8}.day-number{z-index:1;pointer-events:none;text-shadow:0 1px 2px #0003;position:relative}.day.day-empty{cursor:pointer}.day.day-empty:hover{background:#f0f0f0}.day.today{outline-offset:-2px;outline:2px solid #4285f4;font-weight:700}.empty{aspect-ratio:1}.conflict-modal{text-align:center;background:#fff;border-radius:16px;flex-direction:column;gap:14px;width:100%;max-width:360px;padding:28px;display:flex}.conflict-modal h3{color:#d32f2f;font-size:1.1rem;font-weight:700}.conflict-modal p{color:#555;font-size:.9rem;line-height:1.5}.conflict-modal button{color:#fff;cursor:pointer;background:#4285f4;border:none;border-radius:8px;align-self:center;padding:10px 32px;font-size:.95rem}.month-bars{border-radius:4px;height:20px;margin-top:8px;display:flex;overflow:hidden}.month-bar{align-items:center;min-width:0;height:100%;transition:opacity .15s;display:flex;overflow:hidden}.month-bar.clickable{cursor:pointer}.month-bar.clickable:hover{opacity:.82}.month-bar-label{color:#333;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;padding:0 5px;font-size:.62rem;font-weight:600;overflow:hidden}.day-picker-modal{background:#fff;border-radius:16px;flex-direction:column;gap:14px;width:100%;max-width:360px;padding:24px;display:flex}.day-picker-modal h3{font-size:1.1rem;font-weight:700}.day-picker-list{flex-direction:column;gap:8px;list-style:none;display:flex}.day-picker-item{cursor:pointer;color:#333;background:#f8f8f8;border-left:4px solid #ddd;border-radius:8px;padding:12px 14px;font-size:.95rem;transition:background .15s}.day-picker-item:hover{background:#f0f0f0}.day-picker-owner{color:#888;margin-bottom:2px;font-size:.75rem;display:block}.support-btn{cursor:pointer;background:#e91e8c;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex;position:fixed;bottom:104px;right:32px;box-shadow:0 4px 16px #e91e8c66}.stats-btn{cursor:pointer;background:#43a047;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex;position:fixed;bottom:176px;right:32px;box-shadow:0 4px 16px #43a04766}.stats-list{flex-direction:column;gap:6px;list-style:none;display:flex}.stats-item{background:#f8faf8;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}.stats-flag{flex-shrink:0;font-size:1.4rem}.stats-country{color:#333;flex:1;font-size:.95rem}.stats-days{color:#43a047;font-size:.9rem;font-weight:700}.concerns-btn{cursor:pointer;background:#e53935;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex;position:fixed;bottom:248px;right:32px;box-shadow:0 4px 16px #e5393566}.concerns-badge{color:#fff;background:#222;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.concerns-modal{background:#fff;border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:480px;max-height:80vh;padding:28px;display:flex;overflow-y:auto}.concerns-modal h3{font-size:1.1rem;font-weight:700}.concerns-list{flex-direction:column;gap:10px;list-style:none;display:flex}.concern-item{color:#444;background:#fff8f8;border-left:3px solid #e53935;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;font-size:.9rem;line-height:1.5;display:flex}.concern-icon{flex-shrink:0;font-size:1.1rem}.concern-text{flex-direction:column;gap:2px;display:flex}.concern-date{color:#e53935;font-size:.75rem;font-weight:700}.concerns-empty{color:#888;text-align:center;padding:8px 0;font-size:.95rem}.concerns-modal>button{color:#444;cursor:pointer;background:#f0f0f0;border:none;border-radius:8px;align-self:flex-end;padding:8px 20px;font-size:.9rem}.compare-fab{cursor:pointer;background:#f9a825;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex;position:fixed;bottom:320px;right:32px;box-shadow:0 4px 16px #f9a82566}.compare-fab.compare-fab-active{background:#f57f17;box-shadow:0 4px 16px #f57f1780}.export-btn{cursor:pointer;background:#c9b8e8;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex;position:fixed;bottom:32px;right:32px;box-shadow:0 4px 16px #9370db4d}.add-btn{color:#fff;cursor:pointer;background:#4285f4;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:2rem;line-height:1;display:flex;position:fixed;bottom:392px;right:32px;box-shadow:0 4px 16px #4285f466}.support-modal{text-align:center;background:#fff;border-radius:16px;flex-direction:column;gap:14px;width:100%;max-width:320px;padding:28px;display:flex}.support-modal h3{font-size:1.1rem;font-weight:700}.support-links{flex-direction:column;gap:10px;display:flex}.support-link{border-radius:10px;padding:12px;font-size:.95rem;font-weight:600;text-decoration:none;display:block}.support-link.rubles{color:#e65100;background:#fff3e0}.support-link.other{color:#2e7d32;background:#e8f5e9}.support-link.telegram{color:#1565c0;background:#e3f2fd}.support-link:hover{opacity:.85}.compare-options{flex-direction:column;gap:6px;list-style:none;display:flex}.compare-option{cursor:pointer;color:#333;background:#f5f5f5;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:.95rem;display:flex}.compare-option:hover{background:#eee}.compare-option.selected{color:#1a73e8;background:#e8f0fe;font-weight:600}.compare-check{color:#1a73e8;font-size:.9rem}.invite-section{border-top:1px solid #eee;flex-direction:column;gap:8px;padding-top:4px;display:flex}.invite-section p{color:#888;margin:0;font-size:.85rem}.accept-banner{background:#e8f0fe;border:1px solid #4285f4;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:14px 18px;display:flex}.accept-banner-text{color:#333;flex:1;font-size:.9rem}.accept-btn{color:#fff;cursor:pointer;background:#4285f4;border:none;border-radius:8px;padding:7px 20px;font-size:.9rem}.dismiss-btn{color:#444;cursor:pointer;background:#f0f0f0;border:none;border-radius:8px;padding:7px 16px;font-size:.9rem}.day-segments-partner,.day-segments-own{height:50%;display:flex;position:absolute;left:0;right:0}.day-segments-partner{top:0}.day-segments-own{bottom:0}.day.shared-city:after,.day.shared-country:after{content:"";z-index:3;pointer-events:none;border-radius:inherit;position:absolute;inset:0}.day.shared-city:after{box-shadow:inset 0 0 0 2px gold}.day.shared-country:after{box-shadow:inset 0 0 0 1px #ffd7008c}.partner-bars{opacity:.85;margin-top:4px}.invite-modal{background:#fff;border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:440px;padding:28px;display:flex}.invite-modal h3{font-size:1.1rem;font-weight:700}.invite-modal p{color:#555;font-size:.9rem;line-height:1.5}.create-link-btn{color:#fff;cursor:pointer;background:#4285f4;border:none;border-radius:8px;align-self:flex-start;padding:10px 24px;font-size:.95rem}.invite-link-box{gap:8px;display:flex}.invite-link-box input{color:#333;background:#f5f5f5;border:1px solid #ddd;border-radius:8px;flex:1;min-width:0;padding:8px 12px;font-size:.8rem}.invite-link-box button{color:#fff;cursor:pointer;white-space:nowrap;background:#4285f4;border:none;border-radius:8px;padding:8px 16px;font-size:.85rem}@media (width<=600px){.months{grid-template-columns:1fr}.calendar{padding-bottom:400px}}*{margin:0;padding:0}body{color:#333;background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.loading{color:#888;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;display:flex}.login-screen{flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100vh;display:flex}.login-screen h1{letter-spacing:-1px;font-size:3rem;font-weight:700}.login-screen p{color:#888;font-size:1.1rem}.login-screen button{color:#fff;cursor:pointer;background:#4285f4;border:none;border-radius:8px;padding:12px 28px;font-size:1rem;transition:background .15s}.login-screen button:hover{background:#3367d6}.webview-warning{text-align:center;max-width:300px;line-height:1.5;color:#d32f2f!important;font-size:.95rem!important}.open-browser-btn{color:#fff;background:#4285f4;border-radius:8px;padding:12px 28px;font-size:1rem;text-decoration:none;transition:background .15s}.open-browser-btn:hover{background:#3367d6}.app{min-height:100vh}header{background:#fff;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:20px 40px;display:flex}header h1{letter-spacing:-.5px;font-size:1.6rem;font-weight:700}.user{align-items:center;gap:12px;display:flex}.user-email{color:#555;font-size:.9rem}.logout-btn{color:#555;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:8px;padding:7px 16px;font-size:.85rem;transition:all .15s}.logout-btn:hover{background:#f5f5f5;border-color:#bbb}@media (width<=600px){header{flex-wrap:wrap;gap:8px;padding:12px 16px}header h1{font-size:1.2rem}.user-email{display:none}.logout-btn{padding:6px 10px;font-size:.8rem}}.about-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.about-modal{color:#222;background:#fff;border-radius:16px;width:90%;max-width:560px;max-height:80vh;padding:36px 40px;line-height:1.65;position:relative;overflow-y:auto}.about-modal h2{margin-bottom:14px;font-size:1.5rem;font-weight:700}.about-modal h3{margin-top:22px;margin-bottom:10px;font-size:1rem;font-weight:700}.about-modal p{color:#222;margin-bottom:4px;font-size:.95rem}.about-modal ul{flex-direction:column;gap:8px;padding-left:18px;display:flex}.about-modal li{font-size:.95rem}.about-soon-title{color:#aaa!important}.about-soon{font-size:.95rem;color:#aaa!important}.about-close{color:#aaa;cursor:pointer;background:0 0;border:none;font-size:1.1rem;line-height:1;position:absolute;top:16px;right:16px}
