    body{margin:0;background:#f4f6f8;color:#17202a;font:16px Segoe UI,Arial,sans-serif}
    .app{max-width:1100px;min-height:100vh;margin:auto;background:#fff;display:grid;grid-template-columns:300px 1fr}
    .side{padding:24px;border-right:1px solid #e1e6ea}
    .brand{font-size:22px;font-weight:700;margin-bottom:28px}
    .profile-tools{display:grid;grid-template-columns:1fr auto auto;gap:6px;margin-bottom:20px}
    .profile-tools select,.profile-tools button{height:38px;border:1px solid #ccd5dc;border-radius:6px;background:#fff;padding:0 9px}
    .profile-tools button{cursor:pointer;font-weight:700}
    .section{margin:24px 0 4px;font-size:12px;font-weight:700;color:#76838e;text-transform:uppercase}
    .label{display:block;margin:16px 0 6px;color:#52606d;font-size:13px}
    input,textarea,select{width:100%;padding:11px;border:1px solid #ccd5dc;border-radius:6px;font:inherit;box-sizing:border-box}
    .side textarea{min-height:82px;resize:vertical}
    .main{display:flex;flex-direction:column;min-height:100vh}
    .top{padding:24px 30px;border-bottom:1px solid #e1e6ea}
    .top h1{margin:0 0 5px;font-size:25px}
    .top p{margin:0;color:#6c7882}
    .plan-actions{display:flex;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}
    button{font:inherit}
    .plan-actions button,.modal-actions button{border:1px solid #b9c6cf;background:#fff;color:#24403a;border-radius:6px;padding:8px 12px;font-weight:600;cursor:pointer}
    .plan-actions button:disabled,.modal-actions button:disabled{opacity:.45;cursor:default}
    .saved{font-size:13px;color:#64717b}    .inventory-box{margin-top:18px;padding:14px;background:#f7faf9;border:1px solid #dcebe5;border-radius:8px}
    .inventory-box h3{margin:0 0 10px;color:#126b50;font-size:15px}
    .location-row{display:flex;gap:6px;margin-bottom:10px}
    .location-row select,.location-row input{min-width:0;height:36px;padding:7px}
    .location-row select{flex:1}
    .location-row input{width:92px}
    .equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}
    .equipment-check{display:flex;align-items:center;gap:6px;color:#40505a;font-size:13px}
    .equipment-check input{width:auto;padding:0}
    .inventory-empty{color:#76838e;font-size:13px}
    .chat{flex:0 1 auto;min-height:120px;max-height:48vh;padding:25px 30px;overflow:auto}
    .msg{max-width:760px;margin:0 0 18px;line-height:1.5;white-space:pre-wrap}
    .msg-actions{display:flex;gap:8px;margin-top:10px;white-space:normal}.msg-actions button{border:1px solid #9dbcb0;background:#f2f8f5;color:#126b50;border-radius:7px;padding:7px 10px;font-weight:700;cursor:pointer}.msg-actions button:disabled{opacity:.55;cursor:default}
    .user{margin-left:auto;padding:12px 15px;background:#e5f3ed;border-radius:8px}
    .composer{display:flex;gap:10px;padding:18px 30px;border-top:1px solid #e1e6ea}
    .composer textarea{min-height:54px;resize:none;flex:1}
    .send{border:0;border-radius:6px;background:#126b50;color:#fff;font-weight:700;padding:0 20px;cursor:pointer}
    .modal-backdrop{position:fixed;inset:0;z-index:20;display:none;align-items:center;justify-content:center;background:rgba(23,32,42,.42);padding:22px}
    .modal-backdrop.open{display:flex}
    .modal{width:min(760px,100%);max-height:min(780px,90vh);display:flex;flex-direction:column;background:#fff;border-radius:8px;box-shadow:0 24px 70px rgba(23,32,42,.25);overflow:hidden}
    .modal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid #e1e6ea}
    .modal-title{font-size:19px;font-weight:700}
    .modal-close{width:34px;height:34px;border:1px solid #ccd5dc;border-radius:6px;background:#fff;font-size:24px;line-height:1;cursor:pointer}
    .modal-body{padding:20px;overflow:auto;white-space:pre-wrap;line-height:1.5}
    .modal-body textarea{min-height:260px;resize:vertical}
    .modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #e1e6ea}
    .primary{background:#126b50!important;border-color:#126b50!important;color:#fff!important}
    .history-day{margin:0 0 22px}
    .history-day:last-child{margin-bottom:0}
    .history-day-title{display:flex;align-items:center;gap:10px;margin:0 0 10px;color:#126b50;font-size:14px;font-weight:700}
    .history-day-title:after{content:"";height:1px;flex:1;background:#cfe4dc}
    .history-item{padding:15px 16px;margin:0 0 10px;background:#f7faf9;border:1px solid #dcebe5;border-left:4px solid #35a77d;border-radius:7px;white-space:pre-wrap}
    .history-item:last-child{margin-bottom:0}
    .history-meta{margin-bottom:8px;color:#126b50;font-size:12px;font-weight:700}
    .history-request{margin-bottom:10px;color:#31424d;font-size:14px}
    .history-plan{padding:12px 14px;background:#fff;border:1px solid #e6ecef;border-radius:6px;color:#17202a}
    .history-item:last-child{border-bottom:0}
    .history-meta{margin-bottom:8px;color:#64717b;font-size:13px}
    @media(max-width:760px){.app{display:block}.side{border:0;border-bottom:1px solid #e1e6ea}.composer,.chat,.top{padding:18px}.composer{display:block}.send{width:100%;height:44px;margin-top:10px}.modal-backdrop{padding:12px}.modal{max-height:92vh}}
    :root{--ink:#202b33;--muted:#72808a;--line:#dce4e7;--canvas:#edf2f1;--panel:#ffffff;--accent:#c7673f;--accent-dark:#a94f2e;--soft:#f6f8f7;--mint:#dceee8;--blue:#416d82}
    body{background:linear-gradient(135deg,#e8efee 0%,#f6f4ef 100%);color:var(--ink)}
    .app{max-width:1240px;background:transparent;grid-template-columns:300px minmax(0,1fr);box-shadow:0 18px 60px rgba(38,54,61,.10)}
    .side{background:#f8faf9;border-right:1px solid var(--line);padding:26px 22px}
    .brand{color:var(--ink);letter-spacing:0}
    .profile-tools select,.profile-tools button,input,textarea,select{border-color:#cbd7da;background:#fff;color:var(--ink)}
    .profile-tools button:hover,.plan-actions button:hover,.modal-close:hover{border-color:var(--accent);color:var(--accent-dark);background:#fffaf7}
    .section{color:var(--blue);letter-spacing:0}
    .label{color:#586a73}
    .main{background:var(--panel);min-width:0}
    .top{padding:30px 38px 24px;background:#fff;border-bottom:1px solid var(--line)}
    .top h1{font-size:28px;letter-spacing:0;color:var(--ink)}
    .top p{color:var(--muted)}
    .plan-actions button,.modal-actions button{border-color:#c8d4d7;color:var(--ink);background:#fff}
    .plan-actions button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(38,54,61,.08)}
    #changePlan{border-color:#e0b19d;background:#fff8f4;color:var(--accent-dark)}
    #planHistory{border-color:#abc7d2;background:#f1f7f9;color:#315e72}
    .plan-actions .danger-action,.modal-actions .danger-action{border-color:#dfb4aa;color:#9a3f2d;background:#fff8f6}
    .plan-actions .danger-action:not(:disabled):hover,.modal-actions .danger-action:hover{border-color:#bd5b45;color:#843321;background:#fff1ed}
    .saved{flex:1 1 100%;color:#5b8174}
    .chat{background:#f4f7f6;padding:28px 38px}
    #chat:has(.msg:only-child){display:flex;align-items:center;justify-content:center;min-height:150px}
    #chat:has(.msg:only-child) .msg{max-width:620px;margin:0;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(38,54,61,.06);color:#53646d;text-align:center}
    .msg{color:#35444d}
    .assistant-note{padding:10px 13px;color:#315e72;background:#eef5f4;border-left:3px solid #416d82;border-radius:6px}
    .user{background:var(--mint);border:1px solid #c7e4d9;color:#244b41}
    .composer{padding:18px 38px 24px;background:#fff;border-top:1px solid var(--line)}
    .composer textarea:focus,input:focus,textarea:focus,select:focus{outline:3px solid rgba(65,109,130,.14);border-color:var(--blue)}
    .send{background:var(--accent);padding:0 24px;box-shadow:0 5px 12px rgba(199,103,63,.22)}
    .send:hover{background:var(--accent-dark)}
    .inventory-box{background:#f5f8f7;border-color:#d5e3df;box-shadow:0 4px 12px rgba(38,54,61,.04)}
    .inventory-box h3{color:#315e72}
    .modal-backdrop{background:rgba(32,43,51,.52)}
    .modal{box-shadow:0 24px 70px rgba(32,43,51,.23)}
    .primary{background:var(--accent)!important;border-color:var(--accent)!important}
    .primary:hover{background:var(--accent-dark)!important}
    @media(max-width:760px){.top{padding:22px 18px 18px}.chat{padding:20px 18px}.composer{padding:14px 18px 18px}.side{padding:20px 18px}}    html,body{height:100%;overflow:hidden}
    body{background:#edf2f1}
    .app{--sidebar-width:320px;position:relative;width:100%;height:100vh;min-height:0;max-width:1360px;grid-template-columns:var(--sidebar-width) minmax(0,1fr);overflow:hidden}
    .side{height:100vh;min-width:0;box-sizing:border-box;overflow-y:auto;padding:22px 20px 28px;scrollbar-width:thin;scrollbar-color:#c7d4d2 transparent}
    .sidebar-resize{position:absolute;z-index:8;top:0;bottom:0;left:calc(var(--sidebar-width) - 4px);width:9px;cursor:col-resize;touch-action:none;outline:0}
    .sidebar-resize:after{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;background:#d5e0e1;transition:width .15s,background .15s}
    .sidebar-resize:hover:after,.sidebar-resize:focus-visible:after,.sidebar-resize.active:after{left:3px;width:3px;background:#416d82}
    body.resizing-sidebar{cursor:col-resize;user-select:none}
    .brand{margin-bottom:20px;font-size:20px}
    .profile-tools{position:sticky;top:-22px;z-index:2;margin:0 -20px 18px;padding:18px 20px 14px;background:#f8faf9;border-bottom:1px solid #e0e8e7}
    .section{margin:22px 0 3px;padding-top:2px;font-size:11px;letter-spacing:0}
    .label{margin:12px 0 5px;font-size:12px}
    input,textarea,select{min-height:38px;padding:9px 11px;border-radius:7px;border:1px solid #d5e0e1;background:#fff;font-size:14px}
    .side textarea{min-height:64px}
    .main{height:100vh;min-height:0;overflow:hidden;background:#fff}
    .workspace-tabs{display:flex;flex:0 0 auto;gap:4px;padding:9px 34px 0;background:#fff;border-bottom:1px solid var(--line)}
    .workspace-tab{min-height:38px;padding:7px 13px;border:0;border-bottom:3px solid transparent;background:transparent;color:#64747d;font-weight:700;cursor:pointer}
    .workspace-tab:hover{color:#294f61}
    .workspace-tab.active{border-bottom-color:var(--accent);color:var(--ink)}
    .workspace-view{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}
    .workspace-view[hidden]{display:none}
    .top{flex:0 0 auto;padding:22px 34px 18px}
    .top h1{font-size:24px;margin-bottom:3px}
    .top p{font-size:14px}
    .plan-actions{gap:7px;margin-top:13px}
    .plan-actions button{padding:7px 10px;font-size:13px;border-radius:7px;white-space:nowrap}
    .chat{flex:1 1 auto;min-height:0;max-height:none;box-sizing:border-box;padding:24px 34px;overflow-y:auto;background:#f4f7f6}
    #chat:has(.msg:only-child){min-height:0}
    #chat:has(.msg:only-child) .msg{padding:18px 22px}
    .composer{flex:0 0 auto;box-sizing:border-box;padding:14px 34px 18px;align-items:stretch}
    .composer textarea{min-height:48px;max-height:110px}
    .send{min-width:118px;border-radius:8px}
    .inventory-box{margin-top:14px;padding:12px;border-radius:9px}
    .equipment-grid{gap:5px 8px}
    .equipment-check{padding:3px 0;font-size:12px}
    .modal-backdrop{padding:16px}
    .modal{max-height:calc(100vh - 32px)}
    @media(max-width:760px){html,body{overflow:auto}.app{height:auto;min-height:100vh;display:block;overflow:visible}.side{height:auto;max-height:none;overflow:visible}.sidebar-resize{display:none}.profile-tools{position:static;margin:0 0 18px;padding:0 0 14px;background:transparent}.main{height:auto;min-height:70vh;overflow:visible}.workspace-tabs{padding:8px 18px 0}.workspace-view{min-height:70vh}.chat{min-height:180px;max-height:45vh;padding:20px 18px}.top{padding:20px 18px 16px}.composer{padding:12px 18px 16px}}    .exercise-action{margin-left:10px;padding:4px 8px;border:1px solid #abc7d2;border-radius:6px;background:#f1f7f9;color:#315e72;font:inherit;font-size:11px;cursor:pointer}
    .exercise-action:hover{background:#e1eef2;border-color:#416d82}
    .exercise-detail h3{margin:0 0 10px;color:#294f61}
    .exercise-detail p{margin:8px 0;line-height:1.45}
    .exercise-detail img{display:block;width:100%;height:clamp(280px,55vh,600px);object-fit:contain;margin:0 auto 14px;border-radius:8px;background:#f4f6f5}    .plan-view{color:#35444d;line-height:1.5;white-space:normal}
    .plan-week{margin:0 0 12px;padding:11px 13px;background:#e7f1f3;border-left:4px solid #416d82;border-radius:7px;color:#294f61;font-size:17px}
    .plan-day{margin:18px 0 8px;padding:9px 11px;background:#fff1e9;border-left:4px solid #c7673f;border-radius:7px;color:#8e432a;font-size:16px}
    .plan-subheading{margin:14px 0 5px;color:#315e72;font-weight:700}
    .plan-line{margin:5px 0;padding-left:12px}
    .plan-line.bullet:before{content:"";display:inline-block;width:6px;height:6px;margin:0 8px 2px 0;border-radius:50%;background:#c7673f}
    .plan-place{display:inline-block;padding:2px 7px;margin-left:4px;background:#dceee8;border-radius:999px;color:#245e4f;font-size:.86em;font-weight:700}    .exercise-media{display:block;width:100%;height:clamp(280px,48vh,520px);object-fit:contain;margin:0 0 10px;border-radius:7px;background:#f4f6f5}
    .exercise-card,.recipe-card{padding:12px 14px;margin:0 0 9px;background:#f5f8f7;border:1px solid #d9e4e2;border-left:4px solid #416d82;border-radius:8px}.exercise-card h4,.recipe-card h4{margin:0 0 5px;color:#202b33;font-size:15px}.exercise-card p,.recipe-card p{margin:4px 0;color:#667780;font-size:13px;line-height:1.4}.exercise-tag,.recipe-tag{display:inline-block;margin-right:6px;color:#315e72;font-size:11px;font-weight:700;text-transform:uppercase}.recipe-card{overflow:hidden;border-left-color:#c7673f;background:#fffaf7}.recipe-media{display:block;width:calc(100% + 28px);aspect-ratio:4/3;margin:-12px -14px 12px;object-fit:cover;background:#edf0ed}.recipe-detail-media{display:block;width:100%;max-height:440px;aspect-ratio:16/10;margin:0 0 14px;border-radius:7px;object-fit:cover;background:#edf0ed}.recipe-card button{margin-top:8px;padding:5px 9px;border:1px solid #e0b19d;border-radius:6px;background:#fff;color:#984a35;font:inherit;font-size:12px;cursor:pointer}.recipe-card button:hover{background:#fff1ec;border-color:#c7673f}.recipe-detail h3{margin:0 0 10px;color:#8e432a}.recipe-detail ul,.recipe-detail ol{margin:7px 0 12px;padding-left:22px}.recipe-detail li{margin:4px 0}.nutrition-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0 12px}.nutrition-cell{padding:8px;background:#f5f8f7;border:1px solid #d9e4e2;border-radius:7px;color:#40505a;font-size:12px}.nutrition-cell strong{display:block;color:#202b33;font-size:14px}@media(max-width:560px){.nutrition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    #nutritionProfileSection{display:none}.nutrition-mode #trainingSection,.nutrition-mode #preferencesSection,.nutrition-mode #limitsSection{display:none}.nutrition-mode #nutritionProfileSection{display:block}
    .nutrition-top{padding-bottom:16px}.nutrition-top .plan-actions{margin-top:12px}
    .nutrition-content{flex:1 1 auto;min-height:0;overflow:auto;padding:24px 34px 32px;background:#f4f7f6}
    .nutrition-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
    .nutrition-section-head h2{margin:0 0 3px;font-size:20px}.nutrition-section-head p{margin:0;color:var(--muted);font-size:13px}
    .nutrition-view-tabs{display:flex;gap:5px}.nutrition-view-tab{padding:7px 11px;border:1px solid #c8d4d7;border-radius:7px;background:#fff;color:#49626d;font-weight:700;cursor:pointer}.nutrition-view-tab.active{border-color:#416d82;background:#e7f1f3;color:#294f61}
    .recipe-filters{display:grid;grid-template-columns:minmax(180px,2fr) repeat(4,minmax(120px,1fr));gap:8px;margin-bottom:14px}.recipe-filters input,.recipe-filters select{min-width:0}
    .recipe-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recipe-page-grid .recipe-card{display:flex;min-height:155px;margin:0;flex-direction:column}.recipe-page-grid .recipe-card button{align-self:flex-start;margin-top:auto}.recipe-page-grid>.nutrition-empty{grid-column:1/-1}.recipe-page-grid .recipe-card{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.recipe-page-grid .recipe-card:hover,.recipe-page-grid .recipe-card:focus-visible{border-color:#c7673f;box-shadow:0 6px 16px rgba(38,54,61,.09);transform:translateY(-1px);outline:0}.nutrition-empty span{display:block}.nutrition-empty button{margin-top:15px;padding:8px 12px;border:1px solid var(--accent);border-radius:7px;font-weight:700;cursor:pointer}
    .nutrition-empty{padding:36px 24px;border:1px dashed #c5d3d5;border-radius:8px;background:#fff;color:#61717a;text-align:center}.nutrition-empty strong{display:block;margin-bottom:6px;color:var(--ink);font-size:17px}
    .nutrition-plan-surface{padding:20px;background:#fff;border:1px solid var(--line);border-radius:8px}.nutrition-plan-surface:empty{display:none}
    @media(max-width:900px){.recipe-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:640px){.nutrition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-content{padding:20px 18px 26px}.nutrition-section-head{align-items:stretch;flex-direction:column}.nutrition-view-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-filters,.recipe-page-grid{grid-template-columns:1fr}}
    .inventory-box summary{cursor:pointer;list-style:none;margin:0 0 10px;color:#315e72;font-size:15px;font-weight:700}
    .inventory-box summary::-webkit-details-marker{display:none}
    .inventory-box summary:after{content:"Скрыть";float:right;font-size:11px;font-weight:600}
    .inventory-box:not([open]){padding-bottom:12px}
    .inventory-box:not([open]) summary{margin-bottom:0}
    .inventory-box:not([open]) summary:after{content:"Показать"}    .location-actions{display:flex;gap:6px;margin:8px 0 10px}
    .location-actions button{flex:1;min-height:30px;border:1px solid #cbd9dc;border-radius:6px;background:#fff;color:#49626d;font:inherit;font-size:12px;cursor:pointer}
    .location-actions button:hover{border-color:#c7673f;color:#a94f2e;background:#fff8f4}
    .location-actions .save-location{background:#416d82;border-color:#416d82;color:#fff}    .location-choice{display:flex;align-items:center;gap:7px;min-height:34px;padding:6px 8px;border:1px solid #cad9dc;border-radius:7px;background:#fff;color:#49626d;font-size:12px;cursor:pointer}
    .location-choice.active{background:#e7f1f3;border-color:#416d82;color:#294f61;font-weight:700}
    .location-choice input{width:auto;min-height:auto;margin:0;accent-color:#416d82}    .location-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:10px}
    .location-tab{min-height:34px;padding:6px 8px;border:1px solid #cad9dc;border-radius:7px;background:#fff;color:#49626d;font:inherit;font-size:12px;cursor:pointer}
    .location-tab.active{background:#e7f1f3;border-color:#416d82;color:#294f61;font-weight:700}
    .location-context{padding:8px 0 2px;color:#315e72;font-size:12px;font-weight:700}
    #swimSettings[hidden]{display:none}    .suggestions{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 2px}
    .suggestion{border:1px solid #cbd9dc;border-radius:999px;background:#fff;color:#49626d;padding:4px 8px;font:inherit;font-size:11px;cursor:pointer}
    .suggestion:hover,.suggestion.selected{background:#e7f1f3;border-color:#416d82;color:#294f61}    .profile-subgroup{margin:4px 0 10px;padding:0 10px 8px;border-left:2px solid #dce7e6}
    .profile-subgroup summary{cursor:pointer;list-style:none;padding:7px 0;color:#617780;font-size:12px;font-weight:700}
    .profile-subgroup summary::-webkit-details-marker{display:none}
    .profile-subgroup summary:after{content:"Показать";float:right;font-size:11px;font-weight:600;text-transform:none}
    .profile-subgroup[open] summary:after{content:"Скрыть"}    .profile-tools{grid-template-columns:1fr 1fr;align-items:stretch}
    .profile-tools select{grid-column:1/-1;width:100%}
    .profile-tools button{min-height:36px;padding:7px 8px;font-size:12px}
    .location-actions{flex-wrap:wrap}
    .location-actions button{flex:1 1 auto;padding:6px 8px}    .profile-group{margin:0 0 8px;border-bottom:1px solid #e2e9e8;padding-bottom:8px}
    .profile-group summary{cursor:pointer;list-style:none;padding:9px 2px;color:#315e72;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}
    .profile-group summary::-webkit-details-marker{display:none}
    .profile-group summary:after{content:"Показать";float:right;font-size:11px;font-weight:600;line-height:12px;text-transform:none}
    .profile-group[open] summary:after{content:"Скрыть"}
    .profile-group .section{display:none}      .location-mode{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 9px}
    .location-mode button{min-height:32px;padding:6px 8px;border:1px solid #cad9dc;border-radius:7px;background:#fff;color:#49626d;font:inherit;font-size:12px;cursor:pointer}
    .location-mode button.active{background:#416d82;border-color:#416d82;color:#fff;font-weight:700}
    .location-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:10px}
    .location-choice{display:flex;align-items:center;gap:7px;min-height:34px;padding:6px 8px;border:1px solid #cad9dc;border-radius:7px;background:#fff;color:#49626d;font-size:12px;cursor:pointer}
    .location-choice.active{background:#e7f1f3;border-color:#416d82;color:#294f61;font-weight:700}
    .location-choice input{width:auto;min-height:auto;margin:0;accent-color:#416d82}
    .location-cards{display:grid;gap:9px}
    .location-card{padding:0 10px 10px;border:1px solid #d4e1df;border-radius:8px;background:#fff;box-shadow:0 3px 10px rgba(38,54,61,.04)}
    .location-card summary{cursor:pointer;list-style:none;padding:11px 2px;color:#294f61;font-size:13px;font-weight:700}
    .location-card summary::-webkit-details-marker{display:none}
    .location-card summary:after{content:"Скрыть";float:right;color:#71828a;font-size:11px;font-weight:600}
    .location-card:not([open]) summary:after{content:"Показать"}
    .location-card-title{display:flex;align-items:center;gap:7px}
    .location-card-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:#e7f1f3;color:#315e72;font-size:13px}
    .location-card-body{padding:0 2px}
    .location-card-section{margin:9px 0 5px;color:#617780;font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase}
    .location-card .equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}
    .location-card .equipment-check{min-height:28px;padding:3px 0;font-size:12px}
    .location-card .location-actions{display:flex;gap:5px;flex-wrap:wrap;margin:7px 0 8px}
    .location-card .location-actions button{flex:1 1 auto;min-height:29px;padding:5px 7px;border:1px solid #cbd9dc;border-radius:6px;background:#fff;color:#49626d;font:inherit;font-size:11px;cursor:pointer}
    .location-card .location-actions .save-location{background:#416d82;border-color:#416d82;color:#fff}
    .location-card .location-actions button:hover{border-color:#c7673f;color:#a94f2e;background:#fff8f4}
    .location-exercises{display:flex;flex-wrap:wrap;gap:5px}
    .location-exercise{padding:5px 8px;border:1px solid #d1e0dc;border-radius:999px;background:#f5f8f7;color:#315e72;font:inherit;font-size:11px;cursor:pointer}
    .location-exercise:hover{background:#e7f1f3;border-color:#416d82}
    .location-empty{padding:7px 0;color:#76838e;font-size:12px}
    .location-auto{padding:12px;border:1px dashed #abc7d2;border-radius:8px;background:#f1f7f9;color:#315e72;font-size:12px;line-height:1.45}
    .pool-settings{margin-top:9px;padding-top:8px;border-top:1px solid #e2e9e8}
      .composer{display:block}
    .compose-row{display:flex;gap:10px;align-items:stretch}
    .chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
    .chat-suggestion{padding:6px 10px;border:1px solid #cbd9dc;border-radius:999px;background:#f5f8f7;color:#315e72;font:inherit;font-size:12px;cursor:pointer}
    .chat-suggestion:hover{background:#e7f1f3;border-color:#416d82;color:#294f61}
    @media(max-width:760px){.compose-row{display:block}.compose-row .send{width:100%;height:44px;margin-top:10px}}
      .profile-group{margin:0 0 14px;border:1px solid #d7e1e1;border-radius:10px;background:#fff;box-shadow:0 4px 14px rgba(38,54,61,.045);overflow:hidden}
    .profile-group>summary{padding:12px 13px;background:#eef4f3;color:#315e72;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase;border-bottom:1px solid transparent}
    .profile-group[open]>summary{border-bottom-color:#dce7e6}
    .profile-group>summary:after{content:"Показать";float:right;color:#71828a;font-size:11px;font-weight:600;line-height:15px;letter-spacing:0;text-transform:none}
    .profile-group[open]>summary:after{content:"Скрыть"}
    #profileSection>summary{background:#eaf4f1;color:#246451;border-left:4px solid #4b9b7d}
    #trainingSection>summary{background:#fff1e9;color:#91492f;border-left:4px solid #c7673f}
    #preferencesSection>summary{background:#eef4f8;color:#315e72;border-left:4px solid #6c9db2}
    #limitsSection>summary{background:#fff3ef;color:#984a35;border-left:4px solid #d47b5d}
    .profile-group>.profile-subgroup{margin:10px 11px 12px;padding:0 10px 10px;border:1px solid #e0e8e7;border-left:3px solid #a8c9c0;border-radius:8px;background:#fbfcfc}
    .profile-subgroup>summary{padding:10px 2px;color:#486b72;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}
    .profile-subgroup[open]>summary{border-bottom:1px solid #e3ebea}
    .profile-subgroup>summary:after{content:"Показать";float:right;color:#819197;font-size:11px;font-weight:600;letter-spacing:0;text-transform:none}
    .profile-subgroup[open]>summary:after{content:"Скрыть"}
    .profile-group>.label,.profile-group>input,.profile-group>textarea,.profile-group>select{margin-left:12px;margin-right:12px;width:calc(100% - 24px)}
    .schedule-presets{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:9px 0 8px}
    .schedule-presets button{min-height:31px;border:1px solid #cad9dc;border-radius:6px;background:#fff;color:#49626d;font:inherit;font-size:11px;cursor:pointer}
    .schedule-presets button.active{background:#416d82;border-color:#416d82;color:#fff;font-weight:700}
    .weekday-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
    .weekday-option{position:relative;cursor:pointer}
    .weekday-option input{position:absolute;width:1px;height:1px;min-height:0;opacity:0}
    .weekday-option span{display:flex;align-items:center;justify-content:center;min-height:32px;border:1px solid #cad9dc;border-radius:6px;background:#fff;color:#617780;font-size:11px;font-weight:700}
    .weekday-option input:checked+span{background:#dceee8;border-color:#4b9b7d;color:#245e4f}
    .weekday-option input:focus-visible+span{outline:3px solid rgba(65,109,130,.18)}
    .activity-options{display:grid;gap:5px;margin-top:6px}
    .activity-option{display:grid;grid-template-columns:18px 1fr;gap:7px;align-items:start;padding:7px 8px;border:1px solid #d7e2e1;border-radius:7px;background:#fff;color:#40505a;cursor:pointer}
    .activity-option:has(input:checked){background:#eef7f3;border-color:#86b9a8}
    .activity-option input{width:auto;min-height:auto;margin:2px 0 0;accent-color:#4b9b7d}
    .activity-option strong{display:block;font-size:12px}
    .activity-option small{display:block;margin-top:2px;color:#71828a;font-size:10px;line-height:1.3}
    #trainingSection>.location-section{margin:10px 11px 12px;border-color:#e2d7d0;background:#fffdfb;box-shadow:none}
    #trainingSection>.location-section>summary{background:#fff7f2;color:#91492f;border-left:3px solid #c7673f}
    .profile-group .suggestions{padding:0 12px}
    .profile-group .suggestion{background:#f8fbfa;border-color:#bfd8d1;color:#397466}
    .profile-group .suggestion.selected{background:#dceee8;border-color:#4b9b7d;color:#245e4f}
    .profile-tools button:first-of-type{background:#eef5f4;border-color:#a9c8c1;color:#315e72}
    .profile-tools button:last-of-type{background:#fff5f1;border-color:#e0b19d;color:#984a35}
    .mobile-profile-toggle{display:none}
    @media(max-width:760px){.mobile-profile-toggle{display:block;width:100%;min-height:40px;border:1px solid #abc7d2;border-radius:7px;background:#f1f7f9;color:#315e72;font-weight:700}.side:not(.mobile-open) .profile-tools,.side:not(.mobile-open)>.profile-group,.side:not(.mobile-open)>#swimSettings{display:none}.side:not(.mobile-open){padding-bottom:14px}.side:not(.mobile-open) .brand{margin-bottom:12px}}    .training-mode-tabs{display:flex;gap:5px;margin-top:13px;overflow-x:auto;scrollbar-width:none}.training-mode-tabs::-webkit-scrollbar{display:none}
    .training-mode-tab{flex:0 0 auto;min-width:92px;min-height:36px;padding:7px 11px;border:1px solid #c8d4d7;border-radius:7px;background:#fff;color:#49626d;font-weight:700;cursor:pointer}
    .training-mode-tab:hover{border-color:#416d82;color:#294f61}.training-mode-tab.active{border-color:#416d82;background:#e7f1f3;color:#294f61}
    @media(max-width:760px){.training-mode-tabs{margin-right:-18px;padding-right:18px}.training-mode-tab{min-width:88px}}    .app[hidden]{display:none}
    #profileSection{display:none}
    .auth-gate{min-height:100vh;display:grid;place-items:center;padding:24px;box-sizing:border-box;background:#edf2f1}
    .auth-gate[hidden]{display:none}
    .auth-panel{width:min(420px,100%);box-sizing:border-box;padding:28px;background:#fff;border:1px solid #d7e1e1;border-radius:8px;box-shadow:0 18px 50px rgba(38,54,61,.14)}
    .auth-panel h1{margin:0 0 6px;font-size:25px}.auth-panel>p{margin:0 0 22px;color:#687780;line-height:1.45}
    .auth-form{display:grid;gap:13px}.auth-form label{display:grid;gap:5px;color:#52646d;font-size:13px}.auth-form button{min-height:44px;border:0;border-radius:7px;background:#126b50;color:#fff;font-weight:700;cursor:pointer}
    .auth-form label[hidden]{display:none}.auth-form button:disabled{opacity:.55;cursor:default}.auth-error{min-height:20px;margin:0;color:#a13f2c;font-size:13px}.auth-switch{margin:16px 0 0;color:#687780;font-size:13px;text-align:center}.auth-switch button{border:0;background:transparent;color:#315e72;font-weight:700;cursor:pointer}
    .workspace-spacer{flex:1}.account-email{align-self:center;max-width:200px;overflow:hidden;color:#687780;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.account-action{min-height:34px;padding:6px 9px;border:1px solid #c8d4d7;border-radius:6px;background:#fff;color:#315e72;font-weight:700;cursor:pointer}.account-action:hover{border-color:#416d82}.account-action.danger{color:#984a35}
    .settings-form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.settings-form label{display:grid;gap:5px;color:#52646d;font-size:13px}.settings-form .wide{grid-column:1/-1}.settings-form input[readonly]{background:#f4f7f6;color:#687780}
    @media(max-width:760px){.auth-gate{padding:14px}.auth-panel{padding:22px}.workspace-tabs{flex-wrap:wrap}.workspace-spacer{display:none}.account-email{order:3;width:100%;max-width:none}.settings-form{grid-template-columns:1fr}.settings-form .wide{grid-column:auto}}
    .activity-content{flex:1 1 auto;min-height:0;overflow:auto;padding:24px 34px 32px;background:#f4f7f6}
    .activity-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:24px}
    .activity-metric{min-width:0;padding:14px 15px;background:#fff;border:1px solid var(--line);border-top:3px solid #416d82;border-radius:8px}
    .activity-metric:nth-child(2){border-top-color:#35a77d}.activity-metric:nth-child(3){border-top-color:#c7673f}.activity-metric:nth-child(4){border-top-color:#6d7d9b}.activity-metric:nth-child(5){border-top-color:#8c6c47}
    .activity-metric-value{display:block;overflow-wrap:anywhere;color:var(--ink);font-size:21px;font-weight:700}
    .activity-metric-label{display:block;margin-top:3px;color:var(--muted);font-size:12px}
    .activity-section-head{margin-bottom:10px}.activity-section-head h2{margin:0 0 3px;font-size:20px}.activity-section-head p{margin:0;color:var(--muted);font-size:13px}
    .activity-days{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:8px}
    .activity-day{display:grid;grid-template-columns:minmax(110px,1.25fr) repeat(6,minmax(86px,1fr));align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid #e5ebed;color:#40505a;font-size:13px}
    .activity-day:last-child{border-bottom:0}.activity-day-head{background:#eef3f3;color:#60717a;font-size:11px;font-weight:700;text-transform:uppercase}.activity-day-date{color:var(--ink);font-weight:700}.activity-day-value{white-space:nowrap}
    .activity-empty{padding:48px 24px;background:#fff;border:1px dashed #c5d3d5;border-radius:8px;color:#61717a;text-align:center}.activity-empty strong{display:block;margin-bottom:6px;color:var(--ink);font-size:17px}.activity-empty span{display:block;max-width:560px;margin:auto;line-height:1.5}
    .activity-mode #trainingSection,.activity-mode #nutritionProfileSection,.activity-mode #preferencesSection,.activity-mode #limitsSection{display:none}
    @media(max-width:1000px){.activity-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-day{grid-template-columns:minmax(105px,1.2fr) repeat(3,minmax(82px,1fr))}.activity-day>*:nth-child(5),.activity-day>*:nth-child(6),.activity-day>*:nth-child(7){display:none}}
    @media(max-width:640px){.activity-content{padding:20px 18px 26px}.activity-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-metric:last-child{grid-column:1/-1}.activity-days{border:0;background:transparent}.activity-day-head{display:none}.activity-day{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;margin-bottom:8px;padding:13px 14px;background:#fff;border:1px solid var(--line);border-radius:8px}.activity-day>*:nth-child(5),.activity-day>*:nth-child(6),.activity-day>*:nth-child(7){display:block}.activity-day-date{grid-column:1/-1}.activity-day-value:before{display:block;margin-bottom:1px;color:var(--muted);font-size:10px;text-transform:uppercase}.activity-day-value:nth-child(2):before{content:"Шаги"}.activity-day-value:nth-child(3):before{content:"Расстояние"}.activity-day-value:nth-child(4):before{content:"Активность"}.activity-day-value:nth-child(5):before{content:"Калории"}.activity-day-value:nth-child(6):before{content:"Пульс"}.activity-day-value:nth-child(7):before{content:"Сон"}}
    .calorie-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px;padding:8px 0 20px}
    .calorie-pane,.supplement-pane{min-width:0;padding:18px 0;border-top:3px solid #416d82}
    .supplement-pane{border-top-color:#c7673f}.calorie-pane h3,.supplement-pane h3{margin:0 0 4px;font-size:18px}.calorie-pane>p,.supplement-head p{margin:0 0 18px;color:var(--muted);font-size:13px}.calorie-pane label{display:grid;gap:6px;color:#52646d;font-size:13px}
    .calorie-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}.calorie-result>div{padding:12px;background:#fff;border:1px solid var(--line);border-radius:7px}.calorie-result strong{display:block;font-size:20px}.calorie-result span{color:var(--muted);font-size:12px}.calorie-result p{grid-column:1/-1;margin:4px 0 0;color:#63737c;font-size:12px;line-height:1.45}.calorie-result-empty{display:block;padding:20px;border:1px dashed #c5d3d5;border-radius:7px;color:#687780;text-align:center}
    .supplement-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.supplement-head button{padding:7px 11px;border:1px solid #c8d4d7;border-radius:7px;background:#fff;color:#315e72;font-weight:700;cursor:pointer}.supplement-list{display:grid;gap:7px}.supplement-row{display:grid;grid-template-columns:minmax(120px,1.3fr) minmax(90px,.8fr) minmax(120px,1fr) 36px;gap:6px}.supplement-row input,.supplement-row select{min-width:0}.supplement-remove{width:36px;border:1px solid #dfb4aa;border-radius:7px;background:#fff8f6;color:#9a3f2d;font-size:22px;cursor:pointer}.supplement-empty{padding:22px;border:1px dashed #c5d3d5;border-radius:7px;color:#687780;text-align:center}.supplement-note{margin:12px 0 0;color:#7a665f;font-size:11px;line-height:1.4}
    @media(max-width:850px){.calorie-layout{grid-template-columns:1fr}.supplement-row{grid-template-columns:1fr 1fr 36px}.supplement-row select{grid-column:1/3}}
    @media(max-width:560px){.calorie-result{grid-template-columns:1fr 1fr}.supplement-row{grid-template-columns:1fr 36px}.supplement-row input,.supplement-row select{grid-column:1}.supplement-remove{grid-column:2;grid-row:1/4;height:100%}}    .diary-content{flex:1 1 auto;min-height:0;overflow:auto;padding:24px 34px 34px;background:#f4f7f6}
    .diary-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:22px}.diary-metric{padding:13px 14px;background:#fff;border:1px solid var(--line);border-top:3px solid #416d82;border-radius:8px}.diary-metric:nth-child(2){border-top-color:#35a77d}.diary-metric:nth-child(3){border-top-color:#c7673f}.diary-metric:nth-child(4){border-top-color:#8c6c47}.diary-metric strong{display:block;font-size:21px}.diary-metric span{color:var(--muted);font-size:12px}
    .diary-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:24px}.diary-section-head{margin-bottom:10px}.diary-section-head h2{margin:0 0 3px;font-size:19px}.diary-section-head p{margin:0;color:var(--muted);font-size:12px}.diary-entries{display:grid;gap:9px}.diary-entry{padding:15px 16px;background:#fff;border:1px solid var(--line);border-left:4px solid #416d82;border-radius:8px}.diary-entry.partial{border-left-color:#c7673f}.diary-entry.skipped{border-left-color:#9aa5aa}.diary-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.diary-entry h3{margin:0 0 3px;font-size:16px}.diary-entry-date{color:#64747d;font-size:12px}.diary-entry-actions{display:flex;gap:5px}.diary-entry-actions button{padding:5px 8px;border:1px solid #c8d4d7;border-radius:6px;background:#fff;color:#315e72;font-size:11px;cursor:pointer}.diary-entry-actions .danger{color:#984a35}.diary-entry-meta{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.diary-entry-meta span{padding:3px 7px;background:#eef3f3;border-radius:999px;color:#50636d;font-size:11px}.diary-exercise-list{display:grid;gap:4px;margin-top:9px}.diary-exercise{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding-top:6px;border-top:1px solid #edf1f2;font-size:13px}.diary-exercise-result{color:#64747d;white-space:nowrap}.diary-notes{margin:9px 0 0;color:#5c6c74;font-size:12px;line-height:1.45}.diary-empty{padding:36px 20px;border:1px dashed #c5d3d5;border-radius:8px;background:#fff;color:#687780;text-align:center}.diary-empty strong{display:block;margin-bottom:5px;color:var(--ink)}
    .diary-analysis{min-width:0}.diary-weeks{display:grid;gap:7px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:8px}.diary-week{display:grid;grid-template-columns:58px 1fr 24px;align-items:center;gap:8px;font-size:11px}.diary-week-track{height:8px;overflow:hidden;background:#e8eeee;border-radius:4px}.diary-week-fill{height:100%;min-width:2px;background:#416d82;border-radius:4px}.exercise-progress-head{margin-top:22px}.exercise-progress{display:grid;gap:7px}.exercise-progress-item{padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:7px}.exercise-progress-item strong{display:block;font-size:13px}.exercise-progress-item span{color:#64747d;font-size:11px}
    .workout-form{display:grid;gap:14px}.workout-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.workout-form label{display:grid;gap:5px;color:#52646d;font-size:12px}.workout-form .wide{grid-column:1/-1}.workout-check{display:flex!important;align-items:center;gap:7px}.workout-check input{width:auto;min-height:auto}.workout-exercise-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.workout-exercise-head h3{margin:0;font-size:15px}.workout-exercise-head button{padding:6px 9px;border:1px solid #abc7d2;border-radius:6px;background:#f1f7f9;color:#315e72;font-weight:700;cursor:pointer}.workout-exercise-editor{display:grid;grid-template-columns:minmax(150px,1.8fr) repeat(3,minmax(72px,.6fr)) 34px;gap:6px}.workout-exercise-editor input{min-width:0}.workout-exercise-remove{border:1px solid #dfb4aa;border-radius:7px;background:#fff8f6;color:#9a3f2d;font-size:20px;cursor:pointer}
    .diary-mode #trainingSection,.diary-mode #nutritionProfileSection,.diary-mode #preferencesSection,.diary-mode #limitsSection{display:none}
    @media(max-width:900px){.diary-layout{grid-template-columns:1fr}.diary-analysis{display:grid;grid-template-columns:1fr 1fr;gap:16px}.exercise-progress-head{grid-column:2;margin:0}.exercise-progress{grid-column:2}.diary-weeks{grid-row:2}.workout-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:640px){.diary-content{padding:20px 18px 26px}.diary-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.diary-analysis{display:block}.exercise-progress-head{margin-top:20px}.workout-form-grid{grid-template-columns:1fr}.workout-form .wide{grid-column:auto}.workout-exercise-editor{grid-template-columns:1fr 1fr 34px;padding:9px;border:1px solid var(--line);border-radius:7px}.workout-exercise-editor input:first-child{grid-column:1/3}.workout-exercise-editor input:nth-child(4){grid-column:1/3}.workout-exercise-remove{grid-column:3;grid-row:1/3}.diary-entry-head{align-items:stretch;flex-direction:column}.diary-entry-actions{justify-content:flex-end}}  

.plan-actions .app-download{display:inline-block;border:1px solid #abc7d2;border-radius:7px;padding:7px 10px;color:#315e72;background:#f1f7f9;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
.plan-actions .app-download:hover{border-color:#416d82;background:#e7f1f3;color:#294f61;transform:translateY(-1px);box-shadow:0 4px 12px rgba(38,54,61,.08)}
