:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#181c1e;background:#f7fafc;line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility;--primary: #002045;--primary-container: #1a365d;--primary-fixed: #d6e3ff;--secondary: #496640;--secondary-container: #caecbc;--tertiary: #612100;--tertiary-container: #ffdbcd;--error: #ba1a1a;--surface: #f7fafc;--surface-lowest: #ffffff;--surface-low: #f1f4f6;--surface-container: #ebeef0;--surface-high: #e5e9eb;--surface-variant: #e0e3e5;--outline: #74777f;--outline-variant: #c4c6cf;--on-surface: #181c1e;--on-surface-variant: #43474e;--shadow: 0 2px 8px rgba(0, 32, 69, .05)}*{box-sizing:border-box}html{background:var(--surface)}body{min-height:100dvh;margin:0;background:var(--surface)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--primary)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;display:inline-block;white-space:nowrap;direction:ltr;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 420,"GRAD" 0,"opsz" 24}.app-shell{min-height:100dvh;padding-top:64px;padding-bottom:96px}.top-app-bar{position:fixed;inset:0 0 auto 0;z-index:30;height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;background:#f7fafcf5;border-bottom:1px solid rgba(196,198,207,.5);box-shadow:0 1px 8px #0020450a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand-block{min-width:0;text-align:center}.brand-kicker,.eyebrow{margin-bottom:2px;color:var(--outline);font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase}.brand-block h1{max-width:52vw;margin:0;overflow:hidden;color:var(--primary);font-size:20px;line-height:26px;text-overflow:ellipsis;white-space:nowrap}.icon-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;border:0;border-radius:50%;background:transparent;color:var(--on-surface-variant)}.icon-button:hover{background:var(--surface-low);color:var(--primary)}.desktop-tabs{display:none}.main-canvas{width:min(100%,768px);margin:0 auto;padding:20px 20px 12px}.view-stack{display:flex;flex-direction:column;gap:16px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-head h2{margin:0;font-size:24px;line-height:32px}.inline-head{align-items:flex-end}.inline-head h3{margin-bottom:0;font-size:20px;line-height:28px}.action-pair{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.muted{color:var(--on-surface-variant)}.primary-button,.text-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:999px;font-weight:700}.primary-button{padding:0 16px;background:var(--primary);color:#fff}.primary-button:hover{background:var(--primary-container)}.text-button{padding:0 8px;background:transparent;color:var(--primary)}.text-button:hover{background:var(--primary-fixed)}.full{width:100%}.compact-action{min-height:34px;padding:0 12px}.date-tabs,.category-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.date-tabs::-webkit-scrollbar,.category-filters::-webkit-scrollbar{display:none}.date-tabs button,.category-filters button{min-width:54px;min-height:40px;flex:0 0 auto;border:0;border-radius:999px;background:var(--surface-low);color:var(--on-surface-variant);font-size:12px;font-weight:700}.date-tabs button.active,.category-filters button.selected{background:var(--primary);color:#fff;box-shadow:var(--shadow)}.content-card,.focus-panel,.home-next-card,.budget-total-card,.metric-card,.list-card,.expense-card,.segment-card,.check-card,.risk-summary-card,.link-card{background:var(--surface-lowest);border:1px solid rgba(196,198,207,.56);border-radius:12px;box-shadow:var(--shadow)}.focus-panel{min-height:112px;display:flex;justify-content:space-between;gap:16px;padding:18px;overflow:hidden;background:linear-gradient(135deg,#fff,#eef4ff)}.focus-copy{min-width:0}.focus-copy h3{margin:0 0 4px;font-size:20px;line-height:28px}.focus-copy p:last-child{margin-bottom:0;color:var(--on-surface-variant)}.focus-icon{width:64px;height:64px;display:grid;place-items:center;flex:0 0 64px;border-radius:999px;background:var(--primary-fixed);color:var(--primary);font-size:34px}.home-next-card{display:flex;flex-direction:column;gap:16px;padding:18px;border-left:4px solid var(--primary);background:linear-gradient(135deg,#fff,#eef4ff)}.home-next-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px}.home-event-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:var(--primary-fixed);color:var(--primary);font-size:30px}.home-next-main h3{margin:0 0 4px;font-size:24px;line-height:32px}.home-next-main p{margin-bottom:0}.home-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-meta-grid div{min-width:0;padding:12px;border-radius:8px;background:#ffffffb8;border:1px solid rgba(196,198,207,.52)}.home-meta-grid small{display:block;color:var(--outline);font-size:11px;font-weight:800}.home-meta-grid strong{display:block;margin-top:3px;color:var(--on-surface);font-size:14px;line-height:20px;overflow-wrap:anywhere}.home-actions{display:flex;flex-wrap:wrap;gap:8px}.home-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.empty-state{display:flex;align-items:flex-start;gap:12px}.empty-state .material-symbols-outlined{color:var(--secondary)}.content-card{padding:16px}.itinerary-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.itinerary-controls p{margin:3px 0 0}.control-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.segmented{display:inline-flex;min-height:38px;overflow:hidden;border:1px solid var(--outline-variant);border-radius:999px;background:var(--surface-lowest)}.segmented button{min-width:72px;border:0;background:transparent;color:var(--on-surface-variant);font-weight:700}.segmented button.selected{background:var(--primary);color:#fff}.switch-label{display:inline-flex;align-items:center;gap:6px;color:var(--on-surface-variant);font-size:13px}.timeline-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.timeline-toolbar .category-filters{min-width:0}.day-block{display:flex;flex-direction:column;gap:10px}.day-head{width:100%;min-height:48px;display:grid;grid-template-columns:1fr auto 24px;align-items:center;gap:10px;border:0;border-radius:8px;background:var(--surface-container);color:var(--primary);padding:0 14px;text-align:left}.day-head span:first-child{font-size:20px;font-weight:700}.day-head small{color:var(--on-surface-variant);font-weight:700}.timeline-list{position:relative;display:flex;flex-direction:column;gap:12px;padding-left:2px}.timeline-list:before{content:"";position:absolute;left:3px;top:12px;bottom:12px;width:4px;border-radius:999px;background:var(--surface-container)}.timeline-card{position:relative;display:grid;grid-template-columns:78px 1fr auto;gap:14px;padding:16px;border-left:4px solid var(--primary)}.timeline-card.current{border-left-color:var(--secondary);background:#fbfff7}.timeline-card.past{opacity:.72}.time-block{color:var(--primary);font-size:20px;font-weight:800;line-height:24px}.time-block span{display:block;margin-top:3px;color:var(--outline);font-size:13px;font-weight:600}.card-copy{min-width:0}.meta-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.card-copy h3{margin:0 0 4px;font-size:17px;line-height:24px}.card-copy p{margin-bottom:6px}.card-copy small{color:var(--outline)}.risk-text{display:flex;align-items:flex-start;gap:5px;color:var(--tertiary);font-weight:700}.risk-text .material-symbols-outlined{font-size:18px}.attached-strip{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.attached-strip span,.attached-strip button{display:inline-flex;align-items:center;gap:5px;max-width:100%;border:0;border-radius:999px;background:var(--surface-low);color:var(--on-surface-variant);padding:5px 9px;font-size:12px;overflow-wrap:anywhere}.attached-strip button:hover{background:var(--primary-fixed);color:var(--primary)}.attached-strip button:active{transform:scale(.98)}.attached-strip b{color:var(--primary);font-size:11px;text-transform:uppercase}.event-context{display:block;margin:-6px 0 12px;color:var(--outline);font-size:12px;font-weight:800}.card-actions{display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start;justify-content:flex-end}.card-actions.inline{min-width:78px}.card-actions button,.card-actions a{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:var(--surface-low);color:var(--on-surface-variant);text-decoration:none}.card-actions button:hover,.card-actions a:hover{background:var(--primary-fixed);color:var(--primary)}.card-actions .material-symbols-outlined{font-size:18px}.calendar-canvas{width:min(100%,1040px)}.calendar-view{display:flex;flex-direction:column;gap:12px}.calendar-date-strip{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid rgba(196,198,207,.56);border-radius:12px;background:#fffffff5;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.calendar-strip-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.calendar-strip-head h2{margin:0;font-size:24px;line-height:32px}.calendar-nav-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.calendar-size-toggle{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--surface-variant);border-radius:999px;background:var(--surface-low)}.calendar-size-toggle button{min-height:30px;display:inline-flex;align-items:center;gap:4px;border:0;border-radius:999px;background:transparent;color:var(--on-surface-variant);padding:0 9px;font-size:11px;font-weight:800}.calendar-size-toggle button.active{background:#fff;color:var(--primary);box-shadow:0 1px 6px #00204514}.calendar-size-toggle .material-symbols-outlined{font-size:16px}.calendar-day-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:none}.calendar-day-strip::-webkit-scrollbar{display:none}.calendar-day-strip button{position:relative;min-width:52px;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;flex:0 0 52px;border:0;border-radius:12px;background:transparent;color:var(--outline);transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.calendar-day-strip button:hover{background:var(--surface-low);color:var(--primary)}.calendar-day-strip button.active{transform:scale(1.06);background:var(--primary-container);color:#fff;box-shadow:0 6px 18px #00204529}.calendar-day-strip span{font-size:10px;font-weight:800}.calendar-day-strip strong{font-size:19px;line-height:24px}.calendar-day-strip i{width:4px;height:4px;display:block;border-radius:50%;background:currentColor;opacity:.75}.calendar-day-strip button.filled:not(.active){color:var(--primary)}.calendar-shell{overflow:hidden;border:1px solid rgba(196,198,207,.58);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.calendar-scroll{max-height:calc(100dvh - 248px);min-height:520px;overflow:auto;scrollbar-width:thin}.calendar-grid{--calendar-days: 30;--calendar-time-width: 52px;--calendar-day-width: 156px;--calendar-hour-height: 80px;--calendar-body-height: 1200px;display:grid;grid-template-columns:var(--calendar-time-width) repeat(var(--calendar-days),minmax(var(--calendar-day-width),1fr));grid-template-rows:52px auto;min-width:calc(var(--calendar-time-width) + var(--calendar-days) * var(--calendar-day-width))}.calendar-corner{position:sticky;left:0;top:0;z-index:25;grid-column:1;grid-row:1;border-right:1px solid var(--surface-variant);border-bottom:1px solid var(--surface-variant);background:#fffffffa}.calendar-head-cell{position:sticky;top:0;z-index:18;min-height:52px;display:grid;place-items:center;gap:2px;border:0;border-right:1px solid var(--surface-variant);border-bottom:1px solid var(--surface-variant);background:#fff;color:var(--on-surface-variant);text-align:center}.calendar-head-cell.active{background:var(--surface-low);color:var(--primary)}.calendar-head-cell span{max-width:calc(var(--calendar-day-width) - 14px);font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-head-cell small{color:var(--outline);font-size:10px;font-weight:700}.calendar-times{position:sticky;left:0;z-index:14;grid-column:1;grid-row:2;min-height:var(--calendar-body-height);border-right:1px solid var(--surface-variant);background:#fff}.calendar-times div{height:var(--calendar-hour-height);display:flex;align-items:flex-start;justify-content:flex-end;padding:8px 8px 0 0}.calendar-times span{color:var(--outline);font-size:10px;font-weight:700}.calendar-day-column{position:relative;min-height:var(--calendar-body-height);border-right:1px solid var(--surface-variant);background-image:linear-gradient(to bottom,#f1f4f6 1px,transparent 1px);background-size:100% var(--calendar-hour-height)}.calendar-day-column:nth-of-type(odd){background-color:#f7fafc8c}.calendar-event{position:absolute;left:5px;right:5px;z-index:4;display:flex;min-height:42px;flex-direction:column;align-items:flex-start;gap:2px;overflow:hidden;border:1px solid transparent;border-radius:8px;padding:7px 8px;background:var(--surface-lowest);color:var(--on-surface);text-align:left;box-shadow:0 2px 10px #00204514}.calendar-event:hover{transform:translateY(-1px);box-shadow:0 6px 18px #00204521}.calendar-event strong{max-width:100%;color:inherit;font-size:12px;line-height:16px;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}.calendar-event small{max-width:100%;color:currentColor;font-size:10px;font-style:normal;font-weight:700;line-height:13px;opacity:.78;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-kind{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:900;line-height:14px;text-transform:uppercase}.calendar-event-kind .material-symbols-outlined{font-size:15px}.calendar-event em{position:absolute;right:6px;bottom:5px;font-style:normal;font-size:15px;opacity:.65}.calendar-event.compact{min-height:38px;gap:1px;padding:5px 6px}.calendar-event.compact .calendar-event-kind,.calendar-event.tiny small,.calendar-event.tiny em{display:none}.calendar-event.tiny strong{font-size:11px;line-height:14px}.calendar-flight{background:var(--primary-container);color:#fff}.calendar-transit{border-color:#1976d233;background:#e3f2fd;color:#1976d2}.calendar-hotel{border-color:#2e7d3233;background:#e2f6d9;color:#2e7d32}.calendar-food{border-color:#e6510033;background:#fff3e0;color:#e65100}.calendar-shopping{border-color:#5e00802e;background:#ebd4f4;color:#5e0080}.calendar-attraction{border-color:var(--surface-variant);background:#fff;color:var(--primary)}.calendar-default{border-color:var(--surface-variant);background:var(--surface-low);color:var(--on-surface-variant)}.calendar-event.current{outline:2px solid #ff3b30;outline-offset:1px}.calendar-event.past{opacity:.62}.calendar-event.backup{left:48%;z-index:5;border-style:dashed;background:#ffffffeb}.calendar-now-line{position:absolute;left:0;right:0;z-index:8;height:2px;background:#ff3b30;pointer-events:none}.calendar-now-line span{position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:#ff3b30;box-shadow:0 1px 4px #ff3b3066}.calendar-detail-modal{width:min(680px,100%)}.calendar-detail-body{display:flex;flex-direction:column;gap:16px;padding:20px 22px 22px 26px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-grid div{min-width:0;border:1px solid var(--surface-variant);border-radius:10px;background:var(--surface-low);padding:12px}.detail-grid small{display:block;margin-bottom:4px;color:var(--outline);font-size:11px;font-weight:800}.detail-grid strong{color:var(--on-surface);font-size:14px;line-height:20px;overflow-wrap:anywhere}.calendar-detail-note{margin:0;border-left:3px solid var(--primary);background:var(--surface-low);color:var(--on-surface-variant);padding:12px 14px;line-height:22px}.hero-card{min-height:128px;display:flex;align-items:flex-end;overflow:hidden;border-radius:12px;box-shadow:var(--shadow);color:#fff;background-color:var(--surface-container);background-size:cover;background-position:center;position:relative}.hero-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00204514,#002045d1)}.hero-card>div{position:relative;z-index:1;padding:18px}.hero-card h2{margin:0;color:#fff;font-size:22px;line-height:30px}.hero-card .eyebrow{color:#ffffffc7}.budget-visual{background-image:url(https://lh3.googleusercontent.com/aida-public/AB6AXuCJb2k5qe3wPjhIy_i0X-oN5psJ1d7A0Rb1RM8FkBwk_XlWu1Us_vODIMqMMr4_6uumjY6wgclSLmyfpsnAtbtX_4fHe2P-WctDiIZrZ8isY8oNmxGPHhS_19lGKqB0Z1l4Rd0F07tgNSJ0_pIh9c6apzFHpsGQSjzCc06TBqlx_bEK8N58f6xtsVieoHiORZgqNe4ufj2YB-vft9xpJ9fhAmlXVwqCfvc9CBVPvmgBgiFhqD8hGQhp-_7HmrwSV-ASSy8vOrqbVVg)}.transport-visual{min-height:154px;align-items:center;justify-content:center;background-image:url(https://lh3.googleusercontent.com/aida-public/AB6AXuBhCu79x-iPLk7WABvDS5YAxfVJ4hYQg-uMoZeK9OA0JyCkPXaSyLbubOdpjcUDH3msO_AbKVbnO8FvQpxqEI25ClBnacUw9E17vxwwJpeDBut8ALkRPIAMGJTGlqij0iCvS0UvwGQ-zUimXPyoLfvKpnDPa3HBozNCgl0k2HTNVAARJ-0hdUkEZcXh6jnvpyI26y3L5DB2UiwvqiSYs2EBbYZ-Hq8gQZ5PwR3x0XBb-KZxxXRk5yZwaLCsqo2vWZEEKFsuippwgNY)}.transport-visual:before{background:#0020453d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.route-pill{display:flex;align-items:center;gap:14px;padding:0}.route-pill span:not(.material-symbols-outlined){min-width:62px;padding:8px 14px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:#ffffff2e;color:#fff;font-weight:800;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.budget-total-card{grid-column:1 / -1;position:relative;display:flex;flex-direction:column;gap:24px;overflow:hidden;padding:18px}.budget-total-card:after{content:"";position:absolute;right:-36px;top:-42px;width:128px;height:128px;border-radius:0 0 0 999px;background:var(--primary-fixed);opacity:.42}.budget-total-card h3{margin:0;font-size:28px;line-height:36px}.progress-head,.split-line{display:flex;justify-content:space-between;gap:12px;color:var(--on-surface-variant);font-size:12px;font-weight:700}.progress-head b{color:var(--secondary)}.progress-bar{height:4px;margin:9px 0;overflow:hidden;border-radius:999px;background:var(--surface-variant)}.progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--secondary)}.metric-card{min-height:132px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:16px;border-left:4px solid var(--primary)}.metric-card .material-symbols-outlined{color:var(--primary);font-size:22px}.metric-card small{color:var(--outline);font-size:12px;font-weight:700;text-transform:uppercase}.metric-card strong{color:var(--on-surface);font-size:20px;line-height:28px}.accent-secondary{border-left-color:var(--secondary)}.accent-secondary .material-symbols-outlined{color:var(--secondary)}.accent-tertiary{border-left-color:var(--tertiary)}.accent-tertiary .material-symbols-outlined{color:var(--tertiary)}.list-section{display:flex;flex-direction:column;gap:10px}.list-card,.expense-card{overflow:hidden}.expense-card{position:relative}.expense-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--primary)}.list-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--surface-variant)}.home-event-row{grid-template-columns:minmax(0,1fr) auto}.list-row:last-child{border-bottom:0}.list-row:hover{background:var(--surface-low)}.expense-row{padding-left:20px}.row-main{min-width:0;display:flex;align-items:center;gap:14px}.round-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:50%;background:var(--primary-fixed);color:var(--primary)}.round-icon.outline{background:transparent;border:1px solid var(--outline-variant);color:var(--on-surface-variant)}.row-main h4{margin:0;color:var(--on-surface);font-size:16px;line-height:22px}.row-main p{margin:1px 0 0;color:var(--outline);font-size:12px;font-weight:700}.row-side{min-width:104px;display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right}.row-side strong{color:var(--on-surface);font-size:15px}.row-side small{color:var(--outline);font-size:12px}.badge{min-height:22px;display:inline-flex;align-items:center;gap:4px;width:fit-content;padding:0 8px;border-radius:999px;background:var(--surface-variant);color:var(--on-surface-variant);font-size:10px;font-weight:800;text-transform:uppercase}.badge .material-symbols-outlined{font-size:14px}.badge.paid,.paid{background:var(--secondary-container);color:var(--secondary)}.badge.booked,.booked{background:var(--primary-fixed);color:var(--primary)}.badge.risk,.risk{background:var(--tertiary-container);color:var(--tertiary)}.badge.neutral,.neutral{background:var(--surface-variant);color:var(--on-surface-variant)}.settings-card{display:grid;grid-template-columns:1fr auto auto auto;align-items:end;gap:12px}.settings-card h3{margin:0 0 3px}.settings-card p{margin-bottom:0}.settings-card label{display:grid;gap:5px;color:var(--outline);font-size:12px;font-weight:800}.settings-card input{width:112px;min-height:38px;border:1px solid var(--outline-variant);border-radius:8px;padding:0 10px;background:#fff}.transport-list{display:flex;flex-direction:column;gap:12px}.segment-card{display:flex;flex-direction:column;gap:14px;padding:16px;border-left:4px solid var(--primary)}.segment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.segment-head>div{min-width:0;display:flex;align-items:center;gap:8px;color:var(--primary)}.segment-head h3{margin:0;font-size:18px;line-height:26px}.segment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.segment-grid small,.link-card small,.check-top small,.risk-summary-card small{display:block;color:var(--outline);font-size:11px;font-weight:800;text-transform:uppercase}.segment-grid strong{display:block;margin-top:3px;color:var(--on-surface);font-size:15px}.risk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.risk-summary-card{display:flex;gap:12px;padding:14px;border-left:4px solid var(--tertiary)}.risk-summary-card>.material-symbols-outlined{color:var(--tertiary)}.risk-summary-card h3{margin:2px 0 4px;font-size:16px;line-height:22px}.risk-summary-card p{margin:0;color:var(--on-surface-variant);font-size:13px}.checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.check-card{padding:16px}.check-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.check-card h3{margin:0 0 8px;font-size:18px;line-height:26px}.check-card p{min-height:42px;margin-bottom:12px;color:var(--on-surface-variant)}.links-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:14px}.links-note{padding:18px;border-radius:12px;background:var(--primary);color:#fff}.links-note h3{margin:0;color:#fff;font-size:18px;line-height:26px}.links-note .eyebrow{color:#ffffffb8}.link-list{display:flex;flex-direction:column;gap:12px}.link-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;padding:16px}.link-card h3{margin:2px 0 5px;font-size:18px;line-height:26px}.link-card p{margin:0;overflow-wrap:anywhere;color:var(--on-surface-variant);font-size:13px}.table-wrap{overflow:auto;border:1px solid rgba(196,198,207,.68);border-radius:12px;background:#fff;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:960px}th,td{padding:10px 11px;border-bottom:1px solid var(--surface-variant);text-align:left;vertical-align:top}th{position:sticky;top:0;z-index:1;background:var(--surface-low);color:var(--outline);font-size:12px;font-weight:800}.edit-table{min-width:1640px}.edit-table tr.current td{background:#f7fff0}.edit-table tr.past td{background:#f5f6f7;color:var(--outline)}.edit-table input,.edit-table select,.edit-table textarea{width:100%;min-width:72px;border:1px solid var(--outline-variant);border-radius:8px;padding:7px 8px;background:#fff}.edit-table textarea{min-width:160px;resize:vertical}.edit-table .center{text-align:center}.edit-table .center input{width:auto;min-width:0}.table-actions{min-width:174px;display:flex;gap:6px;flex-wrap:nowrap}.table-actions button{min-height:34px;border:0;border-radius:999px;padding:0 10px;background:var(--surface-low);color:var(--on-surface-variant);font-weight:700}.bottom-nav{position:fixed;inset:auto 0 0 0;z-index:28;min-height:78px;display:flex;justify-content:space-around;gap:2px;padding:10px 6px calc(10px + env(safe-area-inset-bottom));border-radius:12px 12px 0 0;background:#f7fafcf7;box-shadow:0 -3px 14px #00204514;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-nav button{min-width:48px;height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:999px;background:transparent;color:var(--on-surface-variant)}.bottom-nav button.active{background:var(--primary-container);color:#fff}.bottom-nav small{font-size:10px;font-weight:800}.toast{position:fixed;top:74px;right:16px;z-index:80;margin:0;border-radius:999px;background:var(--primary);color:#fff;padding:10px 14px;box-shadow:0 8px 22px #0020452e}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:start center;overflow:auto;padding:88px 16px 24px;background:#181c1e6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal{width:min(760px,100%);overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 24px 70px #0020453d}.event-form-card{position:relative;border:1px solid rgba(196,198,207,.64)}.event-form-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:12px 0 0 12px;background:var(--primary)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px 16px 26px;border-bottom:1px solid var(--surface-container)}.modal-head h2{margin:0 0 3px;font-size:24px;line-height:32px}.modal-head p:last-child{margin-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px 22px 22px 26px}.form-field{display:flex;min-width:0;flex-direction:column;gap:6px;transition:transform .18s ease}.form-field:focus-within{transform:scale(1.01)}.form-field.wide{grid-column:1 / -1}.field-label{color:var(--on-surface-variant);font-size:12px;font-weight:800;line-height:16px}.input-shell{position:relative;display:flex;align-items:center;min-height:46px;border:1px solid var(--outline-variant);border-radius:8px;background:var(--surface-low);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.input-shell:focus-within{border-color:var(--primary);background:#fff;box-shadow:0 0 0 1px var(--primary)}.input-shell>.material-symbols-outlined{position:absolute;left:12px;color:var(--on-surface-variant);font-size:20px;pointer-events:none}.input-shell input,.input-shell select,.input-shell textarea{width:100%;min-height:44px;border:0;background:transparent;color:var(--on-surface);outline:none;padding:10px 12px}.input-shell>.material-symbols-outlined+input,.input-shell>.material-symbols-outlined+select,.input-shell>.material-symbols-outlined+textarea{padding-left:40px}.input-shell.textarea{align-items:flex-start}.input-shell.textarea>.material-symbols-outlined{top:12px}.input-shell textarea{min-height:96px;resize:vertical}.segmented-options{display:flex;min-height:46px;gap:8px;flex-wrap:wrap}.segmented-options button{min-height:40px;flex:1 1 92px;border:1px solid var(--outline-variant);border-radius:8px;background:var(--surface-low);color:var(--on-surface-variant);padding:0 12px;font-size:12px;font-weight:800}.segmented-options button.selected{border-color:var(--primary);background:var(--primary-fixed);color:var(--primary)}.form-field.check{min-height:46px;flex-direction:row;align-items:center;justify-content:space-between;border:1px solid var(--outline-variant);border-radius:8px;background:var(--surface-low);padding:0 12px}.form-field.check input{width:18px;height:18px;accent-color:var(--primary)}.modal-actions{display:flex;justify-content:flex-end;gap:14px;padding:16px 22px 20px 26px;border-top:1px solid var(--surface-container)}.ghost-button{min-height:40px;border:0;border-radius:999px;background:transparent;color:var(--on-surface-variant);padding:0 14px;font-weight:700}.ghost-button:hover{background:var(--surface-low);color:var(--primary)}@media(min-width:900px){.app-shell{padding-bottom:32px}.top-app-bar{justify-content:center;padding:0 24px}.brand-block{position:absolute;left:74px;text-align:left}.brand-block h1{max-width:280px}.top-app-bar>.icon-button:first-child{position:absolute;left:18px}.top-app-bar>.icon-button:last-child{position:absolute;right:18px}.desktop-tabs{display:flex;align-items:center;gap:4px;height:100%}.desktop-tabs button{height:44px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;background:transparent;color:var(--on-surface-variant);padding:0 10px;font-size:12px;font-weight:800}.desktop-tabs button.active{background:var(--primary-fixed);color:var(--primary)}.desktop-tabs .material-symbols-outlined{font-size:18px}.bottom-nav{display:none}.main-canvas{width:min(100%,920px);padding-top:24px}.main-canvas.calendar-canvas{width:min(100%,1100px)}.hero-card{min-height:168px}.transport-visual{min-height:210px}}@media(max-width:720px){.main-canvas{padding-left:16px;padding-right:16px}.brand-block h1{font-size:18px}.section-head{align-items:flex-start}.section-head h2{font-size:22px;line-height:30px}.focus-panel{min-height:104px;padding:16px}.timeline-card{grid-template-columns:1fr auto}.time-block{grid-column:1 / -1;display:flex;align-items:baseline;gap:8px}.time-block span{display:inline;margin:0}.summary-grid,.home-summary-grid,.home-meta-grid,.risk-grid,.checklist-grid,.links-layout{grid-template-columns:1fr}.timeline-toolbar{grid-template-columns:1fr;align-items:flex-start}.settings-card{grid-template-columns:1fr 1fr}.settings-card>div,.settings-card .primary-button{grid-column:1 / -1}.settings-card input{width:100%}.list-row{grid-template-columns:minmax(0,1fr) auto}.list-row .card-actions.inline{grid-column:1 / -1;justify-content:flex-start}.segment-grid{grid-template-columns:1fr}.link-card{grid-template-columns:auto minmax(0,1fr)}.link-card .card-actions{grid-column:2;justify-content:flex-start}}@media(max-width:520px){.app-shell{padding-bottom:104px}.top-app-bar{padding:0 10px;gap:6px}.brand-kicker{display:none}.brand-block h1{max-width:58vw;font-size:17px}.main-canvas{padding:16px 14px 8px}.action-pair{width:100%;justify-content:flex-start}.calendar-date-strip{padding:12px}.calendar-strip-head{align-items:flex-start}.calendar-nav-actions{width:100%;justify-content:flex-start}.calendar-size-toggle{max-width:100%;overflow-x:auto}.calendar-size-toggle button{padding:0 8px}.calendar-scroll{min-height:480px;max-height:calc(100dvh - 286px)}.detail-grid{grid-template-columns:1fr}.calendar-detail-body{padding:16px 16px 18px 20px}.itinerary-controls{display:grid}.control-row{align-items:flex-start}.row-side{min-width:88px}.row-side strong{font-size:13px}.bottom-nav button{min-width:42px}.bottom-nav small{font-size:9px}.bottom-nav .material-symbols-outlined{font-size:22px}.modal-backdrop{padding:72px 10px 18px}.form-grid{grid-template-columns:1fr;padding:16px 16px 18px 20px}.modal-head{padding:16px 16px 14px 20px}.modal-actions{padding:14px 16px 16px 20px;flex-wrap:wrap}.segmented-options button{flex-basis:82px}}
