.country-flag{display:inline-block;border-radius:2px;box-shadow:0 0 0 1px #0000002e;vertical-align:-.08em}.country-flag .flag-print-image{display:block;width:1.333333em;height:1em;object-fit:cover}.brazil-tax-card{margin-top:10px;padding:14px 16px;border-left:4px solid var(--accent)}.brazil-tax-head,.brazil-tax-count{display:flex;align-items:center;justify-content:space-between;gap:10px}.brazil-tax-head h2{margin:2px 0 0;font-size:16px}.brazil-tax-count{margin-top:10px}.brazil-tax-count strong{font-size:34px;color:var(--accent);line-height:1}.brazil-tax-count span{margin-right:auto;color:var(--muted);font-size:12px}.brazil-tax-count b{font-size:11px;text-align:right}.brazil-tax-card .help{margin:5px 0 0;line-height:1.35}.tax-settings{margin:18px 0 4px;padding:14px;border:1px solid var(--border);border-radius:16px}.tax-settings>legend{padding:0 6px;color:var(--text)}.tax-settings .security-note{margin:12px 0 8px}.source-link{display:inline-block;color:var(--accent);font-size:12px;font-weight:750}:root{color-scheme:light;--bg:#f2f5f8;--surface:#fff;--surface-2:#e8eef4;--text:#172b3d;--muted:#607283;--border:#cbd8e3;--brand:#173f63;--accent:#2d78ad;--accent-2:#74b5df;--track:#cbdbe7;--danger:#a33131;--warning:#8a5d00;--focus:#1577b5;--shadow:0 12px 32px rgba(23,63,99,.09)}:root[data-theme=dark]{color-scheme:dark;--bg:#0b1722;--surface:#132433;--surface-2:#1a3042;--text:#eff6fb;--muted:#b4c4d0;--border:#385268;--brand:#28658f;--accent:#75b9e5;--accent-2:#8bc9ef;--track:#344f64;--danger:#ff9b9b;--warning:#ffd070;--focus:#8bd2ff;--shadow:0 12px 32px rgba(0,0,0,.28)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0b1722;--surface:#132433;--surface-2:#1a3042;--text:#eff6fb;--muted:#b4c4d0;--border:#385268;--brand:#28658f;--accent:#75b9e5;--accent-2:#8bc9ef;--track:#344f64;--danger:#ff9b9b;--warning:#ffd070;--focus:#8bd2ff;--shadow:0 12px 32px rgba(0,0,0,.28)}}*{box-sizing:border-box}html,body{margin:0;min-width:320px;max-width:100%;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.app{max-width:720px;margin:auto;min-height:100vh;padding-bottom:calc(88px + env(safe-area-inset-bottom))}.content{padding:0 16px 24px}.topbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:max(16px,env(safe-area-inset-top)) 18px 12px;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}h1,h2,p{margin-top:0}.topbar h1{margin:2px 0;font-size:26px}.eyebrow{margin:0;color:var(--accent);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.subtle,.help,.version{color:var(--muted);font-size:12px}.page{display:none}.page.active{display:block}.card,.metric,.location-card,.absence-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow)}.location-card{display:flex;justify-content:space-between;align-items:center;padding:20px;background:linear-gradient(140deg,var(--brand),#245f8a);color:#fff}.location-card p{font-size:13px;opacity:.8;margin-bottom:5px}.location-card h2{font-size:27px;margin:0 0 5px}.location-card span{font-size:13px}.stay{text-align:center;min-width:68px}.stay strong{display:block;font-size:34px;line-height:1}.stay span{opacity:.8}.absence-card{padding:22px;margin-top:14px;border:2px solid var(--accent)}.absence-card>p{color:var(--muted);font-weight:750;margin-bottom:8px}.absence-card>strong{display:block;font-size:48px;line-height:1;color:var(--accent)}.limit-row,.year-card>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font-size:13px}.progress{height:11px;background:var(--track);border:1px solid color-mix(in srgb,var(--text) 18%,transparent);border-radius:99px;overflow:hidden;margin:10px 0}.progress>span{display:block;width:0;height:100%;background:var(--accent-2);border-radius:99px;transition:width .2s}.status{display:inline-block;border-radius:99px;padding:6px 9px;font-size:11px;font-weight:800}.status.ok{background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--accent)}.status.warning{background:color-mix(in srgb,var(--warning) 18%,var(--surface));color:var(--warning)}.status.danger{background:color-mix(in srgb,var(--danger) 18%,var(--surface));color:var(--danger)}.status.neutral{background:var(--surface-2);color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.metric{padding:14px;min-width:0}.metric span,.metric small{display:block;color:var(--muted);font-size:11px}.metric strong{display:block;font-size:28px;margin:7px 0}.year-card{padding:16px;margin-top:14px}.secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.secondary-grid .card{padding:16px}.secondary-grid span{display:block;color:var(--muted);font-size:12px}.secondary-grid strong{display:block;margin-top:7px;font-size:17px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:5px 0 14px}.page-heading h2{margin:2px 0;font-size:26px}.trip-card,.mileage-card{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:13px;margin-bottom:10px}.record-icon{width:48px;height:48px;display:grid;place-items:center;background:var(--surface-2);border-radius:14px;font-size:24px}.trip-card strong,.mileage-card strong,.trip-card small,.mileage-card small{display:block}.trip-card small,.mileage-card small{color:var(--muted);margin-top:3px}.empty{padding:28px 18px;text-align:center;border:1px dashed var(--border);border-radius:20px;color:var(--muted)}.empty strong{display:block;color:var(--text);margin-bottom:6px}.security-note{padding:12px;border-radius:14px;background:color-mix(in srgb,var(--warning) 12%,var(--surface));color:var(--text);font-size:13px}.button,.icon-button,.link-button{min-height:44px;border:0;border-radius:13px;font-weight:800}.button{padding:11px 15px}.button.primary{background:var(--brand);color:#fff}.button.secondary{background:var(--surface-2);color:var(--text)}.button.danger{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--danger)}.button:disabled{opacity:.55}.wide{width:100%;margin-top:12px}.icon-button{width:44px;background:var(--surface);color:var(--text);border:1px solid var(--border);font-size:20px}.link-button{background:transparent;color:var(--accent);padding:8px}.form-card{padding:18px}label,legend{display:block;color:var(--muted);font-size:13px;font-weight:750;margin:13px 0 6px}input,select,textarea{width:100%;min-height:44px;padding:11px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text)}textarea{min-height:84px;resize:vertical}.bottom-nav{position:fixed;z-index:5;left:50%;bottom:0;transform:translate(-50%);width:min(720px,100%);display:grid;grid-template-columns:repeat(4,1fr);padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.nav{min-height:50px;border:0;background:transparent;color:var(--muted);font-size:11px;border-radius:12px}.nav span{display:block;font-size:19px}.nav.active{color:var(--accent);background:var(--surface-2);font-weight:900}.fab{color:#fff}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(440px,100%);padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow)}.auth-card h1{font-size:30px}.brand-mark{width:62px;height:62px;display:grid;place-items:center;margin-bottom:16px;border-radius:19px;background:var(--brand);color:#fff;font-size:34px}.auth-actions{display:flex;justify-content:space-between;margin:8px 0}.alert{padding:11px;border-radius:12px;background:color-mix(in srgb,var(--danger) 13%,var(--surface));color:var(--danger);font-size:13px}.modal,.sheet-backdrop{position:fixed;inset:0;z-index:20;background:#05111ca8}.modal{display:grid;place-items:center;padding:18px}.onboarding-card{width:min(460px,100%);padding:28px;background:var(--surface);border-radius:26px}.onboarding-card h2{font-size:28px}.sheet{position:fixed;z-index:22;left:50%;bottom:0;transform:translate(-50%);width:min(620px,100%);max-height:92vh;overflow:auto;padding:18px 18px calc(22px + env(safe-area-inset-bottom));background:var(--surface);border-radius:26px 26px 0 0}.sheet-head{position:sticky;top:-18px;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:18px 0 8px;background:var(--surface)}.sheet-head h2{margin:0}.sheet fieldset{border:0;padding:0;margin:10px 0}.country-options{display:grid;grid-template-columns:1fr;gap:7px}.country-options label{display:flex;align-items:center;gap:9px;margin:0;padding:11px;border:1px solid var(--border);border-radius:12px}.country-options input,.check input{width:auto;min-height:0}.check{display:flex;align-items:center;gap:8px}.toast,.update,.banner{position:fixed;z-index:40;border-radius:14px;background:var(--text);color:var(--bg);box-shadow:var(--shadow)}.toast{left:50%;bottom:100px;transform:translate(-50%);padding:11px 16px}.update{left:50%;bottom:90px;transform:translate(-50%);display:flex;gap:10px;align-items:center;padding:10px 12px}.update button{border:0;border-radius:9px;padding:8px;background:var(--accent-2);color:#10283a;font-weight:800}.banner{top:max(8px,env(safe-area-inset-top));left:50%;transform:translate(-50%);padding:9px 13px;font-size:12px}.version{text-align:center;margin:18px}.edit-record{width:44px;height:44px;border:0;background:transparent;color:var(--muted);font-size:22px}@media(max-width:359px){.content{padding-inline:10px}.metric-grid{gap:6px}.metric{padding:10px}.metric strong{font-size:24px}.absence-card>strong{font-size:42px}.auth-card{padding:20px}.secondary-grid{grid-template-columns:1fr}.location-card{padding:16px}.location-card h2{font-size:23px}}.app.dashboard-active{padding-bottom:calc(66px + env(safe-area-inset-bottom))}.topbar{padding:max(10px,env(safe-area-inset-top)) 14px 8px}.topbar .app-name{margin:0;font-size:30px;line-height:1.05;letter-spacing:-.035em;color:var(--text)}.topbar .subtle{display:block;margin-top:3px;font-size:10px}.content{padding:0 12px 18px}.location-card{min-height:84px;padding:12px 14px;background:linear-gradient(135deg,var(--surface),var(--surface-2));color:var(--text);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:18px}.location-main{min-width:0}.location-card p{margin-bottom:2px;color:var(--muted);opacity:1;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.location-card h2{display:flex;align-items:center;gap:8px;margin:0 0 2px;font-size:23px;line-height:1.15}.location-card h2 #currentCountry{font-size:23px;overflow-wrap:anywhere}.location-card .current-flag{display:inline-grid;flex:0 0 auto;place-items:center;min-width:42px;min-height:32px;padding:4px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:8px;box-shadow:0 3px 10px #173f631f}.location-card .current-flag .country-flag{font-size:24px}.location-card #currentSince{font-size:11px;color:var(--muted)}.stay{min-width:58px;margin-left:8px;padding:8px;border-radius:13px;background:var(--surface)}.stay strong{font-size:29px}.stay span{font-size:10px;color:var(--muted);opacity:1}.absence-card{min-height:96px;margin-top:8px;padding:12px 14px;border-width:1px;border-radius:18px}.absence-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.absence-head p{max-width:68%;margin:0;color:var(--text);font-size:12px;font-weight:800;line-height:1.25}.absence-head p .fi{margin-right:4px}.absence-head strong{white-space:nowrap;color:var(--accent);font-size:31px;line-height:1}.absence-head strong small{font-size:11px;color:var(--muted)}.absence-card .limit-row{align-items:center;margin-top:7px;font-size:10px}.absence-card .status{margin-left:auto;padding:4px 6px;font-size:9px}.absence-card .progress{height:8px;margin:7px 0 0}.metric-grid{gap:6px;margin-top:8px}.metric{padding:9px 8px;border-radius:15px}.metric>span{min-height:27px;font-size:10px;line-height:1.2}.metric>span .fi{margin-right:2px}.metric strong{margin:2px 0;font-size:23px;line-height:1}.metric small{font-size:9px}.year-card{margin-top:8px;padding:9px 11px;border-radius:15px}.year-card>div:first-child{margin-top:0;font-size:10px}.year-card .progress{height:7px;margin:5px 0 0}.secondary-grid{gap:6px;margin-top:8px}.secondary-grid .card{padding:9px 11px;border-radius:15px}.secondary-grid span{font-size:10px;line-height:1.2}.secondary-grid strong{margin-top:3px;font-size:14px}.page-heading.actions-only{justify-content:flex-end;margin:0 0 10px}.page-heading.actions-only .button{min-height:40px}.security-note{margin-bottom:10px}@media(max-width:359px){.topbar .app-name{font-size:27px}.content{padding-inline:8px}.location-card{padding:10px}.location-card h2 #currentCountry{font-size:20px}.absence-card{padding:10px}.absence-head p{font-size:11px}.metric-grid{gap:4px}.metric{padding:8px 5px}.metric>span{font-size:9px}.secondary-grid{grid-template-columns:1fr 1fr;gap:4px}.secondary-grid .card{padding:8px}.secondary-grid span{font-size:9px}}@media(min-height:620px){.location-card{min-height:100px;padding:16px 18px}.location-card p{font-size:12px}.location-card h2 #currentCountry{font-size:27px}.location-card .current-flag{min-width:48px;min-height:36px}.location-card .current-flag .country-flag{font-size:28px}.location-card #currentSince{font-size:12px}.stay{min-width:66px;padding:10px}.stay strong{font-size:34px}.absence-card{min-height:112px;padding:15px 18px;margin-top:10px}.absence-head p{font-size:13px}.absence-head strong{font-size:36px}.absence-head strong small{font-size:12px}.absence-card .limit-row{margin-top:9px;font-size:11px}.absence-card .status{font-size:10px}.absence-card .progress{height:9px;margin-top:9px}.metric-grid{gap:8px;margin-top:10px}.metric{padding:12px 10px}.metric>span{min-height:30px;font-size:11px}.metric strong{margin:4px 0;font-size:27px}.metric small{font-size:10px}.year-card{margin-top:10px;padding:11px 14px}.year-card>div:first-child{font-size:11px}.year-card .progress{height:8px;margin-top:7px}.secondary-grid{gap:8px;margin-top:10px}.secondary-grid .card{padding:12px 14px}.secondary-grid span{font-size:11px}.secondary-grid strong{margin-top:5px;font-size:16px}}.install-card{margin-top:12px;padding:16px}.install-card h2{margin:0 0 7px;font-size:18px}.install-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.app.dashboard-active{padding-bottom:calc(58px + env(safe-area-inset-bottom))}.brand-mark{overflow:hidden;padding:0;background:#061430}.brand-mark img{display:block;width:100%;height:100%;object-fit:cover}.rule-selector{display:block;width:100%;min-height:28px;margin-top:3px;padding:3px 22px 3px 6px;border-radius:8px;font-size:10px;font-weight:750}.rules-card{margin-top:12px;padding:15px}.rules-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.rules-head h2{margin:0;font-size:18px}.rules-head p{margin:3px 0 0;color:var(--muted);font-size:11px}.rule-row{width:100%;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:9px;padding:10px 4px;border:0;border-top:1px solid var(--border);background:transparent;color:var(--text);text-align:left}.rule-row:first-child{border-top:0}.rule-row>span:first-child{font-size:20px}.rule-row strong,.rule-row small{display:block}.rule-row strong{font-size:12px}.rule-row small{margin-top:3px;color:var(--muted);font-size:10px}.onboarding-card{max-height:92vh;overflow:auto}.onboarding-card label{margin-top:9px}.onboarding-card input,.onboarding-card select{min-height:40px}@media(min-width:760px){.sheet{bottom:50%;transform:translate(-50%,50%);border-radius:26px;max-height:88vh}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}.bottom-nav{grid-template-columns:repeat(6,1fr)}.nav{padding-inline:1px;font-size:10px}.metric-button{width:100%;color:var(--text);text-align:left}.metric-button:hover{border-color:var(--accent)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.report-toolbar{padding:14px;margin-bottom:12px}.report-toolbar>label{margin-top:0}.report-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.report-actions .button{display:grid;place-items:center;min-width:0;margin:0;text-align:center;font-size:11px}.report-actions .button.primary{grid-column:1/-1}.file-button{cursor:pointer}.report-toolbar .help{min-height:18px;margin:9px 0 0}.report-sheet{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:16px}.report-header{padding-bottom:12px;border-bottom:1px solid var(--border)}.report-header h2{margin:4px 0 7px;font-size:23px}.report-header>p:last-child{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.report-sheet h3{margin:18px 0 9px;font-size:16px}.annual-country-list{display:grid;gap:6px}.annual-country{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;background:var(--surface-2);border-radius:10px;font-size:12px}.annual-country span{display:flex;align-items:center;gap:5px}.monthly-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:7px}.month-summary{min-width:0;padding:10px;background:var(--surface-2);border-radius:12px}.month-summary h4{margin:0 0 7px;font-size:12px;text-transform:capitalize}.month-summary p{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:4px 0;font-size:10px}.month-summary p span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-summary small{color:var(--muted);font-size:10px}.calendar-legend{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:9px;color:var(--muted);font-size:10px}.calendar-dot{display:inline-block;width:9px;height:9px;border-radius:3px}.calendar-dot.br,.calendar-days .br{background:#67b879}.calendar-dot.us,.calendar-days .us{background:#6ba9db}.calendar-dot.other,.calendar-days .other{background:#c99b56}.calendar-grid{display:grid;grid-template-columns:1fr;gap:8px}.calendar-month{padding:10px;background:var(--surface-2);border-radius:12px}.calendar-month h4{margin:0 0 7px;font-size:12px;text-transform:capitalize}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.calendar-week span{color:var(--muted);font-size:8px;font-weight:800}.calendar-days span,.calendar-days i{display:grid;place-items:center;aspect-ratio:1;border-radius:4px;font-size:8px;font-style:normal}.calendar-days span{color:#10202e}.calendar-days .future{border:1px dashed var(--border);color:var(--muted);background:transparent}.calendar-days i{visibility:hidden}.fiscal-period{margin-top:16px;padding-top:2px;border-top:1px solid var(--border)}.fiscal-period .help{margin:4px 0 8px;line-height:1.4}.fiscal-period .security-note{margin:8px 0 0;font-size:10px}@media(min-width:480px){.report-actions{grid-template-columns:repeat(3,1fr)}.report-actions .button.primary{grid-column:auto}.monthly-breakdown{grid-template-columns:repeat(3,1fr)}.calendar-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:680px){.calendar-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:359px){.nav{font-size:9px}.nav span{font-size:17px}.report-sheet{padding:12px}.monthly-breakdown{gap:5px}.month-summary{padding:8px}}.immigration-card{padding:16px;margin-bottom:12px}.immigration-card h2{margin:0 0 4px;font-size:19px}.immigration-card>p{margin:0 0 12px;color:var(--muted);font-size:11px}.immigration-card h3{margin:14px 0 7px;font-size:14px}.snapshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.snapshot-grid>div{min-width:0;padding:9px;background:var(--surface-2);border-radius:11px}.snapshot-grid span,.snapshot-grid strong{display:block}.snapshot-grid span{min-height:28px;color:var(--muted);font-size:9px}.snapshot-grid strong{margin-top:4px;font-size:13px}.snapshot-trips p{display:flex;align-items:center;gap:5px;margin:5px 0;color:var(--muted);font-size:10px}.document-alerts{display:grid;gap:6px;margin:10px 0}.document-alert{margin:0;padding:9px 11px;border-left:4px solid;border-radius:9px;background:var(--surface);font-size:11px}.document-alert.warning{border-color:var(--warning)}.document-alert.danger{border-color:var(--danger)}.document-card{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:13px;margin-bottom:10px}.document-card strong,.document-card small{display:block}.document-card small{margin:3px 0 6px;color:var(--muted);font-size:11px}.document-card .status{font-size:9px;padding:4px 7px}@media(max-width:359px){.nav{font-size:8px}.snapshot-grid{gap:4px}.snapshot-grid>div{padding:7px}.snapshot-grid strong{font-size:11px}}.status-text.warning{color:var(--warning)}.status-text.danger{color:var(--danger)}.mileage-trend.up{color:var(--accent)}.mileage-trend.down{color:var(--danger)}.record-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:7px}.record-actions a,.text-button{border:0;background:transparent;color:var(--accent);padding:0;font-size:11px;font-weight:800;text-decoration:none}.history-list{display:grid;gap:7px;margin-top:16px;color:var(--muted);font-size:12px}.history-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;background:var(--surface-2);border-radius:11px}.history-row span{min-width:0}.danger-text{color:var(--danger)}@media print{@page{size:A4 portrait;margin:10mm}html,body,#printableReport,#printableReport *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body{min-width:0;background:#fff;color:#111}.app{max-width:none;padding:0}.topbar,.bottom-nav,.report-toolbar,.page:not(#reportsPage){display:none!important}.content{padding:0}#reportsPage{display:block!important}#printableReport{border:0;box-shadow:none;padding:0;background:#fff;color:#111}.report-header>p:last-child,.calendar-legend{color:#444}.annual-country-list{grid-template-columns:1fr 1fr}.annual-country,.month-summary,.calendar-month{background:#f1f4f6!important;break-inside:avoid}.monthly-breakdown,.calendar-grid{grid-template-columns:repeat(3,1fr)}.report-sheet h3{break-after:avoid}.calendar-dot.br,.calendar-days .br{background:#67b879!important;border:1px solid #26713a}.calendar-dot.us,.calendar-days .us{background:#6ba9db!important;border:1px solid #285f8c}.calendar-dot.other,.calendar-days .other{background:#c99b56!important;border:1px solid #805b20}.country-flag{background-image:none!important}.country-flag .flag-print-image{display:block!important}}.immigration-review{margin-top:16px!important}.rating-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.rating-options label{position:relative;display:grid;place-items:center;gap:3px;min-height:70px;margin:0;padding:8px 2px;border:1px solid var(--border);border-radius:12px;text-align:center;cursor:pointer}.rating-options input{position:absolute;opacity:0;pointer-events:none}.rating-options span{font-size:25px;line-height:1}.rating-options small{font-size:9px;color:var(--muted)}.rating-options label:has(input:checked){border:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.rating-options label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.immigration-review>.text-button{margin-top:7px}.immigration-summary{color:var(--text)!important}.metric>span{display:flex;align-items:flex-start;gap:5px;line-height:1.2}.metric>span>.country-flag{display:inline-block;flex:0 0 auto;color:initial;font-size:12px}.year-filter{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}.year-filter::-webkit-scrollbar{display:none}.year-chip{flex:0 0 auto;min-height:34px;padding:7px 13px;border:1px solid var(--border);border-radius:99px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:800}.year-chip.active{background:var(--brand);border-color:var(--brand);color:#fff}.trip-year-group{margin:0 0 14px}.trip-year-group>summary{display:flex;align-items:center;justify-content:space-between;padding:9px 4px;color:var(--text);font-weight:850;cursor:pointer;list-style:none}.trip-year-group>summary::-webkit-details-marker{display:none}.trip-year-group>summary:after{content:"⌄";color:var(--muted);margin-left:8px}.trip-year-group[open]>summary:after{transform:rotate(180deg)}.trip-year-group>summary small{margin-left:auto;color:var(--muted);font-weight:650}html,body{overflow-x:hidden}.topbar-brand{display:flex;align-items:center;gap:10px;min-width:0}.topbar-brand>img{width:48px;height:48px;border-radius:13px;object-fit:cover;flex:0 0 auto}.page-heading h2,.compact-heading h2,.form-card h2,.rules-card h2,.install-card h2,.immigration-card h2{font-size:19px!important;line-height:1.25}.compact-heading{margin:2px 0 8px}.bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.bottom-nav{padding-inline:6px}.nav{min-width:0;padding:5px 2px;font-size:10px}.nav span{font-size:17px}.trip-year-group{margin-bottom:9px}.trip-year-group>summary{padding:7px 3px;font-size:13px}.trip-card,.mileage-card,.document-card{grid-template-columns:38px minmax(0,1fr) 44px;gap:8px;padding:8px 9px;margin-bottom:7px;border-radius:14px;box-shadow:none}.trip-card>div:nth-child(2),.mileage-card>div:nth-child(2),.document-card>div:nth-child(2){min-width:0}.trip-card .record-icon,.mileage-card .record-icon,.document-card .record-icon{width:38px;height:38px;border-radius:10px;font-size:20px}.trip-card strong,.mileage-card strong,.document-card strong{font-size:13px;line-height:1.25}.trip-card small,.mileage-card small,.document-card small{font-size:10px;line-height:1.3;margin-top:2px}.trip-card .edit-record,.mileage-card .edit-record,.document-card .edit-record{width:44px;height:44px}.record-actions{gap:8px;margin-top:4px}.year-filter{gap:6px;padding-bottom:8px}.year-chip{min-height:32px;padding:6px 11px;font-size:11px}.report-toolbar{padding:12px;margin-bottom:8px;border-radius:15px}.report-toolbar label{font-size:11px}.report-toolbar select{min-height:40px;padding:8px 10px}.report-actions{gap:5px;margin-top:8px}.report-actions .button{min-height:40px;padding:8px;font-size:10px}.report-toolbar .help{margin:7px 0 0;font-size:10px}.report-sheet{padding:13px;border-radius:16px}.report-header{padding-bottom:9px}.report-header h2{font-size:20px;margin:3px 0 5px}.report-sheet h3{margin:14px 0 7px;font-size:14px}.report-sheet h4{margin:11px 0 6px;font-size:12px}.annual-country-list{gap:4px}.annual-country{padding:6px 8px;border-radius:8px;font-size:11px}.fiscal-period{margin-top:11px}.fiscal-period .help{font-size:10px;margin:3px 0 6px}.monthly-breakdown{gap:5px}.month-summary{padding:8px;border-radius:9px}.month-summary h4{margin-bottom:5px;font-size:11px}.month-summary p{margin:3px 0;font-size:9px}.calendar-grid{gap:6px}.calendar-month{padding:8px;border-radius:9px}.calendar-month h4{font-size:11px;margin-bottom:5px}.calendar-legend{gap:7px;font-size:9px}.form-card,.rules-card,.install-card,.immigration-card{padding:14px;border-radius:16px}.form-card label,.form-card legend{margin-top:10px;font-size:12px}.form-card input,.form-card select{min-height:40px;padding:8px 10px}.security-note{padding:9px 10px;border-radius:10px;font-size:11px;line-height:1.4}.sheet-head h2{font-size:20px}@media(max-width:390px){.topbar-brand>img{width:43px;height:43px;border-radius:11px}.topbar .app-name{font-size:27px}.bottom-nav{padding-inline:3px}.nav{font-size:8px}.nav span{font-size:15px}.trip-card,.mileage-card,.document-card{grid-template-columns:32px minmax(0,1fr) 40px;padding:7px 8px;gap:6px}.trip-card .record-icon,.mileage-card .record-icon,.document-card .record-icon{width:32px;height:32px}.trip-card .edit-record,.mileage-card .edit-record,.document-card .edit-record{width:40px;min-height:44px}}@media print{body #reportsPage.page{display:none!important}body #summaryPage.page{display:block!important}}.entry-count-section{margin-top:14px}.entry-count-title h2{margin:0 0 3px;font-size:16px}.entry-count-title small{display:block;color:var(--muted);font-size:10px;line-height:1.4}.entry-count-hint{margin:8px 0 0;padding:9px 10px;border-radius:10px;background:var(--surface-2);font-size:11px;line-height:1.4}.entry-count-list{margin-top:10px}.entry-group{margin-bottom:8px}.entry-group>summary{padding:7px 4px;font-size:12px;font-weight:800;color:var(--muted);cursor:pointer}.entry-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:6px}@media(min-width:520px){.entry-grid{grid-template-columns:1fr 1fr}}.entry-card{position:relative;padding:12px 13px;border-radius:16px;border:1px solid var(--border);background:var(--surface)}.entry-card[open]{box-shadow:var(--shadow)}.entry-card.risk-green{border-left:4px solid #3f9d55}.entry-card.risk-yellow{border-left:4px solid #d99a1c}.entry-card.risk-red{border-left:4px solid #d3453b}.entry-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}.entry-heading::-webkit-details-marker{display:none}.entry-headline{min-width:0}.entry-headline>span:first-child{color:var(--muted);font-size:10px}.entry-heading h3{margin:2px 0 0;font-size:16px}.entry-aside{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto}.entry-end{white-space:nowrap;font-size:16px;color:var(--muted)}.risk-mark{flex:0 0 auto;width:12px;height:12px;border-radius:50%}.risk-mark.risk-green{background:#3f9d55}.risk-mark.risk-yellow{background:#d99a1c}.risk-mark.risk-red{background:#d3453b}.entry-body{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:10px}.entry-total strong{display:block;font-size:30px;line-height:1;color:var(--text)}.entry-total span{color:var(--muted);font-size:10px}.entry-remaining{text-align:right}.entry-remaining small{display:block;font-size:10px;color:var(--muted);line-height:1.4}.entry-remaining .remaining-limit strong{color:var(--text)}.entry-remaining .period-countdown{font-weight:800;color:var(--text)}.entry-progress{margin-top:10px}.entry-progress>div{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-bottom:3px}.entry-progress progress{width:100%;height:6px;border:0;border-radius:99px;background:var(--track)}.entry-progress progress::-webkit-progress-bar{background:var(--track);border-radius:99px}.entry-progress progress::-webkit-progress-value{background:var(--accent-2);border-radius:99px}.entry-progress progress::-moz-progress-bar{background:var(--accent-2);border-radius:99px}.risk-legend{margin:8px 0 0;padding:10px 11px;border-radius:12px;background:var(--surface-2);font-size:10px;line-height:1.5}.risk-legend .legend-reference{display:block;font-weight:800;margin-bottom:5px}.risk-legend ul{margin:0;padding-left:2px;list-style:none}.risk-legend li{display:flex;align-items:flex-start;gap:6px;margin:3px 0}.risk-legend small{display:block;margin-top:5px;color:var(--muted)}.legend-dot{flex:0 0 auto;width:9px;height:9px;margin-top:3px;border-radius:50%}.legend-green{background:#3f9d55}.legend-yellow{background:#d99a1c}.legend-red{background:#d3453b}.report-year-select{margin:2px 0 12px}.year-select-label{display:block;margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:750}.year-select-label small{font-weight:600;opacity:.8}.year-chips{display:flex;flex-wrap:wrap;gap:7px}.year-chips .year-chip{cursor:pointer}.report-catalog{display:grid;gap:10px}.export-option{padding:14px}.export-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.export-title h3{margin:0;font-size:15px}.export-buttons{display:flex;gap:6px;flex:0 0 auto}.export-buttons .button{min-height:38px;padding:8px 14px;font-size:12px}.export-option>p{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.report-catalog-footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding:12px}.report-catalog-footer .button{flex:1;min-width:140px}.report-import{margin-top:12px;padding:14px}.report-import h3{margin:0 0 6px;font-size:15px}.report-import>.help{margin:0 0 10px;font-size:11px;line-height:1.45}.report-import .file-button.wide{display:block;width:100%;text-align:center;margin-bottom:8px}.report-import-row{display:flex;flex-wrap:wrap;gap:8px}.report-import-row .button{flex:1;min-width:130px}.report-import .source-link{display:inline-block;margin-top:10px;color:var(--accent);font-size:11px;font-weight:800;text-decoration:none}.certificate-preview{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.certificate-preview .cert-years{margin:8px 0 4px}.certificate-preview .help{font-size:11px;line-height:1.45;margin:4px 0}.certificate-preview .report-table{margin:8px 0}.certificate-preview table{border-collapse:collapse;width:100%;font-size:12px}.certificate-preview th,.certificate-preview td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border)}.certificate-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.certificate-actions .button{flex:1;min-width:130px}#print-root{display:none}#print-root #presence-report{color:#111}.annual-header{margin-bottom:14px}.annual-header .report-brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13px}.annual-header .report-brand-mark{width:22px;height:22px;border-radius:6px}.annual-header h1{margin:6px 0 4px;font-size:24px}.annual-header .report-year{margin-left:8px;color:#777;font-weight:600}.annual-header p{margin:2px 0;font-size:12px}.annual-header small{color:#555}#presence-report h2{margin:20px 0 8px;font-size:17px}.report-year-sep{margin:8px 0 6px;padding-bottom:3px;border-bottom:2px solid #333;font-size:20px!important}.report-year-rule{margin:22px 0;border:0;border-top:1px dashed #999}@media print{.report-year-sep{break-before:page}#presence-report>.report-year-sep:first-of-type{break-before:auto}}#presence-report .hint{color:#444;font-size:11px;line-height:1.5;margin:4px 0 8px}#presence-report .disclaimer{margin-top:16px;color:#555;font-size:10px;line-height:1.5}.report-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.report-totals .card{padding:12px;border:1px solid #bbb;border-radius:10px;text-align:center}.report-totals strong{display:block;font-size:26px}.report-totals span{display:block;font-size:11px;color:#555}.report-table{max-width:100%;overflow-x:auto}.report-table table{border-collapse:collapse;width:100%;font-size:12px}.report-table th,.report-table td{text-align:left;padding:7px 8px;border-bottom:1px solid #ccc;overflow-wrap:anywhere}.report-table .nowrap{white-space:nowrap}.report-country-cell{display:inline-flex;align-items:center;gap:6px}.report-flag{width:20px;height:15px;object-fit:contain;display:inline-block}.risk-badge{display:inline-block;padding:3px 7px;border-radius:99px;font-size:10px;font-weight:800}.risk-badge.risk-green{background:#d7efdd;color:#1d5a2c}.risk-badge.risk-yellow{background:#f6e6c4;color:#7a5410}.risk-badge.risk-red{background:#f3d3d0;color:#8a2b23}.report-legend span{display:inline-block;padding:3px 7px;border-radius:4px;font-size:11px}.report-legend .br{background:#c1ebce;color:#123f24}.report-legend .us{background:#c4e0f7;color:#153b59}.report-legend .other{background:#eadfc7;color:#5b4620}.report-calendars{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}.report-cal-month{border:1px solid #ccc;border-radius:8px;padding:8px}.report-cal-month h4{margin:0 0 6px;font-size:11px;text-transform:capitalize}.report-week,.report-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;font-size:9px}.report-week{color:#777;font-weight:800;margin-bottom:3px}.report-days span,.report-days i{display:grid;place-items:center;aspect-ratio:1;border-radius:3px;font-style:normal}.report-days .br{background:#c1ebce;color:#123f24}.report-days .us{background:#c4e0f7;color:#153b59}.report-days .other{background:#eadfc7;color:#5b4620}.report-days .future{color:#aaa}.report-days i{visibility:hidden}@media print{@page{size:A4 portrait;margin:12mm}html,body{background:#fff!important;color:#111!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body.printing-report>*:not(#print-root){display:none!important}#print-root{display:block!important;position:static}#print-root .card{break-inside:avoid}.report-table table{font-size:10px;table-layout:fixed}.report-table th,.report-table td{padding:5px 4px;border-color:#aaa}.report-table thead{display:table-header-group}.report-table tr,.report-totals,.report-cal-month{break-inside:avoid}#presence-report h2{break-after:avoid}}
