/* Monster Forge Alpha 4.0 — Campaign Atlas. All UI styles are module-scoped. */
body.mf30 .mf40-view{max-width:1550px;min-width:0}
.mf40-view,.mf40-view *{box-sizing:border-box}
.mf40-heading-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.mf40-view button{cursor:pointer;font-family:inherit}
.mf40-btn,.mf40-primary,.mf40-file-btn{display:inline-flex;gap:7px;align-items:center;justify-content:center;line-height:1.35;text-align:center;border:1px solid #536b60;border-radius:9px;background:#25383a;color:#e6efe5;font-size:12px;font-weight:700;padding:10px 12px;min-height:35px;text-decoration:none;transition:background .15s,border-color .15s}
.mf40-btn:hover,.mf40-file-btn:hover{background:#344d49;border-color:#bda17b}
.mf40-primary{background:#e2b982;color:#192624;border-color:#e2b982}.mf40-primary:hover{background:#f4d3a3}
.mf40-btn-quiet{background:transparent;color:#dbd6c6;border-color:#52685f}
.mf40-btn-quiet:hover{background:#273e3a}
.mf40-danger{background:transparent;color:#e5b7ad;border-color:#775956}.mf40-danger:hover{background:#4b3232}
.mf40-link-btn{font:700 11px inherit;border:0;background:none;color:#e8c38d;padding:8px 0;cursor:pointer;text-align:left}
.mf40-link-btn:hover{text-decoration:underline}
.mf40-file-btn{position:relative;overflow:hidden;cursor:pointer}.mf40-file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.mf40-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:15px}
.mf40-metrics>div{background:#19282a;border:1px solid #344d4b;border-radius:12px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.mf40-metrics small{font-size:11px;color:#a6beb3;font-weight:700}.mf40-metrics strong{font:26px Georgia,serif;color:#f1c994;font-variant-numeric:tabular-nums}
.mf40-workspace{display:grid;grid-template-columns:minmax(220px,275px) minmax(0,1fr);gap:14px;align-items:start}
.mf40-panel{border:1px solid #3d544f;background:#152429;border-radius:15px;padding:18px;min-width:0}
.mf40-sidebar{display:grid;gap:15px;position:sticky;top:68px}
.mf40-small-caps,.mf40-kicker{font-size:10px;font-weight:800;letter-spacing:1.7px;color:#e6c38c;text-transform:uppercase}
.mf40-small-caps{margin:0 0 9px}.mf40-sidebar h2{font:normal 22px/1.2 Georgia,serif;color:#f5e8d4;margin:0 0 12px}
.mf40-rail-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.mf40-counter{color:#d8bb91;font-size:11px;padding:4px 7px;border-radius:6px;border:1px solid #526657}
.mf40-new-form{display:grid;gap:8px}.mf40-new-form .mf40-field{margin:0}
.mf40-campaign-list{display:grid;gap:7px;max-height:400px;overflow-y:auto;scrollbar-width:thin;padding-right:3px}
.mf40-campaign-entry{background:#1b2d2f;border:1px solid #374f48;border-radius:10px;padding:12px;text-align:left;display:grid;gap:5px;color:#e7ede4;width:100%}
.mf40-campaign-entry strong{font-size:13px;line-height:1.35;overflow-wrap:anywhere}.mf40-campaign-entry span{font-size:10px;color:#99b0a8}
.mf40-campaign-entry:hover{background:#2d4141;border-color:#a4916d}.mf40-campaign-entry.is-selected{box-shadow:inset 3px 0 #e2b982;border-color:#b9a27b;background:#263936}
.mf40-rail-divider{border-top:1px solid #3b514e}
.mf40-side-stack{display:grid;gap:8px}.mf40-side-stack>*{width:100%}
.mf40-note{font-size:11px;line-height:1.65;color:#aabdb5;margin:0}
.mf40-status{border:1px solid #446354;border-radius:99px;background:#263c34;color:#cae2c6;font-size:10px;padding:5px 10px;white-space:nowrap}
.mf40-status.is-error{border-color:#a46c63;background:#472c2c;color:#ffcfc4}
.mf40-content{display:grid;gap:12px;min-width:0}
.mf40-headline{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:4px 0 15px;border-bottom:1px solid #304943}
.mf40-headline h2{font:normal 28px/1.2 Georgia,serif;color:#f3dfbe;margin:0 0 6px;overflow-wrap:anywhere}
.mf40-headline p{font-size:12px;color:#9db7aa;margin:0}
.mf40-tabs{display:flex;gap:5px;align-items:stretch;overflow-x:auto;border-bottom:1px solid #3e554e;padding-bottom:1px;scrollbar-width:thin}
.mf40-tab{background:transparent;border:0;border-bottom:3px solid transparent;color:#9fb4ae;white-space:nowrap;font-size:12px;font-weight:750;padding:12px 12px 11px}
.mf40-tab:hover{color:#f1e1c6}.mf40-tab.is-selected{color:#f5ce95;border-bottom-color:#e2b982}
.mf40-pane{display:grid;gap:14px;min-width:0;padding:21px}
.mf40-pane-heading h2{font:normal 24px Georgia,serif;color:#f3e4cb;margin:0 0 7px}.mf40-pane-heading .mf40-muted{margin:0}
.mf40-field{display:flex;flex-direction:column;gap:7px;min-width:0;color:#b0c3b8;font-size:11px;font-weight:700}
.mf40-field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;min-width:0}
body.mf30 .mf40-view input,body.mf30 .mf40-view textarea,body.mf30 .mf40-view select{display:block;min-width:0;max-width:100%;width:100%;background:#0f1c21;color:#f2f0e8;border:1px solid #435e58;border-radius:8px;padding:11px 11px;font-family:inherit;font-size:12px;line-height:1.4;box-shadow:none;outline:none}
body.mf30 .mf40-view textarea{resize:vertical;min-height:75px;line-height:1.5}
body.mf30 .mf40-view input:focus,body.mf30 .mf40-view textarea:focus,body.mf30 .mf40-view select:focus{border-color:#e3b982;box-shadow:0 0 0 2px #e3b98228}
body.mf30 .mf40-view input::placeholder,body.mf30 .mf40-view textarea::placeholder{color:#80958e}
.mf40-muted{font-size:11px;color:#99b2a8;line-height:1.7}.mf40-muted p{margin:0}
.mf40-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mf40-callout{padding:15px;background:#1c302e;border:1px solid #38584c;border-radius:11px;display:grid;gap:8px;min-width:0}
.mf40-callout strong{font:normal 20px/1.3 Georgia,serif;color:#f1e4cb;overflow-wrap:anywhere}
.mf40-callout small{color:#aac0b5;font-size:11px}
.mf40-empty{min-height:365px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:44px 20px}
.mf40-empty-mark{width:64px;height:64px;border:1px solid #b7986d;background:#223735;border-radius:50%;display:grid;place-items:center;font:36px Georgia,serif;color:#dbb785;box-shadow:0 0 0 10px #192a2933}
.mf40-empty h2{font:normal 31px Georgia,serif;color:#f6dfc1;margin:6px 0 0}
.mf40-empty p{max-width:430px;font-size:13px;color:#b0c1b4;line-height:1.7;margin:0}
.mf40-blank{border:1px dashed #587166;border-radius:11px;padding:27px;color:#adc1b2;text-align:center;display:grid;gap:12px;justify-items:center}
.mf40-blank h3{font:normal 22px Georgia,serif;margin:0;color:#f4e0bc}.mf40-blank p{margin:0;color:#a8bcb2;font-size:12px}
.mf40-inline-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.mf40-inline-head h3{font:normal 20px Georgia,serif;margin:0;color:#f3e3c6}
.mf40-item{display:grid;gap:12px;padding:15px;background:#1a2b2d;border:1px solid #3b544f;border-radius:12px;min-width:0}
.mf40-item-head{display:flex;gap:10px;justify-content:space-between;align-items:start}
.mf40-item strong{font-size:13px;line-height:1.4;color:#e9e9df;overflow-wrap:anywhere}.mf40-item small{display:block;font-size:10px;color:#9db5aa;margin-top:4px}
.mf40-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.mf40-actions-space{padding-top:17px;border-top:1px solid #344c43}
.mf40-session-layout{display:grid;grid-template-columns:minmax(158px,220px) minmax(0,1fr);gap:15px;align-items:start}
.mf40-session-rail{display:grid;gap:8px;min-width:0}.mf40-session-rail .mf40-inline-head{margin-bottom:9px}
.mf40-session-pick{background:#1a2a2c;color:#dce7dd;text-align:left;padding:11px;border:1px solid #3a524b;border-radius:9px;display:grid;gap:6px;min-width:0}
.mf40-session-pick strong{font-size:12px;overflow-wrap:anywhere}.mf40-session-pick span{font-size:10px;color:#9bb5a9}
.mf40-session-pick:hover{background:#2a4039}.mf40-session-pick.is-selected{background:#30463c;border-color:#d4ae7f;box-shadow:inset 3px 0 #e2b982}
.mf40-session-detail{display:grid;gap:13px;min-width:0}
.mf40-scenes-header{margin:6px 0}
.mf40-scene{border:1px solid #43574d;border-radius:10px;background:#1a2c2c;overflow:hidden;min-width:0}
.mf40-scene>summary{display:flex;align-items:center;gap:12px;padding:13px 14px;cursor:pointer;list-style:none;color:#efe4d4}
.mf40-scene>summary::-webkit-details-marker{display:none}
.mf40-scene>summary strong{font-size:12px;flex:1;overflow-wrap:anywhere}.mf40-scene>summary small{font-size:10px;color:#a7c1b3}
.mf40-scene-index{color:#edc68d;font-size:12px;font-weight:750;min-width:20px}
.mf40-scene[open]>summary{border-bottom:1px solid #425a4e;background:#243934}
.mf40-scene-body{display:grid;gap:12px;padding:14px}
.mf40-linked{padding:12px;background:#1b302f;border:1px solid #3d5c51;border-radius:10px;display:grid;gap:9px;font-size:11px;color:#d4ddd3}
.mf40-snapshot-control{display:flex;align-items:center;gap:7px}.mf40-snapshot-control select{flex:1;width:0!important}.mf40-snapshot-control button{flex:0 0 auto;white-space:nowrap}
.mf40-roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;align-items:start}
.mf40-subpanel{display:grid;gap:12px;min-width:0}.mf40-subpanel>.mf40-inline-head{min-height:41px}
.mf40-quest-progress{border-left:4px solid #d4af7a}.mf40-quest-completed{border-left:4px solid #6a9d79}.mf40-quest-failed{opacity:.73}
.mf40-notice{background:#20312b;border:1px solid #476350;border-left:3px solid #dcba83;padding:13px 16px;border-radius:8px;font-size:12px;line-height:1.6;color:#c6d2c4}
.mf40-notice p{font-size:11px;color:#abbfb2;margin:5px 0 0}
.mf40-feedback{min-height:22px;margin:0;color:#b9d2bb;font-size:11px}.mf40-feedback.is-error{color:#ffd0c0}
.mf40-print-sheet{display:none}
@media(max-width:1280px){.mf40-workspace{grid-template-columns:235px minmax(0,1fr)}.mf40-sidebar{position:static}.mf40-roster-grid{grid-template-columns:1fr}}
@media(max-width:1000px){.mf40-workspace{grid-template-columns:1fr}.mf40-sidebar{position:static}.mf40-campaign-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));max-height:240px}.mf40-side-stack{grid-template-columns:repeat(3,minmax(0,1fr))}.mf40-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.mf40-roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.mf40-heading-actions{width:100%}.mf40-heading-actions button{flex:1}.mf40-metrics{gap:7px}.mf40-metrics>div{padding:11px}.mf40-metrics strong{font-size:21px}.mf40-metrics small{font-size:10px}.mf40-sidebar,.mf40-pane{padding:14px}.mf40-quick-grid,.mf40-roster-grid,.mf40-session-layout{grid-template-columns:1fr}.mf40-session-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.mf40-session-rail>.mf40-inline-head{grid-column:1/-1}.mf40-side-stack{grid-template-columns:1fr}.mf40-tab{font-size:11px;padding:11px 9px}.mf40-field-row{grid-template-columns:1fr}.mf40-headline h2{font-size:23px}.mf40-snapshot-control{flex-wrap:wrap}.mf40-snapshot-control select{flex:1 0 100%;width:100%!important}}
@media print{
 @page{size:A4;margin:16mm}
 body.mf30.mf40-print-mode{background:#fff!important;color:#111!important;margin:0!important;padding:0!important}
 body.mf30.mf40-print-mode::before{content:none!important;display:none!important}
 body.mf30.mf40-print-mode > *{display:none!important}
 body.mf30.mf40-print-mode > .mf40-print-sheet{display:block!important;position:static!important;background:#fff!important;color:#141414!important;padding:0!important;margin:0!important;max-width:none!important;width:100%!important;font:10pt/1.45 Arial,sans-serif!important}
 body.mf30.mf40-print-mode .mf40-print-brand{font:bold 8pt Arial,sans-serif!important;letter-spacing:1.8px;color:#555!important;margin-bottom:11px!important}
 body.mf30.mf40-print-mode .mf40-print-sheet h1{font:25pt Georgia,serif!important;color:#111!important;margin:0 0 7px!important}
 body.mf30.mf40-print-mode .mf40-print-sheet h2{font:bold 14pt Georgia,serif!important;color:#111!important;margin:16px 0 7px!important;border-bottom:1px solid #bbb;padding-bottom:5px}
 body.mf30.mf40-print-mode .mf40-print-sheet h3{font:bold 10pt Arial,sans-serif!important;color:#222!important;margin:11px 0 4px!important}
 body.mf30.mf40-print-mode .mf40-print-sheet p{color:#111!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important;margin:4px 0 10px!important}
 body.mf30.mf40-print-mode .mf40-print-sheet .mf40-print-meta{font-size:9pt!important;color:#555!important}
 body.mf30.mf40-print-mode .mf40-print-sheet .mf40-print-lead{font-style:italic!important;margin:12px 0!important}
 body.mf30.mf40-print-mode .mf40-print-sheet ol,body.mf30.mf40-print-mode .mf40-print-sheet ul{padding-left:22px!important;color:#111!important}
 body.mf30.mf40-print-mode .mf40-print-sheet li{margin-bottom:7px!important;break-inside:avoid!important;color:#111!important}
 body.mf30.mf40-print-mode .mf40-print-sheet .mf40-print-footer{font-size:8pt!important;color:#666!important;border-top:1px solid #bbb!important;padding-top:9px!important;margin-top:20px!important}
}
