:root{--ink:#19372f;--muted:#61726b;--green:#08785b;--green-dark:#075341;--soft:#eaf4ee;--bg:#f4f6f2;--line:#dce5df;--amber:#805612;--amber-bg:#fff7e8;--radius:22px;--shadow:0 8px 32px #17362b08;--sidebar:236px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #b66b14;outline-offset:4px}h1,h2,h3,h4,p{margin:0}h1{font-size:40px;line-height:1.12;letter-spacing:-1.6px;font-weight:730}h2{font-size:25px;line-height:1.25;letter-spacing:-.65px}h3{font-size:18px;line-height:1.35;letter-spacing:-.2px}h4{font-size:15px}small,.small{font-size:12px;line-height:1.5}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.65px;text-transform:uppercase}.icon{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}.icon.sm{width:15px;height:15px}.sr-only{position:absolute!important;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-link{position:fixed;top:-100px;left:12px;z-index:500;padding:12px;background:#fff;border:2px solid var(--green)}.skip-link:focus{top:10px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 18px 20px;z-index:30;overflow-y:auto}.brand{display:flex;align-items:center;gap:11px;margin:0 12px 34px}.brand-mark{width:37px;height:42px;border-radius:11px;background:var(--green);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.brand-mark .icon{width:23px;height:23px}.brand strong{font-size:23px;letter-spacing:1px;font-weight:750;line-height:1.1}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:1px;margin-top:4px}.nav-label{margin:10px 14px;color:#718078}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:12px;color:#607168;font-size:13px;font-weight:600;margin-bottom:4px;min-height:46px}.nav-link:hover{background:#f6f8f5}.nav-link.active{background:var(--soft);color:var(--green-dark)}.nav-link .icon{width:18px;height:18px}.nav-count{margin-left:auto;font-size:10px;border:1px solid var(--line);padding:1px 5px;border-radius:5px;white-space:nowrap}.sidebar-days{margin:13px 13px 26px;padding-top:14px;border-top:1px solid var(--line)}.side-day{display:flex;align-items:center;gap:11px;min-height:34px;margin:4px 0;font-size:12px;color:var(--muted)}.side-day .tiny-day{border:1px solid var(--line);border-radius:7px;width:27px;height:27px;text-align:center;line-height:25px;font-size:10px;background:#fff}.side-day.active{color:var(--green);font-weight:700}.side-day.active .tiny-day{background:var(--green);border-color:var(--green);color:#fff}.sidebar-bottom{margin-top:auto;padding:18px 13px 0;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.sidebar-bottom .version-pill{display:inline-block;background:#f0f3ef;padding:3px 7px;border-radius:5px;margin-bottom:8px}.app{margin-left:var(--sidebar);min-height:100vh;min-width:0}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 38px;border-bottom:1px solid var(--line);background:#f4f6f2f5;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.top-heading{display:flex;align-items:center;gap:12px;min-width:0}.top-heading b{font-size:13px;white-space:nowrap}.top-heading span{font-size:11px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.language-switch{display:flex;padding:3px;background:#e9eeE8;border-radius:9px}.language-switch button{border:0;background:transparent;color:var(--muted);border-radius:6px;padding:7px 10px;min-height:36px;font-size:11px;font-weight:750}.language-switch button.active{color:var(--green-dark);background:#fff;box-shadow:0 1px 4px #173d2420}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}.mobile-brand{display:none}.content{max-width:1510px;margin:auto;padding:28px 38px 42px}.preview-banner{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;border:1px solid #e9d8b5;background:var(--amber-bg);color:var(--amber);font-size:12px;border-radius:12px;margin-bottom:23px}.preview-banner .icon{margin-top:1px;width:16px;height:16px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 212px;gap:28px;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(116deg,#0b483a,#07664f);color:#fff;padding:36px 37px;border-radius:24px;margin-bottom:32px;box-shadow:var(--shadow)}.hero:after{content:'';position:absolute;right:120px;top:-105px;z-index:-1;width:550px;height:550px;border-radius:50%;border:1px solid #ffffff13;box-shadow:0 0 0 44px #ffffff04,0 0 0 90px #ffffff04}.hero .eyebrow{color:#b2d4bd;margin-bottom:20px}.hero h1{font-size:42px;max-width:600px;white-space:pre-line}.hero p{color:#d7e8df;font-size:13px;line-height:1.75;max-width:530px;margin:17px 0 23px}.hero-stats{border-left:1px solid #ffffff24;padding:3px 0 0 28px;display:flex;flex-direction:column;justify-content:center;gap:21px}.hero-stat{display:flex;align-items:center;gap:15px}.hero-stat strong{font-size:35px;font-weight:500;letter-spacing:-1px;line-height:1}.hero-stat span{font-size:11px;color:#d1e3d8}.hero-stat small{display:block;font-size:9px;color:#a5cabb;margin-top:3px;letter-spacing:1px}.btn{border:1px solid var(--line);border-radius:10px;padding:10px 15px;background:#fff;color:var(--ink);font-size:12px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;line-height:1.35;text-align:center}.btn:hover{background:#f3f7f4;border-color:#bfcec4}.btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.btn.primary:hover{background:var(--green-dark)}.btn.hero-btn{background:#d7edbb;color:#163b2c;border-color:#d7edbb}.btn.ghost{background:transparent;border-color:#ffffff44;color:#fff}.btn.ghost:hover{background:#ffffff11}.btn.subtle{background:transparent;border-color:transparent;padding-left:0;color:var(--green)}.btn.small{min-height:34px;padding:7px 10px;font-size:11px}.btn.danger{color:#9b3a35;background:#fff8f7;border-color:#e8c4c1}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.section-head p{font-size:13px;margin-top:7px;color:var(--muted);max-width:650px}.section-head .eyebrow{color:var(--green);margin-bottom:10px}.week-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:31px}.day-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:19px;padding:22px 20px 15px;box-shadow:var(--shadow);transition:transform .18s,border-color .18s;min-width:0}.day-card:hover{transform:translateY(-3px);border-color:#a8c5b4}.day-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:8px}.day-number{color:var(--green);border:1px solid #cfe2d7;background:#f2f8f2;width:44px;height:44px;border-radius:12px;font-size:19px;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:-.7px}.day-date{font-size:10px;text-align:right;line-height:1.7;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.day-date b{font-size:13px;color:var(--ink);display:block;letter-spacing:0;text-transform:none}.day-card h3{font-size:20px;margin:3px 0 3px}.day-card .city{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:4px}.card-events{padding:14px 0 17px;display:flex;flex-direction:column;gap:14px;flex:1}.card-event{padding-left:11px;border-left:2px solid #c8dfd1;min-width:0}.card-event .time{font-size:10px;color:var(--green-dark);font-weight:750;letter-spacing:.15px}.card-event .name{font-size:12px;font-weight:620;margin-top:4px;line-height:1.45}.card-footer{border-top:1px solid #e8ede8;padding-top:13px;display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:650;color:var(--green);gap:10px}.card-footer .count{color:var(--muted);font-weight:400;font-size:10px}.hotel-card{background:#eaf0e8;border-color:#d5e0d3}.hotel-card:hover{transform:none}.hotel-card .hotel-symbol{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #c6d9c7;border-radius:12px;color:var(--green);margin-bottom:16px}.hotel-card h3{margin-bottom:11px;font-size:22px;line-height:1.25}.hotel-card p{font-size:12px;color:var(--muted)}.hotel-card .hotel-address{margin:12px 0 18px;color:var(--ink);font-size:12px}.hotel-card .card-footer{margin-top:auto}.objective-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin:28px 0}.objective-grid .eyebrow{color:var(--green);margin-bottom:12px}.objective-grid p{font-size:13px;color:var(--muted);margin-top:15px}.objectives{display:grid;gap:13px}.objective-item{display:flex;gap:12px;align-items:flex-start;font-size:12px;line-height:1.6}.objective-item .step-dot{display:flex;flex:0 0 26px;align-items:center;justify-content:center;width:26px;height:26px;background:var(--soft);color:var(--green);border-radius:8px;font-size:10px;font-weight:700}.note{display:flex;align-items:flex-start;gap:11px;border-radius:12px;padding:15px 17px;background:#eef3ef;border:1px solid #dbe7de;font-size:12px;line-height:1.6}.note .icon{margin-top:2px;width:18px;height:18px}.note strong{display:block;margin-bottom:3px;font-size:12px}.note.warning{background:var(--amber-bg);border-color:#e9d8b5;color:var(--amber)}.note.local{background:#edf3f5;border-color:#d5e3e8;color:#375b68}.note + .note{margin-top:12px}.page-head{margin:6px 0 27px}.page-head .eyebrow{color:var(--green);margin-bottom:12px}.page-head h1{font-size:35px;margin-bottom:13px}.page-head p{font-size:13px;color:var(--muted);max-width:760px}.day-tabs{display:flex;gap:9px;overflow-x:auto;padding:3px 2px 12px;scrollbar-width:thin;margin-bottom:20px}.day-tab{min-width:114px;flex:1;display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:10px;white-space:nowrap}.day-tab strong{font-size:18px;line-height:1;color:var(--ink);font-weight:650}.day-tab span b{display:block;font-weight:650;font-size:11px}.day-tab.active{background:var(--green-dark);color:#c6e0d1;border-color:var(--green-dark)}.day-tab.active strong,.day-tab.active b{color:#fff}.day-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:18px 0 24px}.day-header h1{font-size:34px;margin:8px 0 9px}.day-header p{color:var(--muted);font-size:13px}.tag{display:inline-flex;align-items:center;gap:5px;font-size:10px;line-height:1.4;padding:5px 8px;border-radius:6px;max-width:100%;background:var(--soft);color:var(--green-dark);font-weight:650;vertical-align:middle}.tag.pending{background:#f2f0e9;color:#75674b}.tag.local-tag{background:#eef3f5;color:#416674}.timeline-tools{display:flex;justify-content:space-between;align-items:center;margin:24px 0 18px;gap:15px}.timeline-tools .eyebrow{color:var(--muted)}.timeline{position:relative;margin:0 0 24px 20px;padding-left:27px;display:flex;flex-direction:column;gap:15px}.timeline:before{position:absolute;content:'';left:0;top:10px;bottom:24px;width:1px;background:#cbdacf}.timeline-block{position:relative;min-width:0}.timeline-block:before{content:'';position:absolute;left:-32px;top:24px;width:11px;height:11px;background:#a0bda9;border:3px solid var(--bg);border-radius:50%;z-index:2}.timeline-block.host:before{width:13px;height:13px;left:-33px;background:var(--green);border-color:#dce9df;box-shadow:0 0 0 4px var(--bg)}.travel-block{background:#edf1eb;border:1px solid #dde5da;border-radius:14px;padding:14px 18px}.travel-block.walking{background:#eff5e9}.travel-block.meal{background:#fffdf7;border-color:#e8e2d5}.travel-title{display:flex;gap:11px;align-items:center}.travel-title .icon{color:#64836e;width:18px;height:18px}.travel-title h3{font-size:12px;flex:1;line-height:1.5}.travel-title .time{font-size:11px;font-weight:750;white-space:nowrap;color:var(--ink)}.travel-detail{font-size:11px;color:var(--muted);margin-top:6px;margin-left:29px;line-height:1.65}.travel-feedback{margin:10px 0 0 29px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--green)}.travel-feedback .btn{background:#fff;font-size:10px;min-height:33px;padding:6px 10px}.event-card{border:1px solid var(--line);background:#fff;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.event-card[open]{border-color:#bad0c3}.event-summary{list-style:none;cursor:pointer;padding:22px 24px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.event-summary::-webkit-details-marker{display:none}.event-summary .pre-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:9px}.event-summary .event-time{font-size:12px;font-weight:750;letter-spacing:.2px}.event-summary h2{font-size:21px;line-height:1.3;letter-spacing:-.45px}.event-summary .org-full{font-size:11px;margin-top:5px;color:var(--muted)}.event-summary .event-where{font-size:12px;color:var(--muted);margin-top:8px;display:flex;gap:6px;align-items:flex-start}.event-summary .chevron{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);display:flex;justify-content:center;align-items:center;transition:transform .15s}.event-card[open] .chevron{transform:rotate(180deg)}.event-content{padding:0 24px 24px;border-top:1px solid #e8ede8}.event-content .event-note{margin-top:17px;font-size:12px;color:var(--muted)}.visit-info{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin:20px 0 23px;padding:18px;border-radius:12px;background:#f5f7f3}.visit-info .eyebrow{color:var(--muted);font-size:9px;letter-spacing:1.2px;margin-bottom:7px}.visit-info .value{font-size:12px;font-weight:650;line-height:1.6}.visit-info .address{font-size:12px;margin-top:5px;color:var(--muted)}.visit-info .actions{margin-top:9px;gap:6px}.visit-info .entry-note{font-size:11px;color:var(--muted);margin:5px 0 15px}.programme-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.programme-head h3{font-size:15px}.untimed{font-size:10px;color:var(--muted);margin:-4px 0 15px}.topics{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:16px;counter-reset:topic}.topic{display:flex;gap:13px}.topic-index{border:1px solid #d7e5da;color:var(--green);border-radius:8px;width:29px;height:29px;flex:0 0 29px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;margin-top:1px}.topic h4{font-size:13px;line-height:1.5}.topic p{font-size:12px;line-height:1.75;color:var(--muted);margin-top:5px}.pending-programme{border:1px dashed #d7dfd7;border-radius:12px;padding:16px;display:flex;gap:11px;align-items:flex-start;font-size:12px;color:var(--muted);margin-bottom:18px}.pending-programme b{display:block;color:var(--ink);font-size:12px;margin-bottom:4px}.event-feedback{border-radius:12px;background:#eaf4ec;padding:15px;display:flex;justify-content:space-between;align-items:center;gap:17px;margin-top:22px}.event-feedback p{font-size:11px;line-height:1.5;max-width:400px}.event-feedback .btn{font-size:11px;white-space:nowrap}.page-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.local-banner{margin-bottom:24px}.progress-card{padding:18px 22px;background:#fff;border:1px solid var(--line);border-radius:15px;display:flex;align-items:center;gap:24px;margin:22px 0}.progress-card strong{font-size:27px;line-height:1;letter-spacing:-1px;white-space:nowrap}.progress-card span{font-size:11px;color:var(--muted)}.progress-track{height:5px;border-radius:4px;background:#e7ede7;flex:1;overflow:hidden}.progress-fill{height:100%;background:var(--green);border-radius:4px}.feedback-list{display:flex;flex-direction:column;gap:12px}.feedback-row{padding:20px;border:1px solid var(--line);border-radius:15px;background:#fff;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:18px}.feedback-row h3{font-size:15px}.feedback-row .small{font-size:11px;color:var(--muted);margin:4px 0 8px}.feedback-row .day-number{width:40px;height:40px;font-size:15px}.survey{max-width:860px;margin:0 auto}.survey-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px}.survey-head{margin:12px 0 22px}.survey-head h1{font-size:30px;margin:9px 0 11px}.survey-head p{font-size:12px;color:var(--muted)}.survey-card{padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;margin-bottom:18px}.survey-card h2{font-size:20px}.survey-card .hint{font-size:12px;color:var(--muted);margin:9px 0 16px}.attendance-field{margin:0;padding:0;border:0}.attendance-field legend{font-size:15px;font-weight:700;margin-bottom:12px}.attendance-options{display:flex;gap:12px;flex-wrap:wrap}.attendance-options label{font-size:12px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:11px 15px;cursor:pointer}.attendance-options label:has(input:checked){background:var(--soft);border-color:#7fb39a;color:var(--green-dark)}.attendance-options input{accent-color:var(--green);width:16px;height:16px;margin:0}.score-scale-legend{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;font-size:10px;color:var(--muted);border-radius:8px;background:#f4f7f3;padding:10px 12px;margin:13px 0 20px}.question{margin:0;padding:18px 0;border:0;border-top:1px solid #e8ede8;min-width:0}.question legend{float:left;width:100%;font-size:13px;font-weight:650;margin:0 0 12px;padding:0}.question legend .qno{color:var(--green);font-size:10px;margin-right:8px;font-weight:750}.radio-scale{clear:both;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;max-width:530px}.radio-option{position:relative;cursor:pointer;min-width:0}.radio-option input{position:absolute;opacity:0;width:1px;height:1px}.radio-option span{display:flex;align-items:center;justify-content:center;height:45px;border:1px solid #cddad0;border-radius:10px;background:#fff;color:#46634f;font-size:13px;font-weight:650}.radio-option input:checked+span{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 2px 4px #004e3c1c}.radio-option input:focus-visible+span{outline:3px solid #b66b14;outline-offset:3px}.radio-option span:hover{background:#eff6ee}.question.invalid{background:#fff8f3;margin:0 -10px;padding:18px 10px;border-radius:10px}.field-error{font-size:11px;color:#964130;margin-top:8px;clear:both}.comment-field{display:block;margin-top:20px;font-size:13px;font-weight:600}.comment-field .optional{display:block;font-size:10px;font-weight:400;color:var(--muted);margin:4px 0 8px}.comment-field textarea{display:block;resize:vertical;width:100%;min-height:104px;border:1px solid #cfdbd1;border-radius:10px;padding:12px;font-size:13px;color:var(--ink);background:#fcfdfa;line-height:1.6}.comment-counter{font-size:10px;font-weight:400;color:var(--muted);display:block;text-align:right;margin-top:4px}.survey-footer{position:sticky;bottom:12px;background:#ffffffef;backdrop-filter:blur(8px);padding:15px 18px;border:1px solid #c7dbcd;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:10;box-shadow:0 6px 24px #12351b12}.survey-footer .status{max-width:350px;font-size:10px;color:var(--muted)}.survey-footer .actions{flex-shrink:0}.success-box{margin:14px 0 20px;background:#e5f3e8;color:#20583e;border:1px solid #b2d7bf;border-radius:14px;padding:20px;font-size:12px}.success-box h3{font-size:17px;margin-bottom:8px}.success-box .actions{margin-top:13px}.error-box{color:#953f30;background:#fff3ed;border:1px solid #ecc9ba;padding:14px;border-radius:10px;font-size:12px;margin:15px 0}.practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:25px}.panel{border:1px solid var(--line);border-radius:18px;background:#fff;padding:26px;min-width:0}.panel .eyebrow{color:var(--green);margin-bottom:12px}.panel h2{margin-bottom:13px;font-size:24px}.panel p{color:var(--muted);font-size:13px;margin:10px 0 15px}.panel .address{color:var(--ink);font-size:15px;font-weight:550;margin:12px 0 18px}.address-list{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.address-row{padding:19px 23px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid var(--line)}.address-row:last-child{border:0}.address-row b{font-size:13px;display:block}.address-row p{color:var(--muted);font-size:12px;margin-top:4px}.address-row .small{color:var(--green);font-size:10px;display:block;margin-bottom:4px}.insight-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:24px 0 16px;flex-wrap:wrap}.segmented{display:flex;align-items:center;background:#e8eee7;padding:4px;border-radius:10px;gap:4px}.segmented button{border:0;border-radius:7px;padding:9px 14px;min-height:39px;background:transparent;font-size:12px;color:var(--muted);font-weight:600}.segmented button.active{color:var(--green-dark);background:#fff;box-shadow:0 2px 5px #172d1710}.insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}.stat-card{padding:20px;background:#fff;border:1px solid var(--line);border-radius:15px;min-width:0}.stat-card strong{font-size:30px;line-height:1.25;font-weight:650;display:block;letter-spacing:-1px}.stat-card span{font-size:11px;color:var(--muted);display:block;margin-top:8px}.charts-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:20px;margin:20px 0}.score-row{margin:14px 0}.score-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;font-size:11px;margin-bottom:6px}.score-header .score-value{white-space:nowrap;font-weight:600}.score-header .score-value small{color:var(--muted);font-size:9px;font-weight:400;margin-left:5px}.score-bar{background:#edf1eb;border-radius:3px;height:5px;overflow:hidden}.score-bar span{display:block;height:100%;background:#419777;border-radius:3px}.insight-table-wrap{overflow:auto}.insight-table{border-collapse:collapse;width:100%;font-size:11px}.insight-table th{padding:9px 8px;text-align:left;font-size:9px;color:var(--muted);font-weight:550;border-bottom:1px solid var(--line)}.insight-table th:first-child,.insight-table td:first-child{padding-left:0}.insight-table td{padding:12px 8px;border-bottom:1px solid #e7ede7;vertical-align:top}.insight-table tr:last-child td{border-bottom:0}.insight-table td small{display:block;color:var(--muted);font-size:10px}.insight-table td.num{white-space:nowrap;font-variant-numeric:tabular-nums}.empty-state{border:1px dashed var(--line);padding:23px;color:var(--muted);font-size:13px;border-radius:12px;text-align:center;margin:15px 0}.reflection{border-bottom:1px solid var(--line);padding:15px 0}.reflection:last-child{border:0}.reflection b{font-size:12px}.reflection p{font-size:12px;color:var(--muted);margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}.reflection small{color:var(--green);font-size:10px;display:block}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}.issue-item{padding:16px 0;border-bottom:1px solid var(--line)}.issue-item:last-child{border:0}.issue-item h3{font-size:14px}.issue-item p{color:var(--muted);font-size:12px;margin-top:5px}.file-ref{display:block;padding:12px 14px;border-radius:10px;background:#f4f7f2;font:11px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;margin:12px 0;overflow-wrap:anywhere}.app-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:20px 0 0;margin-top:34px;font-size:10px;color:var(--muted)}.app-footer .footer-right{text-align:right;font-size:10px}.bottom-nav{display:none}.toast{position:fixed;bottom:25px;left:calc(50% + 118px);transform:translateX(-50%);max-width:700px;padding:14px 22px;border-radius:12px;background:#153f31;color:#fff;box-shadow:0 8px 35px #12351b40;z-index:200;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}dialog{padding:0;max-width:500px;width:calc(100% - 34px);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 70px #0003;color:var(--ink);background:#fff}dialog::backdrop{background:#0e2b2166;backdrop-filter:blur(2px)}.dialog-content{padding:28px}.dialog-content h2{font-size:24px}.dialog-content p{font-size:13px;color:var(--muted);margin:15px 0 25px}#print-root{display:none}main:focus{outline:0}.not-found{padding:40px}.no-js{margin:30px;padding:30px;border:1px solid var(--amber);background:var(--amber-bg);border-radius:15px}
@media(min-width:1550px){.content{padding-top:32px}.hero{padding:44px}.hero h1{font-size:47px}.day-card{padding:24px}.week-grid{gap:21px}.card-event .name{font-size:13px}}
@media(max-width:1250px){:root{--sidebar:214px}.sidebar{padding-left:13px;padding-right:13px}.content{padding:23px 27px 36px}.topbar{padding:0 27px}.top-heading span{display:none}.hero{grid-template-columns:minmax(0,1fr) 145px;padding:30px;gap:20px}.hero h1{font-size:36px}.hero-stats{padding-left:20px}.hero-stat{gap:10px}.hero-stat strong{font-size:29px}.hero-stat span{font-size:10px}.day-card{padding:18px 16px 15px}.day-card h3{font-size:18px}.card-event .name{font-size:11px}.charts-grid{grid-template-columns:1fr}.day-header h1{font-size:30px}.toast{left:calc(50% + 107px)}}
@media(max-width:1000px){.sidebar{display:none}.app{margin-left:0}.content{padding:23px 27px 108px}.topbar{height:70px;padding:0 27px;background:#f8faf6f5}.top-heading{display:none}.mobile-brand{display:flex;align-items:center;gap:8px;font-size:15px;letter-spacing:.4px;font-weight:750}.mobile-brand .brand-mark{width:29px;height:32px;border-radius:8px}.mobile-brand .icon{width:20px;height:20px}.mobile-brand small{font-size:8px;display:block;color:var(--muted);font-weight:500;letter-spacing:.4px;line-height:1.4}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fffffff5;backdrop-filter:blur(9px);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom));justify-content:space-around}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px;color:var(--muted);padding:7px 9px;border-radius:10px;min-width:55px;min-height:52px}.bottom-nav a.active{color:var(--green-dark);background:var(--soft)}.bottom-nav .icon{width:18px;height:18px}.toast{left:50%;bottom:95px;width:max-content;max-width:calc(100% - 40px)}.survey-footer{bottom:80px}.day-tab{min-width:110px}.app-footer{margin-top:27px}.hero{grid-template-columns:1fr 165px}.charts-grid{grid-template-columns:1fr 1.1fr}.top-actions{gap:7px}}
@media(max-width:760px){.content{padding:18px 18px 100px}.topbar{padding:0 18px}.hero{display:flex;flex-direction:column;padding:29px 24px;gap:26px;margin-bottom:26px}.hero h1{font-size:35px;letter-spacing:-1.3px}.hero .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:16px}.hero p{font-size:12px;margin:14px 0 19px}.hero-stats{border-left:0;border-top:1px solid #ffffff24;padding:21px 0 0;flex-direction:row;justify-content:space-between;gap:13px}.hero-stat{gap:9px}.hero-stat strong{font-size:28px}.hero-stat span{font-size:10px}.hero-stat small{font-size:8px;letter-spacing:.4px}.hero .btn{font-size:11px;padding:10px 12px}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.day-card h3{font-size:18px}.card-event .name{font-size:12px}.section-head h2{font-size:24px}.section-head p{font-size:12px}.objective-grid{grid-template-columns:1fr;padding:23px;gap:22px}.objective-grid h2{font-size:25px}.charts-grid{grid-template-columns:1fr}.practical-grid,.about-grid{grid-template-columns:1fr}.preview-banner{font-size:11px;padding:11px 13px;margin-bottom:18px}.day-header{align-items:flex-start;gap:13px}.day-header h1{font-size:28px}.day-header .actions{justify-content:flex-end}.day-header p{font-size:12px}.timeline{margin-left:10px;padding-left:18px;gap:13px}.timeline-block:before{left:-23px;width:10px;height:10px}.timeline-block.host:before{left:-24px;width:12px;height:12px}.event-summary{padding:18px;gap:10px}.event-summary h2{font-size:18px}.event-summary .tag{font-size:9px}.event-content{padding:0 18px 18px}.visit-info{grid-template-columns:1fr;padding:14px;gap:16px}.visit-info>div+div{padding-top:13px;border-top:1px solid var(--line)}.event-feedback{flex-direction:column;align-items:flex-start;padding:13px;gap:12px}.event-feedback .btn{width:100%}.travel-block{padding:12px 13px}.travel-title{flex-wrap:wrap;gap:7px}.travel-title h3{font-size:11px;flex-basis:calc(100% - 28px)}.travel-title .time{margin-left:25px;font-size:10px}.travel-detail,.travel-feedback{margin-left:25px}.travel-feedback .btn{font-size:10px}.feedback-row{grid-template-columns:36px 1fr;gap:12px;padding:17px}.feedback-row>.btn{grid-column:2;justify-self:start;font-size:11px;min-height:36px}.feedback-row h3{font-size:14px}.feedback-row .day-number{width:35px;height:35px;font-size:13px}.survey-card{padding:22px 20px}.survey-head h1{font-size:28px}.survey-footer{flex-direction:column;align-items:stretch;gap:10px;padding:12px 15px}.survey-footer .actions{justify-content:space-between}.survey-footer .status{max-width:none;font-size:10px}.survey-footer .btn{font-size:11px;min-height:40px}.survey-top .btn{font-size:11px}.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.address-row{flex-direction:column;align-items:flex-start;gap:12px;padding:18px 20px}.panel{padding:23px}.page-head h1{font-size:32px}.page-head p{font-size:12px}.app-footer{align-items:flex-start;font-size:9px;flex-direction:column;gap:7px}.app-footer .footer-right{text-align:left}.progress-card{gap:14px;padding:17px}.progress-card strong{font-size:25px}.progress-card span{font-size:10px}.note{padding:13px;font-size:11px}.note strong{font-size:11px}.timeline-tools .eyebrow{font-size:9px;letter-spacing:1px}.timeline-tools .btn{font-size:10px}.hero-stat{align-items:center}.top-actions .icon-button{width:35px;height:35px}.language-switch button{padding:6px 8px;font-size:10px;min-height:32px}.top-actions{gap:6px}.page-bottom .btn{font-size:11px;padding:9px 10px}}
@media(max-width:440px){.content{padding:16px 15px 100px}.topbar{padding:0 15px;height:65px}.hero{padding:25px 21px;border-radius:20px}.hero h1{font-size:31px;letter-spacing:-1.15px}.hero-stats{gap:12px}.hero-stat{flex-direction:column;align-items:flex-start;gap:6px}.hero-stat strong{font-size:28px}.hero-stat span{font-size:10px}.hero-stat small{display:none}.hero .actions{gap:9px}.hero .btn{width:100%}.hero .btn.ghost{display:none}.week-grid{grid-template-columns:1fr}.day-card{padding:20px 20px 16px}.day-card-head{margin-bottom:10px}.day-card h3{font-size:22px}.day-card .city{font-size:12px}.card-events{padding:15px 0 19px;gap:15px}.card-event .name{font-size:13px}.card-event .time{font-size:11px}.day-number{width:45px;height:45px;font-size:22px}.day-date b{font-size:14px}.hotel-card h3{font-size:23px}.day-header{flex-direction:column}.day-header .actions{justify-content:flex-start}.day-header h1{font-size:28px}.day-tabs{gap:8px}.day-tab{min-width:108px;padding:11px}.page-head h1{font-size:29px}.radio-scale{gap:6px}.radio-option span{height:45px;font-size:12px;border-radius:8px}.survey-card{padding:20px 17px}.question legend{font-size:12px}.survey-footer .btn{padding:10px;font-size:10px}.event-summary h2{font-size:18px}.event-summary .pre-title{gap:7px}.event-summary .event-time{font-size:11px}.event-summary .event-where{font-size:11px}.survey-top .btn{font-size:10px}.bottom-nav a{padding:7px 6px;font-size:9px}.bottom-nav .icon{width:18px;height:18px}.app-footer{font-size:9px}.mobile-brand{font-size:14px;gap:7px}.mobile-brand small{font-size:7px}.mobile-brand .brand-mark{width:26px;height:30px}.top-actions .icon-button.print-button{display:none}.preview-banner{font-size:10px}.insight-controls .segmented{width:100%}.insight-controls .segmented button{flex:1;font-size:11px}.insight-controls .actions{width:100%}.insight-controls .actions .btn{flex:1}.stat-card{padding:17px}.stat-card strong{font-size:28px}.stat-card span{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{
 @page{size:A4;margin:14mm 14mm 13mm}
 html{scroll-behavior:auto}
 body{background:#fff!important;color:#19372f!important;font-family:Arial,'Segoe UI',sans-serif;font-size:9pt;line-height:1.32;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 body>*:not(#print-root){display:none!important}
 #print-root{display:block!important;width:182mm}
 #print-root *{box-sizing:border-box}
 #print-root .print-sheet{min-height:266mm;display:flex;flex-direction:column;break-after:page;break-inside:avoid}
 #print-root .print-sheet:last-child{break-after:auto}
 #print-root .print-running{display:flex;align-items:center;justify-content:space-between;border-bottom:1.3pt solid #08785b;padding-bottom:6pt;margin-bottom:10pt;font-size:8pt;letter-spacing:.5pt;color:#61726b}
 #print-root .print-running strong{font-size:14pt;letter-spacing:1.8pt;color:#075341}
 #print-root .eyebrow{font-size:8pt;font-weight:700;letter-spacing:1pt;text-transform:uppercase;color:#61726b}
 #print-root h1{font-size:24pt;letter-spacing:-.7pt;line-height:1.08;margin:3pt 0;color:#075341}
 #print-root h2{font-size:13pt;letter-spacing:0;line-height:1.28;font-weight:600;margin:5pt 0 7pt}
 #print-root h3{font-size:11pt;letter-spacing:0;line-height:1.3;margin:0 0 4pt;color:#19372f}
 #print-root p{font-size:9pt;margin:3pt 0 5pt;line-height:1.35}
 #print-root small{font-size:8pt;line-height:1.3;color:#61726b}
 #print-root a{color:#075341;text-decoration:underline;overflow-wrap:anywhere}
 #print-root .print-preview{font-size:9pt;background:#fff7e8;border-left:2.5pt solid #a77822;padding:10pt 12pt;margin:10pt 0 12pt;color:#71551d;line-height:1.4}
 #print-root .cover-intro{padding-top:0}
 #print-root .cover-intro h1{font-size:34pt;max-width:420pt;margin:9pt 0}
 #print-root .cover-intro h2{font-size:15pt;max-width:430pt}
 #print-root .cover-intro p{color:#61726b;font-size:11pt;margin-top:10pt}
 #print-root .cover-section-title{margin:4pt 0 10pt}
 #print-root .cover-day{display:grid;grid-template-columns:96pt 1fr;gap:10pt;border-bottom:.65pt solid #dce5df;padding:7pt 0;break-inside:avoid}
 #print-root .cover-day-date{display:flex;gap:9pt;align-items:center}
 #print-root .cover-day-date b{font-size:16pt;color:#08785b}
 #print-root .cover-day-date span{font-size:8.5pt;text-transform:uppercase;color:#61726b}
 #print-root .cover-day p{display:flex;gap:10pt;align-items:flex-start;font-size:9pt;margin:3pt 0}
 #print-root .cover-day p b{flex:0 0 65pt;font-size:8.5pt;font-variant-numeric:tabular-nums}
 #print-root .cover-base{padding:11pt 12pt;background:#eaf4ee;border-radius:6pt;margin-top:12pt}
 #print-root .cover-base h3{font-size:10pt}
 #print-root .cover-notes{margin-top:12pt;color:#61726b}
 #print-root .cover-notes p{font-size:8pt;margin-bottom:6pt}
 #print-root .print-day-header{margin:0 0 6pt}
 #print-root .print-day-status{font-size:7.3pt;line-height:1.5;background:#eaf4ee;padding:6pt 8pt;margin:0 0 10pt;border-radius:4pt}
 #print-root .print-event,#print-root .print-line{display:grid;grid-template-columns:72pt 1fr;gap:11pt;border-bottom:.6pt solid #dce5df;padding:4pt 0;break-inside:avoid}
 #print-root .print-event{padding:6pt 0}
 #print-root .print-time{font-size:9pt;font-weight:700;line-height:1.4;white-space:normal;overflow-wrap:normal;font-variant-numeric:tabular-nums;color:#075341}
 #print-root .print-time small{display:block;font-size:7pt;font-weight:400;margin-top:2pt}
 #print-root .print-place,#print-root .print-address{font-size:8.5pt;line-height:1.35;margin-bottom:3pt;color:#61726b}
 #print-root .print-address a{font-size:8pt}
 #print-root .print-websites{font-size:8pt;margin:5pt 0;line-height:1.4}
 #print-root .print-websites a{display:inline;white-space:normal}
 #print-root .print-topics{list-style:decimal;margin:6pt 0 0;padding-left:12pt}
 #print-root .print-topics li{padding-left:2pt;margin-bottom:3pt;font-size:8.8pt;line-height:1.32;break-inside:avoid}
 #print-root .print-topics li:last-child{margin-bottom:0}
 #print-root .print-topics p{font-size:8.5pt;margin:3pt 0;line-height:1.32;color:#3d5047}
 #print-root .print-topics li strong{font-weight:600}
 #print-root .print-line .print-detail>strong{font-size:8.7pt;font-weight:600}
 #print-root .print-line p,#print-root .print-pending{font-size:8pt;color:#61726b;margin:3pt 0;line-height:1.32}
 #print-root .print-meal{background:#f5f7f2;padding:6pt 6pt}
 #print-root .print-arrival .print-time{color:#805612}
 #print-root .print-callout{border-left:2pt solid #b38d41;background:#fff7e8;padding:6pt 10pt;margin-top:8pt;break-inside:avoid}
 #print-root .print-callout strong{font-size:8.5pt;color:#805612}
 #print-root .print-callout p{font-size:8pt;margin:4pt 0 0;line-height:1.32}
 #print-root .print-day-notes{padding-top:7pt;color:#61726b}
 #print-root .print-day-notes p{font-size:7.8pt;line-height:1.3;margin-bottom:4pt}
 #print-root .sheet-footer{margin-top:auto;padding-top:10pt;display:flex;align-items:flex-end;justify-content:space-between;gap:15pt;font-size:7pt;color:#61726b;line-height:1.45}
 #print-root .sheet-footer>span:last-child{font-weight:700;white-space:nowrap}
}

.website-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.website-links .btn{max-width:100%;white-space:normal;text-align:left;overflow-wrap:anywhere}.website-directory .website-links{margin-top:18px}.print-websites a{color:#075341;text-decoration:underline}


/* Developer handover: complete JSON backup and restore controls. */
.backup-controls{margin-top:30px;padding:18px 20px;border:1px solid var(--line);border-radius:15px;background:#fff;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.backup-controls>div:first-child{flex:1 1 320px;min-width:0}
.backup-controls strong{font-size:13px}
.backup-controls p{font-size:12px;color:var(--muted);margin-top:5px;max-width:760px}
.backup-controls small{display:block;margin-top:5px;font-size:10px;color:var(--muted)}
.backup-controls .actions{flex:0 1 auto}
.backup-controls .backup-error,.backup-error{flex-basis:100%;font-size:12px;color:#8a211c;background:#fff1ef;border-radius:8px;padding:10px 12px;overflow-wrap:anywhere}
#backup-import-dialog{max-width:min(620px,calc(100vw - 32px));max-height:85vh;overflow:auto}
#backup-import-dialog strong{overflow-wrap:anywhere}
@media(max-width:480px){.backup-controls{padding:15px}.backup-controls .actions{width:100%}.backup-controls .btn{flex:1}}
@media print{.backup-controls,#backup-import-dialog,#backup-file-input{display:none!important}}

