:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#252522;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f1ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:#fff;cursor:pointer;white-space:nowrap;background:#1b6d55;border:1px solid #1b6d55;border-radius:7px;justify-content:center;align-items:center;gap:.4rem;min-height:2.35rem;padding:.5rem .75rem;font-weight:650;display:inline-flex}button:hover{background:#145743}button:disabled{cursor:not-allowed;opacity:.55}button.secondary{color:#3d403b;background:#fff;border-color:#d5d0c7}button.secondary:hover{background:#f7f4ee}button.danger-button{color:#8b2525;background:#fff7f5;border-color:#d7b1aa}button.danger-button:hover{background:#f5dede}button.full-width{width:100%}button.icon-button{width:2rem;min-height:2rem;padding:0}input,select{color:#252522;background:#fff;border:1px solid #d5d0c7;border-radius:7px;width:100%;height:2.45rem;padding:.5rem .62rem}input[type=radio]{accent-color:#1b6d55;width:auto;height:auto}input[type=date]{appearance:auto}button:focus-visible,input:focus,select:focus{outline-offset:1px;outline:3px solid #9dd7c4}label{color:#616158;gap:.35rem;font-size:.78rem;font-weight:700;display:grid}.field-help{color:#77746b;font-size:.72rem;font-weight:500;line-height:1.25}.loading-screen{text-align:center;color:#616158;place-content:center;gap:.7rem;min-height:100vh;display:grid}.app-shell{gap:.9rem;width:min(100%,52rem);margin:0 auto;padding:1rem;display:grid}.app-header{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4f1eaf2;grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:end;gap:1rem;padding:.8rem 0 .7rem;display:grid;position:sticky;top:0}.header-actions{justify-content:flex-end;align-items:end;gap:.55rem;display:flex}.view-switcher{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.view-switcher button{min-height:2.35rem;padding:.45rem .6rem}button.secondary.active{color:#075340;background:#e0f5ed;border-color:#1b6d55}.nav-badge,.pending-badge{color:#704106;background:#fae9cc;border-radius:999px;font-size:.72rem;font-weight:850}.nav-badge{min-width:1.25rem;padding:.05rem .36rem}.pending-badge{padding:.18rem .52rem}.app-brand,.app-header p,.panel h2,.target-card h2{margin:0}.app-brand{align-items:center;width:min(13.75rem,100%);line-height:1;display:inline-flex}.app-logo{flex:none;width:100%;height:auto;display:block}.app-header p{color:#6f6d64;margin-top:.3rem;font-size:.9rem}.notice{color:#514d43;background:#fffaf0;border:1px solid #d5d0c7;border-radius:8px;padding:.72rem .85rem}.setup-panel p{color:#6f6d64;margin:0;font-size:.86rem}.target-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.target-actions{justify-content:flex-end;display:flex}.target-card,.panel{background:#fffdf8;border:1px solid #ded8cc;border-radius:8px;box-shadow:0 1px #25252208}.target-card{gap:.52rem;padding:.85rem;display:grid}.target-title-row,.target-meta,.evidence-heading,.storage-row,.panel-title-row,.rule-form-heading{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.target-card h2,.panel h2{align-items:center;gap:.42rem;font-size:.95rem;display:flex}.target-card p,.projection-panel p,.empty-copy{color:#6f6d64;margin:0;font-size:.82rem}.target-card small,.planned-trip-row small,.evidence-row small{color:#77746b;font-size:.76rem}.target-meta>span{min-width:0}.target-meta strong{text-align:right;white-space:nowrap;margin-left:auto}.target-status{white-space:normal;justify-items:end;line-height:1.08;display:grid}.rule-badge{border-radius:999px;padding:.12rem .48rem;font-size:.72rem;font-weight:800}.rule-badge.minimum{color:#075340;background:#e0f5ed}.rule-badge.ceiling{color:#704106;background:#fae9cc}.progress-track{background:#ece7dc;border-radius:999px;height:.4rem;overflow:hidden}.progress-fill{border-radius:inherit;background:#9a968c;height:100%}.target-card.safe .progress-fill,.target-card.good .progress-fill{background:#1d9e75}.target-card.watch .progress-fill{background:#ef9f27}.target-card.danger .progress-fill{background:#c94b4b}.target-meta>span{color:#6f6d64;min-width:0;font-size:.8rem}.target-meta strong{color:#252522;font-size:.8rem}.panel{gap:.85rem;padding:1rem;display:grid}.stay-form,.settings-form,.projection-grid,.stay-edit-form,.passport-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:.65rem;display:grid}.form-submit{align-self:end}.settings-form .form-submit{align-self:start;margin-top:1.32rem}.timeline-section{gap:.1rem;padding:.2rem 0 .2rem 1.15rem;display:grid;position:relative}.timeline-empty{color:#6f6d64;background:#fffdf8;border:1px dashed #d5d0c7;border-radius:8px;align-items:center;gap:.55rem;margin:.3rem 0 .6rem .1rem;padding:.85rem;font-size:.88rem;font-weight:650;display:flex}.timeline-line{background:#d5d0c7;width:1.5px;position:absolute;top:1.1rem;bottom:1.1rem;left:.35rem}.timeline-year-marker{align-items:center;min-height:2rem;margin:.45rem 0 .15rem -1.15rem;padding-left:1.15rem;display:flex;position:relative}.timeline-year-marker:after{content:"";background:#d5d0c7;flex:1;height:1px;margin-left:.65rem}.timeline-year-dot{z-index:2;background:#f4f1ea;border:2px solid #0f6e56;border-radius:999px;width:.82rem;height:.82rem;position:absolute;left:0}.timeline-year-label{color:#3d403b;letter-spacing:0;background:#fffdf8;border:1px solid #d5d0c7;border-radius:999px;padding:.18rem .58rem;font-size:.76rem;font-weight:850}.stay-row{display:grid;position:relative}.timeline-dot{z-index:1;background:#35bd91;border:2px solid #f4f1ea;border-radius:999px;width:.72rem;height:.72rem;position:absolute;top:1.58rem;left:-1.14rem}.stay-row.unaccounted .timeline-dot{background:#ef9f27}.stay-summary{color:#252522;text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:.6rem;width:100%;min-height:3.85rem;padding:.6rem .15rem;display:grid}.stay-summary:hover{background:#fffdf8bf}.stay-row.unaccounted .stay-summary{cursor:default}.stay-row.unaccounted .stay-summary:hover{background:0 0}.country-avatar{color:#075340;background:0 0;border:1px solid #d5d0c7;border-radius:999px;place-items:center;width:2.2rem;height:2.2rem;font-size:1.28rem;font-weight:800;display:grid}.unaccounted .country-avatar{color:#8a6122}.stay-copy{gap:.12rem;min-width:0;display:grid}.stay-copy strong,.evidence-row strong{overflow-wrap:anywhere}.stay-copy small{color:#6f6d64;font-size:.82rem;font-weight:500}.active-chip{color:#075340;background:#e0f5ed;border:1px solid #b8dccf;border-radius:999px;margin-left:.38rem;padding:.06rem .36rem;font-size:.68rem;font-weight:800}.evidence-chip{text-align:center;border-radius:999px;min-width:2.45rem;padding:.12rem .4rem;font-size:.76rem;font-weight:800}.evidence-chip.complete{color:#075340;background:#e0f5ed}.evidence-chip.partial{color:#704106;background:#fae9cc}.evidence-chip.weak{color:#8b2525;background:#f5dede}.stay-duration{color:#555149;font-size:.84rem;font-weight:750}.evidence-box{background:#ebe7dd;border-radius:8px;gap:.65rem;margin:.1rem 0 .7rem 2.8rem;padding:.75rem;display:grid}.evidence-heading span{color:#5f5c54;font-size:.78rem;font-weight:800}.stay-actions{flex-wrap:wrap;gap:.5rem;display:flex}.stay-edit-form{background:#fffdf8;border:1px solid #d5d0c7;border-radius:8px;padding:.75rem}.evidence-heading small{color:#8a6122;text-align:right;font-size:.74rem}.evidence-list{gap:.5rem;display:grid}.evidence-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;display:grid}.evidence-row svg{color:#0f6e56}.evidence-row span{gap:.08rem;min-width:0;font-size:.84rem;display:grid}.evidence-actions{gap:.35rem;display:flex}.evidence-form,.passport-page-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.button-row{flex-wrap:wrap;grid-column:1/-1;gap:.5rem;display:flex}.projection-panel{margin-top:.2rem}.projection-grid{grid-template-columns:minmax(4.8rem,.7fr) minmax(8rem,1fr) minmax(8rem,1fr) minmax(10rem,1.3fr) auto}.projection-add-button{align-self:end}.planned-trip-list{gap:.5rem;display:grid}.planned-trip-row{background:#fff;border:1px solid #ece7dc;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.55rem;display:grid}.planned-trip-row span:not(.country-avatar){gap:.08rem;min-width:0;display:grid}.planned-trip-row strong{overflow-wrap:anywhere}.settings-panel{margin-bottom:2rem}.passport-panel{gap:1rem}.passport-review-list,.passport-list,.passport-page-list{gap:.65rem;display:grid}.passport-review-row,.passport-card{background:#fff;border:1px solid #ece7dc;border-radius:8px;gap:.7rem;padding:.75rem;display:grid}.passport-review-row{background:#fffaf0}.passport-review-copy,.passport-card-header,.passport-page-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;display:grid}.passport-review-copy{grid-template-columns:auto minmax(0,1fr)}.passport-review-copy svg{color:#8a6122}.passport-review-copy span,.passport-card-header span:not(.country-avatar),.passport-page-row span{gap:.08rem;min-width:0;display:grid}.passport-review-copy strong,.passport-card-header strong,.passport-page-row strong{overflow-wrap:anywhere}.passport-review-copy small,.passport-card-header small,.passport-page-row small{color:#77746b;font-size:.76rem}.passport-stamp-form{grid-template-columns:minmax(10rem,1.2fr) minmax(7.5rem,.8fr) minmax(10rem,1.1fr) minmax(8rem,.9fr) minmax(10rem,1fr) auto;align-items:end;gap:.55rem;display:grid}.passport-form{border-top:1px solid #ece7dc;padding-top:.85rem}.passport-card-header{align-items:start}.passport-page-row{background:#fffdf8;border:1px solid #f0ede5;border-radius:7px;padding:.55rem}.passport-page-row svg{color:#0f6e56}.passport-page-form{background:#fffdf8;border:1px solid #ece7dc;border-radius:8px;padding:.65rem}.target-editor{gap:1rem}.panel-title-row{align-items:start}.suggestion-row{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.suggestion-row button{min-height:2rem;padding:.36rem .55rem;font-size:.78rem}.rule-list{gap:.75rem;display:grid}.rule-summary-row{background:#fff;border:1px solid #ece7dc;border-radius:8px;grid-template-columns:minmax(10rem,1.2fr) minmax(16rem,1.7fr) auto;align-items:center;gap:.75rem;padding:.72rem;display:grid}.rule-summary-copy{gap:.12rem;min-width:0;display:grid}.rule-summary-copy strong{overflow-wrap:anywhere;font-size:.9rem}.rule-summary-copy small{color:#77746b;overflow-wrap:anywhere;font-size:.76rem}.rule-summary-meta{flex-wrap:wrap;gap:.35rem;min-width:0;display:flex}.rule-summary-meta span{color:#625f56;background:#fffaf0;border:1px solid #ece7dc;border-radius:999px;padding:.18rem .48rem;font-size:.74rem;font-weight:700}.rule-summary-actions{justify-content:flex-end;gap:.45rem;display:flex}.add-custom-target{justify-self:start}.rule-form{background:#fff;border:1px solid #ece7dc;border-radius:8px;gap:.7rem;padding:.8rem;display:grid}.rule-form.new-rule{background:#fffaf0}.rule-form-heading strong{font-size:.9rem}.rule-form-heading button{min-height:2rem}.rule-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.rule-form-grid>:where(label),.rule-label-field,.rule-countries-field{grid-column:span 1}.rule-description-field{grid-column:span 2}.rule-counting-field{border:1px solid #d5d0c7;border-radius:8px;grid-column:1/-1;min-width:0;margin:0;padding:.55rem .65rem .65rem}.rule-counting-field legend{color:#616158;padding:0 .25rem;font-size:.78rem;font-weight:700}.rule-radio-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.rule-radio-option{color:#252522;background:#fffdf8;border:1px solid #ece7dc;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.45rem;min-width:0;padding:.55rem;display:grid}.rule-radio-option input{margin-top:.12rem}.rule-radio-option>span{gap:.18rem;min-width:0;display:grid}.rule-radio-option strong{color:#252522;overflow-wrap:anywhere;font-size:.78rem}.rule-radio-option span span{color:#77746b;font-size:.72rem;font-weight:500;line-height:1.25}.rule-radio-option input:checked+span strong{color:#0f6e56}.rule-window-row{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.rule-window-row>label{min-width:0}.checkbox-label{align-items:center;gap:.5rem;min-height:2.35rem;display:flex}.checkbox-label input{width:auto;height:auto}.storage-row{color:#6f6d64;border-top:1px solid #ece7dc;padding-top:.75rem;font-size:.82rem}.storage-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.file-input{display:none}.modal-backdrop{z-index:10;background:#25252294;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.preview-modal{background:#fffdf8;border:1px solid #d5d0c7;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(100%,56rem);height:min(100%,42rem);display:grid;overflow:hidden;box-shadow:0 18px 48px #25252240}.preview-modal-header{border-bottom:1px solid #ece7dc;justify-content:space-between;align-items:start;gap:.75rem;padding:.75rem;display:flex}.preview-modal-header span{gap:.14rem;min-width:0;display:grid}.preview-modal-header strong{overflow-wrap:anywhere}.preview-modal-header small{color:#77746b;font-size:.76rem}.preview-modal-body{background:#ebe7dd;min-height:0;display:grid;overflow:hidden}.preview-modal-body.image-preview{place-items:stretch stretch;padding:.75rem}.preview-modal-body iframe{border:0;width:100%;height:100%}.preview-modal-body img{object-fit:contain;width:100%;min-width:0;height:100%;min-height:0;display:block}.preview-fallback{color:#514d43;place-self:center;justify-items:center;gap:.65rem;display:grid}.preview-fallback a{color:#0f6e56;font-weight:800}@media (width<=760px){.app-shell{padding:.85rem}.app-header{grid-template-columns:1fr;align-items:stretch}.header-actions{justify-content:stretch;display:grid}.header-actions>button,.view-switcher button{width:100%}.view-switcher{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.target-strip,.stay-form,.settings-form,.projection-grid,.stay-edit-form,.rule-form-grid,.evidence-form,.passport-form,.passport-stamp-form,.passport-page-form{grid-template-columns:1fr}.panel-title-row,.target-actions{justify-content:stretch;display:grid}.suggestion-row{justify-content:stretch}.suggestion-row button,.target-actions button,.add-custom-target{width:100%}.rule-summary-row{grid-template-columns:1fr}.rule-summary-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.rule-radio-options,.rule-window-row{grid-template-columns:1fr}.rule-form-grid>label,.rule-description-field,.rule-counting-field,.rule-window-row{grid-column:auto}.stay-summary{grid-template-columns:auto minmax(0,1fr) auto auto}.stay-summary .expand-icon{display:none}.storage-row{display:grid}.storage-actions,.storage-actions button,.passport-stamp-form button,.projection-add-button{width:100%}.settings-form .form-submit{margin-top:0}.modal-backdrop{padding:.5rem}.preview-modal{height:min(100%,36rem)}}
