/* Fileland Building Manager - panel styles. Everything is scoped under .flbm; the double class
   (.flbm.flbm) beats theme rules for headings, links and buttons. Font comes from the site theme. */
.flbm{--pr:#128462;--pr-d:#0e674d;--pr-dd:#0b503b;--pr-l:#ecfdf5;--pr-m:#d1fae5;--pr-s:#93ccbb;--tx:#252b37;--tx2:#414651;--mu:#717680;--bd:#e5e7eb;--bd2:#d0d5dd;--bg:#fafafa;--ok:#12805c;--bad:#b42318;--wn:#b54708;direction:rtl;color:var(--tx);font-family:inherit;font-size:15px;line-height:1.9;text-align:right;letter-spacing:0;word-spacing:normal;-webkit-text-size-adjust:100%;box-sizing:border-box;margin:0 auto}
.flbm *,.flbm *::before,.flbm *::after{box-sizing:border-box;font-family:inherit}
.flbm p,.flbm div,.flbm td,.flbm th,.flbm label,.flbm li,.flbm span,.flbm summary{text-align:right;text-align-last:auto;text-justify:auto;letter-spacing:0;word-spacing:normal}
.flbm p{margin:0 0 .6em}

/* header */
.flbm .hdr{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.flbm .hdr .logo{width:46px;height:46px;border-radius:14px;background:var(--pr);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.flbm .hdr .logo svg{width:24px;height:24px}
.flbm.flbm h1{font-size:19px;font-weight:700;color:var(--tx);margin:0;line-height:1.5;letter-spacing:0}
.flbm .chip{display:inline-block;margin-top:2px;padding:1px 12px;border-radius:99px;background:var(--pr-l);color:var(--pr-d);border:1px solid var(--pr-m);font-size:12px;font-weight:600;line-height:1.8}

/* right-hand menu (first column in RTL) + content */
.flbm .shell{display:grid;grid-template-columns:236px minmax(0,1fr);gap:16px;align-items:start}
.flbm .side{background:#fff;border:1px solid var(--bd);border-radius:16px;padding:8px;position:sticky;top:16px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.flbm .side .grp{font-size:11px;font-weight:700;color:var(--mu);padding:12px 12px 4px}
.flbm.flbm .side a{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:2px 0;border-radius:10px;color:var(--tx2);text-decoration:none;font-size:14px;font-weight:600;line-height:1.5;border:0;box-shadow:none}
.flbm .side a svg{width:20px;height:20px;flex:none;opacity:.85}
.flbm.flbm .side a:hover{background:var(--pr-l);color:var(--pr-d)}
.flbm.flbm .side a.on{background:var(--pr);color:#fff}
.flbm .side a.on svg{opacity:1}
.flbm .main{min-width:0}
.flbm .main.solo{max-width:640px;margin:0 auto}

/* cards */
.flbm .cd{background:#fff;border:1px solid var(--bd);border-radius:16px;padding:18px;margin-bottom:16px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.flbm.flbm h2{position:relative;font-size:16px;font-weight:700;color:var(--tx);margin:0 0 12px;padding-right:13px;line-height:1.6;letter-spacing:0}
.flbm.flbm h2::before{content:"";position:absolute;right:0;top:.3em;bottom:.3em;width:4px;border-radius:4px;background:var(--pr)}
.flbm.flbm h3{font-size:14px;font-weight:700;color:var(--tx2);margin:16px 0 8px;line-height:1.6;letter-spacing:0}
.flbm a{color:var(--pr)}

/* forms */
.flbm .g{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:6px}
.flbm .f label,.flbm .f2 label{display:block;font-size:12px;font-weight:600;color:var(--mu);margin-bottom:2px}
.flbm input[type=text],.flbm input[type=number],.flbm input[type=date],.flbm input[type=search],.flbm select,.flbm textarea{width:100%;padding:8px 12px;border:1px solid var(--bd2);border-radius:10px;background:#fff;color:var(--tx);font-size:14px;line-height:1.6;box-shadow:none;margin:0}
.flbm input:focus,.flbm select:focus,.flbm textarea:focus{outline:0;border-color:var(--pr);box-shadow:0 0 0 3px rgba(18,132,98,.15)}
.flbm .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.flbm .row input,.flbm .row select{width:auto}
.flbm .cb{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;font-size:13px;color:var(--tx2)}
.flbm .cb input{width:auto;margin:0}
.flbm .tbl input[type=text],.flbm .tbl input[type=number],.flbm .tbl select{min-width:60px;padding:6px 8px;font-size:13px}

/* buttons */
.flbm.flbm .flbm-btn,.flbm.flbm button.flbm-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 20px;margin:2px 0;border-radius:10px;border:1px solid var(--pr);background:var(--pr);color:#fff;font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:0;text-decoration:none;text-transform:none;cursor:pointer;-webkit-appearance:none;appearance:none;box-shadow:0 1px 2px rgba(16,24,40,.08);transition:background .15s,border-color .15s}
.flbm.flbm .flbm-btn:hover{background:var(--pr-d);border-color:var(--pr-d);color:#fff}
.flbm.flbm .flbm-btn2{background:#fff;color:var(--pr-d);border-color:var(--pr-s)}
.flbm.flbm .flbm-btn2:hover{background:var(--pr-l);border-color:var(--pr);color:var(--pr-dd)}
.flbm.flbm .flbm-del{background:#fff;color:var(--bad);border-color:#fda29b}
.flbm.flbm .flbm-del:hover{background:#fef3f2;border-color:var(--bad);color:var(--bad)}
.flbm form{margin:0}

/* tables */
.flbm .tw{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--bd);border-radius:12px;margin-bottom:10px}
.flbm .tbl{border-collapse:collapse;width:100%;font-size:13.5px;margin:0}
.flbm .tbl th,.flbm .tbl td{padding:8px 12px;border:0;border-bottom:1px solid var(--bd);vertical-align:middle;line-height:1.7}
.flbm .tbl thead th{background:#f5f7f9;color:var(--tx2);font-weight:700;white-space:nowrap}
.flbm .tbl tbody tr:last-child td,.flbm .tbl tbody tr:last-child th{border-bottom:0}
.flbm .tbl tbody tr:hover td{background:#fafcfb}
.flbm .tbl tbody th{background:#f5f7f9}

/* KPI tiles */
.flbm .k{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.flbm .k div{background:var(--pr-l);border:1px solid var(--pr-m);border-radius:12px;padding:10px 14px}
.flbm .k span{display:block;font-size:12px;color:var(--mu);font-weight:600}
.flbm .k b{display:block;font-size:17px;font-weight:700;color:var(--pr-d);line-height:1.6}

/* status colours + messages */
.flbm .ok{color:var(--ok)}.flbm .bad{color:var(--bad)}.flbm .wn{color:var(--wn)}.flbm .mu{color:var(--mu);font-size:.88em}
.flbm .msg{padding:10px 14px;border-radius:12px;margin-bottom:14px;border:1px solid;font-size:14px}
.flbm .msg.ok{background:var(--pr-l);border-color:#a7f3d0;color:var(--pr-dd)}
.flbm .msg.bad{background:#fef3f2;border-color:#fecdca;color:var(--bad)}
.flbm .msg.wn{background:#fffaeb;border-color:#fedf89;color:var(--wn)}
.flbm .msg a{font-weight:700;color:inherit;text-decoration:underline}
.flbm-test{background:#eff8ff;border:1px solid #d1e9ff;color:#175cd3;border-radius:12px;padding:8px 14px;margin-bottom:12px;font-size:13px}
.flbm details summary{cursor:pointer;color:var(--pr-d);font-weight:600}
.flbm .solo-box{max-width:560px;margin:0 auto;text-align:center}
.flbm .solo-box p{text-align:center}

/* phones: the menu becomes a swipeable bar at the top */
@media(max-width:860px){
	.flbm .shell{grid-template-columns:1fr;gap:12px}
	.flbm .side{position:static;display:flex;gap:6px;overflow-x:auto;padding:8px;border-radius:14px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
	.flbm .side::-webkit-scrollbar{display:none}
	.flbm .side .grp{display:none}
	.flbm.flbm .side a{flex:none;white-space:nowrap;padding:8px 14px;margin:0;font-size:13.5px}
}
@media(max-width:640px){
	.flbm{font-size:14px}
	.flbm .cd{padding:14px;border-radius:14px}
	.flbm .tbl{font-size:12.5px}
	.flbm .tbl th,.flbm .tbl td{padding:6px 8px}
	.flbm.flbm h1{font-size:17px}
	.flbm input[type=text],.flbm input[type=number],.flbm input[type=date],.flbm select,.flbm textarea{font-size:16px}
	.flbm .g{grid-template-columns:1fr}
	.flbm.flbm .flbm-btn{padding:10px 18px}
}
