/* Shared application layout. Individual features own their renderers and data. */
.app-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 16px;border:1px solid #a77b43;border-radius:5px;background:#3a2a18;color:#f7d79d;font-size:13px;line-height:1.8;margin-bottom:24px}.app-preview-banner a{color:#ffe8bd;text-decoration:underline;text-underline-offset:4px;font-weight:700}
.app-module-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px;padding:0 0 20px;border-bottom:1px solid #694a38}
.app-module-nav button{padding:11px 15px;border:1px solid #77553e;border-radius:5px;background:#261b16;color:#efd9c7;font:600 14px/1.5 Manrope,Arial,sans-serif;cursor:pointer}
.app-module-nav button.active{background:#edc279;border-color:#edc279;color:#2a1a10}
.app-dashboard .panel-intro h1{font-size:58px;max-width:830px}
.app-two-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;align-items:start}
.app-module-content{min-height:380px}.app-module-content .panel-card{margin-bottom:20px}
.app-module-content .primary,.app-module-content .outline{min-height:45px;font-size:14px;line-height:1.5;padding:12px 18px;border-radius:5px;cursor:pointer}
.app-module-content .primary{white-space:normal}.app-module-content button:disabled{opacity:.45;cursor:not-allowed}
.app-module-content button:focus-visible,.app-dialog button:focus-visible,.app-field input:focus-visible,.app-field select:focus-visible,.app-field textarea:focus-visible{outline:3px solid #ffce8b;outline-offset:3px}
.app-module-content .subtle-link{cursor:pointer;display:table;font-size:15px;margin-top:18px}
.app-module-content .panel-figure-card{grid-column:auto;grid-row:auto}
.app-local-note{font-size:12px;color:#d8b99e;margin-top:30px;line-height:1.8}
.app-muted{font-size:14px!important;color:#d9c1ab!important;line-height:1.75}
.app-field{display:flex;flex-direction:column;gap:8px;margin:17px 0;color:#f3dfcc;font-size:14px;font-weight:600;min-width:0}
.app-field>input,.app-field>select,.app-field>textarea{width:100%;min-width:0;min-height:45px;border:1px solid #9b7254;background:#170f0d;color:#fff1e4;padding:11px 12px;border-radius:5px;font:500 15px/1.6 Manrope,Arial,sans-serif;color-scheme:dark}
.app-field input::placeholder,.app-field textarea::placeholder{color:#bfa48c;opacity:1}
.app-button-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:22px 0 6px}
.dashboard-goal{background:linear-gradient(110deg,#41251d,#221712 75%);border-left:4px solid #f15b48}
.dashboard-goal h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:42px;line-height:1.1;max-width:750px}
.dashboard-goal-meta{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:15px;color:#efd3b9;line-height:1.8}
.module-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
.module-tile{position:relative;display:flex;flex-direction:column;gap:12px;padding:25px;text-align:left;border:1px solid #80563b;border-radius:8px;background:linear-gradient(140deg,#2d2019,#1b1310);color:#fff2e4;cursor:pointer;min-height:236px;transition:border-color .15s,transform .15s}
.module-tile:hover{border-color:#edc279;transform:translateY(-2px)}.module-number{font-family:'Barlow Condensed',Impact,sans-serif;color:#e0b87b;font-size:26px;line-height:1}
.module-tile>strong{font-size:22px;line-height:1.4}.module-description{font-size:14px;line-height:1.8;color:#e1c8b1;max-width:260px}
.module-status{font-size:12px;line-height:1.8;color:#eac07f;margin-top:auto;padding-top:9px;padding-right:18px}.module-arrow{position:absolute;right:23px;bottom:23px;color:#edc279;font-size:24px}
.day-options{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.day-options button{padding:12px 15px;background:#201510;border:1px solid #966d4c;color:#f3ddc4;border-radius:5px;font-size:14px;cursor:pointer}.day-options button.selected{background:#e4bb75;color:#27180f}
.week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px}.week-card{display:flex;flex-direction:column}
.week-card>.primary{margin-top:15px}.week-card>.outline{margin-top:0}
.plan-details{font-size:14px;color:#ebc590;border-bottom:1px solid #634733;padding-bottom:15px;margin-bottom:12px}.plan-details summary{cursor:pointer;padding:5px 0}
.plan-exercise{padding:17px 0;border-bottom:1px solid #6b4b34}.plan-exercise-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}
.exercise-name{border:0;background:transparent;color:#fff1df;text-align:left;font:700 16px/1.6 Manrope,Arial,sans-serif;cursor:pointer;padding:0}
.icon-button{border:1px solid #8d5b3c;background:#301c16;color:#f1bb99;font-size:21px;border-radius:4px;min-width:30px;min-height:30px;cursor:pointer}
.plan-prescription{display:grid;grid-template-columns:1fr 1fr;gap:14px}.plan-prescription .app-field{margin:12px 0 0}
.atlas-filters{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.atlas-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.exercise-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;border:1px solid #765038;border-radius:7px;padding:18px;background:#251a14;align-items:center}
.exercise-card h3{font-size:17px;line-height:1.55;margin:7px 0}.exercise-card p{font-size:13px;line-height:1.7;color:#e1c4aa;margin:6px 0}.exercise-card small{color:#ecc489;font-size:12px;line-height:1.7}.exercise-card .subtle-link{border:0;background:transparent;padding:0;color:#f8d499;text-align:left;margin-top:13px;font-size:13px}
.atlas-figure{position:relative;aspect-ratio:2/3;background:#130d0b;overflow:hidden;border-radius:5px;border:1px solid #6b4831;max-width:280px;width:100%}.atlas-figure>img{display:block;width:100%;height:100%;object-fit:contain}.atlas-figure>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.app-dialog{width:min(900px,calc(100% - 30px));max-height:90vh;overflow:auto;background:#221712;color:#fff0e3;border:1px solid #ac7b4b;border-radius:9px;padding:30px;box-shadow:0 30px 90px #0009}
.app-dialog::backdrop{background:#060302c9;backdrop-filter:blur(6px)}.app-dialog>.close{float:right}.app-dialog h2{font-size:29px;line-height:1.4;margin:18px 35px 25px 0}.atlas-detail-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start}
.exercise-steps{padding-left:22px;font-size:15px;line-height:1.9;color:#f0d8c3}.exercise-steps li{margin-bottom:12px}.app-dialog .primary{font-size:14px;line-height:1.5;padding:14px 18px;border-radius:5px;cursor:pointer}.app-dialog .app-muted{margin-top:20px}
.training-start-option{display:block;width:100%;padding:20px;margin-top:15px;background:#352219;border:1px solid #aa794d;border-radius:5px;text-align:left;color:#ffe6c5;font-size:17px;cursor:pointer}
.rest-timer{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:22px}.rest-timer>strong{min-width:96px;font-size:26px;color:#edc279;font-variant-numeric:tabular-nums}.rest-timer .outline{padding:8px 15px;min-height:40px}
.session-progress{margin-top:20px;font-size:16px;color:#efd5aa;font-weight:700}.session-exercise{margin-top:22px}.session-set{display:grid;grid-template-columns:32px 1fr 1fr 100px;gap:15px;align-items:center;padding:9px 14px;border:1px solid #684732;border-radius:5px;margin-top:12px;background:#1e140f}.session-set.completed{border-color:#b79256;background:#c6953620}.session-set .app-field{margin:5px 0}.set-number{font-size:22px;color:#efc585;font-family:'Barlow Condensed',Impact,sans-serif}.set-done{display:flex;align-items:center;gap:9px;font-size:14px;cursor:pointer}.set-done input{accent-color:#e7b76f;width:22px;height:22px;cursor:pointer}.set-error{grid-column:2/-1;font-size:13px;color:#ffbaa3}.set-error:empty{display:none}.session-exercise>.outline{margin-top:18px}.previous-result{padding:12px 15px;border-left:2px solid #dbb57a;margin:18px 0 0!important;color:#edc995!important;font-size:14px!important}
.history-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.history-number{display:block;font-family:'Barlow Condensed',Impact,sans-serif;font-size:48px;color:#f2d394;margin-top:13px}.history-entry{padding:21px 25px;border:1px solid #815b3d;border-radius:7px;margin-bottom:16px;background:#271a14}.history-entry>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer}.history-entry summary strong{display:block;margin-top:9px;font-size:20px;line-height:1.5}.history-entry .eyebrow{font-size:11px;color:#e2bd86}.history-entry-meta{font-size:14px;color:#f4cd8f;text-align:right}.history-exercise{border-top:1px solid #684630;padding-top:16px;margin-top:18px;font-size:15px}.history-exercise p{font-size:14px;line-height:1.8;color:#ecd2b8}.history-note{line-height:1.8;border-left:2px solid #b8884d;padding-left:15px;color:#e5c7a8;font-size:14px;white-space:pre-wrap}.app-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);max-width:min(600px,calc(100% - 32px));width:max-content;background:#f2d397;color:#2d1c10;padding:15px 22px;border:1px solid #ffdf9d;border-radius:6px;box-shadow:0 9px 40px #0008;z-index:100;font-size:14px;line-height:1.65}.app-toast:empty{display:none}.app-toast.is-error{background:#ffd2b8;border-color:#ed866d}
@media(max-width:1000px){.module-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.app-dashboard .panel-intro h1{font-size:48px}.atlas-results{grid-template-columns:1fr}.exercise-card{grid-template-columns:95px minmax(0,1fr)}.exercise-card .atlas-figure{max-height:150px}.week-grid{gap:16px}}
@media(max-width:700px){.app-two-columns,.week-grid{grid-template-columns:1fr}.app-module-nav{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:15px}.app-module-nav button{flex-shrink:0}.app-dashboard .panel-intro h1{font-size:44px}.atlas-detail-grid{grid-template-columns:135px minmax(0,1fr);gap:17px}.app-dialog{padding:22px}.app-dialog h2{font-size:24px}.exercise-steps{font-size:14px}.dashboard-goal h2{font-size:35px}.session-set{grid-template-columns:25px 1fr 1fr 88px;gap:8px;padding:10px}.session-set .app-field{font-size:12px}.session-set .app-field input{padding:10px 8px}.set-done{gap:5px;font-size:12px}.module-tile{padding:22px;min-height:235px}.module-tile>strong{font-size:20px}.history-entry>summary{align-items:start}}
@media(max-width:460px){.module-tiles{grid-template-columns:1fr;gap:13px}.module-tile{min-height:190px;gap:8px}.module-tile>strong{font-size:22px}.module-description{max-width:none}.atlas-filters{grid-template-columns:1fr}.app-field{margin:12px 0}.atlas-detail-grid{grid-template-columns:1fr}.atlas-detail-grid .atlas-figure{max-width:130px;max-height:180px;margin:auto}.atlas-detail-grid .exercise-steps{font-size:15px}.session-set{grid-template-columns:22px 1fr 1fr}.set-done{grid-column:2/-1;font-size:14px;justify-content:flex-end;padding:4px}.history-stats{gap:8px}.history-stats .panel-card{padding:14px}.history-stats .eyebrow{font-size:9px;letter-spacing:.4px}.history-number{font-size:36px}.history-entry{padding:18px}.history-entry>summary{display:block}.history-entry-meta{display:block;text-align:left;margin-top:9px}}
@media(prefers-reduced-motion:reduce){.module-tile{transition:none}.module-tile:hover{transform:none}}
