/* Training, personal outings and verified services use the existing experience shell. */
.tn-title:has(>.xp-primary:only-child){justify-content:flex-end}
.tn-service-guide>summary{font-weight:600}.tn-service-guide>summary::after{content:'＋';margin-left:auto}.tn-service-guide[open]>summary::after{content:'−'}
.tn-home{margin:18px 0;padding:18px 0}.tn-home h2{font-size:18px;margin:0 0 12px}.tn-home-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tn-home-links button{display:flex;align-items:flex-start;flex-direction:column;gap:8px;min-height:116px;border:1px solid #dce8df;border-radius:18px;padding:14px 10px;background:#f2f8f2;text-align:left;color:#183f2c}.tn-home-links button:nth-child(2){background:#eef4f7;color:#214355}.tn-home-links button:nth-child(3){background:#faf4eb;color:#69462a}.tn-home-links svg{width:23px;height:23px}.tn-home-links b{font-size:16px}.tn-home-links span{font-size:11px;line-height:1.6;overflow-wrap:anywhere}.tn-training-hero{padding:24px 20px;border-radius:24px;background:linear-gradient(140deg,#123c31,#255f48);color:white;margin-bottom:20px}.tn-training-hero h2{font-size:28px!important;line-height:1.4!important;color:white}.tn-training-hero .xp-kicker{color:#bce3c6}.tn-training-hero p{color:#d8ecdf;line-height:1.7}.tn-training-hero .xp-secondary{background:transparent;color:#fff;border-color:#81a895;margin-left:5px}.tn-plan-meta,.tn-person,.tn-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.tn-plan-meta{flex-wrap:wrap}.tn-plan-meta span,.tn-person small{font-size:12px;color:#557260}.tn-person{padding:14px 0;border-bottom:1px solid #e6ece8}.tn-person span{min-width:0;overflow-wrap:anywhere}.tn-person small{display:block;margin-top:5px}.tn-next{padding:18px;border-radius:16px;background:#edf5ee}.tn-next small{color:#486c56}.tn-next h3{font-size:20px}.tn-duration{display:flex;align-items:baseline;gap:12px;color:#1a4f35;margin:22px 0}.tn-duration strong{font-size:60px;line-height:1}.tn-duration span{font-size:12px}.tn-three{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:4px;margin:16px 0}.tn-three span{padding:12px 6px;border-radius:9px;background:#e7f2e9;font-size:12px;text-align:center}.tn-schedule{display:grid;gap:9px}.tn-schedule>button{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #e3ebe5;background:white;border-radius:14px;padding:14px;text-align:left;min-height:64px}.tn-schedule b,.tn-schedule small{display:block}.tn-schedule small{color:#6b7d71;margin-bottom:6px}.tn-check{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px!important;font-size:13px;line-height:1.75;font-weight:400!important;margin:10px 0}.tn-check input{flex:0 0 19px!important;width:19px!important;height:19px!important;margin:3px 0 0!important;min-height:19px!important;accent-color:#347b4f}.tn-check span{min-width:0}.tn-days{border:1px solid #dce5df;border-radius:14px;padding:12px;display:flex;flex-wrap:wrap;gap:4px 15px}.tn-days legend{font-size:13px}.tn-days .tn-check{margin:3px 0;min-height:38px}.tn-details{margin:16px 0;padding:16px;border:1px solid #dce5df;border-radius:16px}.tn-details summary{cursor:pointer;min-height:30px;font-size:14px}.tn-details p{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.tn-ai-note{border-left:3px solid #397554;padding:4px 12px;background:#f3f8f4}.tn-ai-note p{font-size:15px;line-height:1.8}.tn-ai-note small{font-size:12px;color:#63786b}.tn-method,.tn-source{padding:16px 0;border-bottom:1px solid #e4eae6}.tn-method h3{margin:0 0 7px;font-size:18px}.tn-method p,.tn-source p{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.tn-method small,.tn-source small{display:block;color:#6d8074;font-size:12px;line-height:1.6}.tn-source a{color:#2c674a;overflow-wrap:anywhere;line-height:1.7}.tn-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:18px 0}.tn-tabs button{padding:10px!important;min-height:44px;font-size:13px!important}.tn-tabs [aria-pressed=true]{background:#224f38;color:#fff;border-color:#224f38}.tn-event-card,.tn-service-card{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid #e1e8e3}.tn-event-card>div,.tn-service-card>div{min-width:0;flex:1}.tn-event-card h3,.tn-service-card h3{margin:7px 0;font-size:18px;overflow-wrap:anywhere}.tn-event-card p,.tn-service-card p{font-size:13px;line-height:1.6;margin:7px 0;overflow-wrap:anywhere}.tn-event-card small,.tn-service-card small{color:#748278;overflow-wrap:anywhere}.tn-date{flex:0 0 54px;background:#f0f6ef;border-radius:13px;padding:10px 4px;height:fit-content;text-align:center;font-size:12px;color:#3e6649}.tn-date b{display:block;margin-top:5px;font-size:15px}.tn-warning{display:block;color:#945526;font-size:12px;margin:8px 0}.tn-event-detail{padding:18px;background:#f5f7f3;border-radius:18px;margin:20px 0}.tn-event-detail p{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.tn-event-detail svg{width:17px;flex:0 0 17px;margin-top:3px}.tn-title h2{font-size:24px!important}.tn-title>.xp-primary{flex:0 0 auto}.tn-service-icon{background:#f5eee5;color:#816141;border-radius:16px;padding:12px;height:fit-content}.tn-service-icon svg{width:25px;height:25px}.tn-service-guide{margin:20px 0}.tn-booking{border:1px solid #dce5df;border-radius:18px;padding:16px;margin:12px 0}.tn-booking p{font-size:14px;line-height:1.7;overflow-wrap:anywhere}.tn-booking small{color:#657b6c}.xp-content .tn-source .xp-secondary{margin:8px 0}.xp-content .tn-check input{padding:0}.tn-method[hidden]{display:none}
.tn-training-hero.tn-active{padding:18px}.tn-training-hero.tn-active h2{font-size:23px!important;margin:8px 0 14px!important}
@media(max-width:350px){.tn-home-links{gap:5px}.tn-home-links button{padding:13px 8px}.tn-home-links b{font-size:15px}.tn-training-hero{padding:20px 16px}.tn-training-hero h2{font-size:26px!important}.tn-tabs{gap:4px}.tn-tabs button{font-size:12px!important;padding:9px!important}}

/* The local-rules flow remains in My Training; evidence and optional AI stay collapsed. */
.tn-training-hero .xp-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tn-training-hero .xp-actions .xp-secondary{margin-left:0}
.tn-training-hero .tn-engine-label{font-size:12px;letter-spacing:.02em;margin:8px 0}
.tn-plan-summary{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.tn-plan-limit{margin:8px 0 14px;color:#526e5b}
.tn-plan-limit summary,.tn-details summary{min-height:44px;align-content:center;line-height:1.6;overflow-wrap:anywhere}
.tn-decision>.xp-section{margin:16px 0;padding:0}
.tn-decision .xp-section h3{font-size:15px}
.tn-reasons{padding-left:20px;margin:8px 0;font-size:13px;line-height:1.8;color:#465f50}
.tn-reasons li{padding-left:2px;margin:7px 0;overflow-wrap:anywhere}
.tn-reasons:empty{display:none}
.tn-adjustment{border-left:3px solid #618a69;padding:8px 12px;background:#f0f6ee}
.tn-optional-ai{background:#f7f9f5}
.tn-optional-ai summary{color:#4c6555}
.tn-profile-group{min-width:0;border:1px solid #dce5df;border-radius:14px;padding:14px}
.tn-profile-group legend{font-size:14px;color:#315a40;padding:0 6px}
.tn-profile-group .tn-check,.tn-days .tn-check{min-height:44px;align-items:center!important}
.tn-profile-group .tn-check input,.tn-days .tn-check input{margin-top:0!important}
.tn-record-review{min-width:0;margin:18px 0;padding:16px;border:1px solid #a8c7af;border-radius:16px;background:#f1f8f0;outline-offset:4px}
.tn-record-review h3{font-size:18px;line-height:1.5;margin:0 0 12px}
.tn-record-review p{font-size:13px;line-height:1.8;overflow-wrap:anywhere}
.tn-record-comparison{display:grid;gap:8px;margin:12px 0}
.tn-record-comparison>div{min-width:0;padding:10px;border-radius:10px;background:#fff}
.tn-record-comparison dt{font-size:12px;color:#64796a;line-height:1.6}
.tn-record-comparison dd{font-size:15px;color:#234e32;font-weight:600;margin:5px 0 0;line-height:1.6;overflow-wrap:anywhere}
.tn-schedule>button>span:first-child{min-width:0;overflow-wrap:anywhere}
.tn-schedule .xp-chip{flex-shrink:0}
.tn-details,.tn-profile-group,.tn-record-review{max-width:100%;box-sizing:border-box}
@media(max-width:350px){.tn-details,.tn-record-review{padding:12px}.tn-profile-group{padding:10px}.tn-duration{gap:8px}.tn-duration strong{font-size:52px}.tn-duration span{line-height:1.5}.tn-schedule>button{padding:12px;gap:6px}}

/* Daily loop: one clear next action; provenance and safety remain close to that action. */
.tn-today{margin:0 0 16px;border:1px solid #c9ddcc;background:linear-gradient(145deg,#eaf5e8,#f6faf1)}
.tn-today h3{font-size:23px;margin:12px 0}.tn-today p{font-size:14px;line-height:1.75;overflow-wrap:anywhere}
.tn-today .xp-primary{width:100%;margin-top:8px}
.tn-readiness{background:#fbfaf4}.tn-readiness[open]{border-color:#cabd8a}
.tn-readiness .xp-form{margin-top:12px}.tn-context-focus{padding:13px 0;color:#395745}
.tn-context-focus>p{font-size:13px;line-height:1.7;margin:7px 0}
.tn-week-card{border:1px solid #dfe8de;border-radius:16px;padding:15px;margin:12px 0;background:#fafcf8;min-width:0}
.tn-week-card h3{margin:0 0 14px;font-size:16px}.tn-week-stats{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px}
.tn-week-stats span{min-width:0;font-size:11px;line-height:1.7;color:#647464}.tn-week-stats b{display:block;font-size:21px;color:#244e32}
.tn-linked-record,.tn-run-target{border:1px solid #bdd5c4;border-radius:16px;padding:16px;background:#f0f8f1;min-width:0;margin:14px 0}
.tn-linked-record p,.tn-run-target p{font-size:14px;line-height:1.7;overflow-wrap:anywhere}.tn-run-target h3{margin:8px 0;font-size:20px}.tn-run-target small{color:#59725f}
.tn-linked-record .xp-actions,.xp-run-actions{display:flex;gap:8px;flex-wrap:wrap}.tn-linked-record .xp-actions>*{max-width:100%;white-space:normal}
[data-tn-feedback-metrics][hidden]{display:none}
.tn-rating{min-width:0;padding:12px;margin:12px 0;border:1px solid #dce5df;border-radius:12px}.tn-rating legend{font-size:14px;color:#315a40}.tn-rating p{font-size:12px;line-height:1.6;color:#63776a;margin:0 0 9px}.tn-rating>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.tn-rating-option{position:relative;margin:0!important;min-width:0}.tn-rating-option input{position:absolute!important;opacity:0;width:1px!important;min-height:1px!important;height:1px!important;padding:0!important}.tn-rating-option span{display:flex;min-height:44px;align-items:center;justify-content:center;border:1px solid #ceddce;border-radius:10px;background:white;font-size:16px;color:#315a40}.tn-rating-option input:checked+span{background:#24543a;border-color:#24543a;color:white}.tn-rating-option input:focus-visible+span{outline:3px solid #91af78;outline-offset:2px}
.tn-adjust-today{background:#f6f8f0}.tn-adjust-today fieldset[data-tn-adjust-fields]{min-width:0;border:0;padding:0;margin:0}.tn-adjust-preview{padding:14px;border:1px solid #acc5ae;border-radius:14px;background:#edf5e9;margin-top:14px;outline-offset:4px}.tn-adjust-preview h3{font-size:18px;margin:0 0 12px}.tn-adjust-impact{font-weight:600;line-height:1.75}.tn-adjust-preview .xp-primary{width:100%;white-space:normal}.tn-adjust-today [data-tn-adjust-minutes][hidden]{display:none}
.tn-run-stage{padding:14px;border-radius:14px;border:1px solid #c3d9c7;background:#f4f9f0;margin:12px 0}.tn-run-stage h3{font-size:18px;margin:0 0 9px}.tn-run-stage p{font-size:12px;line-height:1.7;overflow-wrap:anywhere}.tn-run-stage button{min-height:44px;white-space:normal;max-width:100%}
@media(max-width:350px){.tn-today,.tn-week-card,.tn-linked-record,.tn-run-target{padding:12px}.tn-today h3{font-size:21px}.tn-week-stats{gap:5px}.tn-week-stats b{font-size:19px}.xp-run-actions>button{width:100%}}
.tn-outing-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tn-outing-filters>*{min-width:0}.tn-outing-filters select{max-width:100%}.tn-event-detail p{overflow-wrap:anywhere}.xp-form[data-xp-form="outingConfirmArrival"]{padding:12px;border:1px solid #dce6de;border-radius:12px;margin-bottom:16px}.tn-person>span{min-width:0;overflow-wrap:anywhere}

/* Current assessment and goal outline stay beside the existing foundation plan. */
.tn-personal-assessment{min-width:0;margin:16px 0;padding:16px;border:1px solid #dbe6db;border-radius:16px;background:#fafcf8;box-sizing:border-box}
.tn-personal-assessment h3,.tn-goal-path h3{font-size:17px;line-height:1.6;margin:0 0 8px}
.tn-personal-assessment>p{font-size:14px;line-height:1.75;margin:8px 0;overflow-wrap:anywhere}
.tn-personal-assessment>small{display:block;font-size:12px;color:#607762;line-height:1.7;overflow-wrap:anywhere}
.tn-personal-assessment .tn-plan-limit{margin-bottom:0}
.tn-goal-path{background:#f7f9f4}.tn-goal-path>summary{font-weight:600;color:#365841}
.tn-goal-path>.xp-section{padding:0;margin:16px 0}.tn-goal-path .xp-section h3{font-size:15px}
.tn-path-stages{margin:16px 0;padding-left:25px;color:#365841;min-width:0}
.tn-path-stages>li{padding:10px 0 10px 5px;border-bottom:1px solid #e1e8dc;overflow-wrap:anywhere}
.tn-path-stages>li:last-child{border-bottom:0}.tn-path-stages b{font-size:14px;line-height:1.75}.tn-path-stages p{margin:5px 0;color:#5a715d}
.tn-path-review{padding:10px 12px;border-left:3px solid #ae925b;background:#faf5e9;color:#785e31}
.tn-interruption{padding:12px;background:#fbfcf8}.tn-interruption summary{color:#526953}
.tn-goal-path button{max-width:100%;white-space:normal}.tn-interruption input,.tn-interruption select{max-width:100%}
.tn-constraint-preview{min-width:0;padding:14px;margin:16px 0;border:1px solid #bed2bc;border-radius:14px;background:#fff;box-sizing:border-box}
.tn-constraint-preview h3{font-size:16px;margin:0 0 9px}.tn-confirmed-cap{padding:11px;border-radius:10px;background:#f2f7ee}
.tn-confirmed-cap>b{font-size:14px;line-height:1.7;color:#2a5737}.tn-confirmed-cap p{margin:6px 0}
@media(max-width:350px){.tn-personal-assessment{padding:12px}.tn-path-stages{padding-left:21px}.tn-path-stages>li{padding-left:2px}}

/* Read-only course composition uses saved plan facts, without new training actions. */
.tn-course-review{background:#fafcf7;min-width:0}.tn-course-review>summary{font-weight:600;color:#365841}
.tn-course-state{color:#526e5b;font-weight:600;margin:10px 0}
.tn-course-summary{display:grid;gap:8px;margin:12px 0}.tn-course-summary>div{min-width:0;padding:10px;border-radius:10px;background:#f0f5ec}
.tn-course-summary dt{font-size:12px;color:#64796a;line-height:1.6}.tn-course-summary dd{margin:4px 0 0;font-size:14px;line-height:1.75;color:#31553b;overflow-wrap:anywhere}
.tn-course-week{min-width:0;border-top:1px solid #dfe7da;margin-top:10px;padding-top:7px}.tn-course-week>small{display:block;color:#667961;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.tn-course-lesson{min-width:0;padding:12px 0;border-bottom:1px solid #e0e8dc}.tn-course-lesson:last-child{border-bottom:0}.tn-course-lesson h4{font-size:14px;line-height:1.75;margin:4px 0;overflow-wrap:anywhere}
.tn-course-lesson .tn-course-lesson-meta{font-size:12px;color:#59735e;margin:5px 0}.tn-course-parts{margin:10px 0;display:grid;gap:7px}
.tn-course-parts>div{min-width:0;padding:9px 10px;background:#f0f5ec;border-radius:9px}.tn-course-parts dt{font-size:12px;font-weight:600;line-height:1.7;color:#31553b}.tn-course-parts dd{margin:4px 0 0;font-size:12px;line-height:1.7;color:#5b705d;overflow-wrap:anywhere}
.tn-course-structure{font-size:12px!important;color:#5b705d}.tn-course-review>.xp-section{padding:0;margin:16px 0}.tn-course-review>.xp-section>h3{font-size:15px;line-height:1.7}
.tn-course-checks{margin-bottom:10px}.tn-course-three{grid-template-columns:repeat(3,minmax(0,1fr))}.tn-course-three>span{min-width:0;overflow-wrap:anywhere}

/* Candidate plans stay readable beside the unchanged setup draft. */
.tn-generation-preview,.tn-generation-recovery{min-width:0;max-width:100%;box-sizing:border-box;margin:18px 0;padding:16px;border:1px solid #aac8ad;border-radius:18px;background:#f5faf0;outline-offset:4px}
.tn-generation-preview>h3,.tn-generation-recovery>h3{font-size:19px;line-height:1.6;margin:0 0 12px}
.tn-generation-preview p,.tn-generation-recovery p,.tn-period-suggestion p{font-size:13px;line-height:1.8;overflow-wrap:anywhere}
.tn-generation-preview .tn-course-week>summary{min-height:44px;line-height:1.7;color:#365841;font-weight:600;cursor:pointer}
.tn-generation-preview .tn-course-lesson{padding:12px 0}.tn-generation-preview .tn-personal-assessment{background:#fff}
.tn-generation-preview .xp-primary,.tn-generation-preview>.xp-secondary{width:100%;max-width:100%;white-space:normal;min-height:44px;box-sizing:border-box}
.tn-generation-recovery{background:#fbf7eb;border-color:#d4bf87}.tn-generation-recovery .xp-actions{display:flex;flex-wrap:wrap;gap:8px}
.tn-generation-recovery button,.tn-period-suggestion button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.tn-preview-records{padding:14px 0;border-top:1px solid #d8e6d0}.tn-preview-records>h3{font-size:16px;line-height:1.6}
.tn-period-review{background:#f7faf4}.tn-period-review>summary{font-weight:600;color:#365841}
.tn-period-suggestion{min-width:0;border-left:3px solid #91b394;padding:8px 12px;margin:14px 0;background:#eef5e9}
.tn-period-suggestion h3{font-size:15px;line-height:1.7;margin:0 0 6px}.tn-period-suggestion button{margin:6px 6px 0 0}
@media(max-width:350px){.tn-generation-preview,.tn-generation-recovery{padding:12px}.tn-generation-preview>h3,.tn-generation-recovery>h3{font-size:18px}.tn-generation-recovery .xp-actions>*{width:100%}}
