.generator-panel{display:flex;flex-direction:column;min-height:320px;max-height:calc(100vh - 140px);border:1px solid #1e2c40;border-radius:14px;background:#141d2a;overflow:hidden}.generator-panel--error{border-color:#2c3f58;background:#141d2a}.generator-panel .panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0;padding:12px 16px;background:#2e5f84;color:#e6dfd4}.generator-panel .panel-header h2{margin:0;font-family:Cinzel,serif;font-size:16px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.generator-panel .panel-header--encounter{background:#4480a8}.generator-panel .panel-header--npc{background:#2e5f84}.generator-panel .panel-header--shop{background:#6ba3c8;color:#0e1218}.generator-panel .panel-header--loot{background:#7a2020}.generator-panel .panel-header--trap{background:#9e2a2a}.generator-panel .panel-header--initiative{background:#2e5f84}.generator-panel .panel-header--rules{background:#4480a8}.generator-panel .panel-header--downtime{background:#2e5f84}.generator-panel .panel-header--persona{background:#4480a8}.generator-panel .panel-header--backstory{background:#2e5f84}.generator-panel .panel-header--dice{background:#4480a8}.generator-panel .panel-header--bastion{background:#3f7a5a}.generator-panel .panel-header--building{background:#7a2020}.generator-panel .panel-body{flex:1;min-height:0;width:100%;box-sizing:border-box;padding:16px;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#2c3f58 transparent}.generator-panel .unpin-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:6px;background:none;color:inherit;font-size:15px;line-height:1;cursor:pointer;transition:background-color .2s}.generator-panel .unpin-btn:hover,.generator-panel .unpin-btn:focus-visible{background-color:#00000040}.generator-panel .loading{padding:20px;text-align:center;color:#4e6272;font-size:16px}.generator-panel .panel-error{padding:12px;background:#7a202033;color:#ff6c6c;border-radius:6px;font-size:16px;line-height:1.4}@media(max-width:768px){.generator-panel{min-height:0;max-height:none}}.session-dashboard-page{min-height:100vh;padding-bottom:40px}.session-dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.session-dashboard-toolbar .content-panel-title{padding:0;border:0;margin:0 0 8px}.session-dashboard-toolbar p{color:#8fa5bc;font-size:16px;line-height:1.5;margin:0}.session-dashboard-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.session-dashboard-count{color:#8fa5bc;font-family:Cinzel,serif;font-size:12px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;white-space:nowrap}.add-generator-btn{min-height:46px;padding:0 24px;border:1px solid #9e2a2a;border-radius:8px;background:#9e2a2a;color:#e6dfd4;font-family:Cinzel,serif;font-size:14px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;cursor:pointer;box-shadow:none;transition:all .2s ease}.add-generator-btn:hover,.add-generator-btn:focus-visible{border-color:#c03838;background:#7a2020;box-shadow:none}.add-generator-btn:active{transform:scale(.98)}.add-generator-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.fullscreen-toggle-btn{min-height:46px;padding:0 20px;border:1px solid #2c3f58;border-radius:8px;background:transparent;color:#e6dfd4;font-family:Cinzel,serif;font-size:14px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.fullscreen-toggle-btn:hover,.fullscreen-toggle-btn:focus-visible{border-color:#6ba3c8;background:#1b2840}.session-dashboard-stage--fullscreen{position:fixed;inset:68px 0 0;z-index:90;display:flex;flex-direction:column;padding:0 24px 24px;background:#0e1218;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#2c3f58 transparent}.session-dashboard-stage--fullscreen .generator-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:20px;margin-bottom:0}.session-dashboard-stage--fullscreen .generator-panel{max-height:calc(100vh - 180px)}.fullscreen-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;margin:0 -24px 20px;padding:12px 24px;background:#0e1218;border-bottom:1px solid #1e2c40}.fullscreen-bar h2{margin:0;color:#e6dfd4;font-family:Cinzel,serif;font-size:18px;font-weight:600;letter-spacing:.5px}.fullscreen-bar-heading{display:flex;align-items:baseline;gap:16px;min-width:0}.fullscreen-bar-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.fullscreen-close-btn{display:flex;align-items:center;justify-content:center;width:56px;height:56px;padding:0;border:2px solid #2c3f58;border-radius:10px;background:#141d2a;color:#e6dfd4;font-size:30px;font-weight:700;line-height:1;cursor:pointer;transition:all .2s ease}.fullscreen-close-btn:hover,.fullscreen-close-btn:focus-visible{border-color:#9e2a2a;background:#9e2a2a}.generator-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:start;gap:24px;margin-bottom:40px}.dashboard-empty-state{display:flex;justify-content:center;align-items:center;min-height:220px;padding:26px 22px;text-align:center}.dashboard-empty-state .empty-state-card{max-width:520px}.dashboard-empty-state h2{color:#e6dfd4;font-family:Cinzel,serif;font-size:20px;margin:6px 0 8px}.dashboard-empty-state p{color:#8fa5bc;font-size:17px;line-height:1.65;margin:0 0 24px}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#0e1218c7;z-index:1000}.modal-content{display:flex;flex-direction:column;width:100%;max-width:640px;max-height:84vh;background:#141d2a;border:1px solid #2c3f58;border-radius:14px;box-shadow:0 24px 60px #000000a6;overflow:hidden}.modal-content .modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-shrink:0;padding:20px 22px 18px;border-bottom:1px solid rgba(255,255,255,.06)}.modal-content .modal-header h2{margin:0;color:#e6dfd4;font-family:Cinzel,serif;font-size:18px;font-weight:600;letter-spacing:.5px}.modal-content .modal-header p{margin:4px 0 0;color:#8fa5bc;font-size:14px;line-height:1.4}.modal-content .modal-header .modal-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:8px;background:none;color:#8fa5bc;font-size:16px;line-height:1;cursor:pointer;transition:all .2s}.modal-content .modal-header .modal-close:hover,.modal-content .modal-header .modal-close:focus-visible{color:#e6dfd4;border-color:#2c3f58;background:#1b2840}.modal-content .modal-body{flex:1;min-height:0;padding:18px 22px 22px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#2c3f58 transparent}.generator-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.generator-options .generator-option{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 14px;border:1px solid #1e2c40;border-radius:10px;background:#162033;color:#e6dfd4;text-align:left;cursor:pointer;transition:all .2s}.generator-options .generator-option:hover:not(:disabled),.generator-options .generator-option:focus-visible:not(:disabled){background:#1b2840;border-color:#2c3f58;transform:translateY(-1px)}.generator-options .generator-option:disabled{opacity:.55;cursor:default}.generator-options .generator-option .option-color{flex-shrink:0;width:10px;align-self:stretch;min-height:36px;border-radius:3px;background:#2e5f84}.generator-options .generator-option .option-color--encounter{background:#4480a8}.generator-options .generator-option .option-color--npc{background:#2e5f84}.generator-options .generator-option .option-color--shop{background:#6ba3c8}.generator-options .generator-option .option-color--loot{background:#7a2020}.generator-options .generator-option .option-color--trap{background:#9e2a2a}.generator-options .generator-option .option-color--initiative{background:#2e5f84}.generator-options .generator-option .option-color--rules{background:#4480a8}.generator-options .generator-option .option-color--downtime{background:#2e5f84}.generator-options .generator-option .option-color--persona{background:#4480a8}.generator-options .generator-option .option-color--backstory{background:#2e5f84}.generator-options .generator-option .option-color--dice{background:#4480a8}.generator-options .generator-option .option-color--bastion{background:#3f7a5a}.generator-options .generator-option .option-color--building{background:#7a2020}.generator-options .generator-option .option-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.generator-options .generator-option .option-name{font-family:Cinzel,serif;font-size:14px;font-weight:600;letter-spacing:.4px;line-height:1.25}.generator-options .generator-option .option-description{color:#8fa5bc;font-size:16px;line-height:1.4}.generator-options .generator-option .option-status{flex-shrink:0;align-self:center;padding:3px 9px;border-radius:3px;background:#4480a847;color:#6ba3c8;font-family:Cinzel,serif;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.generator-options .generator-option--pinned .option-status{background:#4e627233;color:#8fa5bc}.session-dashboard-page .generator-grid .generator-workspace-page,.session-dashboard-page .generator-grid .npc-page,.session-dashboard-page .generator-grid .character-traits-page,.session-dashboard-page .generator-grid .character-backstory-page,.session-dashboard-page .generator-grid .rules-reference-page,.session-dashboard-page .generator-grid .encounter-page,.session-dashboard-page .generator-grid .shop-page,.session-dashboard-page .generator-grid .loot-page,.session-dashboard-page .generator-grid .trap-page,.session-dashboard-page .generator-grid .dice-roller-page,.session-dashboard-page .generator-grid .downtime-planner-page,.session-dashboard-page .generator-grid .initiative-tracker-page{width:100%;max-width:none;padding-bottom:0}.session-dashboard-page .generator-grid .generator-workspace-hero{display:none}.session-dashboard-page .generator-grid .generator-workspace{gap:16px}.session-dashboard-page .generator-grid [class*=-control-panel],.session-dashboard-page .generator-grid [class*=-result-panel]{border-radius:10px}.session-dashboard-page .generator-grid [class*=-control-panel]{padding:18px}.session-dashboard-page .generator-grid [class*=-panel-heading]{padding-bottom:14px;margin-bottom:16px}.session-dashboard-page .generator-grid [class*=-panel-heading] h2{font-size:15px}.session-dashboard-page .generator-grid [class*=-panel-heading] p{font-size:16px;margin-top:4px}.session-dashboard-page .generator-grid .generator-controls,.session-dashboard-page .generator-grid .it-add-form,.session-dashboard-page .generator-grid .party-advanced-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.session-dashboard-page .generator-grid .generator-controls .button-generate{grid-column:1/-1;justify-self:stretch;width:100%;min-height:44px}.session-dashboard-page .generator-grid .page-controls{margin-bottom:0}.session-dashboard-page .generator-grid .page-controls .form-group{min-width:0}.session-dashboard-page .generator-grid [class*=-result-panel]{min-height:220px}.session-dashboard-page .generator-grid .generator-result{padding:18px}.session-dashboard-page .generator-grid .generator-result-header{gap:12px;padding-bottom:14px;margin-bottom:16px}.session-dashboard-page .generator-grid .generator-result-header h2{font-size:22px}.session-dashboard-page .generator-grid .generator-result-header p{font-size:16px}.session-dashboard-page .generator-grid [class*=-empty-state]{justify-content:center;min-height:220px;padding:26px 22px}.session-dashboard-page .generator-grid [class*=-empty-state] h2{font-size:20px;margin:6px 0 8px}.session-dashboard-page .generator-grid [class*=-empty-state] p:last-child{font-size:16px;line-height:1.5}.session-dashboard-page .generator-grid .generator-actions{justify-content:flex-start;gap:8px}.session-dashboard-page .generator-grid .encounter-creatures-table{min-width:0;font-size:13px}.session-dashboard-page .generator-grid .rules-section-title{padding:18px}.session-dashboard-page .generator-grid .rules-entry-list{padding:0 18px 14px}.session-dashboard-page .generator-grid .building-top-row{flex-direction:column;align-items:stretch}.session-dashboard-page .generator-grid .building-top-row .building-menu-section{width:100%}.session-dashboard-page .generator-grid .building-npc-grid{grid-template-columns:1fr}.session-dashboard-page .generator-grid .npc-card{min-width:0}.session-dashboard-page .generator-grid .stat-block{width:100%;min-width:0;margin:0;padding:16px 0 0;box-shadow:none;display:block}@media(max-width:900px){.fullscreen-toggle-btn{display:none}}@media(max-width:768px){.session-dashboard-toolbar,.session-dashboard-actions{flex-direction:column;align-items:stretch}.session-dashboard-actions{gap:12px}.add-generator-btn{width:100%}.generator-grid,.generator-options{grid-template-columns:1fr}.generator-grid{gap:16px}.modal-overlay{padding:12px}.modal-content{max-height:90vh}}@media(prefers-reduced-motion:reduce){.session-dashboard-page .add-generator-btn,.session-dashboard-page .generator-option,.fullscreen-toggle-btn,.fullscreen-close-btn{transition:none;transform:none}}
