/* FAZGAME Hub V5.2 · full-workspace IA & consistent responsive surfaces */
.fg-v52-layout{--fg-ease:cubic-bezier(.2,.7,.3,1)}
.fg-v52-layout .fg-simple-sidebar{width:278px!important;flex-basis:278px;padding:15px 12px!important}
.fg-v52-layout .fg-simple-main{width:calc(100% - 278px)}
.fg-v52-layout .fg-simple-sidebar .brand{padding:15px 10px 19px;position:relative;gap:11px}
.fg-nav-caption{font-size:10px;letter-spacing:.11em;margin:15px 0 7px;padding:0 13px}
.fg-v52-layout .fg-simple-sidebar .nav-btn{min-height:43px;font-size:12.5px;gap:11px;border-radius:10px;padding:10px 13px;margin:1px 0}
.fg-system-entry .nav-btn{border:1px solid rgba(255,216,77,.18)!important;background:rgba(255,216,77,.05);font-weight:750}
.fg-sidebar-groups{display:grid;gap:5px;padding:4px 1px 18px}
.fg-nav-group{border:1px solid transparent;border-radius:12px;overflow:clip}
.fg-nav-group[open]{background:rgba(255,255,255,.025);border-color:var(--line)}
.fg-nav-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:43px;cursor:pointer;color:var(--sub);font-size:12px;font-weight:730;padding:11px 12px;border-radius:10px}
.fg-nav-group>summary::-webkit-details-marker{display:none}
.fg-nav-group>summary:hover,.fg-nav-group[open]>summary{color:var(--text);background:rgba(255,255,255,.045)}
.fg-nav-group>summary::before{content:'›';font-size:20px;line-height:.7;transition:transform .18s;margin-right:4px;color:var(--accent)}
.fg-nav-group[open]>summary::before{transform:rotate(90deg)}
.fg-group-count{margin-left:auto;color:var(--sub);font-variant-numeric:tabular-nums;font-weight:550;font-size:10px}
.fg-nav-group .fg-subnav{padding:2px 6px 9px 15px!important;display:grid;gap:1px}
.fg-nav-group .nav-btn{min-height:37px!important;font-size:12px!important;padding:8px 9px!important;}
.fg-nav-group .nav-btn svg{width:15px;height:15px}
.fg-close-drawer{display:none;background:none;border:none;color:var(--text);cursor:pointer;padding:9px}
.fg-v52-layout .sidebar-footer{margin-top:8px!important}
.fg-v52-layout .fg-simple-topbar{height:76px!important;padding:0 clamp(20px,3vw,46px)!important}
.fg-all-modules-btn{display:inline-flex;align-items:center;gap:7px;font-size:12px;white-space:nowrap}
.fg-v52-layout .fg-simple-content{max-width:1470px;padding:clamp(24px,3vw,45px)!important}
.fg-page-crumbs{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 25px;color:var(--sub);font-size:11px}
.fg-page-crumbs button{border:0;background:none;padding:3px;color:var(--sub);cursor:pointer;font:inherit}.fg-page-crumbs button:hover{color:var(--accent)}.fg-page-crumbs strong{color:var(--text);font-weight:700}
.fg-v52-layout .builder-hero{margin-bottom:26px;padding:clamp(25px,3vw,40px)}
.fg-v52-layout .builder-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fg-v52-layout .builder-two-col{gap:18px}
.fg-v52-layout .builder-finance,.fg-v52-layout .builder-orders{padding:clamp(21px,2.3vw,32px)}
.fg-v52-layout .card{box-shadow:none;border-color:var(--line)}
.fg-v52-layout .panel-pad{padding:clamp(20px,2.5vw,32px)}
.fg-v52-layout .toolbar{gap:15px;margin-bottom:26px;align-items:center}
.fg-v52-layout .toolbar .toolbar-button{justify-content:flex-end;gap:9px}
.fg-v52-layout .filter{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:17px 19px}
.fg-v52-layout .filter input[type=search]{flex:2 1 220px;min-width:0}
.fg-v52-layout .filter input[type=month],.fg-v52-layout .filter select{flex:1 1 145px;min-width:0}
.fg-v52-layout .data-table th,.fg-v52-layout .data-table td{padding:16px 18px}
.fg-v52-layout .data-table td{line-height:1.5}
.fg-v52-layout .table-wrap{max-width:100%;overflow-x:auto}
.fg-v52-layout .grid2,.fg-v52-layout .grid3,.fg-v52-layout .grid4{row-gap:16px;column-gap:16px}
.fg-v52-layout .kpi{min-height:129px;padding:23px}
.fg-v52-layout input,.fg-v52-layout select,.fg-v52-layout textarea{max-width:100%}
.fg-v52-layout .modal-bg{padding:12px}.fg-v52-layout .modal{max-height:min(92dvh,950px);border-radius:19px}
.fg-v52-layout button:focus-visible,.fg-v52-layout a:focus-visible,.fg-v52-layout summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* Module directory */
.fg-directory-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:clamp(24px,4vw,43px);border:1px solid rgba(255,216,77,.18);border-radius:22px;background:radial-gradient(circle at 95% 0%,rgba(255,216,77,.16),transparent 50%),var(--panel);margin-bottom:20px}
.fg-directory-hero h1{font-size:clamp(30px,3.3vw,43px);margin:9px 0 12px;letter-spacing:-.05em}
.fg-directory-hero p{font-size:13px;line-height:1.7;color:var(--sub);max-width:570px}
.fg-directory-total{display:flex;flex-direction:column;align-items:center;flex-shrink:0;border:1px solid var(--line);border-radius:17px;padding:20px;min-width:113px;background:rgba(255,255,255,.025)}
.fg-directory-total strong{font-size:34px;color:var(--accent)}.fg-directory-total small{font-size:10px;color:var(--sub)}
.fg-directory-fast{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:24px}
.fg-directory-fast button{display:flex;align-items:center;gap:10px;border-radius:14px;background:var(--panel);border:1px solid var(--line);color:var(--text);padding:16px 13px;text-align:left;cursor:pointer;min-width:0}
.fg-directory-fast button:hover,.fg-module-link:hover{border-color:rgba(255,216,77,.55);background:var(--panel2)}
.fg-directory-fast button>svg{color:var(--accent);flex:0 0 auto;width:20px;height:20px}
.fg-directory-fast strong,.fg-directory-fast small{display:block}.fg-directory-fast strong{font-size:12px}.fg-directory-fast small{color:var(--sub);font-size:10px;margin-top:4px}
.fg-directory-search{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:17px 20px;margin-bottom:22px;display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:13px}
.fg-directory-search label{font-weight:700;font-size:12px}.fg-directory-search input{width:100%;min-width:0}.fg-directory-search small{font-size:11px;color:var(--sub)}
.fg-directory-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.fg-directory-group{background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:20px;min-width:0}
.fg-directory-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:16px}.fg-directory-head h2{font-size:16px}.fg-directory-head span{font-size:10px;color:var(--sub)}
.fg-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.fg-module-link{min-width:0;display:flex;gap:9px;align-items:center;text-align:left;cursor:pointer;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:11px 10px;font-size:11.5px;line-height:1.4}
.fg-module-link>span:nth-child(2){min-width:0;flex:1;overflow-wrap:anywhere}
.fg-module-link>svg{flex:0 0 auto;width:12px;height:12px;color:var(--sub)}.fg-module-icon{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;color:var(--accent)}.fg-module-icon svg{width:16px;height:16px}
.fg-directory-empty{padding:34px;text-align:center;color:var(--sub)}
[hidden]{display:none!important}
@media(max-width:1180px){.fg-v52-layout .builder-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fg-directory-fast{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.fg-v52-layout .fg-simple-sidebar{position:fixed;top:0;left:0;width:min(340px,90vw)!important;transform:translateX(-105%);height:100dvh;z-index:60;overscroll-behavior:contain;overflow:auto}.fg-v52-layout .fg-simple-sidebar.open{transform:translateX(0)}.fg-v52-layout .fg-simple-main{width:100%}.fg-close-drawer{display:grid;place-items:center;margin-left:auto}.fg-v52-layout .fg-simple-topbar{height:66px!important;padding:0 16px!important}.fg-v52-layout .fg-simple-content{padding:25px 17px 105px!important}.fg-v52-layout .fg-simple-dock{display:flex!important;z-index:48;gap:0;padding:7px 5px calc(7px + env(safe-area-inset-bottom))}.fg-v52-layout .fg-simple-dock button{min-width:0;flex:1;font-size:9px;padding:7px 2px 4px}.fg-v52-layout .fg-simple-dock button svg{width:19px;height:19px}.fg-v52-layout .modal-bg{padding:0;align-items:flex-end}.fg-v52-layout .modal{max-height:94dvh;border-radius:20px 20px 0 0}.fg-directory-content{grid-template-columns:1fr}}
@media(max-width:580px){.fg-all-modules-btn{display:none}.fg-v52-layout .fg-simple-content{padding:18px 14px 111px!important}.fg-v52-layout .fg-simple-topbar .fg-primary-new{font-size:11px;padding:0 12px}.fg-v52-layout .builder-hero{padding:24px 19px}.fg-v52-layout .builder-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fg-v52-layout .builder-hero .builder-hero-actions{display:flex;flex-wrap:wrap;gap:8px}.fg-v52-layout .builder-hero .builder-hero-actions .btn{min-width:125px;flex:1}.fg-v52-layout .builder-pipeline{overflow-x:auto}.fg-v52-layout .toolbar{align-items:stretch}.fg-v52-layout .toolbar-button{justify-content:flex-start!important;width:100%}.fg-v52-layout .toolbar-button .btn{flex:1}.fg-v52-layout .filter{padding:14px;gap:10px}.fg-v52-layout .data-table td{padding:10px 13px}.fg-v52-layout .panel-pad{padding:18px}.fg-directory-hero{padding:24px 20px}.fg-directory-total{min-width:72px;padding:12px}.fg-directory-total strong{font-size:26px}.fg-directory-total small{font-size:8px}.fg-directory-fast{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.fg-directory-fast button{padding:12px 9px;gap:8px}.fg-directory-fast strong{font-size:11px}.fg-directory-fast small{font-size:9px}.fg-directory-search{grid-template-columns:1fr;gap:7px;padding:16px}.fg-directory-grid{grid-template-columns:1fr 1fr}.fg-directory-group{padding:16px}.fg-directory-head h2{font-size:15px}.fg-module-link{font-size:11px}.fg-module-icon{width:18px}.fg-module-icon svg{width:14px}}
@media(max-width:380px){.fg-directory-grid{grid-template-columns:1fr}.fg-v52-layout .fg-simple-dock button{font-size:8px}.fg-v52-layout .fg-simple-dock button svg{width:17px;height:17px}}
@media print{.fg-v52-layout .fg-simple-sidebar,.fg-simple-dock,.fg-all-modules-btn,.fg-page-crumbs{display:none!important}.fg-v52-layout .fg-simple-main{width:100%!important}}
/* V5.2 invoice multi-entry; editable grid kept compatible with existing document API. */
.fg-v52-layout #modal-form .fg-invoice-editor{padding:19px;border-radius:15px;background:var(--panel2);min-width:0}
.fg-invoice-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 13px}
.fg-invoice-head b{display:block;font-size:14px}
.fg-invoice-head small{display:block;font-size:10px;color:var(--sub);margin-top:4px}
.fg-invoice-columns{display:grid;grid-template-columns:minmax(160px,2.5fr) minmax(65px,.7fr) minmax(90px,1fr) 30px;gap:8px;margin-bottom:6px;font-size:10px;font-weight:700;color:var(--sub)}
.fg-invoice-editor .line-row{margin-bottom:9px}.fg-invoice-editor .line-row input{height:44px}
.fg-bulk-panel{margin-top:15px;border:1px solid var(--line);border-radius:13px;background:var(--panel);overflow:hidden}
.fg-bulk-panel>summary{cursor:pointer;display:flex;gap:10px;align-items:center;padding:16px;font-size:12px;color:var(--text);list-style:none;flex-wrap:wrap}
.fg-bulk-panel>summary::-webkit-details-marker{display:none}
.fg-bulk-panel>summary svg{color:var(--accent);flex-shrink:0}
.fg-bulk-panel>summary small{margin-left:auto;font-size:10px;color:var(--sub)}
.fg-bulk-panel[open]>summary{border-bottom:1px solid var(--line)}
.fg-bulk-content{padding:18px;display:grid;gap:20px}
.fg-bulk-section{display:grid;gap:10px;min-width:0}.fg-bulk-section h4{font-size:13px;margin:0}
.fg-bulk-section p{margin:0;line-height:1.7;font-size:11px}.fg-bulk-section code{color:var(--accent)}
.fg-bulk-section textarea{width:100%;min-height:130px;resize:vertical;white-space:pre;overflow:auto;font-size:12px;line-height:1.8}
.fg-bulk-section>.btn{justify-self:start;white-space:normal}
.fg-invoice-product-results{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:11px;padding:7px;display:grid;gap:4px}
.fg-product-choice{display:grid;grid-template-columns:19px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border-radius:8px;cursor:pointer;border:1px solid transparent}
.fg-product-choice:hover{border-color:var(--line);background:rgba(255,255,255,.025)}
.fg-product-choice input{width:17px;height:17px;margin:0;accent-color:var(--accent)}
.fg-product-choice span{min-width:0}.fg-product-choice strong{font-size:11px;display:block;overflow-wrap:anywhere}
.fg-product-choice small{display:block;color:var(--sub);font-size:10px;margin-top:4px}.fg-product-choice b{font-size:11px;white-space:nowrap}
.fg-invoice-library-foot{display:flex;align-items:center;justify-content:space-between;gap:9px}
.fg-invoice-library-foot span{font-size:11px;color:var(--sub)}
.fg-bulk-feedback{border-radius:9px;background:rgba(99,197,137,.1);border:1px solid #4c8065;padding:12px;font-size:11px}
.fg-bulk-feedback.is-error{background:rgba(232,98,108,.1);border-color:#9b4957;color:#f6a9b1}
.fg-invoice-editor .line-total{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:580px){.fg-v52-layout #modal-form .fg-invoice-editor{padding:12px}.fg-invoice-head{align-items:start}.fg-invoice-columns{display:none}.fg-invoice-editor .line-row{grid-template-columns:minmax(95px,1.6fr) minmax(48px,.65fr) minmax(68px,1fr) 29px;gap:5px}
.fg-invoice-editor .line-row input{font-size:11px;padding:8px 5px}.fg-bulk-content{padding:13px;gap:17px}.fg-bulk-panel>summary{padding:13px}.fg-bulk-panel>summary small{margin-left:0;width:100%;padding-left:25px}.fg-product-choice{grid-template-columns:18px minmax(0,1fr);gap:8px}.fg-product-choice>b{grid-column:2;justify-self:start}.fg-invoice-library-foot{flex-wrap:wrap}}
