
/* PFC_PROFESSIONAL_UI_REFINEMENT_2026
   Presentation-only refinement: ribbon hierarchy, icon consistency, spacing,
   study-state clarity and common dialog styling. Electrical solver code is unchanged. */
:root{--pfc-navy:#17324d;--pfc-blue:#1f5f91;--pfc-border:#cbd4dc;--pfc-soft:#f4f7fa;--pfc-muted:#657482;--pfc-ok:#247447;--pfc-warn:#9a6700;--pfc-bad:#b42318;--pfc-stale:#8a4b08}
.app{grid-template-rows:78px 1fr 29px}
.ribbon{gap:0;padding:4px 7px 2px;box-shadow:0 1px 0 rgba(20,39,58,.04);scrollbar-width:thin}
.ribbon .group{gap:2px;padding:0 8px 13px 6px;margin-right:2px;border-right:1px solid var(--pfc-border);align-items:flex-start;position:relative}
.ribbon .group::after{content:attr(aria-label);position:absolute;left:6px;right:8px;bottom:1px;text-align:center;font-size:7.5px;line-height:10px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;color:var(--pfc-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.ribbon .group:last-child{border-right:0}
.tool{height:56px;min-width:55px;padding:3px 5px 2px;border-radius:6px;gap:2px;font-size:9px;font-weight:600;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .08s ease}
.tool.study{min-width:58px}.tool.hub{background:#f8fafc}.tool:hover{box-shadow:0 1px 3px rgba(24,45,66,.10)}.tool:active{transform:translateY(1px)}
.tool .ico{width:25px;height:25px;min-width:25px;display:flex;align-items:center;justify-content:center;border:1px solid #d7e0e7;border-radius:6px;background:#f8fafc;font-size:14px;line-height:1;font-weight:700;color:var(--pfc-navy);box-sizing:border-box}
.tool.study .ico{background:#eef5fb;border-color:#c7dbea;color:#184f78}.tool.active .ico,.tool.study-active .ico{background:#dcecf8;border-color:#86b5d7;color:#103d5e}
.tool.study-active{background:#eef6fc;border-color:#a9c9df;box-shadow:inset 0 -2px 0 #2b79ad}
.panel .ptitle{padding:9px 10px;font-size:10px;letter-spacing:.035em;text-transform:uppercase;color:#33495b;background:#f7f9fb}
.section{border-color:#d2dae1;border-radius:7px;box-shadow:0 1px 1px rgba(24,45,66,.025)}
.section h3{padding:7px 9px;font-size:9.5px;letter-spacing:.025em;color:#294257;background:#f5f8fa;border-color:#d8e0e6}
.section .body{padding:9px}.row{margin-bottom:9px}.row label{font-size:9px;font-weight:600;color:#536574;margin-bottom:4px}
.row input,.row select,textarea{border-color:#bcc9d3;border-radius:5px;min-height:28px}.row input:focus,.row select:focus,textarea:focus{outline:2px solid rgba(31,95,145,.16);border-color:#6d9cbd}
.btn{height:30px;border-color:#aebcc7;border-radius:5px;font-weight:600;padding:0 13px}.btn:focus-visible,.tool:focus-visible{outline:2px solid #4388b6;outline-offset:1px}
.modal{border:1px solid #8fa0ae;border-radius:10px;overflow:hidden;box-shadow:0 18px 50px rgba(20,39,58,.24);grid-template-rows:44px 1fr 46px}
.modalHead{padding:0 15px;background:#f5f8fa;color:#20394d;border-color:#ccd6de;font-size:12px;letter-spacing:.01em}
.modalBody{padding:14px 15px;font-size:10px;line-height:1.42;background:#fff}.modalFoot{padding:8px 12px;background:#f7f9fb;border-color:#d1d9df}
.modal .table{font-size:9.5px}.modal .table th{position:sticky;top:0;z-index:1;background:#eef3f7;color:#274054;border-color:#b9c5cf}.modal .table td{border-color:#d3dbe1}.modal .table tr:nth-child(even) td{background:#fbfcfd}
.modal .msg{border-radius:6px;border-color:#cbd5dd;background:#f8fafc;padding:8px 10px;line-height:1.42}
.tabs{gap:3px}.tab{border-radius:5px 5px 0 0;padding:7px 11px}.tab.active{color:#173f60;box-shadow:inset 0 2px 0 #4388b6}
.status{height:29px;padding:0 10px;gap:14px;font-size:9px;border-color:#cbd4dc;background:#f8fafc}.statusBrand{font-size:9px;color:#415465}.status #studyStatus{display:inline-flex;align-items:center;gap:5px;font-weight:700;padding:3px 7px;border:1px solid #c9d3db;border-radius:10px;background:#fff;color:#435566;white-space:nowrap}.status #studyStatus::before{content:'';width:6px;height:6px;border-radius:50%;background:#7c8a96;display:inline-block}.status #studyStatus.pfc-ready::before{background:#587184}.status #studyStatus.pfc-solving::before{background:#1f6f9f;box-shadow:0 0 0 2px rgba(31,111,159,.13)}.status #studyStatus.pfc-complete::before{background:var(--pfc-ok)}.status #studyStatus.pfc-warning::before{background:var(--pfc-warn)}.status #studyStatus.pfc-stale::before{background:var(--pfc-stale)}.status #studyStatus.pfc-error::before{background:var(--pfc-bad)}
#robustRibbonPanel{border-radius:11px!important;box-shadow:0 20px 60px rgba(20,39,58,.28)!important}#robustRibbonPanel .rr-head{background:var(--pfc-navy)!important;padding:13px 16px!important}#robustRibbonPanel .rr-note{background:#f4f8fb!important;border-color:#ccdce8!important}#robustRibbonPanel label{border-radius:6px!important;padding:8px 9px!important}
body.darkMode .ribbon .group{border-color:#34495a}body.darkMode .ribbon .group::after{color:#91a6b7}body.darkMode .tool .ico{background:#172634;border-color:#3d5263;color:#d9e8f2}body.darkMode .tool.study .ico{background:#183146;border-color:#345f7c;color:#a9dbfb}body.darkMode .tool.study-active{background:#1a3142;border-color:#456f8c}body.darkMode .tool.study-active .ico{background:#214763;border-color:#5185a8;color:#d7efff}
body.darkMode .panel .ptitle{background:#111d28;color:#d3e0e9}body.darkMode .section{border-color:#344957}body.darkMode .section h3{background:#132431;color:#d8e5ee;border-color:#344957}body.darkMode .row label{color:#aebfcb}body.darkMode .modal{border-color:#425b6e;box-shadow:0 20px 60px rgba(0,0,0,.45)}body.darkMode .modalHead{background:#101d28;color:#e4edf3;border-color:#344957}body.darkMode .modalBody{background:#15212c}body.darkMode .modalFoot{background:#111e29;border-color:#344957}body.darkMode .modal .table th{background:#172938;color:#dce8f0;border-color:#42586a}body.darkMode .modal .table tr:nth-child(even) td{background:#16232e}body.darkMode .modal .msg{background:#172631;border-color:#3b5161}body.darkMode .status{background:#111c26;border-color:#344957}body.darkMode .statusBrand{color:#a8bac8}body.darkMode .status #studyStatus{background:#162631;border-color:#3b5263;color:#dce7ef}
@media(max-width:1100px){.tool{min-width:52px}.tool.study{min-width:54px}.ribbon .group{padding-left:4px;padding-right:6px}}
