/* Ubuntu (GNOME) desktop, Firefox, Files and the Properties dialog */
.o-wall.linux { background: linear-gradient(135deg, #f19a4f 0%, #c94a7c 42%, #4c2a6e 100%); }
.l-top { position: absolute; left: 0; right: 0; top: 0; height: 30px; display: flex; align-items: center; padding: 0 16px; background: #000; color: #eee; font-size: 13.5px; z-index: 30; }
.l-top .lc { position: absolute; left: 50%; margin-left: -60px; }
.l-top .lr { margin-left: auto; color: #999; letter-spacing: 6px; font-size: 9px; }
.l-dock { position: absolute; left: 0; top: 30px; bottom: 0; width: 76px; display: flex; flex-direction: column; align-items: center; gap: 14px; padding-top: 18px; background: rgba(30, 20, 34, 0.55); z-index: 29; }
.l-dock i { width: 48px; height: 48px; border-radius: 12px; background: linear-gradient(160deg, #6a6470, #3a3540); }
.l-dock i.ff { background: linear-gradient(160deg, #ff8a3d, #d6336c); }
.l-dock i.fl { background: linear-gradient(160deg, #6fb1fc, #3a6fd0); }

.o-bar.linux { background: #303030; }
.o-br.linux { background: #2b2b2b; }
.o-br.linux .o-tool { background: #303030; }
.o-br.linux .o-tab { background: #3c3c3c; }
.wc.gn { gap: 8px; }
.wc.gn i { width: 30px; height: 30px; line-height: 30px; border-radius: 50%; background: #454545; font-size: 12px; }

.l-files { z-index: 24; background: #262626; border-radius: 12px; border-color: rgba(255, 255, 255, 0.14); }
.lf-head { display: flex; align-items: center; gap: 14px; height: 56px; padding: 0 14px; background: #323232; color: #ccc; }
.lf-nav { font-size: 22px; letter-spacing: 8px; }
.lf-path { display: flex; align-items: center; gap: 4px; flex: 1; max-width: 420px; padding: 6px 12px; border-radius: 8px; background: #2a2a2a; font-size: 14px; }
.lf-path i { font-style: normal; color: #999; }
.lf-path i::after { content: ' / '; }
.lf-path b { font-weight: 600; color: #fff; }
.lf-ic { font-size: 18px; }
.lf-head .wc { margin-left: auto; }
.lf-body { flex: 1; display: grid; grid-template-columns: 220px 1fr; min-height: 0; }
.lf-side { padding: 12px 10px; background: #2b2b2b; color: #ddd; }
.lf-side i { display: block; padding: 8px 14px; border-radius: 8px; font-style: normal; font-size: 14px; }
.lf-side i.on { background: #454545; color: #fff; }
.lf-side hr { border: 0; height: 1px; margin: 10px 8px; background: rgba(255, 255, 255, 0.1); }
.lf-grid { display: flex; gap: 26px; flex-wrap: wrap; align-content: flex-start; padding: 28px; background: #262626; }
.l-file { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 150px; padding: 10px 6px; border-radius: 8px; color: #ddd; font-size: 13px; text-align: center; word-break: break-all; transition: background 0.2s; }
.l-file.sel { background: #3a3a3a; }
.l-file .fi-svg, .l-file .gear { width: 64px; height: 64px; }
.lf-stat { height: 30px; padding: 6px 16px; text-align: right; background: #2b2b2b; color: #bbb; font-size: 12.5px; }

.l-ctx { position: absolute; z-index: 40; width: 270px; padding: 6px; border-radius: 12px; background: #383838; border: 1px solid rgba(255, 255, 255, 0.12); box-shadow: 0 18px 44px rgba(0, 0, 0, 0.6); font-size: 14px; }
.l-ctx div { display: flex; justify-content: space-between; padding: 7px 12px; border-radius: 8px; color: #eee; }
.l-ctx em { font-style: normal; color: #999; font-size: 12.5px; }
.l-ctx hr { border: 0; height: 1px; margin: 5px 6px; background: rgba(255, 255, 255, 0.12); }

/* Properties → Permissions (Ubuntu's own dialog) */
.l-props { z-index: 28; background: #2b2b2b; border-radius: 12px; border-color: rgba(255, 255, 255, 0.14); }
.lp-head { position: relative; display: flex; align-items: center; justify-content: center; height: 56px; padding: 0 56px; flex: none; }
.lp-head b { font-size: 14.5px; font-weight: 700; color: #fff; text-align: center; word-break: break-all; }
.lp-x { position: absolute; right: 14px; top: 14px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #454545; color: #ddd; font-size: 12px; }
.lp-tabs { display: flex; flex: none; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.lp-tabs span { flex: 1; padding: 10px 0; text-align: center; color: #ddd; font-size: 14.5px; border-bottom: 2px solid transparent; }
.lp-tabs .on { background: #333; border-bottom-color: #2ea8a8; color: #fff; }
.lp-basic, .lp-perm { padding: 22px 30px; }
.lp-ic { display: grid; place-items: center; margin-bottom: 14px; }
.lp-ic .gear { width: 70px; height: 70px; }
.lp-row { display: grid; grid-template-columns: 150px 1fr; align-items: center; gap: 16px; padding: 9px 0; }
.lp-row span { text-align: right; color: #a8a8a8; font-size: 14.5px; }
.lp-row b { font-weight: 400; color: #fff; font-size: 14.5px; }
.lp-row .fld { padding: 6px 10px; border-radius: 6px; background: #1f1f1f; word-break: break-all; font-size: 13px; }
.lp-row .dd { display: flex; align-items: center; justify-content: space-between; padding: 9px 14px; border-radius: 8px; background: #383838; border: 1px solid rgba(255, 255, 255, 0.06); }
.lp-row .dd.sm { width: 120px; }
.lp-row .dd i { font-style: normal; color: #bbb; }
.lp-row.exec b { display: flex; align-items: center; gap: 10px; }
.lp-cb { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 4px; background: #454545; border: 1px solid #666; transition: background 0.2s; }
.lp-cb.on { background: #2ea8a8; border-color: #2ea8a8; }
.lp-cb.on::after { content: '\2713'; color: #fff; font-size: 13px; font-weight: 700; }
