mirror of
https://github.com/RetroShare/RSNewWebUI.git
synced 2026-09-14 11:05:47 +05:00
12079 lines
380 KiB
CSS
12079 lines
380 KiB
CSS
h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.875rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.125rem}p{font-size:1rem}.small{font-size:.75rem}.bold{font-weight:bold}h1,h2,h3,h4,h5,h6,p{font-weight:normal}@font-face{font-family:Roboto;src:url("./webfonts/Roboto-Bold.woff2") format("woff2"),url("./webfonts/Roboto-Bold.woff") format("woff"),url("./webfonts/Roboto-Bold.ttf") format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Roboto;src:url("./webfonts/Roboto-Bold.woff2") format("woff2"),url("./webfonts/Roboto-Bold.woff") format("woff"),url("./webfonts/Roboto-Bold.ttf") format("truetype");font-weight:bold;font-style:normal}@font-face{font-family:Roboto;src:url("./webfonts/Roboto-BoldItalic.woff2") format("woff2"),url("./webfonts/Roboto-BoldItalic.woff") format("woff"),url("./webfonts/Roboto-BoldItalic.ttf") format("truetype");font-weight:700;font-style:italic}@font-face{font-family:Roboto;src:url("./webfonts/Roboto-BoldItalic.woff2") format("woff2"),url("./webfonts/Roboto-BoldItalic.woff") format("woff"),url("./webfonts/Roboto-BoldItalic.ttf") format("truetype");font-weight:bold;font-style:italic}@font-face{font-family:Roboto;src:url("./webfonts/Roboto-Medium.woff2") format("woff2"),url("./webfonts/Roboto-Medium.woff") format("woff"),url("./webfonts/Roboto-Medium.ttf") format("truetype");font-weight:500;font-style:normal}@font-face{font-family:Roboto;src:url("./webfonts/Roboto-MediumItalic.woff2") format("woff2"),url("./webfonts/Roboto-MediumItalic.woff") format("woff"),url("./webfonts/Roboto-MediumItalic.ttf") format("truetype");font-weight:500;font-style:italic}@font-face{font-family:Roboto;src:url("./webfonts/Roboto-Regular.woff2") format("woff2"),url("./webfonts/Roboto-Regular.woff") format("woff"),url("./webfonts/Roboto-Regular.ttf") format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Roboto;src:url("./webfonts/Roboto-Regular.woff2") format("woff2"),url("./webfonts/Roboto-Regular.woff") format("woff"),url("./webfonts/Roboto-Regular.ttf") format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:Roboto;src:url("./webfonts/Roboto-Italic.woff2") format("woff2"),url("./webfonts/Roboto-Italic.woff") format("woff"),url("./webfonts/Roboto-Italic.ttf") format("truetype");font-weight:400;font-style:italic}@font-face{font-family:Roboto;src:url("./webfonts/Roboto-Italic.woff2") format("woff2"),url("./webfonts/Roboto-Italic.woff") format("woff"),url("./webfonts/Roboto-Italic.ttf") format("truetype");font-weight:normal;font-style:italic}@font-face{font-family:Roboto;src:url("./webfonts/Roboto-Light.woff2") format("woff2"),url("./webfonts/Roboto-Light.woff") format("woff"),url("./webfonts/Roboto-Light.ttf") format("truetype");font-weight:300;font-style:normal}@font-face{font-family:Roboto;src:url("./webfonts/Roboto-LightItalic.woff2") format("woff2"),url("./webfonts/Roboto-LightItalic.woff") format("woff"),url("./webfonts/Roboto-LightItalic.ttf") format("truetype");font-weight:300;font-style:italic}/*!
|
|
* Font Awesome Free 5.9.0 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
*/.fa,.fas,.far,.fal,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-0.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fas.fa-pull-left,.far.fa-pull-left,.fal.fa-pull-left,.fab.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fas.fa-pull-right,.far.fa-pull-right,.fal.fa-pull-right,.fab.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);transform:scale(1, -1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(-1, -1);transform:scale(-1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-flip-both{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:""}.fa-accessible-icon:before{content:""}.fa-accusoft:before{content:""}.fa-acquisitions-incorporated:before{content:""}.fa-ad:before{content:""}.fa-address-book:before{content:""}.fa-address-card:before{content:""}.fa-adjust:before{content:""}.fa-adn:before{content:""}.fa-adobe:before{content:""}.fa-adversal:before{content:""}.fa-affiliatetheme:before{content:""}.fa-air-freshener:before{content:""}.fa-airbnb:before{content:""}.fa-algolia:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-alipay:before{content:""}.fa-allergies:before{content:""}.fa-amazon:before{content:""}.fa-amazon-pay:before{content:""}.fa-ambulance:before{content:""}.fa-american-sign-language-interpreting:before{content:""}.fa-amilia:before{content:""}.fa-anchor:before{content:""}.fa-android:before{content:""}.fa-angellist:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angry:before{content:""}.fa-angrycreative:before{content:""}.fa-angular:before{content:""}.fa-ankh:before{content:""}.fa-app-store:before{content:""}.fa-app-store-ios:before{content:""}.fa-apper:before{content:""}.fa-apple:before{content:""}.fa-apple-alt:before{content:""}.fa-apple-pay:before{content:""}.fa-archive:before{content:""}.fa-archway:before{content:""}.fa-arrow-alt-circle-down:before{content:""}.fa-arrow-alt-circle-left:before{content:""}.fa-arrow-alt-circle-right:before{content:""}.fa-arrow-alt-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrows-alt:before{content:""}.fa-arrows-alt-h:before{content:""}.fa-arrows-alt-v:before{content:""}.fa-artstation:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-asterisk:before{content:""}.fa-asymmetrik:before{content:""}.fa-at:before{content:""}.fa-atlas:before{content:""}.fa-atlassian:before{content:""}.fa-atom:before{content:""}.fa-audible:before{content:""}.fa-audio-description:before{content:""}.fa-autoprefixer:before{content:""}.fa-avianex:before{content:""}.fa-aviato:before{content:""}.fa-award:before{content:""}.fa-aws:before{content:""}.fa-baby:before{content:""}.fa-baby-carriage:before{content:""}.fa-backspace:before{content:""}.fa-backward:before{content:""}.fa-bacon:before{content:""}.fa-balance-scale:before{content:""}.fa-balance-scale-left:before{content:""}.fa-balance-scale-right:before{content:""}.fa-ban:before{content:""}.fa-band-aid:before{content:""}.fa-bandcamp:before{content:""}.fa-barcode:before{content:""}.fa-bars:before{content:""}.fa-baseball-ball:before{content:""}.fa-basketball-ball:before{content:""}.fa-bath:before{content:""}.fa-battery-empty:before{content:""}.fa-battery-full:before{content:""}.fa-battery-half:before{content:""}.fa-battery-quarter:before{content:""}.fa-battery-three-quarters:before{content:""}.fa-battle-net:before{content:""}.fa-bed:before{content:""}.fa-beer:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bible:before{content:""}.fa-bicycle:before{content:""}.fa-biking:before{content:""}.fa-bimobject:before{content:""}.fa-binoculars:before{content:""}.fa-biohazard:before{content:""}.fa-birthday-cake:before{content:""}.fa-bitbucket:before{content:""}.fa-bitcoin:before{content:""}.fa-bity:before{content:""}.fa-black-tie:before{content:""}.fa-blackberry:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blind:before{content:""}.fa-blog:before{content:""}.fa-blogger:before{content:""}.fa-blogger-b:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-bold:before{content:""}.fa-bolt:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-book-dead:before{content:""}.fa-book-medical:before{content:""}.fa-book-open:before{content:""}.fa-book-reader:before{content:""}.fa-bookmark:before{content:""}.fa-bootstrap:before{content:""}.fa-border-all:before{content:""}.fa-border-none:before{content:""}.fa-border-style:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-box-open:before{content:""}.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-bread-slice:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broadcast-tower:before{content:""}.fa-broom:before{content:""}.fa-brush:before{content:""}.fa-btc:before{content:""}.fa-buffer:before{content:""}.fa-bug:before{content:""}.fa-building:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burn:before{content:""}.fa-buromobelexperte:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before{content:""}.fa-business-time:before{content:""}.fa-buysellads:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-alt:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-day:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-times:before{content:""}.fa-calendar-week:before{content:""}.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-campground:before{content:""}.fa-canadian-maple-leaf:before{content:""}.fa-candy-cane:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-car:before{content:""}.fa-car-alt:before{content:""}.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-side:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-square-down:before{content:""}.fa-caret-square-left:before{content:""}.fa-caret-square-right:before{content:""}.fa-caret-square-up:before{content:""}.fa-caret-up:before{content:""}.fa-carrot:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-plus:before{content:""}.fa-cash-register:before{content:""}.fa-cat:before{content:""}.fa-cc-amazon-pay:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-apple-pay:before{content:""}.fa-cc-diners-club:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-cc-visa:before{content:""}.fa-centercode:before{content:""}.fa-centos:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before{content:""}.fa-charging-station:before{content:""}.fa-chart-area:before{content:""}.fa-chart-bar:before{content:""}.fa-chart-line:before{content:""}.fa-chart-pie:before{content:""}.fa-check:before{content:""}.fa-check-circle:before{content:""}.fa-check-double:before{content:""}.fa-check-square:before{content:""}.fa-cheese:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-chrome:before{content:""}.fa-chromecast:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-city:before{content:""}.fa-clinic-medical:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-download-alt:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-cloud-upload-alt:before{content:""}.fa-cloudscale:before{content:""}.fa-cloudsmith:before{content:""}.fa-cloudversify:before{content:""}.fa-cocktail:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-codepen:before{content:""}.fa-codiepie:before{content:""}.fa-coffee:before{content:""}.fa-cog:before{content:""}.fa-cogs:before{content:""}.fa-coins:before{content:""}.fa-columns:before{content:""}.fa-comment:before{content:""}.fa-comment-alt:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before{content:""}.fa-comment-medical:before{content:""}.fa-comment-slash:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compress:before{content:""}.fa-compress-arrows-alt:before{content:""}.fa-concierge-bell:before{content:""}.fa-confluence:before{content:""}.fa-connectdevelop:before{content:""}.fa-contao:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-couch:before{content:""}.fa-cpanel:before{content:""}.fa-creative-commons:before{content:""}.fa-creative-commons-by:before{content:""}.fa-creative-commons-nc:before{content:""}.fa-creative-commons-nc-eu:before{content:""}.fa-creative-commons-nc-jp:before{content:""}.fa-creative-commons-nd:before{content:""}.fa-creative-commons-pd:before{content:""}.fa-creative-commons-pd-alt:before{content:""}.fa-creative-commons-remix:before{content:""}.fa-creative-commons-sa:before{content:""}.fa-creative-commons-sampling:before{content:""}.fa-creative-commons-sampling-plus:before{content:""}.fa-creative-commons-share:before{content:""}.fa-creative-commons-zero:before{content:""}.fa-credit-card:before{content:""}.fa-critical-role:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-crutch:before{content:""}.fa-css3:before{content:""}.fa-css3-alt:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-cut:before{content:""}.fa-cuttlefish:before{content:""}.fa-d-and-d:before{content:""}.fa-d-and-d-beyond:before{content:""}.fa-dashcube:before{content:""}.fa-database:before{content:""}.fa-deaf:before{content:""}.fa-delicious:before{content:""}.fa-democrat:before{content:""}.fa-deploydog:before{content:""}.fa-deskpro:before{content:""}.fa-desktop:before{content:""}.fa-dev:before{content:""}.fa-deviantart:before{content:""}.fa-dharmachakra:before{content:""}.fa-dhl:before{content:""}.fa-diagnoses:before{content:""}.fa-diaspora:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-digg:before{content:""}.fa-digital-ocean:before{content:""}.fa-digital-tachograph:before{content:""}.fa-directions:before{content:""}.fa-discord:before{content:""}.fa-discourse:before{content:""}.fa-divide:before{content:""}.fa-dizzy:before{content:""}.fa-dna:before{content:""}.fa-dochub:before{content:""}.fa-docker:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before{content:""}.fa-dolly:before{content:""}.fa-dolly-flatbed:before{content:""}.fa-donate:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dot-circle:before{content:""}.fa-dove:before{content:""}.fa-download:before{content:""}.fa-draft2digital:before{content:""}.fa-drafting-compass:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-dribbble:before{content:""}.fa-dribbble-square:before{content:""}.fa-dropbox:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-drupal:before{content:""}.fa-dumbbell:before{content:""}.fa-dumpster:before{content:""}.fa-dumpster-fire:before{content:""}.fa-dungeon:before{content:""}.fa-dyalog:before{content:""}.fa-earlybirds:before{content:""}.fa-ebay:before{content:""}.fa-edge:before{content:""}.fa-edit:before{content:""}.fa-egg:before{content:""}.fa-eject:before{content:""}.fa-elementor:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-ello:before{content:""}.fa-ember:before{content:""}.fa-empire:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelope-square:before{content:""}.fa-envira:before{content:""}.fa-equals:before{content:""}.fa-eraser:before{content:""}.fa-erlang:before{content:""}.fa-ethereum:before{content:""}.fa-ethernet:before{content:""}.fa-etsy:before{content:""}.fa-euro-sign:before{content:""}.fa-evernote:before{content:""}.fa-exchange-alt:before{content:""}.fa-exclamation:before{content:""}.fa-exclamation-circle:before{content:""}.fa-exclamation-triangle:before{content:""}.fa-expand:before{content:""}.fa-expand-arrows-alt:before{content:""}.fa-expeditedssl:before{content:""}.fa-external-link-alt:before{content:""}.fa-external-link-square-alt:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper:before{content:""}.fa-eye-slash:before{content:""}.fa-facebook:before{content:""}.fa-facebook-f:before{content:""}.fa-facebook-messenger:before{content:""}.fa-facebook-square:before{content:""}.fa-fan:before{content:""}.fa-fantasy-flight-games:before{content:""}.fa-fast-backward:before{content:""}.fa-fast-forward:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before{content:""}.fa-fedex:before{content:""}.fa-fedora:before{content:""}.fa-female:before{content:""}.fa-fighter-jet:before{content:""}.fa-figma:before{content:""}.fa-file:before{content:""}.fa-file-alt:before{content:""}.fa-file-archive:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-download:before{content:""}.fa-file-excel:before{content:""}.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-medical:before{content:""}.fa-file-medical-alt:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-upload:before{content:""}.fa-file-video:before{content:""}.fa-file-word:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-alt:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-firefox:before{content:""}.fa-first-aid:before{content:""}.fa-first-order:before{content:""}.fa-first-order-alt:before{content:""}.fa-firstdraft:before{content:""}.fa-fish:before{content:""}.fa-fist-raised:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-flickr:before{content:""}.fa-flipboard:before{content:""}.fa-flushed:before{content:""}.fa-fly:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-font:before{content:""}.fa-font-awesome:before{content:""}.fa-font-awesome-alt:before{content:""}.fa-font-awesome-flag:before{content:""}.fa-font-awesome-logo-full:before{content:""}.fa-fonticons:before{content:""}.fa-fonticons-fi:before{content:""}.fa-football-ball:before{content:""}.fa-fort-awesome:before{content:""}.fa-fort-awesome-alt:before{content:""}.fa-forumbee:before{content:""}.fa-forward:before{content:""}.fa-foursquare:before{content:""}.fa-free-code-camp:before{content:""}.fa-freebsd:before{content:""}.fa-frog:before{content:""}.fa-frown:before{content:""}.fa-frown-open:before{content:""}.fa-fulcrum:before{content:""}.fa-funnel-dollar:before{content:""}.fa-futbol:before{content:""}.fa-galactic-republic:before{content:""}.fa-galactic-senate:before{content:""}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-gavel:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-get-pocket:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-gifts:before{content:""}.fa-git:before{content:""}.fa-git-alt:before{content:""}.fa-git-square:before{content:""}.fa-github:before{content:""}.fa-github-alt:before{content:""}.fa-github-square:before{content:""}.fa-gitkraken:before{content:""}.fa-gitlab:before{content:""}.fa-gitter:before{content:""}.fa-glass-cheers:before{content:""}.fa-glass-martini:before{content:""}.fa-glass-martini-alt:before{content:""}.fa-glass-whiskey:before{content:""}.fa-glasses:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-globe:before{content:""}.fa-globe-africa:before{content:""}.fa-globe-americas:before{content:""}.fa-globe-asia:before{content:""}.fa-globe-europe:before{content:""}.fa-gofore:before{content:""}.fa-golf-ball:before{content:""}.fa-goodreads:before{content:""}.fa-goodreads-g:before{content:""}.fa-google:before{content:""}.fa-google-drive:before{content:""}.fa-google-play:before{content:""}.fa-google-plus:before{content:""}.fa-google-plus-g:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-wallet:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before{content:""}.fa-gratipay:before{content:""}.fa-grav:before{content:""}.fa-greater-than:before{content:""}.fa-greater-than-equal:before{content:""}.fa-grimace:before{content:""}.fa-grin:before{content:""}.fa-grin-alt:before{content:""}.fa-grin-beam:before{content:""}.fa-grin-beam-sweat:before{content:""}.fa-grin-hearts:before{content:""}.fa-grin-squint:before{content:""}.fa-grin-squint-tears:before{content:""}.fa-grin-stars:before{content:""}.fa-grin-tears:before{content:""}.fa-grin-tongue:before{content:""}.fa-grin-tongue-squint:before{content:""}.fa-grin-tongue-wink:before{content:""}.fa-grin-wink:before{content:""}.fa-grip-horizontal:before{content:""}.fa-grip-lines:before{content:""}.fa-grip-lines-vertical:before{content:""}.fa-grip-vertical:before{content:""}.fa-gripfire:before{content:""}.fa-grunt:before{content:""}.fa-guitar:before{content:""}.fa-gulp:before{content:""}.fa-h-square:before{content:""}.fa-hacker-news:before{content:""}.fa-hacker-news-square:before{content:""}.fa-hackerrank:before{content:""}.fa-hamburger:before{content:""}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-usd:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-middle-finger:before{content:""}.fa-hand-paper:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-rock:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before{content:""}.fa-hands-helping:before{content:""}.fa-handshake:before{content:""}.fa-hanukiah:before{content:""}.fa-hard-hat:before{content:""}.fa-hashtag:before{content:""}.fa-hat-wizard:before{content:""}.fa-haykal:before{content:""}.fa-hdd:before{content:""}.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heart-broken:before{content:""}.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-highlighter:before{content:""}.fa-hiking:before{content:""}.fa-hippo:before{content:""}.fa-hips:before{content:""}.fa-hire-a-helper:before{content:""}.fa-history:before{content:""}.fa-hockey-puck:before{content:""}.fa-holly-berry:before{content:""}.fa-home:before{content:""}.fa-hooli:before{content:""}.fa-hornbill:before{content:""}.fa-horse:before{content:""}.fa-horse-head:before{content:""}.fa-hospital:before{content:""}.fa-hospital-alt:before{content:""}.fa-hospital-symbol:before{content:""}.fa-hot-tub:before{content:""}.fa-hotdog:before{content:""}.fa-hotel:before{content:""}.fa-hotjar:before{content:""}.fa-hourglass:before{content:""}.fa-hourglass-end:before{content:""}.fa-hourglass-half:before{content:""}.fa-hourglass-start:before{content:""}.fa-house-damage:before{content:""}.fa-houzz:before{content:""}.fa-hryvnia:before{content:""}.fa-html5:before{content:""}.fa-hubspot:before{content:""}.fa-i-cursor:before{content:""}.fa-ice-cream:before{content:""}.fa-icicles:before{content:""}.fa-icons:before{content:""}.fa-id-badge:before{content:""}.fa-id-card:before{content:""}.fa-id-card-alt:before{content:""}.fa-igloo:before{content:""}.fa-image:before{content:""}.fa-images:before{content:""}.fa-imdb:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-info-circle:before{content:""}.fa-instagram:before{content:""}.fa-intercom:before{content:""}.fa-internet-explorer:before{content:""}.fa-invision:before{content:""}.fa-ioxhost:before{content:""}.fa-italic:before{content:""}.fa-itch-io:before{content:""}.fa-itunes:before{content:""}.fa-itunes-note:before{content:""}.fa-java:before{content:""}.fa-jedi:before{content:""}.fa-jedi-order:before{content:""}.fa-jenkins:before{content:""}.fa-jira:before{content:""}.fa-joget:before{content:""}.fa-joint:before{content:""}.fa-joomla:before{content:""}.fa-journal-whills:before{content:""}.fa-js:before{content:""}.fa-js-square:before{content:""}.fa-jsfiddle:before{content:""}.fa-kaaba:before{content:""}.fa-kaggle:before{content:""}.fa-key:before{content:""}.fa-keybase:before{content:""}.fa-keyboard:before{content:""}.fa-keycdn:before{content:""}.fa-khanda:before{content:""}.fa-kickstarter:before{content:""}.fa-kickstarter-k:before{content:""}.fa-kiss:before{content:""}.fa-kiss-beam:before{content:""}.fa-kiss-wink-heart:before{content:""}.fa-kiwi-bird:before{content:""}.fa-korvue:before{content:""}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laptop-medical:before{content:""}.fa-laravel:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-laugh:before{content:""}.fa-laugh-beam:before{content:""}.fa-laugh-squint:before{content:""}.fa-laugh-wink:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-leanpub:before{content:""}.fa-lemon:before{content:""}.fa-less:before{content:""}.fa-less-than:before{content:""}.fa-less-than-equal:before{content:""}.fa-level-down-alt:before{content:""}.fa-level-up-alt:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-line:before{content:""}.fa-link:before{content:""}.fa-linkedin:before{content:""}.fa-linkedin-in:before{content:""}.fa-linode:before{content:""}.fa-linux:before{content:""}.fa-lira-sign:before{content:""}.fa-list:before{content:""}.fa-list-alt:before{content:""}.fa-list-ol:before{content:""}.fa-list-ul:before{content:""}.fa-location-arrow:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-long-arrow-alt-down:before{content:""}.fa-long-arrow-alt-left:before{content:""}.fa-long-arrow-alt-right:before{content:""}.fa-long-arrow-alt-up:before{content:""}.fa-low-vision:before{content:""}.fa-luggage-cart:before{content:""}.fa-lyft:before{content:""}.fa-magento:before{content:""}.fa-magic:before{content:""}.fa-magnet:before{content:""}.fa-mail-bulk:before{content:""}.fa-mailchimp:before{content:""}.fa-male:before{content:""}.fa-mandalorian:before{content:""}.fa-map:before{content:""}.fa-map-marked:before{content:""}.fa-map-marked-alt:before{content:""}.fa-map-marker:before{content:""}.fa-map-marker-alt:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-markdown:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mask:before{content:""}.fa-mastodon:before{content:""}.fa-maxcdn:before{content:""}.fa-medal:before{content:""}.fa-medapps:before{content:""}.fa-medium:before{content:""}.fa-medium-m:before{content:""}.fa-medkit:before{content:""}.fa-medrt:before{content:""}.fa-meetup:before{content:""}.fa-megaport:before{content:""}.fa-meh:before{content:""}.fa-meh-blank:before{content:""}.fa-meh-rolling-eyes:before{content:""}.fa-memory:before{content:""}.fa-mendeley:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-meteor:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before{content:""}.fa-microphone-alt-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-microsoft:before{content:""}.fa-minus:before{content:""}.fa-minus-circle:before{content:""}.fa-minus-square:before{content:""}.fa-mitten:before{content:""}.fa-mix:before{content:""}.fa-mixcloud:before{content:""}.fa-mizuni:before{content:""}.fa-mobile:before{content:""}.fa-mobile-alt:before{content:""}.fa-modx:before{content:""}.fa-monero:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-bill-wave-alt:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mouse-pointer:before{content:""}.fa-mug-hot:before{content:""}.fa-music:before{content:""}.fa-napster:before{content:""}.fa-neos:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-nimblr:before{content:""}.fa-node:before{content:""}.fa-node-js:before{content:""}.fa-not-equal:before{content:""}.fa-notes-medical:before{content:""}.fa-npm:before{content:""}.fa-ns8:before{content:""}.fa-nutritionix:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-oil-can:before{content:""}.fa-old-republic:before{content:""}.fa-om:before{content:""}.fa-opencart:before{content:""}.fa-openid:before{content:""}.fa-opera:before{content:""}.fa-optin-monster:before{content:""}.fa-osi:before{content:""}.fa-otter:before{content:""}.fa-outdent:before{content:""}.fa-page4:before{content:""}.fa-pagelines:before{content:""}.fa-pager:before{content:""}.fa-paint-brush:before{content:""}.fa-paint-roller:before{content:""}.fa-palette:before{content:""}.fa-palfed:before{content:""}.fa-pallet:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-parking:before{content:""}.fa-passport:before{content:""}.fa-pastafarianism:before{content:""}.fa-paste:before{content:""}.fa-patreon:before{content:""}.fa-pause:before{content:""}.fa-pause-circle:before{content:""}.fa-paw:before{content:""}.fa-paypal:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-square:before{content:""}.fa-pencil-alt:before{content:""}.fa-pencil-ruler:before{content:""}.fa-penny-arcade:before{content:""}.fa-people-carry:before{content:""}.fa-pepper-hot:before{content:""}.fa-percent:before{content:""}.fa-percentage:before{content:""}.fa-periscope:before{content:""}.fa-person-booth:before{content:""}.fa-phabricator:before{content:""}.fa-phoenix-framework:before{content:""}.fa-phoenix-squadron:before{content:""}.fa-phone:before{content:""}.fa-phone-alt:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-square:before{content:""}.fa-phone-square-alt:before{content:""}.fa-phone-volume:before{content:""}.fa-photo-video:before{content:""}.fa-php:before{content:""}.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-pied-piper-hat:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-p:before{content:""}.fa-pinterest-square:before{content:""}.fa-pizza-slice:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-play:before{content:""}.fa-play-circle:before{content:""}.fa-playstation:before{content:""}.fa-plug:before{content:""}.fa-plus:before{content:""}.fa-plus-circle:before{content:""}.fa-plus-square:before{content:""}.fa-podcast:before{content:""}.fa-poll:before{content:""}.fa-poll-h:before{content:""}.fa-poo:before{content:""}.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-portrait:before{content:""}.fa-pound-sign:before{content:""}.fa-power-off:before{content:""}.fa-pray:before{content:""}.fa-praying-hands:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before{content:""}.fa-print:before{content:""}.fa-procedures:before{content:""}.fa-product-hunt:before{content:""}.fa-project-diagram:before{content:""}.fa-pushed:before{content:""}.fa-puzzle-piece:before{content:""}.fa-python:before{content:""}.fa-qq:before{content:""}.fa-qrcode:before{content:""}.fa-question:before{content:""}.fa-question-circle:before{content:""}.fa-quidditch:before{content:""}.fa-quinscape:before{content:""}.fa-quora:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-quran:before{content:""}.fa-r-project:before{content:""}.fa-radiation:before{content:""}.fa-radiation-alt:before{content:""}.fa-rainbow:before{content:""}.fa-random:before{content:""}.fa-raspberry-pi:before{content:""}.fa-ravelry:before{content:""}.fa-react:before{content:""}.fa-reacteurope:before{content:""}.fa-readme:before{content:""}.fa-rebel:before{content:""}.fa-receipt:before{content:""}.fa-recycle:before{content:""}.fa-red-river:before{content:""}.fa-reddit:before{content:""}.fa-reddit-alien:before{content:""}.fa-reddit-square:before{content:""}.fa-redhat:before{content:""}.fa-redo:before{content:""}.fa-redo-alt:before{content:""}.fa-registered:before{content:""}.fa-remove-format:before{content:""}.fa-renren:before{content:""}.fa-reply:before{content:""}.fa-reply-all:before{content:""}.fa-replyd:before{content:""}.fa-republican:before{content:""}.fa-researchgate:before{content:""}.fa-resolving:before{content:""}.fa-restroom:before{content:""}.fa-retweet:before{content:""}.fa-rev:before{content:""}.fa-ribbon:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rocketchat:before{content:""}.fa-rockrms:before{content:""}.fa-route:before{content:""}.fa-rss:before{content:""}.fa-rss-square:before{content:""}.fa-ruble-sign:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-running:before{content:""}.fa-rupee-sign:before{content:""}.fa-sad-cry:before{content:""}.fa-sad-tear:before{content:""}.fa-safari:before{content:""}.fa-salesforce:before{content:""}.fa-sass:before{content:""}.fa-satellite:before{content:""}.fa-satellite-dish:before{content:""}.fa-save:before{content:""}.fa-schlix:before{content:""}.fa-school:before{content:""}.fa-screwdriver:before{content:""}.fa-scribd:before{content:""}.fa-scroll:before{content:""}.fa-sd-card:before{content:""}.fa-search:before{content:""}.fa-search-dollar:before{content:""}.fa-search-location:before{content:""}.fa-search-minus:before{content:""}.fa-search-plus:before{content:""}.fa-searchengin:before{content:""}.fa-seedling:before{content:""}.fa-sellcast:before{content:""}.fa-sellsy:before{content:""}.fa-server:before{content:""}.fa-servicestack:before{content:""}.fa-shapes:before{content:""}.fa-share:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-share-square:before{content:""}.fa-shekel-sign:before{content:""}.fa-shield-alt:before{content:""}.fa-ship:before{content:""}.fa-shipping-fast:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-shoe-prints:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-shopping-cart:before{content:""}.fa-shopware:before{content:""}.fa-shower:before{content:""}.fa-shuttle-van:before{content:""}.fa-sign:before{content:""}.fa-sign-in-alt:before{content:""}.fa-sign-language:before{content:""}.fa-sign-out-alt:before{content:""}.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-sim-card:before{content:""}.fa-simplybuilt:before{content:""}.fa-sistrix:before{content:""}.fa-sitemap:before{content:""}.fa-sith:before{content:""}.fa-skating:before{content:""}.fa-sketch:before{content:""}.fa-skiing:before{content:""}.fa-skiing-nordic:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-skyatlas:before{content:""}.fa-skype:before{content:""}.fa-slack:before{content:""}.fa-slack-hash:before{content:""}.fa-slash:before{content:""}.fa-sleigh:before{content:""}.fa-sliders-h:before{content:""}.fa-slideshare:before{content:""}.fa-smile:before{content:""}.fa-smile-beam:before{content:""}.fa-smile-wink:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-smoking-ban:before{content:""}.fa-sms:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-snowboarding:before{content:""}.fa-snowflake:before{content:""}.fa-snowman:before{content:""}.fa-snowplow:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before{content:""}.fa-sort-alpha-down:before{content:""}.fa-sort-alpha-down-alt:before{content:""}.fa-sort-alpha-up:before{content:""}.fa-sort-alpha-up-alt:before{content:""}.fa-sort-amount-down:before{content:""}.fa-sort-amount-down-alt:before{content:""}.fa-sort-amount-up:before{content:""}.fa-sort-amount-up-alt:before{content:""}.fa-sort-down:before{content:""}.fa-sort-numeric-down:before{content:""}.fa-sort-numeric-down-alt:before{content:""}.fa-sort-numeric-up:before{content:""}.fa-sort-numeric-up-alt:before{content:""}.fa-sort-up:before{content:""}.fa-soundcloud:before{content:""}.fa-sourcetree:before{content:""}.fa-spa:before{content:""}.fa-space-shuttle:before{content:""}.fa-speakap:before{content:""}.fa-speaker-deck:before{content:""}.fa-spell-check:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spotify:before{content:""}.fa-spray-can:before{content:""}.fa-square:before{content:""}.fa-square-full:before{content:""}.fa-square-root-alt:before{content:""}.fa-squarespace:before{content:""}.fa-stack-exchange:before{content:""}.fa-stack-overflow:before{content:""}.fa-stackpath:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-staylinked:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-steam-symbol:before{content:""}.fa-step-backward:before{content:""}.fa-step-forward:before{content:""}.fa-stethoscope:before{content:""}.fa-sticker-mule:before{content:""}.fa-sticky-note:before{content:""}.fa-stop:before{content:""}.fa-stop-circle:before{content:""}.fa-stopwatch:before{content:""}.fa-store:before{content:""}.fa-store-alt:before{content:""}.fa-strava:before{content:""}.fa-stream:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stripe:before{content:""}.fa-stripe-s:before{content:""}.fa-stroopwafel:before{content:""}.fa-studiovinari:before{content:""}.fa-stumbleupon:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-subscript:before{content:""}.fa-subway:before{content:""}.fa-suitcase:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superpowers:before{content:""}.fa-superscript:before{content:""}.fa-supple:before{content:""}.fa-surprise:before{content:""}.fa-suse:before{content:""}.fa-swatchbook:before{content:""}.fa-swimmer:before{content:""}.fa-swimming-pool:before{content:""}.fa-symfony:before{content:""}.fa-synagogue:before{content:""}.fa-sync:before{content:""}.fa-sync-alt:before{content:""}.fa-syringe:before{content:""}.fa-table:before{content:""}.fa-table-tennis:before{content:""}.fa-tablet:before{content:""}.fa-tablet-alt:before{content:""}.fa-tablets:before{content:""}.fa-tachometer-alt:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-tasks:before{content:""}.fa-taxi:before{content:""}.fa-teamspeak:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-telegram:before{content:""}.fa-telegram-plane:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-tencent-weibo:before{content:""}.fa-tenge:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-th:before{content:""}.fa-th-large:before{content:""}.fa-th-list:before{content:""}.fa-the-red-yeti:before{content:""}.fa-theater-masks:before{content:""}.fa-themeco:before{content:""}.fa-themeisle:before{content:""}.fa-thermometer:before{content:""}.fa-thermometer-empty:before{content:""}.fa-thermometer-full:before{content:""}.fa-thermometer-half:before{content:""}.fa-thermometer-quarter:before{content:""}.fa-thermometer-three-quarters:before{content:""}.fa-think-peaks:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbtack:before{content:""}.fa-ticket-alt:before{content:""}.fa-times:before{content:""}.fa-times-circle:before{content:""}.fa-tint:before{content:""}.fa-tint-slash:before{content:""}.fa-tired:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet:before{content:""}.fa-toilet-paper:before{content:""}.fa-toolbox:before{content:""}.fa-tools:before{content:""}.fa-tooth:before{content:""}.fa-torah:before{content:""}.fa-torii-gate:before{content:""}.fa-tractor:before{content:""}.fa-trade-federation:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-train:before{content:""}.fa-tram:before{content:""}.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-trash:before{content:""}.fa-trash-alt:before{content:""}.fa-trash-restore:before{content:""}.fa-trash-restore-alt:before{content:""}.fa-tree:before{content:""}.fa-trello:before{content:""}.fa-tripadvisor:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-truck-loading:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-tshirt:before{content:""}.fa-tty:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-tv:before{content:""}.fa-twitch:before{content:""}.fa-twitter:before{content:""}.fa-twitter-square:before{content:""}.fa-typo3:before{content:""}.fa-uber:before{content:""}.fa-ubuntu:before{content:""}.fa-uikit:before{content:""}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-underline:before{content:""}.fa-undo:before{content:""}.fa-undo-alt:before{content:""}.fa-uniregistry:before{content:""}.fa-universal-access:before{content:""}.fa-university:before{content:""}.fa-unlink:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before{content:""}.fa-untappd:before{content:""}.fa-upload:before{content:""}.fa-ups:before{content:""}.fa-usb:before{content:""}.fa-user:before{content:""}.fa-user-alt:before{content:""}.fa-user-alt-slash:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-circle:before{content:""}.fa-user-clock:before{content:""}.fa-user-cog:before{content:""}.fa-user-edit:before{content:""}.fa-user-friends:before{content:""}.fa-user-graduate:before{content:""}.fa-user-injured:before{content:""}.fa-user-lock:before{content:""}.fa-user-md:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-nurse:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before{content:""}.fa-users:before{content:""}.fa-users-cog:before{content:""}.fa-usps:before{content:""}.fa-ussunnah:before{content:""}.fa-utensil-spoon:before{content:""}.fa-utensils:before{content:""}.fa-vaadin:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-viacoin:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-viber:before{content:""}.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-vimeo:before{content:""}.fa-vimeo-square:before{content:""}.fa-vimeo-v:before{content:""}.fa-vine:before{content:""}.fa-vk:before{content:""}.fa-vnv:before{content:""}.fa-voicemail:before{content:""}.fa-volleyball-ball:before{content:""}.fa-volume-down:before{content:""}.fa-volume-mute:before{content:""}.fa-volume-off:before{content:""}.fa-volume-up:before{content:""}.fa-vote-yea:before{content:""}.fa-vr-cardboard:before{content:""}.fa-vuejs:before{content:""}.fa-walking:before{content:""}.fa-wallet:before{content:""}.fa-warehouse:before{content:""}.fa-water:before{content:""}.fa-wave-square:before{content:""}.fa-waze:before{content:""}.fa-weebly:before{content:""}.fa-weibo:before{content:""}.fa-weight:before{content:""}.fa-weight-hanging:before{content:""}.fa-weixin:before{content:""}.fa-whatsapp:before{content:""}.fa-whatsapp-square:before{content:""}.fa-wheelchair:before{content:""}.fa-whmcs:before{content:""}.fa-wifi:before{content:""}.fa-wikipedia-w:before{content:""}.fa-wind:before{content:""}.fa-window-close:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-windows:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before{content:""}.fa-wix:before{content:""}.fa-wizards-of-the-coast:before{content:""}.fa-wolf-pack-battalion:before{content:""}.fa-won-sign:before{content:""}.fa-wordpress:before{content:""}.fa-wordpress-simple:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpexplorer:before{content:""}.fa-wpforms:before{content:""}.fa-wpressr:before{content:""}.fa-wrench:before{content:""}.fa-x-ray:before{content:""}.fa-xbox:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-y-combinator:before{content:""}.fa-yahoo:before{content:""}.fa-yammer:before{content:""}.fa-yandex:before{content:""}.fa-yandex-international:before{content:""}.fa-yarn:before{content:""}.fa-yelp:before{content:""}.fa-yen-sign:before{content:""}.fa-yin-yang:before{content:""}.fa-yoast:before{content:""}.fa-youtube:before{content:""}.fa-youtube-square:before{content:""}.fa-zhihu:before{content:""}.sr-only{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}/*!
|
|
* Font Awesome Free 5.9.0 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
*/@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url("./webfonts/fa-solid-900.eot");src:url("./webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"),url("./webfonts/fa-solid-900.woff2") format("woff2"),url("./webfonts/fa-solid-900.woff") format("woff"),url("./webfonts/fa-solid-900.ttf") format("truetype"),url("./webfonts/fa-solid-900.svg#fontawesome") format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900}html{font-size:87.5%;box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0;padding:0}ul[role=list],ol[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}body{text-rendering:optimizeSpeed;line-height:1.5;font-family:"Roboto",Arial,Helvetica,sans-serif !important;letter-spacing:-0.025ch}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion: reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}#main{height:100vh}.content{display:flex;height:100%;overflow:hidden}.tab-content{display:flex;height:100%;width:100%;background-color:#eef3f6;animation:fadein .3s;overflow:auto}input[type=text],input[type=password],input[type=number],textarea{box-sizing:border-box;background:#fff;max-width:100%;font-size:1rem;font-weight:400;border:1px solid #ccc;border-radius:.25rem;padding:.25rem .5rem;outline:rgba(0,0,0,0)}input:focus{border:1px solid #3ba4d7;box-shadow:inset 0 0 5px #ccc}input.stretched{width:90%}input.small{max-width:70%;padding:.1rem}input.searchbar{width:40%}a{cursor:pointer}a[title=Back]{width:max-content;height:max-content;padding:.475rem .75rem;border-radius:50%;transition:100ms}a[title=Back]:hover{background:#eef3f6}table{padding:20px;table-layout:fixed;width:100%;border-collapse:collapse;text-align:center;color:#333;font-size:1.125rem}table th{font-size:1.125rem;color:#000;border-bottom:2px solid #eee}table tr{border-bottom:1px solid #eee}h3{color:#444}hr{margin-left:0;color:#aaa}.grid-2col{display:grid;grid-template-columns:auto auto;gap:1rem;justify-content:start}.grid-2col input[type=checkbox]{margin-top:20px}.error{color:red}.tooltip{color:#333;position:relative;display:inline-block;margin:0 .25rem}.tooltiptext{visibility:hidden;position:absolute;top:100%;left:50%;min-width:250px;margin-left:-120px;z-index:1;color:#ccc;background-color:#333;font-size:.875rem;text-align:center;padding:.25rem;border-radius:.5rem}.tooltip:hover .tooltiptext{visibility:visible;animation:fadein .5s}blockquote{color:#14141b;padding:.75rem 1rem .75rem 2rem;border-radius:.25rem}blockquote.info{position:relative;line-height:1.2;color:rgba(20,20,27,.8);border:1px solid rgba(17,143,204,.8)}blockquote.info::before{font-family:"Font Awesome 5 Free";position:absolute;top:.5rem;left:.5rem;content:"";color:#019dff}@keyframes fadein{from{opacity:0}to{opacity:1}}.fadein{animation:fadein .5s}@keyframes swipe-from-left{from{margin-left:100%}to{margin-left:0}}button{width:max-content;height:max-content;color:#fff;background:#019dff;font-size:1rem;padding:.4rem 1rem;border:0;border-radius:5px;cursor:pointer;box-shadow:inset -3px -3px 0 rgb(0,94.5826771654,154);white-space:nowrap;flex-shrink:0}button:active{outline:none;box-shadow:inset 3px 3px 0 rgb(0,94.5826771654,154)}button.red{width:max-content;height:max-content;color:#fff;background:#ff3a4a;font-size:1rem;padding:.4rem 1rem;border:0;border-radius:5px;cursor:pointer;box-shadow:inset -3px -3px 0 rgb(211,0,17.1370558376);white-space:nowrap;flex-shrink:0}button.red:active{outline:none;box-shadow:inset 3px 3px 0 rgb(211,0,17.1370558376)}.media-item{display:flex;margin-top:.5rem;padding:1rem;border:1px solid rgba(20,20,27,.1);border-radius:4px}.media-item__details{flex-basis:40%;display:flex;align-items:start;gap:.5rem}.media-item__details img{width:6rem;object-fit:contain}.media-item__desc{flex-basis:60%}.active-link{background:hsla(0,0%,100%,.1) !important}.nav-menu{background-color:#14141b;box-shadow:0 5px 5px #222;display:flex;flex-direction:column;align-items:center;height:100%;padding:.25rem;margin-right:0rem}.nav-menu__logo{padding:1.2rem 0;display:flex;align-items:center;gap:.3rem}.nav-menu__logo img{width:1.6rem}.nav-menu__logo h5{line-height:1;color:#fff}.nav-menu__box{padding:2rem .125rem;display:flex;flex-direction:column;gap:.5rem;position:relative}.nav-menu__box .item{margin:0;padding:.675rem .5rem;width:10rem;display:flex;align-items:center;line-height:1;border-radius:.5rem;text-decoration:none;color:#ccc;text-transform:capitalize;transition:0ms}.nav-menu__box .item:hover{background-color:rgba(238,243,246,.15)}.nav-menu__box .item i.sidenav-icon{width:2.5rem;height:1.4rem;display:grid;place-items:center}.nav-menu__box .item.item-selected{color:#9bdaff;background-color:rgba(155,218,255,.15);font-weight:medium}.nav-menu__box button.toggle-nav{display:none;position:absolute;padding:0;top:0;right:-1rem;background:rgb(77.5,186.5157480315,255);width:1.5rem;height:1.5rem;aspect-ratio:1;justify-content:center;align-items:center;border-radius:50%;box-shadow:none}.nav-menu.collapsed .nav-menu__logo .logo-container{display:flex;flex-direction:column;align-items:center;gap:.5rem}.nav-menu.collapsed .nav-menu__logo .logo-container>*:not(img){display:block}.nav-menu.collapsed .nav-menu__logo .nav-menu__logo-text{display:none !important}.nav-menu.collapsed .nav-menu__box .item{padding:.675rem 0;width:2.5rem;justify-content:center;transition:300ms}.nav-menu.collapsed .nav-menu__box .item span,.nav-menu.collapsed .nav-menu__box .item p{display:none !important}.nav-menu.collapsed button i{rotate:180deg}.nav-menu:hover button.toggle-nav{display:flex}.sidebar{width:13rem;background-color:#fff;display:flex;flex-direction:column}.sidebar a{text-decoration:none;text-transform:capitalize;padding:1rem;cursor:pointer;color:#999}.sidebar a:hover{color:#222}.sidebar .selected-sidebar-link{font-weight:bold;color:#222;border-left:5px solid #3ba4d7;animation:expand-left-border .1s}.sidebarquickview>h6{padding:.5rem}.sidebarquickview a{text-decoration:none;text-transform:capitalize;padding:.5rem 1rem;display:block;color:#999}.sidebarquickview a a:hover{color:#222}.sidebarquickview .selected-sidebarquickview-link{font-weight:bold;color:#222;border-left:5px solid #3ba4d7;animation:expand-left-border .1s}.node-panel{width:100%;padding:.5rem;animation:fadein .5s}@keyframes expand-left-border{from{border-left:0}to{border-left:5px solid #3ba4d7}}@media(max-width: 700px){.tab-content{flex-direction:column}.sidebar{width:100% !important;flex-direction:row !important;overflow-x:auto !important;overflow-y:hidden !important;white-space:nowrap !important;border-bottom:1px solid rgba(20,20,27,.1) !important;background:#fff !important;z-index:50 !important;flex-shrink:0 !important;height:auto !important;padding:0 !important}.sidebar a{display:inline-block !important;padding:.8rem 1.2rem !important;border-bottom:3px solid rgba(0,0,0,0) !important;border-left:none !important}.sidebar .selected-sidebar-link{border-left:none !important;border-bottom:3px solid #3ba4d7 !important;animation:none !important}.sidebarquickview>h4,.sidebarquickview>h6{display:none !important}}.posts{height:100%;margin-top:1rem;flex-direction:column;overflow:auto}.posts__heading{display:flex;flex-direction:column;justify-content:space-between}.posts-container{height:100%;padding:1rem;display:grid;grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));gap:2rem;border:1px solid rgba(20,20,27,.1);border-radius:4px;overflow:auto}.posts-container-card{min-height:240px;flex-direction:column;border:1px solid rgba(20,20,27,.5);border-radius:4px;cursor:pointer;text-align:center}.posts-container-card img{flex-basis:90%;object-fit:cover}.posts-container-card p{padding:0 .125rem;flex-basis:10%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-bar{width:100%;height:2rem;position:relative;text-align:center;background-color:#eef3f6;border-radius:20px;overflow:hidden}.progress-bar__status{position:absolute;top:0;left:0;height:100%;color:#14141b;background-color:#019dff}.progress-bar__percent{position:absolute;inset:0;margin:auto;width:fit-content;height:fit-content}.progress-bar-chunks{position:relative;margin-top:.5rem;width:100%;height:2rem;display:flex;border-radius:.25rem;overflow:hidden;background-color:#eef3f6}.progress-bar-chunks .chunk{width:100%}.progress-bar-chunks .chunk[data-chunkVal="0"]{background-color:rgba(155,218,255,.2)}.progress-bar-chunks .chunk[data-chunkVal="1"]{background-color:#ff3a4a}.progress-bar-chunks .chunk[data-chunkVal="2"]{background-color:#019dff}.progress-bar-chunks .chunk[data-chunkVal="3"]{background-color:#fcba03}.progress-bar-chunks__percent{position:absolute;inset:0;margin:auto;width:fit-content;height:fit-content}.statusbar{display:flex;justify-content:space-between;align-items:center;height:28px;background-color:#14141b;border-top:1px solid #2e2e38;padding:0 1rem;font-size:.8rem;color:#94a3b8;z-index:100;box-sizing:border-box;user-select:none;flex-shrink:0}.statusbar-left{display:flex;align-items:center}.statusbar-right{display:flex;align-items:center;gap:1.5rem}.statusbar-item{display:flex;align-items:center}.statusbar-divider{width:1px;height:14px;background-color:#2e2e38}.status-bullet{width:8px;height:8px;border-radius:50%;display:inline-block;box-shadow:0 0 4px rgba(0,0,0,.5)}.widget{height:100%;padding:1rem;display:flex;flex-direction:column;gap:.5rem;background-color:#fff;border-radius:.5rem;overflow:auto}.widget .top-heading{display:flex;justify-content:space-between}.widget__heading{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #999}.widget__body{height:100%;display:flex;flex-direction:column;overflow:auto}.widget__body-heading{display:flex;justify-content:space-between;align-items:center}.widget__body-heading .action{display:flex;gap:.5rem}.widget__body-content{height:100%;overflow:auto}.widget__body-box{display:flex;flex-direction:column;gap:.5rem}.widget-half{max-width:50%}#modal-container{display:none;position:fixed;z-index:1;height:100%;top:0;left:0;width:100%;background-color:rgba(0,0,0,.2)}.modal-content{position:absolute;color:#555;width:40%;min-height:10rem;height:max-content;padding:1.5rem;inset:0;margin:auto;background-color:#fff;border-radius:.5rem;animation:fadein .5s;display:flex;flex-direction:column}.modal-content button:last-child{margin-top:auto}.modal-content .close-btn{position:absolute;right:1.5rem}.modal-content .widget{padding:0}#notification-container{position:absolute;bottom:0;right:0}.login-page{background-image:linear-gradient(-45deg, rgba(1, 157, 255, 0.75), rgba(17, 143, 204, 0.75));height:100%;animation:fadein .5s}.login-page .login-container{background-color:#fff;box-shadow:3px 3px 5px rgba(20,20,27,.4);margin:auto;position:relative;top:100px;max-width:400px;max-height:500px;border-radius:5px;display:flex;flex-direction:column;align-items:center}.login-page .login-container input{padding:.375rem .75rem;border-radius:.275rem}.login-page .login-container *{margin-bottom:1rem}.login-page .login-container>img{margin:1rem 0 2rem}.login-page .login-container extra{margin:0}.login-page .login-container>a{text-decoration:underline;cursor:pointer}.login-page .extra>label,.login-page .extra>br,.login-page .extra>input{margin-bottom:0}.homepage{margin:2rem auto 0;display:flex;flex-direction:column;gap:4rem}.homepage .logo{display:flex;justify-content:center;align-items:center}.homepage .logo img{width:90px}.homepage .logo .retroshareText{display:flex;flex-direction:column;align-items:center}.homepage .logo .retroshareText .retrotext{font-size:36px;font-weight:600;line-height:1.125}.homepage .logo .retroshareText .retrotext>span{color:#118fcc}.homepage .logo .retroshareText>b{font-size:14px;line-height:1}.homepage .certificate{display:flex;flex-direction:column;gap:4rem}.homepage .certificate__heading{text-align:center}.homepage .certificate__heading>h1{margin-bottom:1rem}.homepage .certificate__content{display:flex;flex-direction:column;gap:2rem;padding:2rem;text-align:center;border:1.5px solid rgba(17,143,204,.2);border-radius:6px;box-shadow:0px 0px 8px 2px rgba(20,20,27,.05)}.homepage .certificate__content .rsId>p{margin-bottom:.5rem;color:#118fcc}.homepage .certificate__content .retroshareID{padding:.25rem;display:flex;align-items:center;justify-self:start;font-size:1.25rem;border-radius:4px;background:rgba(20,20,27,.05)}.homepage .certificate__content .retroshareID .textArea{padding:0;width:100%;height:auto;font-size:1rem;font-family:monospace;background:rgba(0,0,0,0);border:none;resize:none;overflow:hidden;field-sizing:content}.homepage .certificate__content .retroshareID i{color:#118fcc}.homepage .certificate__content .retroshareID>i{margin:0 .5rem;cursor:pointer}.homepage .certificate__content .webhelp{padding:.5rem;background:#f5f5f5;display:flex;justify-content:center;align-items:center;gap:.5rem;border-radius:4px;border:1px solid rgba(20,20,27,.5);width:fit-content;cursor:pointer}.homepage .certificate__content .webhelp-container{display:grid;place-items:center}.homepage .certificate__content .webhelp:hover{background:#eef3f6;border:1px solid #14141b}.homepage .certificate__content .webhelp>i{font-size:1.2rem;color:green}.homepage .certificate__content .add-friend>h6,.homepage .certificate__content .webhelp-container>h6{font-weight:normal;margin-bottom:.5rem}.network-container{display:flex;height:100%;width:100%;overflow:hidden;background-color:#f1f5f9}.network-left-pane{width:320px;min-width:300px;max-width:350px;border-right:1px solid #cbd5e1;display:flex;flex-direction:column;background:#fff;box-shadow:2px 0 5px rgba(0,0,0,.05)}.own-profile-card{padding:1.25rem;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);display:flex;flex-direction:column;gap:.75rem}.own-profile-card .profile-header{display:flex;align-items:center;gap:1rem}.own-profile-card .profile-info{display:flex;flex-direction:column;flex:1;overflow:hidden}.own-profile-card .profile-info .profile-name{font-weight:700;color:#1e293b;font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.own-profile-card .profile-info .profile-status{font-size:.85rem;color:#10b981;font-weight:500;display:flex;align-items:center;gap:.35rem}.own-profile-card .profile-info .profile-status::before{content:"";display:inline-block;width:8px;height:8px;background-color:#10b981;border-radius:50%}.own-profile-card .own-identity-select-container{display:flex;flex-direction:column;gap:.25rem}.own-profile-card .own-identity-select-container label{font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.own-profile-card .own-identity-select-container select.own-identity-select{width:100%;padding:.375rem .5rem;font-size:.85rem;border:1px solid #cbd5e1;border-radius:.375rem;background-color:#fff;color:#334155;outline:none;cursor:pointer;transition:border-color .2s}.own-profile-card .own-identity-select-container select.own-identity-select:focus{border-color:#3ba4d7}.friends-list-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.friends-list-container .searchbar-container{padding:.75rem 1rem;border-bottom:1px solid #e2e8f0}.friends-list-container .searchbar-container input.searchbar{width:100%;padding:.5rem .75rem;font-size:.9rem;border:1px solid #cbd5e1;border-radius:.375rem;background-color:#f8fafc;outline:none;transition:all .2s}.friends-list-container .searchbar-container input.searchbar:focus{background-color:#fff;border-color:#3ba4d7;box-shadow:0 0 0 3px rgba(59,164,215,.15)}.friends-list-container .friends-scroll{flex:1;overflow-y:auto;padding:.5rem 0}.friend-list-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin:.125rem .5rem;border-radius:.5rem;cursor:pointer;transition:all .2s}.friend-list-item:hover{background-color:#f1f5f9}.friend-list-item.selected{background-color:#e0f2fe}.friend-list-item.selected .friend-name{color:#0369a1;font-weight:600}.friend-list-item .friend-avatar{flex-shrink:0}.friend-list-item .friend-meta{flex:1;min-width:0}.friend-list-item .friend-meta .friend-name{font-size:.95rem;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}.friend-list-item .friend-meta .friend-status{font-size:.8rem;color:#94a3b8}.friend-list-item .friend-meta .friend-status.online{color:#10b981;font-weight:500}.network-right-pane{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:#f8fafc}.network-pane-placeholder{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#94a3b8;gap:1rem;padding:2rem;text-align:center}.network-pane-placeholder i{font-size:4rem;color:#cbd5e1}.network-pane-placeholder p{font-size:1.1rem;max-width:400px}.network-tabs{display:flex;background-color:#fff;border-bottom:1px solid #cbd5e1;padding:.5rem 1rem 0;gap:.5rem}.network-tabs .tab-btn{padding:.625rem 1.25rem;font-size:.95rem;font-weight:600;color:#64748b;background:rgba(0,0,0,0);border:none;border-radius:.375rem .375rem 0 0;border-bottom:3px solid rgba(0,0,0,0);cursor:pointer;box-shadow:none;transition:all .2s}.network-tabs .tab-btn:hover{color:#334155;background-color:#f1f5f9}.network-tabs .tab-btn.active{color:#3ba4d7;border-bottom-color:#3ba4d7;background-color:rgba(0,0,0,0)}.network-tab-content{flex:1;overflow-y:auto;padding:1.5rem}.network-detail-view{display:flex;flex-direction:column;gap:1.5rem}.network-detail-view .detail-header{display:flex;align-items:center;gap:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.network-detail-view .detail-header .detail-title{flex:1}.network-detail-view .detail-header .detail-title h2{font-size:1.75rem;font-weight:800;color:#1e293b;margin-bottom:.25rem}.network-detail-view .detail-header .detail-title .detail-subtitle{font-size:.9rem;color:#64748b;display:flex;align-items:center;gap:.5rem}.network-detail-view .detail-header .detail-actions{display:flex;gap:.75rem}.network-detail-view .detail-header .detail-actions button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem}.network-detail-view .detail-section{background-color:#fff;border-radius:.5rem;border:1px solid #e2e8f0;padding:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.02)}.network-detail-view .detail-section h3{font-size:1.1rem;font-weight:700;color:#334155;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #f1f5f9}.network-detail-view .detail-section .info-grid{display:grid;grid-template-columns:120px 1fr;row-gap:.75rem;font-size:.9rem}.network-detail-view .detail-section .info-grid .info-label{font-weight:600;color:#64748b}.network-detail-view .detail-section .info-grid .info-value{color:#1e293b;word-break:break-all}.network-detail-view .locations-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:1rem}.network-detail-view .location-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.02)}.network-detail-view .location-card .loc-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f1f5f9;padding-bottom:.5rem;margin-bottom:.25rem}.network-detail-view .location-card .loc-header .loc-name{font-weight:700;color:#334155;font-size:.95rem}.network-detail-view .location-card .loc-header .loc-status{font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:.25rem}.network-detail-view .location-card .loc-header .loc-status.online{background-color:#d1fae5;color:#065f46}.network-detail-view .location-card .loc-header .loc-status.offline{background-color:#f1f5f9;color:#475569}.network-detail-view .location-card .loc-body{font-size:.85rem;display:grid;grid-template-columns:80px 1fr;row-gap:.25rem}.network-detail-view .location-card .loc-body .loc-label{color:#64748b}.network-detail-view .location-card .loc-body .loc-val{color:#334155;word-break:break-all}.network-detail-view .location-card .loc-footer{margin-top:.5rem;display:flex;justify-content:flex-end}.network-detail-view .location-card .loc-footer button{font-size:.8rem;padding:.25rem .75rem}.network-chat-view{display:flex;flex-direction:column;height:100%;overflow:hidden;background-color:#f8fafc}.network-chat-view .chat-messages{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.network-chat-view .chat-bubble-container{display:flex;flex-direction:column;max-width:70%}.network-chat-view .chat-bubble-container.outgoing{align-self:flex-end;align-items:flex-end}.network-chat-view .chat-bubble-container.outgoing .chat-bubble{background-color:#3ba4d7;color:#fff;border-bottom-right-radius:.125rem}.network-chat-view .chat-bubble-container.incoming{align-self:flex-start;align-items:flex-start}.network-chat-view .chat-bubble-container.incoming .chat-bubble{background-color:#fff;color:#1e293b;border:1px solid #e2e8f0;border-bottom-left-radius:.125rem}.network-chat-view .chat-bubble-container .chat-sender{font-size:.75rem;color:#64748b;margin-bottom:.25rem;padding:0 .25rem}.network-chat-view .chat-bubble-container .chat-bubble{padding:.625rem .875rem;border-radius:.75rem;font-size:.925rem;line-height:1.4;white-space:break-spaces;word-break:break-word;box-shadow:0 1px 2px rgba(0,0,0,.05)}.network-chat-view .chat-bubble-container .chat-time{font-size:.7rem;color:#94a3b8;margin-top:.25rem;padding:0 .25rem}.network-chat-view .chat-input-area{padding:1rem;background-color:#fff;border-top:1px solid #cbd5e1;display:flex;gap:.75rem;align-items:center}.network-chat-view .chat-input-area textarea.chat-textarea{flex:1;resize:none;height:40px;padding:.5rem .75rem;border:1px solid #cbd5e1;border-radius:.375rem;font-size:.9rem;outline:none;transition:all .2s}.network-chat-view .chat-input-area textarea.chat-textarea:focus{border-color:#3ba4d7;box-shadow:0 0 0 3px rgba(59,164,215,.15)}.network-chat-view .chat-input-area button.send-btn{padding:.5rem 1.25rem;font-size:.9rem;height:40px;display:flex;align-items:center;gap:.5rem}.network-chat-view .chat-warning{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#64748b;text-align:center;padding:2rem;gap:1rem}.network-chat-view .chat-warning i{font-size:3rem;color:#cbd5e1}.network-chat-view .chat-warning h4{font-weight:700;color:#334155}.network-chat-view .chat-warning p{max-width:350px;font-size:.9rem}.identity{color:#444;font-size:1.1em;margin:20px;padding:10px;border:1px solid #aaa;border-radius:20px}.identity>h4{margin:5px;font-size:1.3em}.identity button{font-size:.9em}.identity .details{display:grid;grid-template-columns:140px auto;grid-row-gap:5px;justify-content:left}.defaultAvatar{width:3rem;height:3rem;aspect-ratio:1;background:#b0c4de;border-radius:50%;display:grid;place-items:center}.defaultAvatar p{font-weight:900;color:#666f7f;transform:translateY(1px)}img.avatar{display:block;width:3rem;height:max-content;aspect-ratio:1;margin-right:.3em;border-radius:50%}.counter{margin-left:.5em}.counter:before{content:"("}.counter:after{content:")"}.chatInit{margin-left:.5em;color:green;cursor:pointer}.people-sidebar-header{display:flex;flex-direction:column;padding:.75rem 1rem .5rem 1rem;gap:.75rem;border-bottom:1px solid #e2e8f0;background-color:#fff}.people-sidebar-header .searchbar-wrapper{position:relative;display:flex;align-items:center}.people-sidebar-header .searchbar-wrapper i.fa-search{position:absolute;left:.85rem;color:#94a3b8;font-size:.9rem}.people-sidebar-header .searchbar-wrapper input.searchbar-input{width:100%;padding:.5rem .75rem .5rem 2.25rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.9rem;background-color:#f8fafc;color:#1e293b;outline:none;transition:all .2s ease}.people-sidebar-header .searchbar-wrapper input.searchbar-input:focus{border-color:#3b82f6;background-color:#fff;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.people-sidebar-header .segmented-control{display:flex;background-color:#f1f5f9;padding:3px;border-radius:.5rem;gap:4px}.people-sidebar-header .segmented-control button.segment-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .75rem;font-size:.9rem;font-weight:600;color:#64748b;background:rgba(0,0,0,0);border:none;border-radius:.375rem;cursor:pointer;box-shadow:none;transition:all .2s ease}.people-sidebar-header .segmented-control button.segment-tab:hover{color:#1e293b}.people-sidebar-header .segmented-control button.segment-tab.active{background-color:#fff;color:#0f172a;box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06)}.people-sidebar-header .segmented-control button.segment-tab.active .segment-badge{background-color:#019dff;color:#fff}.people-sidebar-header .segmented-control button.segment-tab .segment-badge{display:inline-flex;align-items:center;justify-content:center;background-color:#cbd5e1;color:#334155;font-size:.75rem;font-weight:700;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:9999px;line-height:1;transition:all .2s ease}.people-sidebar-header .sub-filter-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:32px}.people-sidebar-header .sub-filter-row select.filter-select{padding:.35rem .6rem;border:1px solid #cbd5e1;border-radius:.375rem;font-size:.85rem;font-weight:600;color:#475569;background-color:#fff;cursor:pointer;outline:none}.people-sidebar-header .sub-filter-row .btn-add-id{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:.375rem;background-color:#3b82f6;color:#fff;border:none;cursor:pointer;font-size:.9rem;transition:background-color .2s}.people-sidebar-header .sub-filter-row .btn-add-id:hover{background-color:#2563eb}.lobby{margin:10px;border:1px solid #aaa;border-radius:20px}.lobby .mainname{margin:20px;font-weight:100;font-size:1.2em}.topic{color:#666}.lobby>.topic{font-size:.95em;margin-left:25px;margin-bottom:5px}.lefttitle{margin-top:15px;margin-bottom:0;font-weight:100;font-size:1.2em}.leftname{margin-top:5px;margin-bottom:5px;padding:5px;font-weight:100;font-size:1em}.leftlobby>.topic{font-size:.75em;margin-left:15px;margin-bottom:5px}.subscribed,.public{cursor:pointer}.leftlobby{border:1px solid #aaa;border-radius:10px;margin-top:5px;background-color:#fff}.leftlobby.selected-lobby,.selectedidentity{color:#fff;background-color:#3ba4d7}.rightbar{position:absolute;width:185px;background-color:#fff;overflow:auto;top:130px;bottom:15px;right:15px}.user{padding:5px}.lobbyName{padding:15px;margin-top:2rem}.lobbies{position:absolute;width:185px;left:165px;bottom:15px;top:130px;overflow:auto}.messages,.setup{position:absolute;background-color:#fff;top:130px;left:360px;right:215px;overflow:auto}.messages{bottom:115px}.messagetext{white-space:break-spaces;margin-right:5px}.message>*{margin-left:5px}.username{color:#006400;font-weight:bolder}.chatMessage{position:absolute;background-color:#fff;height:85px;bottom:15px;right:215px;left:360px}textarea.chatMsg{height:100%;width:100%}.chatatchar{margin-left:.2em;margin-right:.2em;color:silver}.setupicon{margin-left:1em;cursor:pointer}.leaveicon{margin-left:1em;cursor:pointer;color:#d40000}.selectidentity{margin:15px;font-size:1.2em}.setup>.identity{cursor:pointer}.setup{bottom:15px}.createDistantChat{margin-top:1em}.no-lobbies .messages,.no-lobbies .chatMessage,.no-lobbies .setup{left:165px}@media(min-width: 900px){.node-panel.chat-room{display:grid !important;grid-template-columns:250px 1fr 200px !important;grid-template-rows:auto 1fr auto !important;grid-template-areas:"lobbies header rightbar" "lobbies messages rightbar" "lobbies input rightbar" !important;padding:0 !important;height:100% !important}.node-panel.chat-room .lobbyName{grid-area:header;padding:10px;border-bottom:1px solid #eee;margin:0;z-index:10;background:#fff}.node-panel.chat-room .lobbies{grid-area:lobbies;position:static !important;width:auto !important;height:auto !important;border-right:1px solid #ccc;overflow-y:auto;display:block !important;top:auto !important;bottom:auto !important;left:auto !important}.node-panel.chat-room .messages{grid-area:messages;position:static !important;width:auto !important;height:auto !important;overflow-y:auto;padding:10px;left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;margin:0 !important}.node-panel.chat-room .rightbar{grid-area:rightbar;position:static !important;width:auto !important;border-left:1px solid #ccc;overflow-y:auto;display:block !important}.node-panel.chat-room .chatMessage{grid-area:input;position:static !important;width:auto !important;height:auto !important;border-top:1px solid #eee;left:auto !important;right:auto !important;bottom:auto !important;flex:0 0 auto;padding:10px !important;background:#fff;z-index:10}}@media(max-width: 899px){.node-panel.chat-room{display:flex !important;flex-direction:column !important;height:100% !important;position:relative !important}.node-panel.chat-room .lobbyName{flex:0 0 auto}.node-panel.chat-room .messages{flex:1 !important;overflow-y:auto !important;position:relative !important;top:0 !important;bottom:0 !important;left:0 !important;right:0 !important;width:100% !important;height:auto !important;margin:0 !important}.node-panel.chat-room .chatMessage{flex:0 0 auto !important;position:relative !important;bottom:0 !important;left:0 !important;right:0 !important;width:100% !important;height:auto !important;z-index:100}.node-panel.chat-room .rightbar,.node-panel.chat-room .lobbies{display:none !important;position:fixed !important;top:60px !important;bottom:0 !important;width:80% !important;background:#fff !important;z-index:200 !important;box-shadow:2px 0 10px rgba(0,0,0,.2) !important}.node-panel.chat-room.show-lobbies .lobbies{display:block !important;left:0 !important}.node-panel.chat-room.show-users .rightbar{display:block !important;right:0 !important}.chat-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);z-index:150}.show-lobbies .chat-overlay,.show-users .chat-overlay{display:block}.mobile-menu-icons{display:flex;gap:15px;font-size:1.2rem}.mobile-menu-icons i{cursor:pointer;padding:5px}}@media(min-width: 900px){.mobile-menu-icons{display:none}}.chat-hub-container{display:flex;height:100%;width:100%;overflow:hidden;background-color:#f1f5f9}.chat-hub-left-pane{width:320px;min-width:300px;max-width:350px;border-right:1px solid #cbd5e1;display:flex;flex-direction:column;background:#fff;box-shadow:2px 0 5px rgba(0,0,0,.05)}.chat-own-profile-card{padding:1.25rem;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%)}.chat-own-profile-card .profile-header{display:flex;align-items:center;gap:1rem}.chat-own-profile-card .profile-info{display:flex;flex-direction:column;flex:1;overflow:hidden}.chat-own-profile-card .profile-info .profile-name{font-weight:700;color:#1e293b;font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-own-profile-card .profile-info .profile-status{font-size:.85rem;color:#10b981;font-weight:500;display:flex;align-items:center;gap:.35rem}.chat-own-profile-card .profile-info .profile-status::before{content:"";display:inline-block;width:8px;height:8px;background-color:#10b981;border-radius:50%}.chat-rooms-list-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-rooms-list-container .searchbar-container{padding:.75rem 1rem;border-bottom:1px solid #e2e8f0}.chat-rooms-list-container .searchbar-container input.searchbar{width:100%;padding:.5rem .75rem;font-size:.9rem;border:1px solid #cbd5e1;border-radius:.375rem;background-color:#f8fafc;outline:none;transition:all .2s}.chat-rooms-list-container .searchbar-container input.searchbar:focus{background-color:#fff;border-color:#3ba4d7;box-shadow:0 0 0 3px rgba(59,164,215,.15)}.chat-rooms-list-container .rooms-scroll{flex:1;overflow-y:auto;padding:.5rem 0}.rooms-section-title{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem .375rem;font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.rooms-section-title i{font-size:.7rem;color:#94a3b8}.chat-room-list-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin:.125rem .5rem;border-radius:.5rem;cursor:pointer;transition:all .2s}.chat-room-list-item:hover{background-color:#f1f5f9}.chat-room-list-item.selected{background-color:#e0f2fe}.chat-room-list-item.selected .room-name{color:#0369a1;font-weight:600}.chat-room-list-item .room-icon{flex-shrink:0;width:36px;height:36px;border-radius:.5rem;background:linear-gradient(135deg, #3ba4d7, #0ea5e9);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.35rem}.chat-room-list-item.public-room .room-icon{background:linear-gradient(135deg, #10b981, #059669)}.chat-room-list-item .room-meta{flex:1;min-width:0}.chat-room-list-item .room-meta .room-name{font-size:.95rem;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}.chat-room-list-item .room-meta .room-topic{font-size:.8rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-room-list-item .room-badge{flex-shrink:0;min-width:24px;height:24px;border-radius:12px;background-color:#e2e8f0;color:#475569;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 .375rem}.chat-hub-right-pane{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:#f8fafc}.chat-pane-placeholder{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#94a3b8;gap:1rem;padding:2rem;text-align:center}.chat-pane-placeholder i{font-size:4rem;color:#cbd5e1}.chat-pane-placeholder p{font-size:1.1rem;max-width:400px}.chat-hub-tab-content{flex:1;overflow-y:auto;padding:1.5rem}.chat-room-detail-view{display:flex;flex-direction:column;gap:1.5rem}.chat-room-detail-view .detail-header{display:flex;align-items:flex-start;gap:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.chat-room-detail-view .detail-header .detail-title{flex:1;min-width:200px}.chat-room-detail-view .detail-header .detail-title h2{font-size:1.75rem;font-weight:800;color:#1e293b;margin-bottom:.25rem}.chat-room-detail-view .detail-header .detail-title .detail-subtitle{font-size:.9rem;color:#64748b;display:flex;align-items:center;gap:.5rem}.chat-room-detail-view .detail-header .detail-actions{display:flex;gap:.75rem;flex-wrap:wrap}.chat-room-detail-view .detail-header .detail-actions button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem}.chat-room-detail-view .detail-section{background-color:#fff;border-radius:.5rem;border:1px solid #e2e8f0;padding:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.02)}.chat-room-detail-view .detail-section h3{font-size:1.1rem;font-weight:700;color:#334155;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #f1f5f9}.chat-room-detail-view .detail-section .info-grid{display:grid;grid-template-columns:130px 1fr;row-gap:.75rem;font-size:.9rem}.chat-room-detail-view .detail-section .info-grid .info-label{font-weight:600;color:#64748b}.chat-room-detail-view .detail-section .info-grid .info-value{color:#1e293b;word-break:break-all}.participants-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));gap:.5rem}.participant-card{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem}.participant-card .participant-name{font-size:.875rem;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-participants{color:#94a3b8;font-size:.9rem;font-style:italic}.detail-actions-footer{display:flex;gap:.75rem}.detail-actions-footer button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem}.join-description{color:#64748b;font-size:.9rem;margin-bottom:1rem}.identities-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:.75rem}.identity-card{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;cursor:pointer;transition:all .2s}.identity-card:hover{background-color:#e0f2fe;border-color:#3ba4d7}.identity-card .identity-name{font-size:.95rem;font-weight:600;color:#334155}.identity-card i{color:#3ba4d7;font-size:.9rem}.no-rooms{padding:1rem;color:#94a3b8;text-align:center;font-style:italic}@media(max-width: 899px){.chat-hub-container{flex-direction:column}.chat-hub-left-pane{width:100%;min-width:0;max-width:none;max-height:45%;border-right:none;border-bottom:1px solid #cbd5e1}.chat-hub-right-pane{flex:1;min-height:0}}.chat-hub-header-bar{padding:.75rem 1.5rem;background-color:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;height:65px;flex-shrink:0}.chat-hub-header-bar .chat-header-info{display:flex;flex-direction:column;overflow:hidden}.chat-hub-header-bar .chat-header-info .chat-header-name{font-size:1.15rem;font-weight:800;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-hub-header-bar .chat-header-info .chat-header-topic{font-size:.85rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.125rem}.chat-hub-header-bar .chat-header-actions{display:flex;gap:.5rem}.chat-hub-header-bar .chat-header-actions button{display:flex;align-items:center;gap:.35rem;padding:.375rem .75rem;font-size:.85rem}.chat-hub-tabs-container{background-color:#fff;border-bottom:1px solid #cbd5e1;padding:.5rem 1.5rem 0}.chat-hub-tabs{display:flex;gap:.5rem}.chat-hub-tabs .tab-btn{padding:.625rem 1.25rem;font-size:.95rem;font-weight:600;color:#64748b;background:rgba(0,0,0,0);border:none;border-radius:.375rem .375rem 0 0;border-bottom:3px solid rgba(0,0,0,0);cursor:pointer;box-shadow:none;transition:all .2s;display:flex;align-items:center;gap:.5rem}.chat-hub-tabs .tab-btn:hover{color:#334155;background-color:#f1f5f9}.chat-hub-tabs .tab-btn.active{color:#3ba4d7;border-bottom-color:#3ba4d7;background-color:rgba(0,0,0,0)}.chat-hub-tab-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:#f8fafc}.chat-hub-conversation-layout{display:flex;flex-direction:row;height:100%;width:100%;overflow:hidden}.chat-hub-conversation-main{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden}.chat-hub-rightbar{width:200px;border-left:1px solid #cbd5e1;background-color:#fff;display:flex;flex-direction:column;flex-shrink:0}.chat-hub-rightbar .rightbar-title{padding:.75rem 1rem;font-size:.85rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.chat-hub-rightbar .rightbar-users-list{flex:1;overflow-y:auto;padding:.5rem}.chat-hub-rightbar .user{padding:.5rem .75rem;font-size:.9rem;color:#334155;border-radius:.375rem;transition:all .2s;display:flex;align-items:center;gap:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-hub-rightbar .user:hover{background-color:#f1f5f9;color:#0f172a}.chat-hub-rightbar .user .defaultAvatar{width:2rem;height:2rem;font-size:.9rem;flex-shrink:0}.chat-hub-rightbar .user img.avatar{width:2rem;height:2rem;flex-shrink:0}@media(max-width: 899px){.chat-hub-rightbar{display:none}}.chat-hub-messages{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.chat-hub-messages .message{display:flex;flex-direction:column;max-width:70%;padding:.625rem .875rem;border-radius:.75rem;font-size:.925rem;line-height:1.4;word-break:break-word;box-shadow:0 1px 2px rgba(0,0,0,.05)}.chat-hub-messages .message.incoming{align-self:flex-start;align-items:flex-start;background-color:#fff;color:#1e293b;border:1px solid #e2e8f0;border-bottom-left-radius:.125rem}.chat-hub-messages .message.outgoing{align-self:flex-end;align-items:flex-end;background-color:#3ba4d7;color:#fff;border-bottom-right-radius:.125rem}.chat-hub-messages .message .username{font-size:.75rem;margin-bottom:.25rem;padding:0 .125rem;font-weight:700}.chat-hub-messages .message.incoming .username{color:#0369a1}.chat-hub-messages .message.outgoing .username{color:#e0f2fe}.chat-hub-messages .message .messagetext{white-space:break-spaces;margin:0}.chat-hub-messages .message .datetime{font-size:.7rem;margin-top:.25rem;padding:0 .125rem;opacity:.8}.chat-hub-messages .message.incoming .datetime{color:#64748b}.chat-hub-messages .message.outgoing .datetime{color:#f1f5f9}.chat-hub-input-area{padding:.75rem 1.5rem;background-color:#fff;border-top:1px solid #cbd5e1;display:flex;gap:.75rem;align-items:flex-end;flex-shrink:0}.chat-hub-input-area textarea.chat-hub-textarea{flex:1;resize:vertical;min-height:40px;max-height:250px;height:40px;padding:.5rem .75rem;border:1px solid #cbd5e1;border-radius:.375rem;font-size:.9rem;outline:none;transition:border-color .2s,box-shadow .2s;background-color:#f8fafc}.chat-hub-input-area textarea.chat-hub-textarea:focus{background-color:#fff;border-color:#3ba4d7;box-shadow:0 0 0 3px rgba(59,164,215,.15)}.chat-hub-input-area button.chat-hub-send-btn{padding:.5rem 1.25rem;font-size:.9rem;height:40px;display:flex;align-items:center;gap:.5rem;border-radius:.375rem}.chat-hub-messages.compact-container,.messages.compact-container{gap:0 !important;padding:.75rem 1rem !important;background-color:#fff !important;display:flex !important;flex-direction:column !important}.chat-hub-messages.compact-container .message.compact,.messages.compact-container .message.compact{display:block !important;max-width:100% !important;padding:.1rem 0 !important;border-radius:0 !important;background-color:rgba(0,0,0,0) !important;border:none !important;box-shadow:none !important;align-self:flex-start !important;font-size:.875rem !important;line-height:1.45 !important;margin:0 !important;white-space:nowrap !important}.chat-hub-messages.compact-container .message.compact:hover,.messages.compact-container .message.compact:hover{background-color:#f8fafc !important;overflow:visible !important;white-space:normal !important}.chat-hub-messages.compact-container .message.compact .datetime,.messages.compact-container .message.compact .datetime{color:#a0a0a0 !important;margin-right:.4rem !important;font-size:.78rem !important;font-family:monospace !important;opacity:1 !important;display:inline !important}.chat-hub-messages.compact-container .message.compact .username,.messages.compact-container .message.compact .username{font-weight:bold !important;margin-right:.2rem !important;font-size:.875rem !important;display:inline !important}.chat-hub-messages.compact-container .message.compact .messagetext,.messages.compact-container .message.compact .messagetext{color:#1e293b !important;white-space:normal !important;word-break:break-word !important;display:inline !important;margin:0 !important}.side-bar{display:flex;flex-direction:column;background:#fff}.side-bar .mail-compose-btn{width:96%;margin:.25rem;padding:.75rem 0}.compose-mail__from{display:flex;justify-content:flex-start;align-items:center;gap:.5rem;padding-bottom:.5rem;border-bottom:2px solid #eef3f6}.compose-mail__recipients{padding:.5rem 0;display:flex;flex-direction:column;gap:.5rem;border-bottom:2px solid #eef3f6}.compose-mail__recipients__container{display:flex;gap:.5rem}.compose-mail__recipients__container>label{text-transform:capitalize}.compose-mail__recipients__container .recipients{width:100%;display:flex;gap:.5rem;flex-wrap:wrap}.compose-mail__recipients__container .recipients__selected{padding:.125rem .5rem;display:flex;align-items:center;gap:.5rem;border:1px solid #eef3f6;border-radius:3px;cursor:default}.compose-mail__recipients__container .recipients__selected i{cursor:pointer;padding:.25rem}.compose-mail__recipients__container .recipients__input{display:flex;position:relative;flex-grow:1}.compose-mail__recipients__container .recipients__input-field{flex-grow:1;min-width:200px;padding:0;border:none;box-shadow:none}.compose-mail__recipients__container .recipients__input-field:focus+.recipients__input-list{display:flex}.compose-mail__recipients__container .recipients__input-list{z-index:1;position:absolute;top:1rem;padding:0;width:100%;max-height:15rem;flex-direction:column;overflow:auto;display:none;background:#fff;border-top:1px solid #eef3f6;border-bottom:1px solid #eef3f6}.compose-mail__recipients__container .recipients__input-list:hover{display:flex}.compose-mail__recipients__container .recipients__input-list li{list-style:none;padding:.25rem .5rem;cursor:pointer;background:#fff;border:1px solid #eef3f6;border-top:0px}.compose-mail__recipients__container .recipients__input-list li:hover{background:#eef3f6}.compose-mail__recipients__container .recipients__input-list li:last-child{border-bottom:0px}.compose-mail__recipients .remove-recipient{padding:.125rem .5rem}.compose-mail input[type=text].compose-mail__subject{padding:.5rem 0;border:none;box-shadow:none;border-bottom:2px solid #eef3f6;border-radius:0}.compose-mail__message{margin:.5rem 0;height:100%;display:flex;flex-direction:column;overflow:auto}.compose-mail__message-body{height:100%;outline:rgba(0,0,0,0)}.compose-mail__send-btn{display:flex;align-items:center;gap:.5rem}.compose-mail__send-btn i{transform:translateY(-1px)}.msg-view{height:100%;display:flex;flex-direction:column;gap:1rem;overflow:auto}.msg-view-nav{display:flex;justify-content:space-between;align-items:column}.msg-view-nav__action{display:flex;gap:.5rem}.msg-view__header{display:flex;flex-direction:column;gap:1rem}.msg-view__header>h3{line-height:1}.msg-view__header .msg-details{display:flex;gap:1rem}.msg-view__header .msg-details__avatar{height:max-content}.msg-view__header .msg-details__info{display:flex;flex-direction:column}.msg-view__header .msg-details__info-item{display:flex;gap:.5rem}.msg-view__body{height:100%;overflow:auto;font-size:14px !important}.msg-view__attachment{height:50%;overflow:auto;display:flex;flex-direction:column}.msg-view__attachment-items{height:100%;overflow:auto}.mail-tag{width:8rem;padding:.5rem}.msgHeader{display:flex}.msgHeaderDetails{display:flex;flex-direction:column}table.mails th:nth-child(1){width:5%;color:#fcba03}table.mails th:nth-child(2){width:5%;color:hsl(202.5,30.7692307692%,44.9019607843%)}table.mails th:nth-child(3){width:50%;text-align:start}table.mails th:nth-child(4),table.mails th:nth-child(5){width:20%;text-align:start}table.mails td:nth-child(3){text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}table.mails td:nth-child(4),table.mails td:nth-child(5){text-align:start}table.mails tr:hover{background-color:#eef3f6;cursor:pointer}table.mails tr.unread{color:#000;background-color:#eef3f6}table.mails>tr:hover{cursor:auto;background-color:#fff}table.mails th.sortable-th{cursor:pointer;user-select:none;transition:background-color .2s,color .2s}table.mails th.sortable-th:hover{background-color:#eef3f6;color:hsl(202.5,30.7692307692%,14.9019607843%)}input.star-check{display:none}input.star-check+label.star-check{color:gray}input.star-check:checked+label.star-check{color:#fcba03}#truncate{height:6rem;overflow:auto}#truncate.truncated-view{height:1.75rem;overflow:hidden}.toggle-truncate{font-size:.75rem;padding:0 .25rem;background:#999;color:#14141b;box-shadow:none;border-radius:2px}table.attachment-container{padding:0}table.attachment-container>tr{border:0}table.attachment-container .attachment-header{width:100%;display:flex;justify-content:space-between}table.attachment-container .attachment-header th{text-align:start}table.attachment-container .attachment-header th:nth-child(1){flex-basis:45%}table.attachment-container .attachment-header th:nth-child(2){flex-basis:15%}table.attachment-container .attachment-header th:nth-child(3){flex-basis:10%}table.attachment-container .attachment-header th:nth-child(4){flex-basis:20%}table.attachment-container .attachment-header th:nth-child(5){text-align:center;flex-basis:10%}table.attachment-container .attachment{width:100%;display:flex;justify-content:space-between;text-align:start}table.attachment-container .attachment__name{flex-basis:45%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}table.attachment-container .attachment__name span{margin-left:8px}table.attachment-container .attachment__from{flex-basis:15%}table.attachment-container .attachment__size{flex-basis:10%}table.attachment-container .attachment__date{flex-basis:20%}table.attachment-container .attachment td:nth-child(5){display:flex;justify-content:center;align-items:center;flex-basis:10%}table.attachment-container .attachment td:nth-child(5) button{font-size:.875rem}.view-toggle{height:max-content;border:1px solid #019dff;border-radius:4px;display:flex}.view-toggle *{padding:4px 12px;border-radius:4px}.composePopupOverlay{position:fixed;width:100%;height:100%;top:0;left:0;z-index:1;background-color:rgba(0,0,0,.2)}.composePopupOverlay .composePopup{position:absolute;inset:0;margin:auto;width:80%;height:90%}.composePopupOverlay .composePopup>.widget{padding:2rem}.composePopupOverlay .composePopup .close-btn{position:absolute;top:1.5rem;right:1.5rem}.file-view{width:100%;padding:1rem;margin-top:1.5rem;border-radius:8px;border:1px solid #ccc;animation:fadein .5s}.file-view__heading{display:flex;justify-content:space-between;margin-bottom:.5rem}.file-view__heading-chunk{display:flex;gap:1rem}.file-view__body{display:flex;flex-direction:column;gap:1rem}.file-view__body-details{display:flex;align-items:center}.file-view__body-details-stat{width:100%;display:grid;grid-template-columns:repeat(5, 1fr)}.file-view__body-details-stat span>i{margin-right:.5rem}.file-view__body-details-action{display:flex;gap:1rem;height:100%}.file-view__body-details-action button,.file-view__body-details-action button.red{padding:.25rem .75rem}table.myfiles td{word-wrap:break-word}table.myfiles th:nth-child(1){width:2%}table.myfiles th:nth-child(2){width:50%}table.myfiles td:nth-child(2){text-align:start}table.friendsfiles td{word-wrap:break-word}table.friendsfiles th:nth-child(1){width:2%}table.friendsfiles th:nth-child(2){width:50%}table.friendsfiles th:nth-child(4){width:40%}table.friendsfiles td:nth-child(2){text-align:start}.file-search-container{margin-top:1rem;padding:8px;display:flex;gap:8px;border:1px solid rgba(20,20,27,.2);border-radius:6px;height:100%;overflow:auto}.file-search-container__keywords{flex-basis:15%;padding-right:.25rem;border-right:1px solid rgba(20,20,27,.1)}.file-search-container__keywords .keywords-container{display:flex;flex-direction:column;border-top:2.5px solid rgba(20,20,27,.08);margin-top:.125rem;padding-top:.25rem}.file-search-container__keywords .keywords-container a{font-size:1.2rem;text-decoration:none;color:#14141b}.file-search-container__keywords .keywords-container a.selected{color:#019dff}.file-search-container__results{flex-basis:85%;height:100%;overflow:auto}.file-search-container__results .results-container .results-header tr{display:flex}.file-search-container__results .results-container .results-header tr th{font-size:1.25rem;font-weight:bold;text-align:left}.file-search-container__results .results-container .results-header tr th:nth-child(1){flex-basis:40%}.file-search-container__results .results-container .results-header tr th:nth-child(2){flex-basis:10%;text-align:center}.file-search-container__results .results-container .results-header tr th:nth-child(3){flex-basis:40%}.file-search-container__results .results-container .results-header tr th:nth-child(4){flex-basis:10%}.file-search-container__results .results-container .results{height:100%;overflow:auto}.file-search-container__results .results-container .results tr{display:flex}.file-search-container__results .results-container .results tr .results__hash,.file-search-container__results .results-container .results tr .results__name{text-align:left;flex-basis:40%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.file-search-container__results .results-container .results tr .results__hash span,.file-search-container__results .results-container .results tr .results__name span{margin-left:8px}.file-search-container__results .results-container .results tr .results__size{flex-basis:10%}.file-search-container__results .results-container .results tr .results__download{flex-basis:10%;display:flex;justify-content:start;align-items:center}.search-form{display:flex;width:40%}.search-form input{width:100%}.search-form button{margin-left:.5rem}.shareManagerPopupOverlay{position:fixed;width:100%;height:100%;top:0;left:0;z-index:1;background-color:rgba(0,0,0,.2)}.shareManagerPopupOverlay .shareManagerPopup{position:absolute;inset:0;margin:auto;width:80%;height:90%}.shareManagerPopupOverlay .shareManagerPopup>.widget{padding:1.5rem}.shareManagerPopupOverlay .shareManagerPopup .close-btn{position:absolute;top:1.5rem;right:1.5rem}.share-manager{display:flex;flex-direction:column;justify-content:space-between}.share-manager__table{margin:1rem 0 auto}.share-manager__table thead{font-weight:bold;text-align:left}.share-manager__table thead td:nth-child(1),.share-manager__table thead td:nth-child(2){padding-left:.5rem}.share-manager__table thead td:nth-child(3) .tooltip,.share-manager__table thead td:nth-child(4) .tooltip{font-weight:normal;font-size:1rem}.share-manager__table tbody{text-align:left}.share-manager__table tbody td:nth-child(4){font-size:1rem}.share-manager__table td input{border:0 !important}.share-manager__table td input[type=text]{width:100%}.share-manager__table td:nth-child(1){width:45%}.share-manager__table td:nth-child(2){width:20%}.share-manager__table td:nth-child(3){width:10%}.share-manager__table td:nth-child(4){width:25%}.share-manager__actions{display:flex;justify-content:space-between}.share-manager__form{display:flex;flex-direction:column;gap:.5rem}.share-manager__form_input{display:flex;flex-direction:column;gap:.5rem}.share-manager__form_input input{flex-grow:1}.share-manager .share-flags input.share-flags-check{display:none}.share-manager .share-flags input.share-flags-check+label.share-flags-label{color:gray;margin-right:.25rem;padding:.25rem .25rem .125rem;border:1px solid #6d6d6d;border-radius:.5rem}.share-manager .share-flags input.share-flags-check:checked+label.share-flags-label{color:#118fcc}.share-manager label span{display:inline-block;width:1.125rem}.manage-visibility label{width:100%;cursor:pointer}.manage-visibility{display:flex;justify-content:space-between}@media(max-width: 700px){.file-view__body-details{flex-direction:column;align-items:flex-start;gap:1rem}.file-view__body-details-stat{grid-template-columns:1fr;gap:.5rem}.file-view__body-details-stat span{display:flex;align-items:center}.share-manager__table,.share-manager__table thead,.share-manager__table tbody,.share-manager__table tr,.share-manager__table td{display:block;width:100% !important}.share-manager__table thead{display:none}.share-manager__table tr{border:1px solid #ccc;border-radius:8px;margin-bottom:1rem;padding:.5rem;background:#fff}.share-manager__table td{margin-bottom:.5rem;border:none !important;padding-left:0 !important}table.myfiles,table.myfiles tr,table.myfiles td,table.friendsfiles,table.friendsfiles tr,table.friendsfiles td{display:block;width:100% !important}table.myfiles th,table.friendsfiles th{display:none}table.myfiles tr,table.friendsfiles tr{border:1px solid #ccc;border-radius:8px;margin-bottom:1rem;padding:.5rem;background:#fff}.file-search-container{flex-direction:column}.file-search-container__keywords{flex-basis:auto;width:100%;border-right:none;border-bottom:1px solid rgba(20,20,27,.1);padding-bottom:1rem;margin-bottom:1rem}.results-container,.results-container thead,.results-container tbody,.results-container tr,.results-container td{display:block;width:100% !important}.results-container thead{display:none}.results-container tr{border-bottom:1px solid #eee;padding:1rem 0}.results-container td{margin-bottom:.5rem;word-break:break-all}}.file-section{margin-top:2rem;display:flex;flex-direction:column}.comments-section{margin-top:2rem;display:flex;justify-content:space-between}.comments-section__menu{display:flex;gap:1rem}.comments-section__menu-id{display:flex;align-items:center;gap:.25rem}#toggleunsub{position:relative;background:gray}table.channels th:nth-child(1){width:50%;text-align:start}table.channels td:nth-child(1){text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}table.channels tr:hover{background-color:#eef3f6;cursor:pointer}table.channels tr.hidden{display:none}table{padding:.5rem}table.comments{border:1px solid #eee}table.comments th{height:40px}table.comments th:nth-child(1){width:2%}table.comments th:nth-child(2){width:40%}table.comments td{word-wrap:break-word}table.comments td:nth-child(2){text-align:start}table.files th:first-child{text-align:start;width:60%}table.files tr td:first-child{text-align:start}table.files td{word-wrap:break-word}#mtags{width:160px;text-align:center;font-size:medium;margin-left:10px;height:40px}.forums-node-panel{position:relative;bottom:200px;margin-left:200px;animation:fadein .5s}table.forums th:nth-child(1){width:50%;text-align:start}table.forums td:nth-child(1){text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}table.forums tr:hover{background-color:#eef3f6;cursor:pointer}table.forums tr.hidden{display:none}#searchforum{position:relative;margin-left:250px}#forumdetails{position:relative;padding:10px}.p{margin:0}#toggleunsub{position:relative;background:gray}table.threads tr:hover{background-color:#eef3f6;cursor:pointer}table.threads td{word-wrap:break-word}table.threadreply th:nth-child(2){width:50%}table.threadreply th:nth-child(1){width:2%}table.threadreply td:nth-child(2){width:50%;text-align:start}table.threadreply td{word-wrap:break-word}table.threadreply tr:hover{background-color:#eef3f6;cursor:pointer}table.boards th:nth-child(1){width:50%;text-align:start}table.boards td:nth-child(1){text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}table.boards tr:hover{background-color:#eef3f6;cursor:pointer}table.boards tr.hidden{display:none}#toggleunsub{position:relative;background:gray}#options{width:100px;text-align:center;font-size:medium;margin-left:20px;height:40px}#composepopup{height:80%;width:70%}#mtags{width:160px;text-align:center;font-size:medium;margin-left:10px;height:40px}.mail .permission-flag{margin-bottom:1rem;display:flex;gap:1rem}.mail-tags{padding:.5rem;border:1px solid rgba(20,20,27,.2);border-radius:6px}.mail-tags__container{display:flex;flex-direction:column}.mail-tags__container .tag-item{display:flex;align-items:center;gap:4px;border-bottom:1px solid rgba(20,20,27,.1);padding:2px 0}.mail-tags__container .tag-item:last-child{border:none}.mail-tags__container .tag-item__color{width:1.25rem;height:1.25rem;aspect-ratio:1}.mail-tags__container .tag-item__name{font-size:1.125rem}.mail-tags__container .tag-item__modify{margin-left:auto;font-size:.75rem;display:flex;gap:4px}.mail-tags__container .tag-item:hover{background-color:#eef3f6}.mail-tags__container .tag-item button,.mail-tags__container .tag-item button.red{padding:.25rem .6rem}.mail-tags-form .input-field{margin-bottom:.5rem}.mail-tags-form .input-field label{margin-right:.5rem}.external-address{margin:0;padding-left:1rem;height:100px;overflow:hidden auto}.external-address::-webkit-scrollbar{display:none}.proxy-server{display:flex;flex-direction:column;gap:4px}.proxy-server__tor>h4,.proxy-server__i2p>h4{margin-bottom:.25rem}.proxy-server__tor>input,.proxy-server__i2p>input{margin-right:.5rem}.proxy-server__tor .proxy-outgoing,.proxy-server__i2p .proxy-outgoing{display:inline-flex;align-items:center;gap:.5rem}.proxy-server__tor .proxy-outgoing__status,.proxy-server__i2p .proxy-outgoing__status{width:1rem;height:1rem;aspect-ratio:1;border:1px solid #000;border-radius:50%}.config-files{display:flex;flex-direction:column;gap:1rem}.proxy-server-container{width:100%;display:flex;flex-direction:column;gap:1rem}.proxy-description{color:#334155;font-size:.95rem;margin-bottom:.5rem}.proxy-rows-container{display:flex;flex-direction:column;gap:.75rem;width:100%}.proxy-row{display:grid;grid-template-columns:160px 220px 220px auto;gap:.75rem;align-items:center;width:100%}.proxy-label{font-size:.95rem;font-weight:500;color:#1e293b}.proxy-addr-input,.proxy-port-input{width:100% !important;max-width:none !important}.proxy-status-container{display:flex;align-items:center;gap:.5rem}.proxy-status-bullet{width:14px;height:14px;border-radius:50%;display:inline-block;border:1px solid #475569}.proxy-status-text{font-size:.95rem;color:#1e293b}.side-bar .sidebar a,.side-bar .sidebarquickview a{display:flex;align-items:center;gap:.5rem}.side-bar .sidebar-badge{margin-left:auto;background-color:#3b82f6;color:#ffffff;font-size:.725rem;font-weight:700;padding:.15rem .45rem;border-radius:999px;line-height:1;display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem}@media(max-width:768px){.side-bar .sidebar a .sidebar-badge{margin-left:0 !important}}.emoji-picker-wrapper{position:relative;display:inline-flex}.emoji-picker{position:absolute;bottom:48px;left:0;z-index:9999;width:320px;background:#ffffff;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 10px 25px -5px rgba(0,0,0,0.15),0 8px 10px -6px rgba(0,0,0,0.1);padding:.75rem;display:flex;flex-direction:column;gap:.5rem;font-family:inherit}.emoji-picker .emoji-search-row{position:relative;display:flex;align-items:center}.emoji-picker .emoji-search-row .emoji-search-icon{position:absolute;left:.6rem;color:#94a3b8;font-size:.85rem;pointer-events:none}.emoji-picker .emoji-search-row input.emoji-search-input{width:100%;padding:.4rem 1.8rem;font-size:.85rem;border:1px solid #cbd5e1;border-radius:6px;outline:none;background-color:#f8fafc;transition:border-color .15s ease}.emoji-picker .emoji-search-row input.emoji-search-input:focus{border-color:#3b82f6;background-color:#ffffff}.emoji-picker .emoji-search-row .emoji-search-clear{position:absolute;right:.5rem;background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:.2rem;font-size:.85rem}.emoji-picker .emoji-search-row .emoji-search-clear:hover{color:#ef4444}.emoji-picker .emoji-categories{display:flex;justify-content:space-between;padding-bottom:.4rem;border-bottom:1px solid #f1f5f9;margin-bottom:.25rem}.emoji-picker .emoji-categories .emoji-cat-btn{background:transparent !important;border:none !important;font-size:1.1rem !important;padding:.25rem .35rem !important;border-radius:6px !important;cursor:pointer !important;transition:background-color .15s ease,transform .1s ease !important;line-height:1 !important;width:auto !important;height:auto !important;min-width:unset !important}.emoji-picker .emoji-categories .emoji-cat-btn:hover{background-color:#f1f5f9 !important;transform:scale(1.15)}.emoji-picker .emoji-categories .emoji-cat-btn.active{background-color:#e0f2fe !important;border-radius:6px !important}.emoji-picker .emoji-grid{display:grid !important;grid-template-columns:repeat(8,1fr) !important;gap:2px !important;max-height:220px !important;overflow-y:auto !important;padding-right:2px !important}.emoji-picker .emoji-grid::-webkit-scrollbar{width:5px}.emoji-picker .emoji-grid::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.emoji-picker .emoji-grid .emoji-btn{background:transparent !important;border:none !important;font-size:1.25rem !important;padding:.35rem 0 !important;cursor:pointer !important;border-radius:6px !important;display:flex !important;align-items:center !important;justify-content:center !important;width:auto !important;height:auto !important;min-width:unset !important;transition:background-color .1s ease,transform .1s ease !important}.emoji-picker .emoji-grid .emoji-btn:hover{background-color:#e2e8f0 !important;transform:scale(1.2)}.people-context-menu{position:absolute !important;z-index:9999 !important;background-color:#ffffff !important;border:1px solid #cbd5e1 !important;border-radius:8px !important;box-shadow:0 10px 25px -5px rgba(0,0,0,0.15),0 8px 10px -6px rgba(0,0,0,0.1) !important;padding:.35rem 0 !important;min-width:180px !important;font-family:inherit !important;overflow:hidden !important}.people-context-menu .menu-item{display:flex !important;align-items:center !important;padding:.6rem .9rem !important;font-size:.875rem !important;font-weight:500 !important;color:#1e293b !important;cursor:pointer !important;transition:background-color .15s ease,color .15s ease !important;user-select:none !important}.people-context-menu .menu-item:hover{background-color:#f1f5f9 !important;color:#0284c7 !important}.people-context-menu .menu-item i{font-size:1rem !important;width:1.25rem !important;text-align:center !important}.rightbar-context-menu,.chat-msg-context-menu{position:absolute !important;z-index:9999 !important;right:10px !important;background-color:#ffffff !important;border:1px solid #cbd5e1 !important;border-radius:8px !important;box-shadow:0 10px 25px -5px rgba(0,0,0,0.15),0 8px 10px -6px rgba(0,0,0,0.1) !important;padding:.35rem 0 !important;min-width:220px !important;font-family:inherit !important;overflow:hidden !important}.rightbar-context-menu .menu-item,.rightbar-context-menu .context-menu-item,.chat-msg-context-menu .menu-item,.chat-msg-context-menu .context-menu-item{display:flex !important;align-items:center !important;padding:.55rem .85rem !important;font-size:.875rem !important;font-weight:500 !important;color:#1e293b !important;cursor:pointer !important;transition:background-color .15s ease,color .15s ease !important;user-select:none !important}.rightbar-context-menu .menu-item:hover,.rightbar-context-menu .context-menu-item:hover,.chat-msg-context-menu .menu-item:hover,.chat-msg-context-menu .context-menu-item:hover{background-color:#f1f5f9 !important;color:#0284c7 !important}.rightbar-context-menu .menu-item i,.rightbar-context-menu .context-menu-item i,.chat-msg-context-menu .menu-item i,.chat-msg-context-menu .context-menu-item i{font-size:.95rem !important;width:1.25rem !important;text-align:center !important}.user-tooltip{position:fixed !important;z-index:10000 !important;background-color:#ffffff !important;border:1px solid #cbd5e1 !important;border-radius:12px !important;box-shadow:0 10px 25px -5px rgba(0,0,0,0.15),0 8px 10px -6px rgba(0,0,0,0.1) !important;padding:.85rem 1rem !important;display:flex !important;gap:.85rem !important;align-items:center !important;min-width:280px !important;max-width:380px !important;pointer-events:none !important;font-family:inherit !important}.user-tooltip .tooltip-avatar{flex-shrink:0 !important}.user-tooltip .tooltip-details{display:flex !important;flex-direction:column !important;gap:.3rem !important;flex:1 !important;min-width:0 !important}.user-tooltip .tooltip-details .tooltip-row{display:flex !important;align-items:center !important;font-size:.85rem !important;line-height:1.3 !important}.user-tooltip .tooltip-details .tooltip-row .tooltip-label{font-weight:600 !important;color:#64748b !important;margin-right:.35rem !important;flex-shrink:0 !important}.user-tooltip .tooltip-details .tooltip-row .tooltip-value{color:#1e293b !important;font-weight:500 !important;word-break:break-all !important}.user-tooltip .tooltip-details .tooltip-row .tooltip-value.tooltip-id{font-family:monospace !important;font-size:.78rem !important;color:#475569 !important}.chat-own-profile-card{padding:.85rem 1.25rem !important;border-bottom:1px solid #e2e8f0 !important;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%) !important;display:flex !important;align-items:center !important;justify-content:space-between !important;flex-direction:row !important;gap:.75rem !important;width:100% !important;box-sizing:border-box !important}.chat-own-profile-card .profile-header{display:flex !important;align-items:center !important;gap:.75rem !important;flex:1 !important;min-width:0 !important}.chat-own-profile-card .chat-create-lobby-btn{display:flex !important;align-items:center !important;gap:.35rem !important;padding:.4rem .85rem !important;font-size:.85rem !important;font-weight:600 !important;border-radius:.375rem !important;cursor:pointer !important;flex-shrink:0 !important;white-space:nowrap !important;background-color:#0284c7 !important;color:#ffffff !important;border:none !important}.attach-modal-overlay{position:fixed !important;top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;width:100vw !important;height:100vh !important;background-color:rgba(15,23,42,0.6) !important;backdrop-filter:blur(4px) !important;display:flex !important;align-items:center !important;justify-content:center !important;z-index:99999 !important;flex:none !important;margin:0 !important;padding:0 !important}.attach-modal{background:#ffffff !important;border-radius:.75rem !important;width:480px !important;max-width:92vw !important;box-shadow:0 25px 50px -12px rgba(0,0,0,0.25) !important;padding:1.5rem !important;display:flex !important;flex-direction:column !important;position:relative !important;margin:auto !important;color:#1e293b !important;box-sizing:border-box !important}button.chat-hub-action-btn,label.chat-hub-action-btn,.chat-hub-action-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:36px !important;height:36px !important;min-width:36px !important;padding:0 !important;margin:0 !important;background:transparent !important;border:none !important;box-shadow:none !important;color:#64748b !important;font-size:1.15rem !important;border-radius:0.375rem !important;cursor:pointer !important;transition:all 0.15s ease !important;outline:none !important}button.chat-hub-action-btn:hover,label.chat-hub-action-btn:hover,.chat-hub-action-btn:hover{background-color:#e2e8f0 !important;color:#3b82f6 !important;box-shadow:none !important}button.chat-hub-action-btn i,label.chat-hub-action-btn i,.chat-hub-action-btn i{font-size:1.15rem !important;color:inherit !important}
|
|
|
|
/* =========================================================
|
|
Global Modal & Lightbox Overlay (#popupmessage)
|
|
========================================================= */
|
|
|
|
#popupmessage {
|
|
position: fixed !important;
|
|
top: 0 !important;
|
|
left: 0 !important;
|
|
right: 0 !important;
|
|
bottom: 0 !important;
|
|
width: 100vw !important;
|
|
height: 100vh !important;
|
|
background-color: rgba(15, 23, 42, 0.75) !important;
|
|
backdrop-filter: blur(4px) !important;
|
|
z-index: 999999 !important;
|
|
display: none;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
.popup {
|
|
position: fixed !important;
|
|
top: 50% !important;
|
|
left: 50% !important;
|
|
transform: translate(-50%, -50%) !important;
|
|
z-index: 1000000 !important;
|
|
max-width: 90vw !important;
|
|
max-height: 90vh !important;
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
.popup-content {
|
|
position: relative !important;
|
|
background: #ffffff !important;
|
|
border-radius: 12px !important;
|
|
padding: 1rem !important;
|
|
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 10px 10px -5px rgba(0, 0, 0, 0.2) !important;
|
|
max-width: 90vw !important;
|
|
max-height: 90vh !important;
|
|
overflow: auto !important;
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
.popup-content span.close {
|
|
position: absolute !important;
|
|
top: 0.5rem !important;
|
|
right: 0.75rem !important;
|
|
font-size: 1.75rem !important;
|
|
font-weight: 700 !important;
|
|
color: #64748b !important;
|
|
cursor: pointer !important;
|
|
line-height: 1 !important;
|
|
z-index: 10 !important;
|
|
transition: color 0.15s ease !important;
|
|
}
|
|
|
|
.popup-content span.close:hover {
|
|
color: #ef4444 !important;
|
|
}
|
|
|
|
.board-view-container {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
gap: 1rem !important;
|
|
width: 100% !important;
|
|
max-width: 100% !important;
|
|
overflow-x: hidden !important;
|
|
padding: 0.5rem 0 !important;
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
.board-table {
|
|
width: 100% !important;
|
|
border-collapse: collapse !important;
|
|
}
|
|
|
|
.board-table th,
|
|
.board-table td {
|
|
text-align: left !important;
|
|
padding: 0.65rem 0.85rem !important;
|
|
}
|
|
|
|
/* Toolbar Header Controls */
|
|
.board-toolbar {
|
|
display: flex !important;
|
|
flex-direction: row !important;
|
|
align-items: center !important;
|
|
justify-content: space-between !important;
|
|
gap: 1rem !important;
|
|
width: 100% !important;
|
|
padding: 0.5rem 0.85rem !important;
|
|
background-color: #ffffff !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
border-radius: 8px !important;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
.board-toolbar__left {
|
|
display: flex !important;
|
|
flex-direction: row !important;
|
|
align-items: center !important;
|
|
gap: 0.75rem !important;
|
|
flex: 1 !important;
|
|
min-width: 0 !important;
|
|
}
|
|
|
|
.board-toolbar__right {
|
|
display: flex !important;
|
|
flex-direction: row !important;
|
|
align-items: center !important;
|
|
gap: 0.65rem !important;
|
|
flex-shrink: 0 !important;
|
|
}
|
|
|
|
.board-toolbar__count-badge {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
gap: 0.4rem !important;
|
|
padding: 0.3rem 0.65rem !important;
|
|
background-color: #f1f5f9 !important;
|
|
color: #475569 !important;
|
|
font-size: 0.825rem !important;
|
|
font-weight: 600 !important;
|
|
border-radius: 16px !important;
|
|
border: 1px solid #e2e8f0 !important;
|
|
white-space: nowrap !important;
|
|
}
|
|
|
|
.board-toolbar__count-badge i {
|
|
color: #007bff !important;
|
|
}
|
|
|
|
.board-toolbar__search {
|
|
position: relative !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
flex: 1 !important;
|
|
max-width: 380px !important;
|
|
min-width: 160px !important;
|
|
}
|
|
|
|
.board-toolbar__search-icon {
|
|
position: absolute !important;
|
|
left: 0.75rem !important;
|
|
color: #94a3b8 !important;
|
|
font-size: 0.85rem !important;
|
|
pointer-events: none !important;
|
|
}
|
|
|
|
.board-toolbar__search-input {
|
|
width: 100% !important;
|
|
padding: 0.35rem 0.65rem 0.35rem 2.1rem !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
border-radius: 6px !important;
|
|
font-size: 0.85rem !important;
|
|
background-color: #ffffff !important;
|
|
color: #1e293b !important;
|
|
}
|
|
|
|
.board-toolbar__search-input:focus {
|
|
outline: none !important;
|
|
border-color: #007bff !important;
|
|
box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.15) !important;
|
|
}
|
|
|
|
.board-toolbar__view-toggle {
|
|
display: inline-flex !important;
|
|
flex-direction: row !important;
|
|
align-items: center !important;
|
|
background-color: #f1f5f9 !important;
|
|
padding: 2px !important;
|
|
border-radius: 6px !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
}
|
|
|
|
.board-toolbar__toggle-btn {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
gap: 0.35rem !important;
|
|
padding: 0.3rem 0.65rem !important;
|
|
border: none !important;
|
|
background: transparent !important;
|
|
color: #64748b !important;
|
|
font-size: 0.825rem !important;
|
|
font-weight: 500 !important;
|
|
border-radius: 4px !important;
|
|
cursor: pointer !important;
|
|
white-space: nowrap !important;
|
|
transition: all 0.2s ease !important;
|
|
}
|
|
|
|
.board-toolbar__toggle-btn i {
|
|
font-size: 0.85rem !important;
|
|
}
|
|
|
|
.board-toolbar__toggle-btn:hover {
|
|
color: #1e293b !important;
|
|
background-color: rgba(255, 255, 255, 0.6) !important;
|
|
}
|
|
|
|
.board-toolbar__toggle-btn--active {
|
|
background-color: #007bff !important;
|
|
color: #ffffff !important;
|
|
font-weight: 600 !important;
|
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
|
|
}
|
|
|
|
.board-toolbar__toggle-btn--active i {
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.board-toolbar__toggle-btn span {
|
|
display: none !important;
|
|
}
|
|
.board-toolbar__toggle-btn {
|
|
padding: 0.35rem 0.55rem !important;
|
|
}
|
|
}
|
|
|
|
/* YouTube-style discussion thread on a board post. */
|
|
.board-comments {
|
|
margin-top: 1.5rem;
|
|
max-width: 900px;
|
|
color: #0f172a;
|
|
}
|
|
|
|
.board-comments__heading {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
margin-bottom: 1.25rem;
|
|
}
|
|
|
|
.board-comments__heading h3 { margin: 0; font-size: 1.15rem; }
|
|
.board-comments__heading span { color: #64748b; font-size: .8rem; font-weight: 600; }
|
|
.board-comments__heading i { margin-right: .35rem; }
|
|
|
|
.board-comment-composer,
|
|
.board-comment {
|
|
display: flex;
|
|
gap: .8rem;
|
|
}
|
|
|
|
.board-comment-avatar {
|
|
display: flex;
|
|
flex: 0 0 38px;
|
|
width: 38px;
|
|
height: 38px;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 50%;
|
|
background: linear-gradient(135deg, #2563eb, #7c3aed);
|
|
color: #fff;
|
|
font-size: .78rem;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.board-comment-composer__body,
|
|
.board-comment__content { min-width: 0; flex: 1; }
|
|
.board-comment-composer__identity { max-width: 240px; margin-bottom: .45rem; font-size: .8rem; }
|
|
|
|
.board-comment-composer__input {
|
|
width: 100%;
|
|
min-height: 36px;
|
|
padding: .45rem 0;
|
|
resize: vertical;
|
|
border: 0;
|
|
border-bottom: 1px solid #94a3b8;
|
|
border-radius: 0;
|
|
background: transparent;
|
|
color: #0f172a;
|
|
font: inherit;
|
|
line-height: 1.4;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.board-comment-composer__input:focus { outline: 0; border-bottom: 2px solid #2563eb; }
|
|
.board-comment-composer__input:disabled { cursor: not-allowed; opacity: .6; }
|
|
|
|
.board-comment-composer__actions,
|
|
.board-comment__actions {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .45rem;
|
|
margin-top: .55rem;
|
|
}
|
|
|
|
.board-comment-composer__actions { justify-content: flex-end; }
|
|
.board-comment-composer__actions button,
|
|
.board-comment__actions button,
|
|
.board-comment__like,
|
|
.board-comment-composer__replying button {
|
|
border: 0;
|
|
background: transparent;
|
|
color: #475569;
|
|
cursor: pointer;
|
|
font-size: .78rem;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.board-comment-composer__submit {
|
|
padding: .45rem .85rem !important;
|
|
border-radius: 999px !important;
|
|
background: #2563eb !important;
|
|
color: #fff !important;
|
|
}
|
|
.board-comment-composer__submit:disabled { background: #dbe3ef !important; color: #94a3b8 !important; cursor: not-allowed; }
|
|
.board-comment-composer__cancel:hover,
|
|
.board-comment__actions button:hover { color: #2563eb; }
|
|
|
|
.board-comment-composer__replying { display: flex; align-items: center; gap: .25rem; margin-bottom: .35rem; color: #64748b; font-size: .8rem; }
|
|
.board-comment-composer__replying button { margin-left: .3rem; }
|
|
.board-comment-composer__hint,
|
|
.board-comment-composer__error { margin: .4rem 0 0; font-size: .78rem; }
|
|
.board-comment-composer__hint { color: #64748b; }
|
|
.board-comment-composer__error { color: #dc2626; }
|
|
|
|
.board-comments__list { margin-top: 1.8rem; }
|
|
.board-comment { margin-top: 1.35rem; }
|
|
.board-comment__header { display: flex; align-items: center; justify-content: space-between; min-height: 18px; }
|
|
.board-comment__meta { display: flex; align-items: baseline; gap: .55rem; font-size: .8rem; }
|
|
.board-comment__meta b { color: #1e293b; }
|
|
.board-comment__meta span { color: #64748b; font-size: .75rem; }
|
|
.board-comment__menu { width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #0f172a; cursor: pointer; opacity: 0; }
|
|
.board-comment:hover .board-comment__menu, .board-comment__menu:focus { opacity: 1; }
|
|
.board-comment__menu:hover { background: #f1f5f9; }
|
|
.board-comment__text { margin: .2rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.45; }
|
|
.board-comment__actions { gap: .65rem; margin-top: .35rem; }
|
|
.board-comment__actions button { padding: .25rem .2rem; color: #0f172a; }
|
|
.board-comment__like { padding: .25rem .35rem; color: #94a3b8; }
|
|
.board-comment__actions i { margin-right: .2rem; }
|
|
.board-comment__replies-toggle {
|
|
position: relative;
|
|
margin-top: .3rem;
|
|
padding: .25rem .35rem;
|
|
border: 0;
|
|
background: transparent;
|
|
color: #2563eb;
|
|
cursor: pointer;
|
|
font-size: .78rem;
|
|
font-weight: 700;
|
|
}
|
|
.board-comment__replies-toggle:hover { background: #eff6ff; border-radius: 4px; }
|
|
.board-comment__replies-toggle i { margin-left: .15rem; }
|
|
.board-comment__replies-toggle::before { content: ''; position: absolute; left: -3.15rem; bottom: .8rem; width: 1.5rem; height: 2.2rem; border-left: 1px solid #e2e8f0; border-bottom: 1px solid #e2e8f0; border-radius: 0 0 0 .75rem; pointer-events: none; }
|
|
.board-comment__replies { margin-top: .2rem; padding-left: 1rem; border-left: 2px solid #e2e8f0; }
|
|
.board-comments__status,
|
|
.board-comments__empty { margin: 2rem 0; color: #64748b; text-align: center; }
|
|
.board-comments__empty i { font-size: 1.5rem; }
|
|
|
|
@media (max-width: 560px) {
|
|
.board-comments__heading { justify-content: space-between; }
|
|
.board-comment-composer, .board-comment { gap: .6rem; }
|
|
.board-comment-avatar { flex-basis: 32px; width: 32px; height: 32px; font-size: .68rem; }
|
|
.board-comment__replies { padding-left: .6rem; }
|
|
.board-comment__replies-toggle::before { left: -2.65rem; width: 1.2rem; }
|
|
.board-card__notes-btn span { display: none; }
|
|
.board-card__notes-btn { width: 30px; height: 30px; justify-content: center; padding: 0 !important; }
|
|
.board-card__notes-btn i { margin: 0 !important; }
|
|
}
|
|
|
|
/* Pagination Controls (< 1 - 25 >) on exact same level right next to toggle */
|
|
.board-pagination {
|
|
display: inline-flex !important;
|
|
flex-direction: row !important;
|
|
align-items: center !important;
|
|
gap: 0.25rem !important;
|
|
background-color: #ffffff !important;
|
|
padding: 2px 4px !important;
|
|
border-radius: 6px !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
}
|
|
|
|
.board-pagination__btn {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
width: 26px !important;
|
|
height: 26px !important;
|
|
min-width: 26px !important;
|
|
min-height: 26px !important;
|
|
padding: 0 !important;
|
|
margin: 0 !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
border-radius: 4px !important;
|
|
background: #ffffff !important;
|
|
color: #007bff !important;
|
|
font-size: 0.825rem !important;
|
|
cursor: pointer !important;
|
|
transition: all 0.15s ease !important;
|
|
}
|
|
|
|
.board-pagination__btn i {
|
|
font-size: 0.825rem !important;
|
|
color: #007bff !important;
|
|
}
|
|
|
|
.board-pagination__btn:hover:not(:disabled) {
|
|
background-color: #007bff !important;
|
|
color: #ffffff !important;
|
|
border-color: #007bff !important;
|
|
}
|
|
|
|
.board-pagination__btn:hover:not(:disabled) i {
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
.board-pagination__btn:disabled {
|
|
opacity: 0.4 !important;
|
|
cursor: not-allowed !important;
|
|
color: #94a3b8 !important;
|
|
border-color: #e2e8f0 !important;
|
|
background-color: #f1f5f9 !important;
|
|
}
|
|
|
|
.board-pagination__btn:disabled i {
|
|
color: #94a3b8 !important;
|
|
}
|
|
|
|
.board-pagination__label {
|
|
font-size: 0.825rem !important;
|
|
font-weight: 700 !important;
|
|
color: #334155 !important;
|
|
padding: 0 0.35rem !important;
|
|
white-space: nowrap !important;
|
|
user-select: none !important;
|
|
}
|
|
|
|
/* Bottom Pagination Container */
|
|
.board-view-footer {
|
|
display: flex !important;
|
|
justify-content: center !important;
|
|
align-items: center !important;
|
|
padding: 1rem 0 0.5rem 0 !important;
|
|
width: 100% !important;
|
|
}
|
|
|
|
/* Board Grid Layout Modes */
|
|
.board-grid {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
width: 100% !important;
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
.board-grid--compact {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
gap: 0.5rem !important;
|
|
width: 100% !important;
|
|
}
|
|
|
|
.board-grid--card {
|
|
display: grid !important;
|
|
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
|
|
gap: 1.25rem !important;
|
|
width: 100% !important;
|
|
}
|
|
|
|
.board-grid__empty {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
padding: 4rem 2rem !important;
|
|
text-align: center !important;
|
|
background: #ffffff !important;
|
|
border: 2px dashed #cbd5e1 !important;
|
|
border-radius: 12px !important;
|
|
width: 100% !important;
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
.board-grid__empty-icon {
|
|
font-size: 3rem !important;
|
|
color: #cbd5e1 !important;
|
|
margin-bottom: 1rem !important;
|
|
}
|
|
|
|
.board-grid__empty-title {
|
|
font-size: 1.15rem !important;
|
|
font-weight: 600 !important;
|
|
color: #475569 !important;
|
|
margin: 0 0 0.5rem 0 !important;
|
|
}
|
|
|
|
.board-grid__empty-desc {
|
|
font-size: 0.9rem !important;
|
|
color: #94a3b8 !important;
|
|
margin: 0 !important;
|
|
}
|
|
|
|
/* ===================================================
|
|
COMPACT VIEW MODE: FULL-WIDTH HORIZONTAL ROW BANNER
|
|
(Identical to Retroshare C++ Qt GUI Posted design)
|
|
=================================================== */
|
|
.board-card {
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
.board-card--compact {
|
|
display: flex !important;
|
|
flex-direction: row !important;
|
|
align-items: center !important;
|
|
width: 100% !important;
|
|
min-height: 70px !important;
|
|
padding: 0.45rem 0.75rem !important;
|
|
background-color: #eef2f5 !important;
|
|
border: 1px solid #d1d5db !important;
|
|
border-radius: 4px !important;
|
|
gap: 0.75rem !important;
|
|
box-sizing: border-box !important;
|
|
margin-bottom: 0.35rem !important;
|
|
}
|
|
|
|
.board-card--compact:hover {
|
|
background-color: #e2e8f0 !important;
|
|
border-color: #9ca3af !important;
|
|
}
|
|
|
|
/* Vote Pill (Matching Comments Button style with normal-sized icons) */
|
|
.board-card__vote-pill {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
gap: 0.4rem !important;
|
|
padding: 0.2rem 0.55rem !important;
|
|
background-color: #f1f5f9 !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
border-radius: 20px !important;
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
button.board-card__vote-btn,
|
|
.board-card__vote-pill .board-card__vote-btn {
|
|
background: transparent !important;
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
padding: 0.1rem 0.2rem !important;
|
|
margin: 0 !important;
|
|
cursor: pointer !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
line-height: 1 !important;
|
|
border-radius: 4px !important;
|
|
transition: background-color 0.15s ease !important;
|
|
outline: none !important;
|
|
}
|
|
|
|
.board-card__vote-pill .board-card__vote-btn:hover {
|
|
background-color: #e2e8f0 !important;
|
|
box-shadow: none !important;
|
|
}
|
|
|
|
.board-card__vote-pill .board-card__vote-btn--up i {
|
|
color: #16a34a !important;
|
|
font-size: 1.15rem !important;
|
|
}
|
|
|
|
.board-card__vote-pill .board-card__vote-btn--down i {
|
|
color: #dc2626 !important;
|
|
font-size: 1.15rem !important;
|
|
}
|
|
|
|
.board-card__vote-pill .board-card__vote-score {
|
|
font-size: 0.9rem !important;
|
|
font-weight: 700 !important;
|
|
color: #1e293b !important;
|
|
padding: 0 0.15rem !important;
|
|
line-height: 1 !important;
|
|
min-width: 1rem !important;
|
|
text-align: center !important;
|
|
}
|
|
|
|
/* Thumbnail Image Container */
|
|
.board-card--compact .board-card__image-container {
|
|
width: 110px !important;
|
|
height: 62px !important;
|
|
flex-shrink: 0 !important;
|
|
border-radius: 4px !important;
|
|
overflow: hidden !important;
|
|
background-color: #cbd5e1 !important;
|
|
}
|
|
|
|
.board-card--compact .board-card__image {
|
|
width: 100% !important;
|
|
height: 100% !important;
|
|
object-fit: cover !important;
|
|
display: block !important;
|
|
}
|
|
|
|
.board-card--compact .board-card__placeholder-wrapper {
|
|
width: 100% !important;
|
|
height: 100% !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%) !important;
|
|
}
|
|
|
|
.board-card--compact .board-card__placeholder-img {
|
|
width: 24px !important;
|
|
height: 24px !important;
|
|
color: #64748b !important;
|
|
}
|
|
|
|
/* Main Details Section */
|
|
.board-card--compact .board-card__content {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
justify-content: center !important;
|
|
flex: 1 !important;
|
|
min-width: 0 !important;
|
|
padding: 0 !important;
|
|
}
|
|
|
|
/* Title: Blue bold underlined italicized link (Matches Qt GUI) */
|
|
.board-card--compact .board-card__title {
|
|
font-size: 1.05rem !important;
|
|
font-weight: 700 !important;
|
|
color: #2255aa !important;
|
|
text-decoration: underline !important;
|
|
font-style: italic !important;
|
|
white-space: nowrap !important;
|
|
overflow: hidden !important;
|
|
text-overflow: ellipsis !important;
|
|
margin: 0 0 0.15rem 0 !important;
|
|
cursor: pointer !important;
|
|
}
|
|
|
|
.board-card--compact .board-card__title:hover {
|
|
color: #1d4ed8 !important;
|
|
}
|
|
|
|
/* Meta line: Posted by <author> <date> */
|
|
.board-card--compact .board-card__meta {
|
|
font-size: 0.8rem !important;
|
|
color: #475569 !important;
|
|
margin-bottom: 0.2rem !important;
|
|
}
|
|
|
|
.board-card--compact .board-card__meta b {
|
|
color: #1e293b !important;
|
|
}
|
|
|
|
/* Footer: Comment button matching Qt GUI */
|
|
.board-card--compact .board-card__footer {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
gap: 0.5rem !important;
|
|
padding: 0 !important;
|
|
border: none !important;
|
|
margin: 0 !important;
|
|
}
|
|
|
|
button.board-card__comments-btn,
|
|
.board-card__comments-btn,
|
|
.board-card--compact .board-card__comments-btn {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
gap: 0.35rem !important;
|
|
padding: 0.2rem 0.5rem !important;
|
|
background: transparent !important;
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
color: #64748b !important;
|
|
font-size: 0.85rem !important;
|
|
font-weight: 500 !important;
|
|
cursor: pointer !important;
|
|
outline: none !important;
|
|
}
|
|
|
|
button.board-card__comments-btn:hover,
|
|
.board-card__comments-btn:hover,
|
|
.board-card--compact .board-card__comments-btn:hover {
|
|
color: #007bff !important;
|
|
text-decoration: underline !important;
|
|
box-shadow: none !important;
|
|
}
|
|
|
|
button.board-card__notes-btn,
|
|
.board-card__notes-btn {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
gap: 0.35rem !important;
|
|
padding: 0.2rem 0.5rem !important;
|
|
background: transparent !important;
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
color: #64748b !important;
|
|
font-size: 0.85rem !important;
|
|
font-weight: 500 !important;
|
|
cursor: pointer !important;
|
|
}
|
|
|
|
.board-card__notes-btn:hover { color: #007bff !important; text-decoration: underline !important; }
|
|
|
|
/* ===================================================
|
|
CARD VIEW MODE: ELEVATED GRID CARD
|
|
=================================================== */
|
|
.board-card--card {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
background-color: #ffffff !important;
|
|
border: 1px solid #e2e8f0 !important;
|
|
border-radius: 10px !important;
|
|
overflow: hidden !important;
|
|
transition: transform 0.2s ease, box-shadow 0.2s ease !important;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04) !important;
|
|
}
|
|
|
|
.board-card--card:hover {
|
|
transform: translateY(-3px) !important;
|
|
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08) !important;
|
|
border-color: #cbd5e1 !important;
|
|
}
|
|
|
|
.board-card--card .board-card__vote-col {
|
|
display: none !important;
|
|
}
|
|
|
|
.board-card--card .board-card__image-container {
|
|
width: 100% !important;
|
|
height: 170px !important;
|
|
overflow: hidden !important;
|
|
background-color: #f1f5f9 !important;
|
|
}
|
|
|
|
.board-card--card .board-card__image {
|
|
width: 100% !important;
|
|
height: 100% !important;
|
|
object-fit: cover !important;
|
|
display: block !important;
|
|
}
|
|
|
|
.board-card--card .board-card__placeholder-wrapper {
|
|
width: 100% !important;
|
|
height: 100% !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%) !important;
|
|
}
|
|
|
|
.board-card--card .board-card__placeholder-img {
|
|
width: 36px !important;
|
|
height: 36px !important;
|
|
color: #94a3b8 !important;
|
|
}
|
|
|
|
.board-card--card .board-card__content {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
flex: 1 !important;
|
|
padding: 1rem !important;
|
|
}
|
|
|
|
.board-card--card .board-card__title {
|
|
font-size: 1.05rem !important;
|
|
font-weight: 700 !important;
|
|
color: #0f172a !important;
|
|
margin: 0 0 0.4rem 0 !important;
|
|
white-space: nowrap !important;
|
|
overflow: hidden !important;
|
|
text-overflow: ellipsis !important;
|
|
cursor: pointer !important;
|
|
}
|
|
|
|
.board-card--card .board-card__title:hover {
|
|
color: #007bff !important;
|
|
}
|
|
|
|
.board-card--card .board-card__meta {
|
|
font-size: 0.8rem !important;
|
|
color: #64748b !important;
|
|
margin-bottom: 0.5rem !important;
|
|
}
|
|
|
|
.board-card--card .board-card__notes-wrapper {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
gap: 0.35rem !important;
|
|
margin-bottom: 0.75rem !important;
|
|
}
|
|
|
|
.board-card--card .board-card__notes {
|
|
font-size: 0.85rem !important;
|
|
line-height: 1.45 !important;
|
|
color: #475569 !important;
|
|
background-color: #f8fafc !important;
|
|
border-left: 3px solid #cbd5e1 !important;
|
|
padding: 0.4rem 0.6rem !important;
|
|
word-break: break-word !important;
|
|
}
|
|
|
|
.board-card--card .board-card__notes--clamped {
|
|
display: -webkit-box !important;
|
|
-webkit-line-clamp: 3 !important;
|
|
-webkit-box-orient: vertical !important;
|
|
overflow: hidden !important;
|
|
white-space: pre-line !important;
|
|
}
|
|
|
|
.board-card--card .board-card__notes--expanded {
|
|
display: block !important;
|
|
white-space: pre-line !important;
|
|
}
|
|
|
|
.board-card--card .board-card__notes-toggle {
|
|
align-self: flex-start !important;
|
|
background: none !important;
|
|
border: none !important;
|
|
padding: 0.1rem 0.3rem !important;
|
|
color: #007bff !important;
|
|
font-size: 0.775rem !important;
|
|
font-weight: 600 !important;
|
|
cursor: pointer !important;
|
|
}
|
|
|
|
.board-card--card .board-card__notes-toggle:hover {
|
|
text-decoration: underline !important;
|
|
}
|
|
|
|
.board-card--card .board-card__footer {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: flex-end !important;
|
|
margin-top: auto !important;
|
|
padding-top: 0.65rem !important;
|
|
border-top: 1px solid #f1f5f9 !important;
|
|
}
|
|
|
|
.board-card--card .board-card__comments-btn {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
gap: 0.4rem !important;
|
|
padding: 0.3rem 0.6rem !important;
|
|
background-color: #f1f5f9 !important;
|
|
color: #475569 !important;
|
|
border: 1px solid #e2e8f0 !important;
|
|
border-radius: 6px !important;
|
|
font-size: 0.8rem !important;
|
|
font-weight: 500 !important;
|
|
cursor: pointer !important;
|
|
}
|
|
|
|
.board-card--card .board-card__comments-btn:hover {
|
|
background-color: #007bff !important;
|
|
color: #ffffff !important;
|
|
border-color: #007bff !important;
|
|
}
|
|
|
|
.board-card--card .board-card__comments-btn:hover i {
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
.board-card--card .board-card__notes-btn {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
gap: 0.4rem !important;
|
|
padding: 0.3rem 0.6rem !important;
|
|
background-color: #f8fafc !important;
|
|
color: #475569 !important;
|
|
border: 1px solid #e2e8f0 !important;
|
|
border-radius: 6px !important;
|
|
font-size: 0.8rem !important;
|
|
font-weight: 500 !important;
|
|
}
|
|
|
|
.board-card--card .board-card__notes-btn:hover { background-color: #e0f2fe !important; color: #0369a1 !important; border-color: #7dd3fc !important; text-decoration: none !important; }
|
|
|
|
.board-notes-dialog { min-width: min(560px, 75vw); max-width: 75vw; }
|
|
.board-notes-dialog h3 { margin: 0 2rem .8rem 0; color: #0f172a; }
|
|
.board-notes-dialog__label { margin: 0 0 .35rem; color: #64748b; font-size: .78rem; font-weight: 700; text-transform: uppercase; }
|
|
.board-notes-dialog__content { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; color: #1e293b; line-height: 1.55; }
|
|
|
|
/* =========================================================
|
|
PhotoView Lightbox Modal Styles (Matching Qt GUI PhotoView)
|
|
========================================================= */
|
|
|
|
/* Fullscreen overlay element appended to body by openPhotoModal() */
|
|
#photo-view-overlay {
|
|
display: none;
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 999999;
|
|
background-color: rgba(0, 0, 0, 0.85);
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.photo-view-dialog {
|
|
background-color: #f8fafc !important;
|
|
border-radius: 8px !important;
|
|
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5) !important;
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
max-width: 90vw !important;
|
|
max-height: 90vh !important;
|
|
width: 820px !important;
|
|
overflow: hidden !important;
|
|
position: relative !important;
|
|
z-index: 1 !important;
|
|
}
|
|
|
|
.photo-view-header {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: space-between !important;
|
|
padding: 0.75rem 1rem !important;
|
|
background-color: #ffffff !important;
|
|
border-bottom: 1px solid #e2e8f0 !important;
|
|
}
|
|
|
|
.photo-view-title {
|
|
font-size: 1.05rem !important;
|
|
font-style: italic !important;
|
|
font-weight: 700 !important;
|
|
color: #1e293b !important;
|
|
margin: 0 !important;
|
|
flex: 1 !important;
|
|
overflow: hidden !important;
|
|
text-overflow: ellipsis !important;
|
|
white-space: nowrap !important;
|
|
}
|
|
|
|
.photo-view-close-btn {
|
|
background: none !important;
|
|
border: none !important;
|
|
font-size: 1.6rem !important;
|
|
line-height: 1 !important;
|
|
color: #64748b !important;
|
|
cursor: pointer !important;
|
|
padding: 0 0.4rem !important;
|
|
}
|
|
|
|
.photo-view-close-btn:hover {
|
|
color: #ef4444 !important;
|
|
}
|
|
|
|
.photo-view-body {
|
|
display: flex !important;
|
|
flex-direction: row !important;
|
|
align-items: stretch !important;
|
|
background-color: #0f172a !important;
|
|
flex: 1 !important;
|
|
min-height: 380px !important;
|
|
max-height: 68vh !important;
|
|
overflow: hidden !important;
|
|
}
|
|
|
|
/* Left/right nav columns (fixed 56px wide, vertically center the button) */
|
|
.photo-view-nav-col {
|
|
width: 56px !important;
|
|
flex-shrink: 0 !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
background-color: rgba(0, 0, 0, 0.25) !important;
|
|
}
|
|
|
|
/* Image wrapper fills remaining space */
|
|
.photo-view-img-wrap {
|
|
flex: 1 !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
min-width: 0 !important;
|
|
padding: 0.75rem !important;
|
|
}
|
|
|
|
.photo-view-img {
|
|
max-width: 100% !important;
|
|
max-height: 65vh !important;
|
|
object-fit: contain !important;
|
|
display: block !important;
|
|
border-radius: 4px !important;
|
|
}
|
|
|
|
.photo-view-no-img {
|
|
color: #94a3b8 !important;
|
|
font-size: 0.95rem !important;
|
|
}
|
|
|
|
/* Nav button — static in flex column, no absolute positioning */
|
|
.photo-view-nav-btn {
|
|
width: 38px !important;
|
|
height: 38px !important;
|
|
background-color: #ffffff !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
border-radius: 6px !important;
|
|
color: #007bff !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
cursor: pointer !important;
|
|
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3) !important;
|
|
transition: all 0.15s ease !important;
|
|
flex-shrink: 0 !important;
|
|
}
|
|
|
|
.photo-view-nav-btn i {
|
|
font-size: 1rem !important;
|
|
color: #007bff !important;
|
|
}
|
|
|
|
.photo-view-nav-btn:hover {
|
|
background-color: #007bff !important;
|
|
color: #ffffff !important;
|
|
border-color: #007bff !important;
|
|
}
|
|
|
|
.photo-view-nav-btn:hover i {
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
.photo-view-footer {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: space-between !important;
|
|
padding: 0.75rem 1rem !important;
|
|
background-color: #ffffff !important;
|
|
border-top: 1px solid #e2e8f0 !important;
|
|
}
|
|
|
|
.photo-view-meta {
|
|
font-size: 0.875rem !important;
|
|
color: #475569 !important;
|
|
}
|
|
|
|
.photo-view-meta b {
|
|
color: #0f172a !important;
|
|
}
|
|
|
|
/* Responsive: Hide board header description on mobile screens */
|
|
@media (max-width: 768px) {
|
|
.media-item__desc {
|
|
display: none !important;
|
|
}
|
|
.media-item__details {
|
|
flex-basis: 100% !important;
|
|
width: 100% !important;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@use '../abstracts' as *;
|
|
|
|
.file-section {
|
|
margin-top: 2rem;
|
|
@include flex(column);
|
|
}
|
|
|
|
.comments-section {
|
|
margin-top: 2rem;
|
|
@include flex($justify: space-between);
|
|
&__menu {
|
|
@include flex($gap: 1rem);
|
|
&-id {
|
|
@include flex($gap: 0.25rem, $align: center);
|
|
}
|
|
}
|
|
}
|
|
|
|
#toggleunsub {
|
|
position: relative;
|
|
background: gray;
|
|
}
|
|
|
|
/* subject */
|
|
table.channels {
|
|
& th:nth-child(1) {
|
|
width: 50%;
|
|
text-align: start;
|
|
}
|
|
/* subject */
|
|
& td:nth-child(1) {
|
|
text-align: start;
|
|
/* Truncate text with '...' */
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
& tr:hover {
|
|
background-color: $light-color;
|
|
cursor: pointer;
|
|
}
|
|
& tr.hidden {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
/* subject */
|
|
table {
|
|
padding: 0.5rem;
|
|
&.comments {
|
|
border: 1px solid #eee;
|
|
& th {
|
|
height: 40px;
|
|
&:nth-child(1) {
|
|
width: 2%;
|
|
}
|
|
&:nth-child(2) {
|
|
width: 40%;
|
|
}
|
|
}
|
|
& td {
|
|
word-wrap: break-word;
|
|
&:nth-child(2) {
|
|
text-align: start;
|
|
}
|
|
}
|
|
}
|
|
&.files {
|
|
& th:first-child {
|
|
text-align: start;
|
|
width: 60%;
|
|
}
|
|
& tr td:first-child {
|
|
text-align: start;
|
|
}
|
|
& td {
|
|
word-wrap: break-word;
|
|
}
|
|
}
|
|
}
|
|
/* #options{
|
|
width: 100px;
|
|
text-align: center;
|
|
font-size: medium;
|
|
margin-left: 20px;
|
|
height: 40px;
|
|
} */
|
|
#mtags {
|
|
width: 160px;
|
|
text-align: center;
|
|
font-size: medium;
|
|
margin-left: 10px;
|
|
height: 40px;
|
|
}
|
|
|
|
|
|
|
|
@use '../abstracts' as *;
|
|
|
|
.lobby {
|
|
margin: 10px;
|
|
border: 1px solid #aaa;
|
|
border-radius: 20px;
|
|
}
|
|
|
|
.lobby .mainname {
|
|
margin: 20px;
|
|
font-weight: 100;
|
|
font-size: 1.2em;
|
|
}
|
|
|
|
.topic {
|
|
color: #666;
|
|
}
|
|
|
|
.lobby>.topic {
|
|
font-size: 0.95em;
|
|
margin-left: 25px;
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
.lefttitle {
|
|
margin-top: 15px;
|
|
margin-bottom: 0;
|
|
font-weight: 100;
|
|
font-size: 1.2em;
|
|
}
|
|
|
|
.leftname {
|
|
margin-top: 5px;
|
|
margin-bottom: 5px;
|
|
padding: 5px;
|
|
font-weight: 100;
|
|
font-size: 1em;
|
|
}
|
|
|
|
.leftlobby>.topic {
|
|
font-size: 0.75em;
|
|
margin-left: 15px;
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
.subscribed,
|
|
.public {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.leftlobby {
|
|
border: 1px solid #aaa;
|
|
border-radius: 10px;
|
|
margin-top: 5px;
|
|
background-color: white;
|
|
}
|
|
|
|
.leftlobby.selected-lobby,
|
|
.selectedidentity {
|
|
color: white;
|
|
background-color: #3ba4d7;
|
|
}
|
|
|
|
.rightbar {
|
|
position: absolute;
|
|
width: 185px;
|
|
background-color: white;
|
|
overflow: auto;
|
|
top: 130px;
|
|
bottom: 15px;
|
|
right: 15px;
|
|
}
|
|
|
|
.user {
|
|
padding: 5px;
|
|
}
|
|
|
|
.lobbyName {
|
|
padding: 15px;
|
|
margin-top: 2rem;
|
|
}
|
|
|
|
.lobbies {
|
|
position: absolute;
|
|
width: 185px;
|
|
left: 165px;
|
|
bottom: 15px;
|
|
top: 130px;
|
|
overflow: auto;
|
|
}
|
|
|
|
.messages,
|
|
.setup {
|
|
position: absolute;
|
|
background-color: white;
|
|
top: 130px;
|
|
left: 360px;
|
|
right: 215px;
|
|
overflow: auto;
|
|
}
|
|
|
|
.messages {
|
|
bottom: 115px;
|
|
}
|
|
|
|
.messagetext {
|
|
white-space: break-spaces;
|
|
margin-right: 5px;
|
|
}
|
|
|
|
.message>* {
|
|
margin-left: 5px;
|
|
}
|
|
|
|
.username {
|
|
color: darkgreen;
|
|
font-weight: bolder;
|
|
}
|
|
|
|
.chatMessage {
|
|
position: absolute;
|
|
background-color: white;
|
|
height: 85px;
|
|
bottom: 15px;
|
|
right: 215px;
|
|
left: 360px;
|
|
}
|
|
|
|
textarea.chatMsg {
|
|
height: 100%;
|
|
width: 100%;
|
|
}
|
|
|
|
.chatatchar {
|
|
margin-left: 0.2em;
|
|
margin-right: 0.2em;
|
|
color: silver;
|
|
}
|
|
|
|
.setupicon {
|
|
margin-left: 1em;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.leaveicon {
|
|
margin-left: 1em;
|
|
cursor: pointer;
|
|
color: #d40000;
|
|
}
|
|
|
|
.selectidentity {
|
|
margin: 15px;
|
|
font-size: 1.2em;
|
|
}
|
|
|
|
.setup>.identity {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.setup {
|
|
bottom: 15px;
|
|
}
|
|
|
|
.createDistantChat {
|
|
margin-top: 1em;
|
|
}
|
|
|
|
.no-lobbies {
|
|
|
|
.messages,
|
|
.chatMessage,
|
|
.setup {
|
|
left: 165px;
|
|
}
|
|
}
|
|
|
|
/* CHAT ROOM (Single Chat) - Desktop Grid Layout */
|
|
@media (min-width: 900px) {
|
|
.node-panel.chat-room {
|
|
display: grid !important;
|
|
grid-template-columns: 250px 1fr 200px !important;
|
|
/* Lobbies, Chat, Users */
|
|
grid-template-rows: auto 1fr auto !important;
|
|
/* Header, Messages, Input */
|
|
grid-template-areas:
|
|
"lobbies header rightbar"
|
|
"lobbies messages rightbar"
|
|
"lobbies input rightbar" !important;
|
|
padding: 0 !important;
|
|
height: 100% !important;
|
|
}
|
|
|
|
.node-panel.chat-room .lobbyName {
|
|
grid-area: header;
|
|
padding: 10px;
|
|
border-bottom: 1px solid #eee;
|
|
margin: 0;
|
|
z-index: 10;
|
|
background: white;
|
|
}
|
|
|
|
.node-panel.chat-room .lobbies {
|
|
grid-area: lobbies;
|
|
position: static !important;
|
|
width: auto !important;
|
|
height: auto !important;
|
|
border-right: 1px solid #ccc;
|
|
overflow-y: auto;
|
|
display: block !important;
|
|
top: auto !important;
|
|
bottom: auto !important;
|
|
left: auto !important;
|
|
}
|
|
|
|
.node-panel.chat-room .messages {
|
|
grid-area: messages;
|
|
position: static !important;
|
|
width: auto !important;
|
|
height: auto !important;
|
|
overflow-y: auto;
|
|
padding: 10px;
|
|
left: auto !important;
|
|
right: auto !important;
|
|
top: auto !important;
|
|
bottom: auto !important;
|
|
margin: 0 !important;
|
|
}
|
|
|
|
.node-panel.chat-room .rightbar {
|
|
grid-area: rightbar;
|
|
position: static !important;
|
|
width: auto !important;
|
|
border-left: 1px solid #ccc;
|
|
overflow-y: auto;
|
|
display: block !important;
|
|
}
|
|
|
|
.node-panel.chat-room .chatMessage {
|
|
grid-area: input;
|
|
position: static !important;
|
|
width: auto !important;
|
|
height: auto !important;
|
|
border-top: 1px solid #eee;
|
|
left: auto !important;
|
|
right: auto !important;
|
|
bottom: auto !important;
|
|
flex: 0 0 auto;
|
|
padding: 10px !important;
|
|
background: white;
|
|
z-index: 10;
|
|
}
|
|
}
|
|
|
|
/* Mobile Overrides - Ensure Flex Column */
|
|
@media (max-width: 899px) {
|
|
.node-panel.chat-room {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
height: 100% !important;
|
|
position: relative !important;
|
|
}
|
|
|
|
.node-panel.chat-room .lobbyName {
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.node-panel.chat-room .messages {
|
|
flex: 1 !important;
|
|
overflow-y: auto !important;
|
|
position: relative !important;
|
|
top: 0 !important;
|
|
bottom: 0 !important;
|
|
left: 0 !important;
|
|
right: 0 !important;
|
|
width: 100% !important;
|
|
height: auto !important;
|
|
margin: 0 !important;
|
|
}
|
|
|
|
.node-panel.chat-room .chatMessage {
|
|
flex: 0 0 auto !important;
|
|
position: relative !important;
|
|
bottom: 0 !important;
|
|
left: 0 !important;
|
|
right: 0 !important;
|
|
width: 100% !important;
|
|
height: auto !important;
|
|
z-index: 100;
|
|
}
|
|
|
|
.node-panel.chat-room .rightbar,
|
|
.node-panel.chat-room .lobbies {
|
|
display: none !important;
|
|
position: fixed !important;
|
|
top: 60px !important;
|
|
bottom: 0 !important;
|
|
width: 80% !important;
|
|
background: white !important;
|
|
z-index: 200 !important;
|
|
box-shadow: 2px 0 10px rgba(0, 0, 0, 0.2) !important;
|
|
}
|
|
|
|
.node-panel.chat-room.show-lobbies .lobbies {
|
|
display: block !important;
|
|
left: 0 !important;
|
|
}
|
|
|
|
.node-panel.chat-room.show-users .rightbar {
|
|
display: block !important;
|
|
right: 0 !important;
|
|
}
|
|
|
|
.chat-overlay {
|
|
display: none;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background: rgba(0, 0, 0, 0.4);
|
|
z-index: 150;
|
|
}
|
|
|
|
.show-lobbies .chat-overlay,
|
|
.show-users .chat-overlay {
|
|
display: block;
|
|
}
|
|
|
|
/* Mobile Icons in Header */
|
|
.mobile-menu-icons {
|
|
display: flex;
|
|
gap: 15px;
|
|
font-size: 1.2rem;
|
|
}
|
|
|
|
.mobile-menu-icons i {
|
|
cursor: pointer;
|
|
padding: 5px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 900px) {
|
|
.mobile-menu-icons {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
/* =====================================================
|
|
CHAT HUB - Two-Pane Layout (matching Network page)
|
|
===================================================== */
|
|
|
|
.chat-hub-container {
|
|
display: flex;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
background-color: #f1f5f9;
|
|
}
|
|
|
|
.chat-hub-left-pane {
|
|
width: 320px;
|
|
min-width: 300px;
|
|
max-width: 350px;
|
|
border-right: 1px solid #cbd5e1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background: #ffffff;
|
|
box-shadow: 2px 0 5px rgba(0, 0, 0, 0.05);
|
|
}
|
|
|
|
.chat-own-profile-card {
|
|
padding: 0.85rem 1.25rem !important;
|
|
border-bottom: 1px solid #e2e8f0 !important;
|
|
background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: space-between !important;
|
|
gap: 0.75rem !important;
|
|
|
|
.profile-header {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
gap: 0.75rem !important;
|
|
flex: 1 !important;
|
|
min-width: 0 !important;
|
|
}
|
|
|
|
.chat-create-lobby-btn {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
gap: 0.35rem !important;
|
|
padding: 0.4rem 0.85rem !important;
|
|
font-size: 0.85rem !important;
|
|
font-weight: 600 !important;
|
|
border-radius: 0.375rem !important;
|
|
cursor: pointer !important;
|
|
flex-shrink: 0 !important;
|
|
white-space: nowrap !important;
|
|
}
|
|
|
|
.profile-info {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
|
|
.profile-name {
|
|
font-weight: 700;
|
|
color: #1e293b;
|
|
font-size: 1.1rem;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.profile-status {
|
|
font-size: 0.85rem;
|
|
color: #10b981;
|
|
font-weight: 500;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.35rem;
|
|
|
|
&::before {
|
|
content: '';
|
|
display: inline-block;
|
|
width: 8px;
|
|
height: 8px;
|
|
background-color: #10b981;
|
|
border-radius: 50%;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.chat-rooms-list-container {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
|
|
.searchbar-container {
|
|
padding: 0.75rem 1rem;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
|
|
input.searchbar {
|
|
width: 100%;
|
|
padding: 0.5rem 0.75rem;
|
|
font-size: 0.9rem;
|
|
border: 1px solid #cbd5e1;
|
|
border-radius: 0.375rem;
|
|
background-color: #f8fafc;
|
|
outline: none;
|
|
transition: all 0.2s;
|
|
|
|
&:focus {
|
|
background-color: #ffffff;
|
|
border-color: #3ba4d7;
|
|
box-shadow: 0 0 0 3px rgba(59, 164, 215, 0.15);
|
|
}
|
|
}
|
|
}
|
|
|
|
.rooms-scroll {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 0.5rem 0;
|
|
}
|
|
}
|
|
|
|
.rooms-section-title {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.75rem 1rem 0.375rem;
|
|
font-size: 0.75rem;
|
|
font-weight: 700;
|
|
color: #64748b;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
|
|
i {
|
|
font-size: 0.7rem;
|
|
color: #94a3b8;
|
|
}
|
|
}
|
|
|
|
.chat-room-list-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
padding: 0.75rem 1rem;
|
|
margin: 0.125rem 0.5rem;
|
|
border-radius: 0.5rem;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
|
|
&:hover {
|
|
background-color: #f1f5f9;
|
|
}
|
|
|
|
&.selected {
|
|
background-color: #e0f2fe;
|
|
|
|
.room-name {
|
|
color: #0369a1;
|
|
font-weight: 600;
|
|
}
|
|
}
|
|
|
|
.room-icon {
|
|
flex-shrink: 0;
|
|
width: 36px;
|
|
height: 36px;
|
|
border-radius: 0.5rem;
|
|
background: linear-gradient(135deg, #3ba4d7, #0ea5e9);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: #ffffff;
|
|
font-size: 1.35rem;
|
|
}
|
|
|
|
&.public-room .room-icon {
|
|
background: linear-gradient(135deg, #10b981, #059669);
|
|
}
|
|
|
|
.room-meta {
|
|
flex: 1;
|
|
min-width: 0;
|
|
|
|
.room-name {
|
|
font-size: 0.95rem;
|
|
color: #334155;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
transition: color 0.2s;
|
|
}
|
|
|
|
.room-topic {
|
|
font-size: 0.8rem;
|
|
color: #94a3b8;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
}
|
|
|
|
.room-badge {
|
|
flex-shrink: 0;
|
|
min-width: 24px;
|
|
height: 24px;
|
|
border-radius: 12px;
|
|
background-color: #e2e8f0;
|
|
color: #475569;
|
|
font-size: 0.75rem;
|
|
font-weight: 700;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 0 0.375rem;
|
|
}
|
|
}
|
|
|
|
.chat-hub-right-pane {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
background-color: #f8fafc;
|
|
}
|
|
|
|
.chat-pane-placeholder {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
color: #94a3b8;
|
|
gap: 1rem;
|
|
padding: 2rem;
|
|
text-align: center;
|
|
|
|
i {
|
|
font-size: 4rem;
|
|
color: #cbd5e1;
|
|
}
|
|
|
|
p {
|
|
font-size: 1.1rem;
|
|
max-width: 400px;
|
|
}
|
|
}
|
|
|
|
.chat-hub-tab-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 1.5rem;
|
|
}
|
|
|
|
.chat-room-detail-view {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.5rem;
|
|
|
|
.detail-header {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 1.5rem;
|
|
padding-bottom: 1.5rem;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
flex-wrap: wrap;
|
|
|
|
.detail-title {
|
|
flex: 1;
|
|
min-width: 200px;
|
|
|
|
h2 {
|
|
font-size: 1.75rem;
|
|
font-weight: 800;
|
|
color: #1e293b;
|
|
margin-bottom: 0.25rem;
|
|
}
|
|
|
|
.detail-subtitle {
|
|
font-size: 0.9rem;
|
|
color: #64748b;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
}
|
|
|
|
.detail-actions {
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
flex-wrap: wrap;
|
|
|
|
button {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem 1rem;
|
|
font-size: 0.9rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
.detail-section {
|
|
background-color: #ffffff;
|
|
border-radius: 0.5rem;
|
|
border: 1px solid #e2e8f0;
|
|
padding: 1.25rem;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
|
|
|
|
h3 {
|
|
font-size: 1.1rem;
|
|
font-weight: 700;
|
|
color: #334155;
|
|
margin-bottom: 1rem;
|
|
padding-bottom: 0.5rem;
|
|
border-bottom: 1px solid #f1f5f9;
|
|
}
|
|
|
|
.info-grid {
|
|
display: grid;
|
|
grid-template-columns: 130px 1fr;
|
|
row-gap: 0.75rem;
|
|
font-size: 0.9rem;
|
|
|
|
.info-label {
|
|
font-weight: 600;
|
|
color: #64748b;
|
|
}
|
|
|
|
.info-value {
|
|
color: #1e293b;
|
|
word-break: break-all;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.participants-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.participant-card {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem 0.75rem;
|
|
background-color: #f8fafc;
|
|
border: 1px solid #e2e8f0;
|
|
border-radius: 0.375rem;
|
|
|
|
.participant-name {
|
|
font-size: 0.875rem;
|
|
color: #334155;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
}
|
|
|
|
.no-participants {
|
|
color: #94a3b8;
|
|
font-size: 0.9rem;
|
|
font-style: italic;
|
|
}
|
|
|
|
.detail-actions-footer {
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
|
|
button {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem 1rem;
|
|
font-size: 0.9rem;
|
|
}
|
|
}
|
|
|
|
.join-description {
|
|
color: #64748b;
|
|
font-size: 0.9rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.identities-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.identity-card {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 0.75rem 1rem;
|
|
background-color: #f8fafc;
|
|
border: 1px solid #e2e8f0;
|
|
border-radius: 0.5rem;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
|
|
&:hover {
|
|
background-color: #e0f2fe;
|
|
border-color: #3ba4d7;
|
|
}
|
|
|
|
.identity-name {
|
|
font-size: 0.95rem;
|
|
font-weight: 600;
|
|
color: #334155;
|
|
}
|
|
|
|
i {
|
|
color: #3ba4d7;
|
|
font-size: 0.9rem;
|
|
}
|
|
}
|
|
|
|
.no-rooms {
|
|
padding: 1rem;
|
|
color: #94a3b8;
|
|
text-align: center;
|
|
font-style: italic;
|
|
}
|
|
|
|
/* Chat Hub Responsive - Mobile */
|
|
@media (max-width: 899px) {
|
|
.chat-hub-container {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.chat-hub-left-pane {
|
|
width: 100%;
|
|
min-width: 0;
|
|
max-width: none;
|
|
max-height: 45%;
|
|
border-right: none;
|
|
border-bottom: 1px solid #cbd5e1;
|
|
}
|
|
|
|
.chat-hub-right-pane {
|
|
flex: 1;
|
|
min-height: 0;
|
|
}
|
|
}
|
|
|
|
/* =====================================================
|
|
CHAT HUB - Right Pane Conversation & Tabs Styling
|
|
===================================================== */
|
|
|
|
.chat-hub-header-bar {
|
|
padding: 0.75rem 1.5rem;
|
|
background-color: #ffffff;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
height: 65px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.chat-hub-header-bar .chat-header-info {
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.chat-hub-header-bar .chat-header-info .chat-header-name {
|
|
font-size: 1.15rem;
|
|
font-weight: 800;
|
|
color: #1e293b;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.chat-hub-header-bar .chat-header-info .chat-header-topic {
|
|
font-size: 0.85rem;
|
|
color: #64748b;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
margin-top: 0.125rem;
|
|
}
|
|
|
|
.chat-hub-header-bar .chat-header-actions {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.chat-hub-header-bar .chat-header-actions button {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.35rem;
|
|
padding: 0.375rem 0.75rem;
|
|
font-size: 0.85rem;
|
|
}
|
|
|
|
.chat-hub-tabs-container {
|
|
background-color: #ffffff;
|
|
border-bottom: 1px solid #cbd5e1;
|
|
padding: 0.5rem 1.5rem 0;
|
|
}
|
|
|
|
.chat-hub-tabs {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.chat-hub-tabs .tab-btn {
|
|
padding: 0.625rem 1.25rem;
|
|
font-size: 0.95rem;
|
|
font-weight: 600;
|
|
color: #64748b;
|
|
background: transparent;
|
|
border: none;
|
|
border-radius: 0.375rem 0.375rem 0 0;
|
|
border-bottom: 3px solid transparent;
|
|
cursor: pointer;
|
|
box-shadow: none;
|
|
transition: all 0.2s;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.chat-hub-tabs .tab-btn:hover {
|
|
color: #334155;
|
|
background-color: #f1f5f9;
|
|
}
|
|
|
|
.chat-hub-tabs .tab-btn.active {
|
|
color: #3ba4d7;
|
|
border-bottom-color: #3ba4d7;
|
|
background-color: transparent;
|
|
}
|
|
|
|
.chat-hub-tab-content {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
background-color: #f8fafc;
|
|
}
|
|
|
|
.chat-hub-conversation-layout {
|
|
display: flex;
|
|
flex-direction: row;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.chat-hub-conversation-main {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex: 1;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.chat-hub-rightbar {
|
|
width: 200px;
|
|
border-left: 1px solid #cbd5e1;
|
|
background-color: #ffffff;
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.chat-hub-rightbar .rightbar-title {
|
|
padding: 0.75rem 1rem;
|
|
font-size: 0.85rem;
|
|
font-weight: 700;
|
|
color: #64748b;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
}
|
|
|
|
.chat-hub-rightbar .rightbar-users-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 0.5rem;
|
|
}
|
|
|
|
.chat-hub-rightbar .user {
|
|
padding: 0.5rem 0.75rem;
|
|
font-size: 0.9rem;
|
|
color: #334155;
|
|
border-radius: 0.375rem;
|
|
transition: all 0.2s;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.chat-hub-rightbar .user:hover {
|
|
background-color: #f1f5f9;
|
|
color: #0f172a;
|
|
}
|
|
|
|
.chat-hub-rightbar .user .defaultAvatar {
|
|
width: 2rem;
|
|
height: 2rem;
|
|
font-size: 0.9rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.chat-hub-rightbar .user img.avatar {
|
|
width: 2rem;
|
|
height: 2rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
@media (max-width: 899px) {
|
|
.chat-hub-rightbar {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.chat-hub-messages {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 1.25rem 1.5rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
}
|
|
|
|
/* Chat bubble overrides for two-pane layout */
|
|
.chat-hub-messages .message {
|
|
display: flex;
|
|
flex-direction: column;
|
|
max-width: 70%;
|
|
padding: 0.625rem 0.875rem;
|
|
border-radius: 0.75rem;
|
|
font-size: 0.925rem;
|
|
line-height: 1.4;
|
|
word-break: break-word;
|
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
|
|
}
|
|
|
|
.chat-hub-messages .message.incoming {
|
|
align-self: flex-start;
|
|
align-items: flex-start;
|
|
background-color: #ffffff;
|
|
color: #1e293b;
|
|
border: 1px solid #e2e8f0;
|
|
border-bottom-left-radius: 0.125rem;
|
|
}
|
|
|
|
.chat-hub-messages .message.outgoing {
|
|
align-self: flex-end;
|
|
align-items: flex-end;
|
|
background-color: #3ba4d7;
|
|
color: #ffffff;
|
|
border-bottom-right-radius: 0.125rem;
|
|
}
|
|
|
|
.chat-hub-messages .message .username {
|
|
font-size: 0.75rem;
|
|
margin-bottom: 0.25rem;
|
|
padding: 0 0.125rem;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.chat-hub-messages .message.incoming .username {
|
|
color: #0369a1;
|
|
}
|
|
|
|
.chat-hub-messages .message.outgoing .username {
|
|
color: #e0f2fe;
|
|
}
|
|
|
|
.chat-hub-messages .message .messagetext {
|
|
white-space: break-spaces;
|
|
margin: 0;
|
|
}
|
|
|
|
.chat-hub-messages .message .datetime {
|
|
font-size: 0.7rem;
|
|
margin-top: 0.25rem;
|
|
padding: 0 0.125rem;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.chat-hub-messages .message.incoming .datetime {
|
|
color: #64748b;
|
|
}
|
|
|
|
.chat-hub-messages .message.outgoing .datetime {
|
|
color: #f1f5f9;
|
|
}
|
|
|
|
.chat-hub-input-area {
|
|
padding: 0.75rem 1.5rem;
|
|
background-color: #ffffff;
|
|
border-top: 1px solid #cbd5e1;
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
align-items: flex-end;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.chat-hub-input-area textarea.chat-hub-textarea {
|
|
flex: 1;
|
|
resize: vertical;
|
|
min-height: 40px;
|
|
max-height: 250px;
|
|
height: 40px;
|
|
padding: 0.5rem 0.75rem;
|
|
border: 1px solid #cbd5e1;
|
|
border-radius: 0.375rem;
|
|
font-size: 0.9rem;
|
|
outline: none;
|
|
transition: border-color 0.2s, box-shadow 0.2s;
|
|
background-color: #f8fafc;
|
|
}
|
|
|
|
.chat-hub-input-area textarea.chat-hub-textarea:focus {
|
|
background-color: #ffffff;
|
|
border-color: #3ba4d7;
|
|
box-shadow: 0 0 0 3px rgba(59, 164, 215, 0.15);
|
|
}
|
|
|
|
.chat-hub-input-area button.chat-hub-send-btn {
|
|
padding: 0.5rem 1.25rem;
|
|
font-size: 0.9rem;
|
|
height: 40px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
border-radius: 0.375rem;
|
|
}
|
|
|
|
button.chat-hub-action-btn,
|
|
label.chat-hub-action-btn,
|
|
.chat-hub-action-btn {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
width: 36px !important;
|
|
height: 36px !important;
|
|
min-width: 36px !important;
|
|
padding: 0 !important;
|
|
margin: 0 !important;
|
|
background: transparent !important;
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
color: #64748b !important;
|
|
font-size: 1.15rem !important;
|
|
border-radius: 0.375rem !important;
|
|
cursor: pointer !important;
|
|
transition: all 0.15s ease !important;
|
|
outline: none !important;
|
|
}
|
|
|
|
button.chat-hub-action-btn:hover,
|
|
label.chat-hub-action-btn:hover,
|
|
.chat-hub-action-btn:hover {
|
|
background-color: #e2e8f0 !important;
|
|
color: #3b82f6 !important;
|
|
box-shadow: none !important;
|
|
}
|
|
|
|
button.chat-hub-action-btn i,
|
|
label.chat-hub-action-btn i,
|
|
.chat-hub-action-btn i {
|
|
font-size: 1.15rem !important;
|
|
color: inherit !important;
|
|
}
|
|
|
|
/* Compact Room Chat Style (No bubbles, unique nickname colors, IRC-style) */
|
|
.chat-hub-messages.compact-container,
|
|
.messages.compact-container {
|
|
gap: 0 !important;
|
|
padding: 0.75rem 1rem !important;
|
|
background-color: #ffffff !important;
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
}
|
|
|
|
.chat-hub-messages.compact-container .message.compact,
|
|
.messages.compact-container .message.compact {
|
|
display: block !important;
|
|
max-width: 100% !important;
|
|
padding: 0.1rem 0 !important;
|
|
border-radius: 0 !important;
|
|
background-color: transparent !important;
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
align-self: flex-start !important;
|
|
font-size: 0.875rem !important;
|
|
line-height: 1.45 !important;
|
|
margin: 0 !important;
|
|
white-space: nowrap !important;
|
|
}
|
|
|
|
.chat-hub-messages.compact-container .message.compact:hover,
|
|
.messages.compact-container .message.compact:hover {
|
|
background-color: #f8fafc !important;
|
|
overflow: visible !important;
|
|
white-space: normal !important;
|
|
}
|
|
|
|
.chat-hub-messages.compact-container .message.compact .datetime,
|
|
.messages.compact-container .message.compact .datetime {
|
|
color: #a0a0a0 !important;
|
|
margin-right: 0.4rem !important;
|
|
font-size: 0.78rem !important;
|
|
font-family: monospace !important;
|
|
opacity: 1 !important;
|
|
display: inline !important;
|
|
}
|
|
|
|
.chat-hub-messages.compact-container .message.compact .username,
|
|
.messages.compact-container .message.compact .username {
|
|
font-weight: bold !important;
|
|
margin-right: 0.2rem !important;
|
|
font-size: 0.875rem !important;
|
|
display: inline !important;
|
|
}
|
|
|
|
.chat-hub-messages.compact-container .message.compact .messagetext,
|
|
.messages.compact-container .message.compact .messagetext {
|
|
color: #1e293b !important;
|
|
white-space: normal !important;
|
|
word-break: break-word !important;
|
|
display: inline !important;
|
|
margin: 0 !important;
|
|
}
|
|
|
|
/* User Tooltip Styling (Standalone Fixed Floating Tooltip) */
|
|
.user-tooltip {
|
|
position: fixed !important;
|
|
width: 280px !important;
|
|
background-color: #ffffe1 !important;
|
|
border: 1px solid #7f7f7f !important;
|
|
box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.25) !important;
|
|
padding: 0.5rem !important;
|
|
border-radius: 0.25rem !important;
|
|
z-index: 10000 !important;
|
|
white-space: normal !important;
|
|
display: flex !important;
|
|
gap: 0.5rem !important;
|
|
align-items: flex-start !important;
|
|
color: #000000 !important;
|
|
font-size: 0.8rem !important;
|
|
text-align: left !important;
|
|
pointer-events: none !important;
|
|
}
|
|
|
|
.user-tooltip .tooltip-avatar {
|
|
flex-shrink: 0 !important;
|
|
}
|
|
|
|
.user-tooltip .tooltip-avatar .jdenticon-avatar,
|
|
.user-tooltip .tooltip-avatar .defaultAvatar,
|
|
.user-tooltip .tooltip-avatar img.avatar {
|
|
width: 56px !important;
|
|
height: 56px !important;
|
|
min-width: 56px !important;
|
|
min-height: 56px !important;
|
|
border-radius: 2px !important;
|
|
border: 1px solid #999999 !important;
|
|
box-shadow: none !important;
|
|
object-fit: cover !important;
|
|
}
|
|
|
|
.user-tooltip .tooltip-details {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
gap: 0.2rem !important;
|
|
min-width: 0 !important;
|
|
flex: 1 !important;
|
|
}
|
|
|
|
.user-tooltip .tooltip-details .tooltip-row {
|
|
line-height: 1.2 !important;
|
|
display: flex !important;
|
|
flex-direction: row !important;
|
|
align-items: baseline !important;
|
|
gap: 0.35rem !important;
|
|
white-space: normal !important;
|
|
word-break: break-all !important;
|
|
}
|
|
|
|
.user-tooltip .tooltip-details .tooltip-row .tooltip-label {
|
|
font-weight: bold !important;
|
|
color: #000000 !important;
|
|
font-size: 0.8rem !important;
|
|
flex-shrink: 0 !important;
|
|
}
|
|
|
|
.user-tooltip .tooltip-details .tooltip-row .tooltip-value {
|
|
font-weight: normal !important;
|
|
color: #000000 !important;
|
|
font-size: 0.8rem !important;
|
|
overflow: hidden !important;
|
|
text-overflow: ellipsis !important;
|
|
}
|
|
|
|
.user-tooltip .tooltip-details .tooltip-row .tooltip-value.tooltip-id {
|
|
font-family: monospace !important;
|
|
font-size: 0.75rem !important;
|
|
color: #0000bb !important;
|
|
}
|
|
|
|
/* Chat Modal Dialogs (Create Room, Attach File, Invite Friends) */
|
|
.attach-modal-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100vw;
|
|
height: 100vh;
|
|
background-color: rgba(15, 23, 42, 0.5);
|
|
backdrop-filter: blur(4px);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
z-index: 9999;
|
|
}
|
|
|
|
.attach-modal {
|
|
background: #ffffff;
|
|
border-radius: 0.5rem;
|
|
width: 480px;
|
|
max-width: 92vw;
|
|
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
|
|
padding: 1.5rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
color: #1e293b;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.attach-modal h4 {
|
|
margin: 0 0 1rem 0;
|
|
font-size: 1.15rem;
|
|
font-weight: 700;
|
|
color: #0f172a;
|
|
}
|
|
|
|
.attach-modal .attach-modal-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.attach-modal .attach-modal-header h4 {
|
|
margin: 0;
|
|
}
|
|
|
|
.attach-modal .attach-modal-header .attach-modal-icon {
|
|
font-size: 1.25rem;
|
|
color: #3b82f6;
|
|
}
|
|
|
|
/* Emoji Picker Dropdown & Grid Styling */
|
|
.emoji-picker-wrapper {
|
|
position: relative;
|
|
display: inline-flex;
|
|
}
|
|
|
|
.emoji-picker {
|
|
position: absolute;
|
|
bottom: 48px;
|
|
left: 0;
|
|
z-index: 9999;
|
|
width: 320px;
|
|
background: #ffffff;
|
|
border: 1px solid #cbd5e1;
|
|
border-radius: 12px;
|
|
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
|
|
padding: 0.75rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
font-family: inherit;
|
|
|
|
.emoji-search-row {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
.emoji-search-icon {
|
|
position: absolute;
|
|
left: 0.6rem;
|
|
color: #94a3b8;
|
|
font-size: 0.85rem;
|
|
pointer-events: none;
|
|
}
|
|
|
|
input.emoji-search-input {
|
|
width: 100%;
|
|
padding: 0.4rem 1.8rem 0.4rem 1.8rem;
|
|
font-size: 0.85rem;
|
|
border: 1px solid #cbd5e1;
|
|
border-radius: 6px;
|
|
outline: none;
|
|
background-color: #f8fafc;
|
|
transition: border-color 0.15s ease;
|
|
|
|
&:focus {
|
|
border-color: #3b82f6;
|
|
background-color: #ffffff;
|
|
}
|
|
}
|
|
|
|
.emoji-search-clear {
|
|
position: absolute;
|
|
right: 0.5rem;
|
|
background: transparent;
|
|
border: none;
|
|
color: #94a3b8;
|
|
cursor: pointer;
|
|
padding: 0.2rem;
|
|
font-size: 0.85rem;
|
|
|
|
&:hover {
|
|
color: #ef4444;
|
|
}
|
|
}
|
|
}
|
|
|
|
.emoji-categories {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding-bottom: 0.4rem;
|
|
border-bottom: 1px solid #f1f5f9;
|
|
margin-bottom: 0.25rem;
|
|
|
|
.emoji-cat-btn {
|
|
background: transparent !important;
|
|
border: none !important;
|
|
font-size: 1.1rem !important;
|
|
padding: 0.25rem 0.35rem !important;
|
|
border-radius: 6px !important;
|
|
cursor: pointer !important;
|
|
transition: background-color 0.15s ease, transform 0.1s ease !important;
|
|
line-height: 1 !important;
|
|
width: auto !important;
|
|
height: auto !important;
|
|
min-width: unset !important;
|
|
|
|
&:hover {
|
|
background-color: #f1f5f9 !important;
|
|
transform: scale(1.15);
|
|
}
|
|
|
|
&.active {
|
|
background-color: #e0f2fe !important;
|
|
border-radius: 6px !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
.emoji-grid {
|
|
display: grid !important;
|
|
grid-template-columns: repeat(8, 1fr) !important;
|
|
gap: 2px !important;
|
|
max-height: 220px !important;
|
|
overflow-y: auto !important;
|
|
padding-right: 2px !important;
|
|
|
|
&::-webkit-scrollbar {
|
|
width: 5px;
|
|
}
|
|
&::-webkit-scrollbar-thumb {
|
|
background: #cbd5e1;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.emoji-btn {
|
|
background: transparent !important;
|
|
border: none !important;
|
|
font-size: 1.25rem !important;
|
|
padding: 0.35rem 0 !important;
|
|
cursor: pointer !important;
|
|
border-radius: 6px !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
width: auto !important;
|
|
height: auto !important;
|
|
min-width: unset !important;
|
|
transition: background-color 0.1s ease, transform 0.1s ease !important;
|
|
|
|
&:hover {
|
|
background-color: #e2e8f0 !important;
|
|
transform: scale(1.2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Rightbar / Chat Participants Right-Click Context Menu */
|
|
.rightbar-context-menu,
|
|
.chat-msg-context-menu {
|
|
position: absolute !important;
|
|
z-index: 9999 !important;
|
|
right: 10px !important;
|
|
background-color: #ffffff !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
border-radius: 8px !important;
|
|
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
|
|
padding: 0.35rem 0 !important;
|
|
min-width: 220px !important;
|
|
font-family: inherit !important;
|
|
overflow: hidden !important;
|
|
|
|
.menu-item,
|
|
.context-menu-item {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
padding: 0.55rem 0.85rem !important;
|
|
font-size: 0.875rem !important;
|
|
font-weight: 500 !important;
|
|
color: #1e293b !important;
|
|
cursor: pointer !important;
|
|
transition: background-color 0.15s ease, color 0.15s ease !important;
|
|
user-select: none !important;
|
|
|
|
&:hover {
|
|
background-color: #f1f5f9 !important;
|
|
color: #0284c7 !important;
|
|
}
|
|
|
|
i {
|
|
font-size: 0.95rem !important;
|
|
width: 1.25rem !important;
|
|
text-align: center !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* User Avatar Hover Tooltip */
|
|
.user-tooltip {
|
|
position: fixed !important;
|
|
z-index: 10000 !important;
|
|
background-color: #ffffff !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
border-radius: 12px !important;
|
|
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
|
|
padding: 0.85rem 1rem !important;
|
|
display: flex !important;
|
|
gap: 0.85rem !important;
|
|
align-items: center !important;
|
|
min-width: 280px !important;
|
|
max-width: 380px !important;
|
|
pointer-events: none !important;
|
|
font-family: inherit !important;
|
|
|
|
.tooltip-avatar {
|
|
flex-shrink: 0 !important;
|
|
}
|
|
|
|
.tooltip-details {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
gap: 0.3rem !important;
|
|
flex: 1 !important;
|
|
min-width: 0 !important;
|
|
|
|
.tooltip-row {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
font-size: 0.85rem !important;
|
|
line-height: 1.3 !important;
|
|
|
|
.tooltip-label {
|
|
font-weight: 600 !important;
|
|
color: #64748b !important;
|
|
margin-right: 0.35rem !important;
|
|
flex-shrink: 0 !important;
|
|
}
|
|
|
|
.tooltip-value {
|
|
color: #1e293b !important;
|
|
font-weight: 500 !important;
|
|
word-break: break-all !important;
|
|
|
|
&.tooltip-id {
|
|
font-family: monospace !important;
|
|
font-size: 0.78rem !important;
|
|
color: #475569 !important;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@use '../abstracts' as *;
|
|
|
|
.mail {
|
|
.permission-flag {
|
|
margin-bottom: 1rem;
|
|
@include flex($gap: 1rem);
|
|
}
|
|
&-tags {
|
|
padding: 0.5rem;
|
|
border: 1px solid transparentize($dark-color, 0.8);
|
|
border-radius: 6px;
|
|
&__container {
|
|
@include flex(column);
|
|
& .tag-item {
|
|
@include flex($align: center, $gap: 4px);
|
|
border-bottom: 1px solid transparentize($dark-color, 0.9);
|
|
padding: 2px 0;
|
|
|
|
&:last-child {
|
|
border: none;
|
|
}
|
|
&__color {
|
|
width: 1.25rem;
|
|
height: 1.25rem;
|
|
aspect-ratio: 1;
|
|
}
|
|
&__name {
|
|
font-size: 1.125rem;
|
|
}
|
|
&__modify {
|
|
margin-left: auto;
|
|
font-size: 0.75rem;
|
|
@include flex($gap: 4px);
|
|
}
|
|
&:hover {
|
|
background-color: $light-color;
|
|
}
|
|
& button,
|
|
& button.red {
|
|
padding: 0.25rem 0.6rem;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.mail-tags-form .input-field {
|
|
margin-bottom: 0.5rem;
|
|
label {
|
|
margin-right: 0.5rem;
|
|
}
|
|
}
|
|
|
|
.external-address {
|
|
margin: 0;
|
|
padding-left: 1rem;
|
|
height: 100px;
|
|
overflow: hidden auto;
|
|
&::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.proxy-server {
|
|
@include flex(column, $gap: 4px);
|
|
&__tor,
|
|
&__i2p {
|
|
& > h4 {
|
|
margin-bottom: 0.25rem;
|
|
}
|
|
& > input {
|
|
margin-right: 0.5rem;
|
|
}
|
|
.proxy-outgoing {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
&__status {
|
|
width: 1rem;
|
|
height: 1rem;
|
|
aspect-ratio: 1;
|
|
border: 1px solid black;
|
|
border-radius: 50%;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.config-files {
|
|
@include flex(column, $gap: 1rem);
|
|
}
|
|
|
|
/* Hidden Service Configuration layout overrides */
|
|
.proxy-server-container {
|
|
width: 100%;
|
|
@include flex(column, $gap: 1rem);
|
|
}
|
|
|
|
.proxy-description {
|
|
color: #334155;
|
|
font-size: 0.95rem;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.proxy-rows-container {
|
|
@include flex(column, $gap: 0.75rem);
|
|
width: 100%;
|
|
}
|
|
|
|
.proxy-row {
|
|
display: grid;
|
|
grid-template-columns: 160px 220px 220px auto;
|
|
gap: 0.75rem;
|
|
align-items: center;
|
|
width: 100%;
|
|
}
|
|
|
|
.proxy-label {
|
|
font-size: 0.95rem;
|
|
font-weight: 500;
|
|
color: #1e293b;
|
|
}
|
|
|
|
.proxy-addr-input,
|
|
.proxy-port-input {
|
|
width: 100% !important;
|
|
max-width: none !important;
|
|
}
|
|
|
|
.proxy-status-container {
|
|
@include flex($align: center, $gap: 0.5rem);
|
|
}
|
|
|
|
.proxy-status-bullet {
|
|
width: 14px;
|
|
height: 14px;
|
|
border-radius: 50%;
|
|
display: inline-block;
|
|
border: 1px solid #475569;
|
|
}
|
|
|
|
.proxy-status-text {
|
|
font-size: 0.95rem;
|
|
color: #1e293b;
|
|
}
|
|
|
|
|
|
|
|
|
|
@use '../abstracts/' as *;
|
|
|
|
.file-view {
|
|
width: 100%;
|
|
padding: 1rem;
|
|
margin-top: 1.5rem;
|
|
border-radius: 8px;
|
|
border: 1px solid #ccc;
|
|
animation: fadein 0.5s;
|
|
&__heading {
|
|
@include flex($justify: space-between);
|
|
margin-bottom: 0.5rem;
|
|
&-chunk {
|
|
@include flex($gap: 1rem);
|
|
}
|
|
}
|
|
&__body {
|
|
@include flex(column, $gap: 1rem);
|
|
&-details {
|
|
@include flex($align: center);
|
|
&-stat {
|
|
width: 100%;
|
|
display: grid;
|
|
grid-template-columns: repeat(5, 1fr);
|
|
& span > i {
|
|
margin-right: 0.5rem;
|
|
}
|
|
}
|
|
&-action {
|
|
@include flex($gap: 1rem);
|
|
height: 100%;
|
|
& button,
|
|
& button.red {
|
|
padding: 0.25rem 0.75rem;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
table.myfiles td {
|
|
word-wrap: break-word;
|
|
}
|
|
table.myfiles th:nth-child(1) {
|
|
width: 2%;
|
|
}
|
|
table.myfiles th:nth-child(2) {
|
|
width: 50%;
|
|
}
|
|
table.myfiles td:nth-child(2) {
|
|
text-align: start;
|
|
}
|
|
table.friendsfiles td {
|
|
word-wrap: break-word;
|
|
}
|
|
table.friendsfiles th:nth-child(1) {
|
|
width: 2%;
|
|
}
|
|
table.friendsfiles th:nth-child(2) {
|
|
width: 50%;
|
|
}
|
|
table.friendsfiles th:nth-child(4) {
|
|
width: 40%;
|
|
}
|
|
table.friendsfiles td:nth-child(2) {
|
|
text-align: start;
|
|
}
|
|
|
|
// File Search
|
|
.file-search-container {
|
|
margin-top: 1rem;
|
|
padding: 8px;
|
|
@include flex($gap: 8px);
|
|
border: 1px solid transparentize($dark-color, 0.8);
|
|
border-radius: 6px;
|
|
height: 100%;
|
|
overflow: auto;
|
|
|
|
&__keywords {
|
|
flex-basis: 15%;
|
|
padding-right: 0.25rem;
|
|
border-right: 1px solid transparentize($dark-color, 0.9);
|
|
|
|
& .keywords-container {
|
|
@include flex(column);
|
|
border-top: 2.5px solid transparentize($dark-color, 0.92);
|
|
margin-top: 0.125rem;
|
|
padding-top: 0.25rem;
|
|
|
|
& a {
|
|
font-size: 1.2rem;
|
|
text-decoration: none;
|
|
color: $dark-color;
|
|
|
|
&.selected {
|
|
color: $primary-color;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&__results {
|
|
flex-basis: 85%;
|
|
height: 100%;
|
|
overflow: auto;
|
|
|
|
& .results-container {
|
|
& .results-header {
|
|
& tr {
|
|
display: flex;
|
|
& th {
|
|
font-size: 1.25rem;
|
|
font-weight: bold;
|
|
text-align: left;
|
|
|
|
&:nth-child(1) {
|
|
flex-basis: 40%;
|
|
}
|
|
&:nth-child(2) {
|
|
flex-basis: 10%;
|
|
text-align: center;
|
|
}
|
|
&:nth-child(3) {
|
|
flex-basis: 40%;
|
|
}
|
|
&:nth-child(4) {
|
|
flex-basis: 10%;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
& .results {
|
|
height: 100%;
|
|
overflow: auto;
|
|
& tr {
|
|
display: flex;
|
|
& .results {
|
|
&__hash,
|
|
&__name {
|
|
text-align: left;
|
|
flex-basis: 40%;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
|
|
span {
|
|
margin-left: 8px;
|
|
}
|
|
}
|
|
&__size {
|
|
flex-basis: 10%;
|
|
}
|
|
&__download {
|
|
flex-basis: 10%;
|
|
@include flex($justify: start, $align: center);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.search-form {
|
|
display: flex;
|
|
width: 40%;
|
|
input {
|
|
width: 100%;
|
|
}
|
|
button {
|
|
margin-left: 0.5rem;
|
|
}
|
|
}
|
|
|
|
.shareManagerPopupOverlay {
|
|
@include popupOverlay;
|
|
.shareManagerPopup {
|
|
position: absolute;
|
|
inset: 0;
|
|
margin: auto;
|
|
width: 80%;
|
|
height: 90%;
|
|
& > .widget {
|
|
padding: 1.5rem;
|
|
}
|
|
& .close-btn {
|
|
position: absolute;
|
|
top: 1.5rem;
|
|
right: 1.5rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
.share-manager {
|
|
@include flex(column, $justify: space-between);
|
|
&__table {
|
|
margin: 1rem 0 auto;
|
|
thead {
|
|
font-weight: bold;
|
|
text-align: left;
|
|
td:nth-child(1),
|
|
td:nth-child(2) {
|
|
padding-left: 0.5rem;
|
|
}
|
|
td:nth-child(3),
|
|
td:nth-child(4) {
|
|
& .tooltip {
|
|
font-weight: normal;
|
|
font-size: 1rem;
|
|
}
|
|
}
|
|
}
|
|
tbody {
|
|
text-align: left;
|
|
td:nth-child(4) {
|
|
font-size: 1rem;
|
|
}
|
|
}
|
|
td {
|
|
input {
|
|
border: 0 !important;
|
|
&[type='text'] {
|
|
width: 100%;
|
|
}
|
|
}
|
|
&:nth-child(1) {
|
|
width: 45%;
|
|
}
|
|
&:nth-child(2) {
|
|
width: 20%;
|
|
}
|
|
&:nth-child(3) {
|
|
width: 10%;
|
|
}
|
|
&:nth-child(4) {
|
|
width: 25%;
|
|
}
|
|
}
|
|
}
|
|
&__actions {
|
|
@include flex($justify: space-between);
|
|
}
|
|
&__form {
|
|
@include flex(column, $gap: 0.5rem);
|
|
&_input {
|
|
@include flex(column, $gap: 0.5rem);
|
|
input {
|
|
flex-grow: 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
.share-flags {
|
|
/* hide checkbox */
|
|
input.share-flags-check {
|
|
display: none;
|
|
/* use label with 'for' to manipulate checkbox */
|
|
& + label.share-flags-label {
|
|
color: grey;
|
|
margin-right: 0.25rem;
|
|
padding: 0.25rem 0.25rem 0.125rem;
|
|
border: 1px solid #6d6d6d;
|
|
border-radius: 0.5rem;
|
|
}
|
|
&:checked + label.share-flags-label {
|
|
color: $primary-retro-color;
|
|
}
|
|
}
|
|
}
|
|
label span {
|
|
display: inline-block;
|
|
width: 1.125rem;
|
|
}
|
|
}
|
|
.manage-visibility {
|
|
label {
|
|
width: 100%;
|
|
cursor: pointer;
|
|
}
|
|
@include flex($justify: space-between);
|
|
}
|
|
|
|
/* FILES MODULE RESPONSIVENESS */
|
|
@media (max-width: 700px) {
|
|
|
|
/* General Files Layout */
|
|
.file-view__body-details {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
gap: 1rem;
|
|
}
|
|
|
|
/* File Detail Grid (Downloads/Uploads) */
|
|
.file-view__body-details-stat {
|
|
grid-template-columns: 1fr;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.file-view__body-details-stat span {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
/* Share Manager Table -> Cards */
|
|
.share-manager__table,
|
|
.share-manager__table thead,
|
|
.share-manager__table tbody,
|
|
.share-manager__table tr,
|
|
.share-manager__table td {
|
|
display: block;
|
|
width: 100% !important;
|
|
}
|
|
|
|
.share-manager__table thead {
|
|
display: none;
|
|
/* Hide header on mobile */
|
|
}
|
|
|
|
.share-manager__table tr {
|
|
border: 1px solid #ccc;
|
|
border-radius: 8px;
|
|
margin-bottom: 1rem;
|
|
padding: 0.5rem;
|
|
background: white;
|
|
}
|
|
|
|
.share-manager__table td {
|
|
margin-bottom: 0.5rem;
|
|
border: none !important;
|
|
padding-left: 0 !important;
|
|
}
|
|
|
|
/* My Files / Friends Files Tables -> Cards */
|
|
table.myfiles,
|
|
table.myfiles tr,
|
|
table.myfiles td,
|
|
table.friendsfiles,
|
|
table.friendsfiles tr,
|
|
table.friendsfiles td {
|
|
display: block;
|
|
width: 100% !important;
|
|
}
|
|
|
|
table.myfiles th,
|
|
table.friendsfiles th {
|
|
display: none;
|
|
}
|
|
|
|
table.myfiles tr,
|
|
table.friendsfiles tr {
|
|
border: 1px solid #ccc;
|
|
border-radius: 8px;
|
|
margin-bottom: 1rem;
|
|
padding: 0.5rem;
|
|
background: white;
|
|
}
|
|
|
|
/* Search Container Layout */
|
|
.file-search-container {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.file-search-container__keywords {
|
|
flex-basis: auto;
|
|
width: 100%;
|
|
border-right: none;
|
|
border-bottom: 1px solid rgba(20, 20, 27, 0.1);
|
|
padding-bottom: 1rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
/* Search results table -> cards */
|
|
.results-container,
|
|
.results-container thead,
|
|
.results-container tbody,
|
|
.results-container tr,
|
|
.results-container td {
|
|
display: block;
|
|
width: 100% !important;
|
|
}
|
|
|
|
.results-container thead {
|
|
display: none;
|
|
}
|
|
|
|
.results-container tr {
|
|
border-bottom: 1px solid #eee;
|
|
padding: 1rem 0;
|
|
}
|
|
|
|
.results-container td {
|
|
margin-bottom: 0.5rem;
|
|
word-break: break-all;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.forums-node-panel {
|
|
position: relative;
|
|
bottom: 200px;
|
|
margin-left: 200px;
|
|
animation: fadein 0.5s;
|
|
}
|
|
|
|
/* subject */
|
|
table.forums th:nth-child(1) {
|
|
width: 50%;
|
|
text-align: start;
|
|
}
|
|
/* subject */
|
|
table.forums td:nth-child(1) {
|
|
text-align: start;
|
|
/* Truncate text with '...' */
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
table.forums tr:hover {
|
|
background-color: #eef3f6;
|
|
cursor: pointer;
|
|
}
|
|
|
|
table.forums tr.hidden {
|
|
display: none;
|
|
}
|
|
|
|
#searchforum {
|
|
position: relative;
|
|
margin-left: 250px;
|
|
/* top: 50px; */
|
|
}
|
|
|
|
#forumdetails {
|
|
position: relative;
|
|
padding: 10px;
|
|
}
|
|
.p {
|
|
margin: 0;
|
|
}
|
|
#toggleunsub {
|
|
position: relative;
|
|
background: gray;
|
|
}
|
|
|
|
table.threads tr:hover {
|
|
background-color: #eef3f6;
|
|
cursor: pointer;
|
|
}
|
|
table.threads td {
|
|
word-wrap: break-word;
|
|
}
|
|
table.threadreply th:nth-child(2) {
|
|
width: 50%;
|
|
}
|
|
table.threadreply th:nth-child(1) {
|
|
width: 2%;
|
|
}
|
|
table.threadreply td:nth-child(2) {
|
|
width: 50%;
|
|
text-align: start;
|
|
}
|
|
table.threadreply td {
|
|
word-wrap: break-word;
|
|
}
|
|
table.threadreply tr:hover {
|
|
background-color: #eef3f6;
|
|
cursor: pointer;
|
|
}
|
|
|
|
|
|
|
|
@use 'sass:color';
|
|
@use '../abstracts' as *;
|
|
|
|
.homepage {
|
|
margin: 2rem auto 0;
|
|
@include flex(column, $gap: 4rem);
|
|
|
|
.logo {
|
|
@include flex($justify: center, $align: center);
|
|
|
|
& img {
|
|
width: 90px;
|
|
}
|
|
|
|
.retroshareText {
|
|
@include flex(column, $align: center);
|
|
|
|
& .retrotext {
|
|
font-size: 36px;
|
|
font-weight: 600;
|
|
line-height: 1.125;
|
|
|
|
&>span {
|
|
color: $primary-retro-color;
|
|
}
|
|
}
|
|
|
|
&>b {
|
|
font-size: 14px;
|
|
line-height: 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
.certificate {
|
|
@include flex(column, $gap: 4rem);
|
|
|
|
&__heading {
|
|
text-align: center;
|
|
|
|
&>h1 {
|
|
margin-bottom: 1rem;
|
|
}
|
|
}
|
|
|
|
&__content {
|
|
@include flex(column, $gap: 2rem);
|
|
padding: 2rem;
|
|
text-align: center;
|
|
border: 1.5px solid color.adjust($primary-retro-color, $alpha: -0.8);
|
|
border-radius: 6px;
|
|
box-shadow: 0px 0px 8px 2px color.adjust($dark-color, $alpha: -0.95);
|
|
|
|
.rsId>p {
|
|
margin-bottom: 0.5rem;
|
|
color: $primary-retro-color;
|
|
}
|
|
|
|
.retroshareID {
|
|
padding: 0.25rem;
|
|
@include flex($align: center);
|
|
justify-self: start;
|
|
font-size: 1.25rem;
|
|
border-radius: 4px;
|
|
background: color.adjust($dark-color, $alpha: -0.95);
|
|
|
|
& .textArea {
|
|
padding: 0;
|
|
width: 100%;
|
|
height: auto;
|
|
font-size: 1rem;
|
|
font-family: monospace;
|
|
background: transparent;
|
|
border: none;
|
|
resize: none;
|
|
overflow: hidden;
|
|
field-sizing: content;
|
|
}
|
|
|
|
& i {
|
|
color: $primary-retro-color;
|
|
}
|
|
|
|
&>i {
|
|
margin: 0 0.5rem;
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
|
|
.webhelp {
|
|
padding: 0.5rem;
|
|
background: whitesmoke;
|
|
@include flex($justify: center, $align: center, $gap: 0.5rem);
|
|
border-radius: 4px;
|
|
border: 1px solid color.adjust($dark-color, $alpha: -0.5);
|
|
width: fit-content;
|
|
cursor: pointer;
|
|
|
|
&-container {
|
|
display: grid;
|
|
place-items: center;
|
|
}
|
|
|
|
&:hover {
|
|
background: $light-color;
|
|
border: 1px solid $dark-color;
|
|
}
|
|
|
|
&>i {
|
|
font-size: 1.2rem;
|
|
color: green;
|
|
}
|
|
}
|
|
|
|
.add-friend>h6,
|
|
.webhelp-container>h6 {
|
|
font-weight: normal;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Responsive Mobile Home Page Styles */
|
|
@media (max-width: 768px) {
|
|
.homepage {
|
|
margin: 1rem auto !important;
|
|
padding: 0 1rem !important;
|
|
gap: 2rem !important;
|
|
max-width: 100% !important;
|
|
box-sizing: border-box !important;
|
|
|
|
.logo {
|
|
flex-direction: column !important;
|
|
gap: 0.5rem !important;
|
|
text-align: center !important;
|
|
|
|
& img {
|
|
width: 60px !important;
|
|
}
|
|
|
|
.retroshareText {
|
|
.retrotext {
|
|
font-size: 1.6rem !important;
|
|
}
|
|
& > b {
|
|
font-size: 0.75rem !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
.certificate {
|
|
gap: 2rem !important;
|
|
|
|
&__heading {
|
|
& > h1 {
|
|
font-size: 1.35rem !important;
|
|
margin-bottom: 0.5rem !important;
|
|
}
|
|
font-size: 0.85rem !important;
|
|
}
|
|
|
|
&__content {
|
|
padding: 1rem 0.75rem !important;
|
|
gap: 1.25rem !important;
|
|
|
|
.retroshareID {
|
|
padding: 0.5rem !important;
|
|
font-size: 0.85rem !important;
|
|
max-width: 100% !important;
|
|
|
|
.textArea {
|
|
font-size: 0.8rem !important;
|
|
word-break: break-all !important;
|
|
overflow-wrap: anywhere !important;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@forward "login";
|
|
@forward "home";
|
|
@forward "network";
|
|
@forward "people";
|
|
@forward "chat";
|
|
@forward "mail";
|
|
@forward "files";
|
|
@forward "channel";
|
|
@forward "forums";
|
|
@forward "board";
|
|
@forward "config";
|
|
|
|
|
|
|
|
@use 'sass:color';
|
|
@use '../abstracts' as *;
|
|
|
|
.login-page {
|
|
background-image: linear-gradient(-45deg,
|
|
color.adjust($primary-color, $alpha: -0.25),
|
|
color.adjust($primary-retro-color, $alpha: -0.25));
|
|
height: 100%;
|
|
animation: fadein 0.5s;
|
|
|
|
.login-container {
|
|
background-color: white;
|
|
box-shadow: 3px 3px 5px color.adjust($dark-color, $alpha: -0.6);
|
|
margin: auto;
|
|
position: relative;
|
|
top: 100px;
|
|
max-width: 400px;
|
|
max-height: 500px;
|
|
border-radius: 5px;
|
|
@include flex(column, $align: center);
|
|
|
|
& input {
|
|
padding: 0.375rem 0.75rem;
|
|
border-radius: 0.275rem;
|
|
}
|
|
|
|
& * {
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
&>img {
|
|
margin: 1rem 0 2rem;
|
|
}
|
|
|
|
& extra {
|
|
margin: 0;
|
|
}
|
|
|
|
&>a {
|
|
text-decoration: underline;
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
|
|
.extra>label,
|
|
.extra>br,
|
|
.extra>input {
|
|
margin-bottom: 0;
|
|
}
|
|
}
|
|
|
|
|
|
@use '../abstracts/' as *;
|
|
|
|
.side-bar {
|
|
@include flex(column);
|
|
background: white;
|
|
.mail-compose-btn {
|
|
width: 96%;
|
|
margin: 0.25rem;
|
|
padding: 0.75rem 0;
|
|
}
|
|
|
|
.sidebar a,
|
|
.sidebarquickview a {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.sidebar-badge {
|
|
margin-left: auto;
|
|
background-color: #3b82f6;
|
|
color: #ffffff;
|
|
font-size: 0.725rem;
|
|
font-weight: 700;
|
|
padding: 0.15rem 0.45rem;
|
|
border-radius: 999px;
|
|
line-height: 1;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-width: 1.2rem;
|
|
}
|
|
}
|
|
|
|
.compose-mail {
|
|
&__from {
|
|
@include flex($justify: flex-start, $align: center, $gap: 0.5rem);
|
|
padding-bottom: 0.5rem;
|
|
border-bottom: 2px solid $light-color;
|
|
}
|
|
&__recipients {
|
|
padding: 0.5rem 0;
|
|
@include flex(column, $gap: 0.5rem);
|
|
border-bottom: 2px solid $light-color;
|
|
&__container {
|
|
@include flex($gap: 0.5rem);
|
|
& > label {
|
|
text-transform: capitalize;
|
|
}
|
|
.recipients {
|
|
width: 100%;
|
|
@include flex($gap: 0.5rem);
|
|
flex-wrap: wrap;
|
|
&__selected {
|
|
padding: 0.125rem 0.5rem;
|
|
@include flex($align: center, $gap: 0.5rem);
|
|
border: 1px solid $light-color;
|
|
border-radius: 3px;
|
|
cursor: default;
|
|
& i {
|
|
cursor: pointer;
|
|
padding: 0.25rem;
|
|
}
|
|
}
|
|
&__input {
|
|
display: flex;
|
|
position: relative;
|
|
flex-grow: 1;
|
|
&-field {
|
|
flex-grow: 1;
|
|
min-width: 200px;
|
|
padding: 0;
|
|
border: none;
|
|
box-shadow: none;
|
|
&:focus + .recipients__input-list {
|
|
display: flex;
|
|
}
|
|
}
|
|
&-list {
|
|
z-index: 1;
|
|
position: absolute;
|
|
top: 1rem;
|
|
padding: 0;
|
|
width: 100%;
|
|
max-height: 15rem;
|
|
flex-direction: column;
|
|
overflow: auto;
|
|
display: none;
|
|
background: white;
|
|
border-top: 1px solid $light-color;
|
|
border-bottom: 1px solid $light-color;
|
|
&:hover {
|
|
display: flex;
|
|
}
|
|
& li {
|
|
list-style: none;
|
|
padding: 0.25rem 0.5rem;
|
|
cursor: pointer;
|
|
background: white;
|
|
border: 1px solid $light-color;
|
|
border-top: 0px;
|
|
&:hover {
|
|
background: $light-color;
|
|
}
|
|
&:last-child {
|
|
border-bottom: 0px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.remove-recipient {
|
|
padding: 0.125rem 0.5rem;
|
|
}
|
|
}
|
|
input[type='text'].compose-mail__subject {
|
|
padding: 0.5rem 0;
|
|
border: none;
|
|
box-shadow: none;
|
|
border-bottom: 2px solid $light-color;
|
|
border-radius: 0;
|
|
}
|
|
&__message {
|
|
margin: 0.5rem 0;
|
|
height: 100%;
|
|
@include flex(column);
|
|
overflow: auto;
|
|
&-body {
|
|
height: 100%;
|
|
outline: transparent;
|
|
}
|
|
}
|
|
&__send-btn {
|
|
@include flex($align: center, $gap: 0.5rem);
|
|
& i {
|
|
transform: translateY(-1px);
|
|
}
|
|
}
|
|
}
|
|
|
|
.msg-view {
|
|
height: 100%;
|
|
@include flex(column, $gap: 1rem);
|
|
overflow: auto;
|
|
&-nav {
|
|
@include flex($justify: space-between, $align: column);
|
|
&__action {
|
|
@include flex($gap: 0.5rem);
|
|
}
|
|
}
|
|
&__header {
|
|
@include flex(column, $gap: 1rem);
|
|
& > h3 {
|
|
line-height: 1;
|
|
}
|
|
& .msg-details {
|
|
@include flex($gap: 1rem);
|
|
&__avatar {
|
|
height: max-content;
|
|
}
|
|
&__info {
|
|
@include flex(column);
|
|
&-item {
|
|
@include flex($gap: 0.5rem);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
&__body {
|
|
height: 100%;
|
|
overflow: auto;
|
|
font-size: 14px !important;
|
|
}
|
|
&__attachment {
|
|
height: 50%;
|
|
overflow: auto;
|
|
@include flex(column);
|
|
&-items {
|
|
height: 100%;
|
|
overflow: auto;
|
|
}
|
|
}
|
|
}
|
|
|
|
.mail-tag {
|
|
width: 8rem;
|
|
padding: 0.5rem;
|
|
}
|
|
.msgHeader {
|
|
display: flex;
|
|
}
|
|
.msgHeaderDetails {
|
|
@include flex(column);
|
|
}
|
|
|
|
table.mails {
|
|
& th {
|
|
/* star */
|
|
&:nth-child(1) {
|
|
width: 5%;
|
|
color: $golden-yellow-color;
|
|
}
|
|
/* attachments */
|
|
&:nth-child(2) {
|
|
width: 5%;
|
|
color: darken($light-color, 50%);
|
|
}
|
|
/* subject */
|
|
&:nth-child(3) {
|
|
width: 50%;
|
|
text-align: start;
|
|
}
|
|
/* From */
|
|
&:nth-child(4),
|
|
/* date */
|
|
&:nth-child(5) {
|
|
width: 20%;
|
|
text-align: start;
|
|
}
|
|
}
|
|
|
|
& td {
|
|
/* subject */
|
|
&:nth-child(3) {
|
|
text-align: start;
|
|
/* Truncate text with '...' */
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
/* From */
|
|
&:nth-child(4),
|
|
/* date */
|
|
&:nth-child(5) {
|
|
text-align: start;
|
|
}
|
|
}
|
|
|
|
& tr {
|
|
&:hover {
|
|
background-color: $light-color;
|
|
cursor: pointer;
|
|
}
|
|
&.unread {
|
|
color: black;
|
|
background-color: $light-color;
|
|
}
|
|
}
|
|
|
|
//Remove hover effects from the table head
|
|
& > tr:hover {
|
|
cursor: auto;
|
|
background-color: white;
|
|
}
|
|
|
|
& th.sortable-th {
|
|
cursor: pointer;
|
|
user-select: none;
|
|
transition: background-color 0.2s, color 0.2s;
|
|
|
|
&:hover {
|
|
background-color: $light-color;
|
|
color: darken($light-color, 80%);
|
|
}
|
|
}
|
|
}
|
|
|
|
/* hide checkbox */
|
|
input.star-check {
|
|
display: none;
|
|
/* use label with 'for' to manipulate checkbox */
|
|
& + label.star-check {
|
|
color: grey;
|
|
}
|
|
&:checked + label.star-check {
|
|
color: $golden-yellow-color;
|
|
}
|
|
}
|
|
|
|
/* mail_util.js styles */
|
|
#truncate {
|
|
height: 6rem;
|
|
overflow: auto;
|
|
&.truncated-view {
|
|
height: 1.75rem;
|
|
overflow: hidden;
|
|
}
|
|
}
|
|
.toggle-truncate {
|
|
font-size: 0.75rem;
|
|
padding: 0 0.25rem;
|
|
background: #999;
|
|
color: $dark-color;
|
|
box-shadow: none;
|
|
border-radius: 2px;
|
|
}
|
|
|
|
// Normal mail attachment view
|
|
table.attachment-container {
|
|
padding: 0;
|
|
|
|
& > tr {
|
|
border: 0;
|
|
}
|
|
|
|
.attachment-header {
|
|
width: 100%;
|
|
@include flex($justify: space-between);
|
|
|
|
th {
|
|
text-align: start;
|
|
|
|
&:nth-child(1) {
|
|
flex-basis: 45%;
|
|
}
|
|
&:nth-child(2) {
|
|
flex-basis: 15%;
|
|
}
|
|
&:nth-child(3) {
|
|
flex-basis: 10%;
|
|
}
|
|
&:nth-child(4) {
|
|
flex-basis: 20%;
|
|
}
|
|
&:nth-child(5) {
|
|
text-align: center;
|
|
flex-basis: 10%;
|
|
}
|
|
}
|
|
}
|
|
|
|
.attachment {
|
|
width: 100%;
|
|
@include flex($justify: space-between);
|
|
text-align: start;
|
|
|
|
&__name {
|
|
flex-basis: 45%;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
|
|
span {
|
|
margin-left: 8px;
|
|
}
|
|
}
|
|
|
|
&__from {
|
|
flex-basis: 15%;
|
|
}
|
|
&__size {
|
|
flex-basis: 10%;
|
|
}
|
|
&__date {
|
|
flex-basis: 20%;
|
|
}
|
|
& td:nth-child(5) {
|
|
@include flex($justify: center, $align: center);
|
|
flex-basis: 10%;
|
|
|
|
& button {
|
|
font-size: 0.875rem;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Attachment Section attachment view
|
|
.view-toggle {
|
|
height: max-content;
|
|
border: 1px solid $primary-color;
|
|
border-radius: 4px;
|
|
display: flex;
|
|
|
|
& * {
|
|
padding: 4px 12px;
|
|
border-radius: 4px;
|
|
}
|
|
}
|
|
|
|
.composePopupOverlay {
|
|
@include popupOverlay;
|
|
.composePopup {
|
|
position: absolute;
|
|
inset: 0;
|
|
margin: auto;
|
|
width: 80%;
|
|
height: 90%;
|
|
& > .widget {
|
|
padding: 2rem;
|
|
}
|
|
& .close-btn {
|
|
position: absolute;
|
|
top: 1.5rem;
|
|
right: 1.5rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Modern Attachment Card Styling */
|
|
.attachments-wrapper {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
margin-top: 0.5rem;
|
|
}
|
|
|
|
.attachment-card {
|
|
background: #ffffff;
|
|
border: 1px solid #e2e8f0;
|
|
border-radius: 0.5rem;
|
|
padding: 0.75rem 1rem;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
|
|
|
|
.attachment-icon {
|
|
width: 40px;
|
|
height: 40px;
|
|
border-radius: 0.5rem;
|
|
background: #eff6ff;
|
|
color: #3b82f6;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 1.2rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.attachment-info {
|
|
flex: 1;
|
|
min-width: 0;
|
|
|
|
.attachment-name {
|
|
font-weight: 600;
|
|
font-size: 0.9rem;
|
|
color: #1e293b;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.attachment-size {
|
|
font-size: 0.75rem;
|
|
color: #64748b;
|
|
}
|
|
}
|
|
|
|
.btn-attachment-download {
|
|
padding: 0.4rem 0.75rem;
|
|
font-size: 0.8rem;
|
|
height: 34px;
|
|
}
|
|
}
|
|
|
|
.mobile-fab-compose {
|
|
display: none;
|
|
}
|
|
|
|
/* Mobile Responsiveness for Mail UI */
|
|
@media (max-width: 768px) {
|
|
.side-bar {
|
|
width: 100% !important;
|
|
flex-direction: row !important;
|
|
overflow-x: auto !important;
|
|
overflow-y: hidden !important;
|
|
white-space: nowrap !important;
|
|
border-bottom: 1px solid #cbd5e1 !important;
|
|
padding: 0.5rem !important;
|
|
flex-shrink: 0 !important;
|
|
background: #ffffff !important;
|
|
}
|
|
|
|
.side-bar .mail-compose-btn {
|
|
display: none !important;
|
|
}
|
|
|
|
.side-bar .sidebar {
|
|
width: auto !important;
|
|
flex-direction: row !important;
|
|
gap: 0.25rem !important;
|
|
}
|
|
|
|
.side-bar .sidebar a {
|
|
padding: 0.5rem 0.75rem !important;
|
|
font-size: 0.85rem !important;
|
|
border-radius: 0.375rem !important;
|
|
border-left: none !important;
|
|
border-bottom: none !important;
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
gap: 0.35rem !important;
|
|
}
|
|
|
|
.side-bar .sidebar a .sidebar-link-text {
|
|
display: none !important;
|
|
}
|
|
|
|
.side-bar .sidebar a i {
|
|
margin-right: 0 !important;
|
|
font-size: 1.1rem !important;
|
|
}
|
|
|
|
.side-bar .sidebar a .sidebar-badge {
|
|
margin-left: 0 !important;
|
|
background: #3b82f6 !important;
|
|
color: #ffffff !important;
|
|
font-size: 0.7rem !important;
|
|
font-weight: 700 !important;
|
|
padding: 0.15rem 0.4rem !important;
|
|
border-radius: 999px !important;
|
|
line-height: 1 !important;
|
|
}
|
|
|
|
.side-bar .sidebar a.selected-sidebar-link {
|
|
background-color: #e0f2fe !important;
|
|
color: #0369a1 !important;
|
|
border-left: none !important;
|
|
font-weight: 600 !important;
|
|
}
|
|
|
|
.side-bar .sidebarquickview {
|
|
display: none !important; /* Hide quickview tags on mobile bar; filter via colored dropdown */
|
|
}
|
|
|
|
select.mail-tag {
|
|
padding: 0.45rem 0.75rem !important;
|
|
border-radius: 0.5rem !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
font-size: 0.85rem !important;
|
|
font-weight: 600 !important;
|
|
background-color: #ffffff !important;
|
|
color: #1e293b !important;
|
|
outline: none !important;
|
|
cursor: pointer !important;
|
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
|
|
}
|
|
|
|
.node-panel {
|
|
width: 100% !important;
|
|
flex: 1 !important;
|
|
padding: 0.5rem !important;
|
|
overflow: auto !important;
|
|
}
|
|
|
|
/* Mail List Table -> Mobile Card List View */
|
|
.table-pagination-container table.mails {
|
|
display: block !important;
|
|
width: 100% !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr:first-child {
|
|
display: none !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tbody {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
gap: 0.5rem !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
padding: 0.85rem !important;
|
|
background: #ffffff !important;
|
|
border: 1px solid #e2e8f0 !important;
|
|
border-radius: 0.65rem !important;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
|
|
position: relative !important;
|
|
margin-bottom: 0.25rem !important;
|
|
transition: all 0.2s ease !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody.unread {
|
|
background: #f0f9ff !important;
|
|
border-color: #bae6fd !important;
|
|
border-left: 4px solid #0284c7 !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody td {
|
|
display: block !important;
|
|
padding: 0 !important;
|
|
border: none !important;
|
|
}
|
|
|
|
/* Top Row: Sender Info & Date */
|
|
.table-pagination-container table.mails tr.msgbody td.cell-from {
|
|
order: 1 !important;
|
|
margin-bottom: 0.35rem !important;
|
|
padding-right: 5rem !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody td.cell-from div {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
gap: 0.5rem !important;
|
|
width: 100% !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody td.cell-from div .jdenticon-avatar,
|
|
.table-pagination-container table.mails tr.msgbody td.cell-from div .defaultAvatar,
|
|
.table-pagination-container table.mails tr.msgbody td.cell-from div img.avatar {
|
|
flex-shrink: 0 !important;
|
|
width: 28px !important;
|
|
height: 28px !important;
|
|
min-width: 28px !important;
|
|
min-height: 28px !important;
|
|
aspect-ratio: 1 / 1 !important;
|
|
object-fit: cover !important;
|
|
border-radius: 50% !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody td.cell-from div span {
|
|
font-weight: 700 !important;
|
|
font-size: 0.95rem !important;
|
|
color: #1e293b !important;
|
|
white-space: nowrap !important;
|
|
overflow: hidden !important;
|
|
text-overflow: ellipsis !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody td.cell-date {
|
|
order: 2 !important;
|
|
position: absolute !important;
|
|
top: 0.85rem !important;
|
|
right: 0.85rem !important;
|
|
font-size: 0.75rem !important;
|
|
font-weight: 600 !important;
|
|
color: #64748b !important;
|
|
white-space: nowrap !important;
|
|
}
|
|
|
|
/* Subject Row */
|
|
.table-pagination-container table.mails tr.msgbody td.cell-subject {
|
|
order: 3 !important;
|
|
margin-bottom: 0.25rem !important;
|
|
font-size: 0.9rem !important;
|
|
color: #334155 !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody td.cell-subject span {
|
|
font-weight: 600 !important;
|
|
}
|
|
|
|
/* Star & Attachments */
|
|
.table-pagination-container table.mails tr.msgbody td.cell-star {
|
|
order: 4 !important;
|
|
position: absolute !important;
|
|
bottom: 0.75rem !important;
|
|
right: 0.85rem !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody td.cell-attachment {
|
|
order: 5 !important;
|
|
position: absolute !important;
|
|
bottom: 0.75rem !important;
|
|
right: 2.5rem !important;
|
|
color: #64748b !important;
|
|
}
|
|
|
|
/* Mail Reader (MessageView) Mobile Layout */
|
|
.msg-view {
|
|
padding: 0.5rem !important;
|
|
gap: 0.75rem !important;
|
|
}
|
|
|
|
.msg-view .msg-view-nav {
|
|
background: #ffffff !important;
|
|
padding: 0.5rem 0.75rem !important;
|
|
border-radius: 0.5rem !important;
|
|
border: 1px solid #e2e8f0 !important;
|
|
}
|
|
|
|
.msg-view .msg-view-nav__action button {
|
|
padding: 0.45rem 0.65rem !important;
|
|
min-width: 38px !important;
|
|
height: 38px !important;
|
|
justify-content: center !important;
|
|
}
|
|
|
|
.msg-view .msg-view-nav__action button .btn-text {
|
|
display: none !important;
|
|
}
|
|
|
|
.msg-view .msg-view-nav__action button i {
|
|
margin: 0 !important;
|
|
font-size: 1rem !important;
|
|
}
|
|
|
|
.msg-view__header {
|
|
background: #ffffff !important;
|
|
padding: 1rem !important;
|
|
border-radius: 0.5rem !important;
|
|
border: 1px solid #e2e8f0 !important;
|
|
}
|
|
|
|
.msg-view__header h3 {
|
|
font-size: 1.25rem !important;
|
|
font-weight: 800 !important;
|
|
color: #0f172a !important;
|
|
line-height: 1.3 !important;
|
|
}
|
|
|
|
.msg-view__body {
|
|
background: #ffffff !important;
|
|
padding: 1rem !important;
|
|
border-radius: 0.5rem !important;
|
|
border: 1px solid #e2e8f0 !important;
|
|
font-size: 0.95rem !important;
|
|
line-height: 1.6 !important;
|
|
color: #1e293b !important;
|
|
}
|
|
|
|
.msg-view__attachment {
|
|
height: auto !important;
|
|
}
|
|
|
|
/* Floating Action Button (Compose Mail) */
|
|
.mobile-fab-compose {
|
|
position: fixed !important;
|
|
bottom: 1.75rem !important;
|
|
right: 1.5rem !important;
|
|
width: 54px !important;
|
|
height: 54px !important;
|
|
border-radius: 50% !important;
|
|
background: linear-gradient(135deg, #3b82f6, #2563eb) !important;
|
|
color: #ffffff !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
font-size: 1.35rem !important;
|
|
box-shadow: 0 4px 14px rgba(37, 99, 235, 0.45) !important;
|
|
border: none !important;
|
|
z-index: 1000 !important;
|
|
cursor: pointer !important;
|
|
transition: transform 0.2s ease !important;
|
|
}
|
|
|
|
.mobile-fab-compose:active {
|
|
transform: scale(0.92) !important;
|
|
}
|
|
|
|
.composePopupOverlay .composePopup {
|
|
width: 95% !important;
|
|
height: 95% !important;
|
|
}
|
|
}
|
|
|
|
.mail-mobile-nav-toggle { display: none; }
|
|
.mail-nav-drawer { display: contents; }
|
|
.mail-mobile-box-title { display: none; }
|
|
|
|
/* Mail folders become a left drawer on phones. */
|
|
@media (max-width: 768px) {
|
|
.side-bar {
|
|
height: 44px !important;
|
|
padding: .25rem !important;
|
|
overflow: visible !important;
|
|
}
|
|
|
|
.mail-mobile-nav-toggle {
|
|
display: inline-flex !important;
|
|
width: 40px;
|
|
height: 40px;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border: 0;
|
|
border-radius: 6px;
|
|
background: #ffffff;
|
|
color: #0f172a;
|
|
cursor: pointer;
|
|
font-size: 1.15rem;
|
|
}
|
|
|
|
.mail-nav-drawer {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
z-index: 1100;
|
|
display: flex !important;
|
|
flex-direction: column;
|
|
width: min(82vw, 300px);
|
|
height: 100dvh;
|
|
padding: 1rem 0;
|
|
overflow-y: auto;
|
|
background: #ffffff;
|
|
border-right: 1px solid #e2e8f0;
|
|
box-shadow: 8px 0 24px rgba(15, 23, 42, .16);
|
|
transform: translateX(-105%);
|
|
transition: transform 180ms ease;
|
|
}
|
|
|
|
.mail-nav-drawer--open { transform: translateX(0); }
|
|
.mail-mobile-box-title {
|
|
display: flex !important;
|
|
align-items: center;
|
|
gap: .55rem;
|
|
margin: .35rem 0 .55rem;
|
|
color: #0f172a;
|
|
font-size: 1.45rem;
|
|
font-weight: 600;
|
|
}
|
|
.mail-mobile-box-title i { color: #3b82f6; font-size: 1.35rem; }
|
|
.mail-box-content > .widget__heading { display: none; }
|
|
.mail-nav-drawer .mail-compose-btn { display: flex !important; margin: 0 .85rem .75rem !important; }
|
|
.mail-nav-drawer .sidebar,
|
|
.mail-nav-drawer .sidebarquickview { display: flex !important; flex-direction: column !important; width: 100% !important; }
|
|
.mail-nav-drawer .sidebarquickview { margin-top: .5rem; border-top: 1px solid #e2e8f0; padding-top: .5rem; }
|
|
.mail-nav-drawer .sidebarquickview h6 { display: block !important; margin: 0 .9rem .35rem; color: #64748b; }
|
|
.mail-nav-drawer .sidebar a,
|
|
.mail-nav-drawer .sidebarquickview a { display: flex !important; width: auto; padding: .7rem 1rem !important; border-radius: 0 !important; }
|
|
.mail-nav-drawer .sidebar a .sidebar-link-text { display: inline !important; }
|
|
.mail-nav-drawer .sidebar a i { margin-right: .75rem !important; font-size: 1.1rem !important; }
|
|
}
|
|
|
|
|
|
|
|
@use '../abstracts' as *;
|
|
|
|
.network-container {
|
|
display: flex;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
background-color: #f1f5f9;
|
|
}
|
|
|
|
.network-left-pane {
|
|
width: 320px;
|
|
min-width: 300px;
|
|
max-width: 350px;
|
|
border-right: 1px solid #cbd5e1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background: #ffffff;
|
|
box-shadow: 2px 0 5px rgba(0, 0, 0, 0.05);
|
|
}
|
|
|
|
.own-profile-card {
|
|
padding: 1.25rem;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
|
|
.profile-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.profile-info {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
|
|
.profile-name {
|
|
font-weight: 700;
|
|
color: #1e293b;
|
|
font-size: 1.1rem;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.profile-status {
|
|
font-size: 0.85rem;
|
|
color: #10b981;
|
|
font-weight: 500;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.35rem;
|
|
|
|
&::before {
|
|
content: '';
|
|
display: inline-block;
|
|
width: 8px;
|
|
height: 8px;
|
|
background-color: #10b981;
|
|
border-radius: 50%;
|
|
}
|
|
}
|
|
}
|
|
|
|
.own-identity-select-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.25rem;
|
|
|
|
label {
|
|
font-size: 0.75rem;
|
|
color: #64748b;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
}
|
|
|
|
select.own-identity-select {
|
|
width: 100%;
|
|
padding: 0.375rem 0.5rem;
|
|
font-size: 0.85rem;
|
|
border: 1px solid #cbd5e1;
|
|
border-radius: 0.375rem;
|
|
background-color: #ffffff;
|
|
color: #334155;
|
|
outline: none;
|
|
cursor: pointer;
|
|
transition: border-color 0.2s;
|
|
|
|
&:focus {
|
|
border-color: #3ba4d7;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.friends-list-container {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
|
|
.searchbar-container {
|
|
padding: 0.75rem 1rem;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
|
|
input.searchbar {
|
|
width: 100%;
|
|
padding: 0.5rem 0.75rem;
|
|
font-size: 0.9rem;
|
|
border: 1px solid #cbd5e1;
|
|
border-radius: 0.375rem;
|
|
background-color: #f8fafc;
|
|
outline: none;
|
|
transition: all 0.2s;
|
|
|
|
&:focus {
|
|
background-color: #ffffff;
|
|
border-color: #3ba4d7;
|
|
box-shadow: 0 0 0 3px rgba(59, 164, 215, 0.15);
|
|
}
|
|
}
|
|
}
|
|
|
|
.friends-scroll {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 0.5rem 0;
|
|
}
|
|
}
|
|
|
|
.friend-list-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
padding: 0.75rem 1rem;
|
|
margin: 0.125rem 0.5rem;
|
|
border-radius: 0.5rem;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
|
|
&:hover {
|
|
background-color: #f1f5f9;
|
|
}
|
|
|
|
&.selected {
|
|
background-color: #e0f2fe;
|
|
|
|
.friend-name {
|
|
color: #0369a1;
|
|
font-weight: 600;
|
|
}
|
|
}
|
|
|
|
.friend-avatar {
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.friend-meta {
|
|
flex: 1;
|
|
min-width: 0;
|
|
|
|
.friend-name {
|
|
font-size: 0.95rem;
|
|
color: #334155;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
transition: color 0.2s;
|
|
}
|
|
|
|
.friend-status {
|
|
font-size: 0.8rem;
|
|
color: #94a3b8;
|
|
|
|
&.online {
|
|
color: #10b981;
|
|
font-weight: 500;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.network-right-pane {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
background-color: #f8fafc;
|
|
}
|
|
|
|
.network-pane-placeholder {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
color: #94a3b8;
|
|
gap: 1rem;
|
|
padding: 2rem;
|
|
text-align: center;
|
|
|
|
i {
|
|
font-size: 4rem;
|
|
color: #cbd5e1;
|
|
}
|
|
|
|
p {
|
|
font-size: 1.1rem;
|
|
max-width: 400px;
|
|
}
|
|
}
|
|
|
|
.network-tabs {
|
|
display: flex;
|
|
background-color: #ffffff;
|
|
border-bottom: 1px solid #cbd5e1;
|
|
padding: 0.5rem 1rem 0;
|
|
gap: 0.5rem;
|
|
|
|
.tab-btn {
|
|
padding: 0.625rem 1.25rem;
|
|
font-size: 0.95rem;
|
|
font-weight: 600;
|
|
color: #64748b;
|
|
background: transparent;
|
|
border: none;
|
|
border-radius: 0.375rem 0.375rem 0 0;
|
|
border-bottom: 3px solid transparent;
|
|
cursor: pointer;
|
|
box-shadow: none;
|
|
transition: all 0.2s;
|
|
|
|
&:hover {
|
|
color: #334155;
|
|
background-color: #f1f5f9;
|
|
}
|
|
|
|
&.active {
|
|
color: #3ba4d7;
|
|
border-bottom-color: #3ba4d7;
|
|
background-color: transparent;
|
|
}
|
|
}
|
|
}
|
|
|
|
.network-tab-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 1.5rem;
|
|
}
|
|
|
|
.network-detail-view {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.5rem;
|
|
|
|
.detail-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1.5rem;
|
|
padding-bottom: 1.5rem;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
|
|
.detail-title {
|
|
flex: 1;
|
|
|
|
h2 {
|
|
font-size: 1.75rem;
|
|
font-weight: 800;
|
|
color: #1e293b;
|
|
margin-bottom: 0.25rem;
|
|
}
|
|
|
|
.detail-subtitle {
|
|
font-size: 0.9rem;
|
|
color: #64748b;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
}
|
|
|
|
.detail-actions {
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
|
|
button {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem 1rem;
|
|
font-size: 0.9rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
.detail-section {
|
|
background-color: #ffffff;
|
|
border-radius: 0.5rem;
|
|
border: 1px solid #e2e8f0;
|
|
padding: 1.25rem;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
|
|
|
|
h3 {
|
|
font-size: 1.1rem;
|
|
font-weight: 700;
|
|
color: #334155;
|
|
margin-bottom: 1rem;
|
|
padding-bottom: 0.5rem;
|
|
border-bottom: 1px solid #f1f5f9;
|
|
}
|
|
|
|
.info-grid {
|
|
display: grid;
|
|
grid-template-columns: 120px 1fr;
|
|
row-gap: 0.75rem;
|
|
font-size: 0.9rem;
|
|
|
|
.info-label {
|
|
font-weight: 600;
|
|
color: #64748b;
|
|
}
|
|
|
|
.info-value {
|
|
color: #1e293b;
|
|
word-break: break-all;
|
|
}
|
|
}
|
|
}
|
|
|
|
.locations-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
|
gap: 1rem;
|
|
}
|
|
|
|
.location-card {
|
|
background-color: #ffffff;
|
|
border: 1px solid #e2e8f0;
|
|
border-radius: 0.5rem;
|
|
padding: 1rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
|
|
|
|
.loc-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
border-bottom: 1px solid #f1f5f9;
|
|
padding-bottom: 0.5rem;
|
|
margin-bottom: 0.25rem;
|
|
|
|
.loc-name {
|
|
font-weight: 700;
|
|
color: #334155;
|
|
font-size: 0.95rem;
|
|
}
|
|
|
|
.loc-status {
|
|
font-size: 0.75rem;
|
|
font-weight: 600;
|
|
padding: 0.125rem 0.5rem;
|
|
border-radius: 0.25rem;
|
|
|
|
&.online {
|
|
background-color: #d1fae5;
|
|
color: #065f46;
|
|
}
|
|
|
|
&.offline {
|
|
background-color: #f1f5f9;
|
|
color: #475569;
|
|
}
|
|
}
|
|
}
|
|
|
|
.loc-body {
|
|
font-size: 0.85rem;
|
|
display: grid;
|
|
grid-template-columns: 80px 1fr;
|
|
row-gap: 0.25rem;
|
|
|
|
.loc-label {
|
|
color: #64748b;
|
|
}
|
|
|
|
.loc-val {
|
|
color: #334155;
|
|
word-break: break-all;
|
|
}
|
|
}
|
|
|
|
.loc-footer {
|
|
margin-top: 0.5rem;
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
|
|
button {
|
|
font-size: 0.8rem;
|
|
padding: 0.25rem 0.75rem;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.network-chat-view {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
background-color: #f8fafc;
|
|
|
|
.chat-messages {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 1.25rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.chat-bubble-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
max-width: 70%;
|
|
|
|
&.outgoing {
|
|
align-self: flex-end;
|
|
align-items: flex-end;
|
|
|
|
.chat-bubble {
|
|
background-color: #3ba4d7;
|
|
color: #ffffff;
|
|
border-bottom-right-radius: 0.125rem;
|
|
}
|
|
}
|
|
|
|
&.incoming {
|
|
align-self: flex-start;
|
|
align-items: flex-start;
|
|
|
|
.chat-bubble {
|
|
background-color: #ffffff;
|
|
color: #1e293b;
|
|
border: 1px solid #e2e8f0;
|
|
border-bottom-left-radius: 0.125rem;
|
|
}
|
|
}
|
|
|
|
.chat-sender {
|
|
font-size: 0.75rem;
|
|
color: #64748b;
|
|
margin-bottom: 0.25rem;
|
|
padding: 0 0.25rem;
|
|
}
|
|
|
|
.chat-bubble {
|
|
padding: 0.625rem 0.875rem;
|
|
border-radius: 0.75rem;
|
|
font-size: 0.925rem;
|
|
line-height: 1.4;
|
|
white-space: break-spaces;
|
|
word-break: break-word;
|
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
|
|
}
|
|
|
|
.chat-time {
|
|
font-size: 0.7rem;
|
|
color: #94a3b8;
|
|
margin-top: 0.25rem;
|
|
padding: 0 0.25rem;
|
|
}
|
|
}
|
|
|
|
.chat-input-area {
|
|
padding: 1rem;
|
|
background-color: #ffffff;
|
|
border-top: 1px solid #cbd5e1;
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
align-items: center;
|
|
|
|
textarea.chat-textarea {
|
|
flex: 1;
|
|
resize: none;
|
|
height: 40px;
|
|
padding: 0.5rem 0.75rem;
|
|
border: 1px solid #cbd5e1;
|
|
border-radius: 0.375rem;
|
|
font-size: 0.9rem;
|
|
outline: none;
|
|
transition: all 0.2s;
|
|
|
|
&:focus {
|
|
border-color: #3ba4d7;
|
|
box-shadow: 0 0 0 3px rgba(59, 164, 215, 0.15);
|
|
}
|
|
}
|
|
|
|
button.send-btn {
|
|
padding: 0.5rem 1.25rem;
|
|
font-size: 0.9rem;
|
|
height: 40px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
}
|
|
|
|
.chat-warning {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
color: #64748b;
|
|
text-align: center;
|
|
padding: 2rem;
|
|
gap: 1rem;
|
|
|
|
i {
|
|
font-size: 3rem;
|
|
color: #cbd5e1;
|
|
}
|
|
|
|
h4 {
|
|
font-weight: 700;
|
|
color: #334155;
|
|
}
|
|
|
|
p {
|
|
max-width: 350px;
|
|
font-size: 0.9rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Responsive Layout for Mobile/Small Screens */
|
|
@media (max-width: 768px) {
|
|
.network-container {
|
|
flex-direction: column !important;
|
|
}
|
|
|
|
.network-left-pane {
|
|
width: 100% !important;
|
|
max-width: none !important;
|
|
height: 45% !important;
|
|
border-right: none !important;
|
|
border-bottom: 1px solid #cbd5e1 !important;
|
|
}
|
|
|
|
.network-right-pane {
|
|
height: 55% !important;
|
|
flex: 1 !important;
|
|
}
|
|
|
|
/* Hide text labels on mobile screens so profile action buttons show icons only */
|
|
.detail-actions button .btn-text,
|
|
.detail-header .detail-actions button .btn-text {
|
|
display: none !important;
|
|
}
|
|
|
|
.detail-actions button,
|
|
.detail-header .detail-actions button {
|
|
padding: 0.45rem 0.65rem !important;
|
|
min-width: 38px !important;
|
|
height: 38px !important;
|
|
justify-content: center !important;
|
|
align-items: center !important;
|
|
}
|
|
|
|
.detail-actions button i,
|
|
.detail-header .detail-actions button i {
|
|
margin: 0 !important;
|
|
font-size: 1.05rem !important;
|
|
}
|
|
|
|
.network-detail-view .detail-header {
|
|
flex-direction: column !important;
|
|
align-items: flex-start !important;
|
|
gap: 1rem !important;
|
|
|
|
.friend-avatar {
|
|
margin-bottom: 0.25rem !important;
|
|
}
|
|
}
|
|
|
|
.locations-grid {
|
|
grid-template-columns: 1fr !important;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.identity {
|
|
color: #444;
|
|
font-size: 1.1em;
|
|
margin: 20px;
|
|
padding: 10px;
|
|
border: 1px solid #aaa;
|
|
border-radius: 20px;
|
|
& > h4 {
|
|
margin: 5px;
|
|
font-size: 1.3em;
|
|
}
|
|
& button {
|
|
font-size: 0.9em;
|
|
}
|
|
& .details {
|
|
display: grid;
|
|
grid-template-columns: 140px auto;
|
|
grid-row-gap: 5px;
|
|
justify-content: left;
|
|
}
|
|
}
|
|
|
|
.defaultAvatar {
|
|
width: 3rem;
|
|
height: 3rem;
|
|
aspect-ratio: 1;
|
|
background: lightsteelblue;
|
|
border-radius: 50%;
|
|
display: grid;
|
|
place-items: center;
|
|
& p {
|
|
font-weight: 900;
|
|
color: #666f7f;
|
|
transform: translateY(1px);
|
|
}
|
|
}
|
|
img.avatar {
|
|
display: block;
|
|
width: 3rem;
|
|
height: max-content;
|
|
aspect-ratio: 1;
|
|
margin-right: 0.3em;
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.counter {
|
|
margin-left: 0.5em;
|
|
&:before {
|
|
content: '(';
|
|
}
|
|
&:after {
|
|
content: ')';
|
|
}
|
|
}
|
|
|
|
.chatInit {
|
|
margin-left: 0.5em;
|
|
color: green;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.people-sidebar-header {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 0.75rem 1rem 0.5rem 1rem;
|
|
gap: 0.75rem;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
background-color: #ffffff;
|
|
|
|
.searchbar-wrapper {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
i.fa-search {
|
|
position: absolute;
|
|
left: 0.85rem;
|
|
color: #94a3b8;
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
input.searchbar-input {
|
|
width: 100%;
|
|
padding: 0.5rem 0.75rem 0.5rem 2.25rem;
|
|
border: 1px solid #e2e8f0;
|
|
border-radius: 0.5rem;
|
|
font-size: 0.9rem;
|
|
background-color: #f8fafc;
|
|
color: #1e293b;
|
|
outline: none;
|
|
transition: all 0.2s ease;
|
|
|
|
&:focus {
|
|
border-color: #3b82f6;
|
|
background-color: #ffffff;
|
|
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
|
|
}
|
|
}
|
|
}
|
|
|
|
.segmented-control {
|
|
display: flex;
|
|
background-color: #f1f5f9;
|
|
padding: 3px;
|
|
border-radius: 0.5rem;
|
|
gap: 4px;
|
|
|
|
button.segment-tab {
|
|
flex: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem 0.75rem;
|
|
font-size: 0.9rem;
|
|
font-weight: 600;
|
|
color: #64748b;
|
|
background: transparent;
|
|
border: none;
|
|
border-radius: 0.375rem;
|
|
cursor: pointer;
|
|
box-shadow: none;
|
|
transition: all 0.2s ease;
|
|
|
|
&:hover {
|
|
color: #1e293b;
|
|
}
|
|
|
|
&.active {
|
|
background-color: #ffffff;
|
|
color: #0f172a;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
|
|
|
|
.segment-badge {
|
|
background-color: #019dff;
|
|
color: #ffffff;
|
|
}
|
|
}
|
|
|
|
.segment-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background-color: #cbd5e1;
|
|
color: #334155;
|
|
font-size: 0.75rem;
|
|
font-weight: 700;
|
|
min-width: 1.25rem;
|
|
height: 1.25rem;
|
|
padding: 0 0.35rem;
|
|
border-radius: 9999px;
|
|
line-height: 1;
|
|
transition: all 0.2s ease;
|
|
}
|
|
}
|
|
}
|
|
|
|
.sub-filter-row {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 0.5rem;
|
|
min-height: 32px;
|
|
|
|
select.filter-select {
|
|
padding: 0.35rem 0.6rem;
|
|
border: 1px solid #cbd5e1;
|
|
border-radius: 0.375rem;
|
|
font-size: 0.85rem;
|
|
font-weight: 600;
|
|
color: #475569;
|
|
background-color: #ffffff;
|
|
cursor: pointer;
|
|
outline: none;
|
|
}
|
|
|
|
.btn-add-id {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: 0.375rem;
|
|
background-color: #3b82f6;
|
|
color: #ffffff;
|
|
border: none;
|
|
cursor: pointer;
|
|
font-size: 0.9rem;
|
|
transition: background-color 0.2s;
|
|
|
|
&:hover {
|
|
background-color: #2563eb;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Main People Page Flex Layout Container */
|
|
.people-container {
|
|
display: flex !important;
|
|
flex-direction: row !important;
|
|
height: 100% !important;
|
|
width: 100% !important;
|
|
overflow: hidden !important;
|
|
background-color: #f1f5f9 !important;
|
|
}
|
|
|
|
/* Left Sidebar Pane (320px fixed width on Desktop) */
|
|
.people-left-pane {
|
|
width: 320px !important;
|
|
min-width: 300px !important;
|
|
max-width: 350px !important;
|
|
height: 100% !important;
|
|
border-right: 1px solid #cbd5e1 !important;
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
background: #ffffff !important;
|
|
box-shadow: 2px 0 5px rgba(0, 0, 0, 0.05) !important;
|
|
flex-shrink: 0 !important;
|
|
overflow: hidden !important;
|
|
}
|
|
|
|
/* Right Content Details Pane */
|
|
.people-right-pane {
|
|
flex: 1 !important;
|
|
min-width: 0 !important;
|
|
height: 100% !important;
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
overflow: hidden !important;
|
|
background-color: #f8fafc !important;
|
|
}
|
|
|
|
/* Scrollable list section inside left sidebar */
|
|
.people-list-container {
|
|
flex: 1 !important;
|
|
overflow-y: auto !important;
|
|
padding: 0.5rem 0 !important;
|
|
}
|
|
|
|
/* Active Chats list item */
|
|
.chat-item {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
gap: 0.75rem !important;
|
|
padding: 0.65rem 0.85rem !important;
|
|
margin: 0.2rem 0.5rem !important;
|
|
border-radius: 0.5rem !important;
|
|
cursor: pointer !important;
|
|
transition: all 0.2s ease !important;
|
|
position: relative !important;
|
|
|
|
&:hover {
|
|
background-color: #f1f5f9 !important;
|
|
}
|
|
|
|
&.selected {
|
|
background-color: #e0f2fe !important;
|
|
|
|
.chat-name {
|
|
color: #0369a1 !important;
|
|
font-weight: 700 !important;
|
|
}
|
|
}
|
|
|
|
.chat-avatar-wrapper {
|
|
position: relative !important;
|
|
flex-shrink: 0 !important;
|
|
|
|
.status-dot {
|
|
position: absolute !important;
|
|
bottom: 0 !important;
|
|
right: 0 !important;
|
|
width: 10px !important;
|
|
height: 10px !important;
|
|
border-radius: 50% !important;
|
|
border: 2px solid #ffffff !important;
|
|
}
|
|
}
|
|
|
|
.chat-info {
|
|
flex: 1 !important;
|
|
min-width: 0 !important;
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
|
|
.chat-name {
|
|
font-size: 0.95rem !important;
|
|
font-weight: 600 !important;
|
|
color: #1e293b !important;
|
|
white-space: nowrap !important;
|
|
overflow: hidden !important;
|
|
text-overflow: ellipsis !important;
|
|
}
|
|
|
|
.chat-last-msg {
|
|
font-size: 0.825rem !important;
|
|
color: #64748b !important;
|
|
white-space: nowrap !important;
|
|
overflow: hidden !important;
|
|
text-overflow: ellipsis !important;
|
|
margin-top: 0.1rem !important;
|
|
}
|
|
}
|
|
|
|
.chat-meta {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
align-items: flex-end !important;
|
|
flex-shrink: 0 !important;
|
|
|
|
.chat-time {
|
|
font-size: 0.75rem !important;
|
|
color: #94a3b8 !important;
|
|
font-weight: 500 !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Responsive Layout for Mobile/Small Screens */
|
|
@media (max-width: 768px) {
|
|
.people-container {
|
|
flex-direction: column !important;
|
|
}
|
|
.people-left-pane {
|
|
width: 100% !important;
|
|
max-width: none !important;
|
|
height: 45% !important;
|
|
border-right: none !important;
|
|
border-bottom: 1px solid #cbd5e1 !important;
|
|
}
|
|
.people-right-pane {
|
|
height: 55% !important;
|
|
}
|
|
|
|
/* Hide text labels on mobile screens so profile action buttons show icons only */
|
|
.detail-actions button .btn-text,
|
|
.detail-header .detail-actions button .btn-text {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Hide Distant Chat Tunnel and Chatting as text on mobile screens to save header space */
|
|
.chat-tunnel-status .tunnel-label,
|
|
.select-own-profile .chatting-as-label {
|
|
display: none !important;
|
|
}
|
|
|
|
.detail-actions button,
|
|
.detail-header .detail-actions button {
|
|
padding: 0.45rem 0.65rem !important;
|
|
min-width: 38px !important;
|
|
height: 38px !important;
|
|
justify-content: center !important;
|
|
align-items: center !important;
|
|
}
|
|
|
|
|
|
/* People Sidebar Right-Click Context Menu */
|
|
.people-context-menu {
|
|
position: absolute !important;
|
|
z-index: 9999 !important;
|
|
background-color: #ffffff !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
border-radius: 8px !important;
|
|
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
|
|
padding: 0.35rem 0 !important;
|
|
min-width: 180px !important;
|
|
font-family: inherit !important;
|
|
overflow: hidden !important;
|
|
|
|
.menu-item {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
padding: 0.6rem 0.9rem !important;
|
|
font-size: 0.875rem !important;
|
|
font-weight: 500 !important;
|
|
color: #1e293b !important;
|
|
cursor: pointer !important;
|
|
transition: background-color 0.15s ease, color 0.15s ease !important;
|
|
user-select: none !important;
|
|
|
|
&:hover {
|
|
background-color: #f1f5f9 !important;
|
|
color: #0284c7 !important;
|
|
}
|
|
|
|
i {
|
|
font-size: 1rem !important;
|
|
width: 1.25rem !important;
|
|
text-align: center !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// This file contains all application-wide button styles.
|
|
// -----------------------------------------------------------------------------
|
|
@use "../abstracts" as *;
|
|
|
|
button {
|
|
@include button($primary-color);
|
|
white-space: nowrap !important;
|
|
flex-shrink: 0 !important;
|
|
}
|
|
button.red {
|
|
@include button($red-color);
|
|
white-space: nowrap !important;
|
|
flex-shrink: 0 !important;
|
|
}
|
|
|
|
|
|
|
|
|
|
@forward 'buttons';
|
|
@forward 'media';
|
|
@forward 'navbar';
|
|
@forward 'posts';
|
|
@forward 'progress-bar';
|
|
@forward 'statusbar';
|
|
|
|
|
|
|
|
|
|
@use 'sass:color';
|
|
@use '../abstracts' as *;
|
|
|
|
.media-item {
|
|
display: flex;
|
|
margin-top: 0.5rem;
|
|
padding: 1rem;
|
|
border: 1px solid color.adjust($dark-color, $alpha: -0.9);
|
|
border-radius: 4px;
|
|
|
|
&__details {
|
|
flex-basis: 40%;
|
|
@include flex($align: start, $gap: 0.5rem);
|
|
|
|
& img {
|
|
width: 6rem;
|
|
object-fit: contain;
|
|
}
|
|
}
|
|
|
|
&__desc {
|
|
flex-basis: 60%;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
&__desc {
|
|
display: none !important;
|
|
}
|
|
|
|
&__details {
|
|
flex-basis: 100% !important;
|
|
width: 100% !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@use 'sass:color';
|
|
@use '../abstracts' as *;
|
|
|
|
.active-link {
|
|
background: rgba(255, 255, 255, 0.1) !important;
|
|
}
|
|
|
|
/* Navbar */
|
|
.nav-menu {
|
|
background-color: $dark-color;
|
|
box-shadow: 0 5px 5px #222;
|
|
@include flex(column, $align: center);
|
|
height: 100%;
|
|
padding: 0.25rem;
|
|
margin-right: 0rem;
|
|
|
|
&__logo {
|
|
padding: 1.2rem 0;
|
|
@include flex($align: center, $gap: 0.3rem);
|
|
|
|
img {
|
|
width: 1.6rem;
|
|
}
|
|
|
|
h5 {
|
|
line-height: 1;
|
|
color: white;
|
|
}
|
|
}
|
|
|
|
&__box {
|
|
padding: 2rem 0.125rem;
|
|
@include flex(column, $gap: 0.5rem);
|
|
position: relative;
|
|
|
|
.item {
|
|
margin: 0;
|
|
padding: 0.675rem 0.5rem;
|
|
width: 10rem;
|
|
@include flex($align: center);
|
|
line-height: 1;
|
|
border-radius: 0.5rem;
|
|
text-decoration: none;
|
|
color: #ccc;
|
|
text-transform: capitalize;
|
|
transition: 0ms;
|
|
|
|
&:hover {
|
|
background-color: color.adjust($light-color, $alpha: -0.85);
|
|
}
|
|
|
|
i.sidenav-icon {
|
|
width: 2.5rem;
|
|
height: 1.4rem;
|
|
display: grid;
|
|
place-items: center;
|
|
}
|
|
}
|
|
|
|
.item.item-selected {
|
|
color: $primary-light-color;
|
|
background-color: color.adjust($primary-light-color, $alpha: -0.85);
|
|
font-weight: medium;
|
|
}
|
|
|
|
button.toggle-nav {
|
|
display: none;
|
|
position: absolute;
|
|
padding: 0;
|
|
top: 0;
|
|
right: -1rem;
|
|
background: color.adjust($primary-color, $lightness: 15%);
|
|
width: 1.5rem;
|
|
height: 1.5rem;
|
|
aspect-ratio: 1;
|
|
justify-content: center;
|
|
align-items: center;
|
|
border-radius: 50%;
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
|
|
&.collapsed {
|
|
.nav-menu__logo {
|
|
.logo-container {
|
|
@include flex(column, $align: center, $gap: 0.5rem);
|
|
|
|
&>*:not(img) {
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
& .nav-menu__logo-text {
|
|
display: none !important;
|
|
}
|
|
}
|
|
|
|
.nav-menu__box {
|
|
.item {
|
|
padding: 0.675rem 0;
|
|
width: 2.5rem;
|
|
justify-content: center;
|
|
transition: 300ms;
|
|
|
|
& span,
|
|
& p {
|
|
display: none !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
button i {
|
|
rotate: 180deg;
|
|
}
|
|
}
|
|
|
|
// only show toggle button when sidebar is hovered
|
|
&:hover button.toggle-nav {
|
|
display: flex;
|
|
}
|
|
}
|
|
|
|
.sidebar {
|
|
width: 13rem;
|
|
background-color: white;
|
|
@include flex(column);
|
|
|
|
& a {
|
|
text-decoration: none;
|
|
text-transform: capitalize;
|
|
padding: 1rem;
|
|
cursor: pointer;
|
|
color: #999;
|
|
|
|
&:hover {
|
|
color: #222;
|
|
}
|
|
}
|
|
|
|
& .selected-sidebar-link {
|
|
font-weight: bold;
|
|
color: #222;
|
|
border-left: 5px solid #3ba4d7;
|
|
animation: expand-left-border 0.1s;
|
|
}
|
|
}
|
|
|
|
.sidebar-mobile-toggle,
|
|
.sidebar-drawer__title,
|
|
.sidebar-drawer__backdrop { display: none !important; }
|
|
|
|
.sidebarquickview {
|
|
&>h6 {
|
|
padding: 0.5rem;
|
|
}
|
|
|
|
& a {
|
|
text-decoration: none;
|
|
text-transform: capitalize;
|
|
padding: 0.5rem 1rem;
|
|
display: block;
|
|
color: #999;
|
|
|
|
& a:hover {
|
|
color: #222;
|
|
}
|
|
}
|
|
|
|
& .selected-sidebarquickview-link {
|
|
font-weight: bold;
|
|
color: #222;
|
|
border-left: 5px solid #3ba4d7;
|
|
animation: expand-left-border 0.1s;
|
|
}
|
|
}
|
|
|
|
/* Content adjacent to sidebar */
|
|
.node-panel {
|
|
width: 100%;
|
|
padding: 0.5rem;
|
|
animation: fadein 0.5s;
|
|
}
|
|
|
|
@keyframes expand-left-border {
|
|
from {
|
|
border-left: 0;
|
|
}
|
|
|
|
to {
|
|
border-left: 5px solid #3ba4d7;
|
|
}
|
|
}
|
|
|
|
/* GLOBAL SIDEBAR TO TABS */
|
|
@media (max-width: 700px) {
|
|
.tab-content {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.sidebar {
|
|
width: 100% !important;
|
|
flex-direction: row !important;
|
|
overflow-x: auto !important;
|
|
overflow-y: hidden !important;
|
|
white-space: nowrap !important;
|
|
border-bottom: 1px solid rgba(20, 20, 27, 0.1) !important;
|
|
background: white !important;
|
|
z-index: 50 !important;
|
|
flex-shrink: 0 !important;
|
|
height: auto !important;
|
|
padding: 0 !important;
|
|
}
|
|
|
|
.sidebar a {
|
|
display: inline-block !important;
|
|
padding: 0.8rem 1.2rem !important;
|
|
border-bottom: 3px solid transparent !important;
|
|
border-left: none !important;
|
|
}
|
|
|
|
.sidebar .selected-sidebar-link {
|
|
border-left: none !important;
|
|
border-bottom: 3px solid #3ba4d7 !important;
|
|
animation: none !important;
|
|
}
|
|
|
|
/* Hide quickview headings on mobile to save space if needed */
|
|
.sidebarquickview>h4,
|
|
.sidebarquickview>h6 {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Boards, Channels and Forums use a drawer instead of the horizontal tabs. */
|
|
.sidebar-drawer {
|
|
display: block;
|
|
position: relative;
|
|
width: 100%;
|
|
height: 44px;
|
|
z-index: 1000;
|
|
}
|
|
|
|
.sidebar-mobile-toggle {
|
|
display: inline-flex !important;
|
|
width: 40px;
|
|
height: 40px;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border: 0;
|
|
border-radius: 6px;
|
|
background: #ffffff;
|
|
color: #0f172a;
|
|
cursor: pointer;
|
|
font-size: 1.15rem;
|
|
}
|
|
|
|
.sidebar-mobile-toggle:hover { background: #f1f5f9; }
|
|
|
|
.sidebar-drawer .sidebar {
|
|
position: fixed !important;
|
|
top: 0;
|
|
left: 0;
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
width: min(82vw, 300px) !important;
|
|
height: 100dvh !important;
|
|
padding: 1rem 0 !important;
|
|
overflow-y: auto !important;
|
|
overflow-x: hidden !important;
|
|
transform: translateX(-105%);
|
|
transition: transform 180ms ease;
|
|
border: 0 !important;
|
|
border-right: 1px solid #e2e8f0 !important;
|
|
background: #ffffff !important;
|
|
opacity: 1 !important;
|
|
pointer-events: auto !important;
|
|
box-shadow: 8px 0 24px rgba(15, 23, 42, 0.16);
|
|
white-space: normal !important;
|
|
z-index: 1002;
|
|
}
|
|
|
|
.sidebar-drawer .sidebar.sidebar--mobile-open { transform: translateX(0); }
|
|
.sidebar-drawer .sidebar a {
|
|
display: block !important;
|
|
padding: .8rem 1.25rem !important;
|
|
border: 0 !important;
|
|
border-left: 4px solid transparent !important;
|
|
color: #334155 !important;
|
|
font-size: .95rem;
|
|
}
|
|
|
|
.sidebar-drawer .sidebar .selected-sidebar-link {
|
|
border-left-color: #3ba4d7 !important;
|
|
border-bottom: 0 !important;
|
|
background: #f0f9ff;
|
|
color: #0f172a !important;
|
|
}
|
|
|
|
.sidebar-drawer__title {
|
|
display: block !important;
|
|
margin: 0 1.25rem .65rem;
|
|
padding-bottom: .75rem;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
color: #64748b;
|
|
font-size: .75rem;
|
|
font-weight: 700;
|
|
letter-spacing: .06em;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.sidebar-drawer__backdrop {
|
|
display: none !important;
|
|
position: fixed;
|
|
inset: 0;
|
|
background: rgba(15, 23, 42, .35);
|
|
/* The drawer itself owns navigation input; this layer is visual only. */
|
|
pointer-events: none;
|
|
z-index: 1001;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 701px) {
|
|
.sidebar-drawer { display: contents; }
|
|
.sidebar-mobile-toggle,
|
|
.sidebar-drawer__title,
|
|
.sidebar-drawer__backdrop { display: none !important; }
|
|
}
|
|
|
|
|
|
|
|
@use 'sass:color';
|
|
@use '../abstracts' as *;
|
|
|
|
.posts {
|
|
height: 100%;
|
|
margin-top: 1rem;
|
|
flex-direction: column;
|
|
overflow: auto;
|
|
|
|
&__heading {
|
|
@include flex(column, $justify: space-between);
|
|
}
|
|
|
|
&-container {
|
|
height: 100%;
|
|
padding: 1rem;
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
|
gap: 2rem;
|
|
border: 1px solid color.adjust($dark-color, $alpha: -0.9);
|
|
border-radius: 4px;
|
|
overflow: auto;
|
|
|
|
&-card {
|
|
min-height: 240px;
|
|
flex-direction: column;
|
|
border: 1px solid color.adjust($dark-color, $alpha: -0.5);
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
text-align: center;
|
|
|
|
& img {
|
|
flex-basis: 90%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
& p {
|
|
padding: 0 0.125rem;
|
|
flex-basis: 10%;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@use 'sass:color';
|
|
@use '../abstracts/colors' as *;
|
|
|
|
.progress-bar {
|
|
width: 100%;
|
|
height: 2rem;
|
|
position: relative;
|
|
text-align: center;
|
|
background-color: $light-color;
|
|
border-radius: 20px;
|
|
overflow: hidden;
|
|
|
|
&__status {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
height: 100%;
|
|
color: $dark-color;
|
|
background-color: $primary-color;
|
|
}
|
|
|
|
&__percent {
|
|
position: absolute;
|
|
inset: 0;
|
|
margin: auto;
|
|
width: fit-content;
|
|
height: fit-content;
|
|
}
|
|
|
|
&-chunks {
|
|
position: relative;
|
|
margin-top: 0.5rem;
|
|
width: 100%;
|
|
height: 2rem;
|
|
display: flex;
|
|
border-radius: 0.25rem;
|
|
overflow: hidden;
|
|
background-color: $light-color;
|
|
|
|
& .chunk {
|
|
width: 100%;
|
|
|
|
&[data-chunkVal='0'] {
|
|
background-color: color.adjust($primary-light-color, $alpha: -0.8);
|
|
}
|
|
|
|
&[data-chunkVal='1'] {
|
|
background-color: $red-color;
|
|
}
|
|
|
|
&[data-chunkVal='2'] {
|
|
background-color: $primary-color;
|
|
}
|
|
|
|
&[data-chunkVal='3'] {
|
|
background-color: $golden-yellow-color;
|
|
}
|
|
}
|
|
|
|
&__percent {
|
|
position: absolute;
|
|
inset: 0;
|
|
margin: auto;
|
|
width: fit-content;
|
|
height: fit-content;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@use '../abstracts' as *;
|
|
|
|
/* Status Bar Styles */
|
|
.statusbar {
|
|
@include flex($justify: space-between, $align: center);
|
|
height: 28px;
|
|
background-color: $dark-color;
|
|
border-top: 1px solid #2e2e38;
|
|
padding: 0 1rem;
|
|
font-size: 0.8rem;
|
|
color: #94a3b8;
|
|
z-index: 100;
|
|
box-sizing: border-box;
|
|
user-select: none;
|
|
flex-shrink: 0;
|
|
|
|
&-left {
|
|
@include flex($align: center, $gap: 0.75rem);
|
|
}
|
|
|
|
&-right {
|
|
@include flex($align: center, $gap: 0.75rem);
|
|
}
|
|
|
|
&-item {
|
|
@include flex($align: center);
|
|
}
|
|
|
|
&-divider {
|
|
width: 1px;
|
|
height: 14px;
|
|
background-color: #2e2e38;
|
|
}
|
|
}
|
|
|
|
.status-bullet {
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: 50%;
|
|
display: inline-block;
|
|
box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.statusbar {
|
|
height: 22px !important;
|
|
padding: 0 0.4rem !important;
|
|
font-size: 0.72rem !important;
|
|
|
|
.statusbar-left,
|
|
.statusbar-right {
|
|
gap: 0.35rem !important;
|
|
}
|
|
|
|
.statusbar-label,
|
|
.statusbar-total-bytes,
|
|
.statusbar-extra-info {
|
|
display: none !important;
|
|
}
|
|
|
|
.statusbar-divider {
|
|
height: 10px !important;
|
|
margin: 0 0.1rem !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
/* =========================================================
|
|
Global Modal & Lightbox Overlay (#popupmessage)
|
|
========================================================= */
|
|
|
|
#popupmessage {
|
|
position: fixed !important;
|
|
top: 0 !important;
|
|
left: 0 !important;
|
|
right: 0 !important;
|
|
bottom: 0 !important;
|
|
width: 100vw !important;
|
|
height: 100vh !important;
|
|
background-color: rgba(15, 23, 42, 0.75) !important;
|
|
backdrop-filter: blur(4px) !important;
|
|
z-index: 999999 !important;
|
|
display: none;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
.popup {
|
|
position: fixed !important;
|
|
top: 50% !important;
|
|
left: 50% !important;
|
|
transform: translate(-50%, -50%) !important;
|
|
z-index: 1000000 !important;
|
|
max-width: 90vw !important;
|
|
max-height: 90vh !important;
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
.popup-content {
|
|
position: relative !important;
|
|
background: #ffffff !important;
|
|
border-radius: 12px !important;
|
|
padding: 1rem !important;
|
|
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 10px 10px -5px rgba(0, 0, 0, 0.2) !important;
|
|
max-width: 90vw !important;
|
|
max-height: 90vh !important;
|
|
overflow: auto !important;
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
.popup-content span.close {
|
|
position: absolute !important;
|
|
top: 0.5rem !important;
|
|
right: 0.75rem !important;
|
|
font-size: 1.75rem !important;
|
|
font-weight: 700 !important;
|
|
color: #64748b !important;
|
|
cursor: pointer !important;
|
|
line-height: 1 !important;
|
|
z-index: 10 !important;
|
|
transition: color 0.15s ease !important;
|
|
}
|
|
|
|
.popup-content span.close:hover {
|
|
color: #ef4444 !important;
|
|
}
|
|
|
|
.board-view-container {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
gap: 1rem !important;
|
|
width: 100% !important;
|
|
max-width: 100% !important;
|
|
overflow-x: hidden !important;
|
|
padding: 0.5rem 0 !important;
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
.board-table {
|
|
width: 100% !important;
|
|
border-collapse: collapse !important;
|
|
}
|
|
|
|
.board-table th,
|
|
.board-table td {
|
|
text-align: left !important;
|
|
padding: 0.65rem 0.85rem !important;
|
|
}
|
|
|
|
/* Toolbar Header Controls */
|
|
.board-toolbar {
|
|
display: flex !important;
|
|
flex-direction: row !important;
|
|
align-items: center !important;
|
|
justify-content: space-between !important;
|
|
gap: 1rem !important;
|
|
width: 100% !important;
|
|
padding: 0.5rem 0.85rem !important;
|
|
background-color: #ffffff !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
border-radius: 8px !important;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
.board-toolbar__left {
|
|
display: flex !important;
|
|
flex-direction: row !important;
|
|
align-items: center !important;
|
|
gap: 0.75rem !important;
|
|
flex: 1 !important;
|
|
min-width: 0 !important;
|
|
}
|
|
|
|
.board-toolbar__right {
|
|
display: flex !important;
|
|
flex-direction: row !important;
|
|
align-items: center !important;
|
|
gap: 0.65rem !important;
|
|
flex-shrink: 0 !important;
|
|
}
|
|
|
|
.board-toolbar__count-badge {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
gap: 0.4rem !important;
|
|
padding: 0.3rem 0.65rem !important;
|
|
background-color: #f1f5f9 !important;
|
|
color: #475569 !important;
|
|
font-size: 0.825rem !important;
|
|
font-weight: 600 !important;
|
|
border-radius: 16px !important;
|
|
border: 1px solid #e2e8f0 !important;
|
|
white-space: nowrap !important;
|
|
}
|
|
|
|
.board-toolbar__count-badge i {
|
|
color: #007bff !important;
|
|
}
|
|
|
|
.board-toolbar__search {
|
|
position: relative !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
flex: 1 !important;
|
|
max-width: 380px !important;
|
|
min-width: 160px !important;
|
|
}
|
|
|
|
.board-toolbar__search-icon {
|
|
position: absolute !important;
|
|
left: 0.75rem !important;
|
|
color: #94a3b8 !important;
|
|
font-size: 0.85rem !important;
|
|
pointer-events: none !important;
|
|
}
|
|
|
|
.board-toolbar__search-input {
|
|
width: 100% !important;
|
|
padding: 0.35rem 0.65rem 0.35rem 2.1rem !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
border-radius: 6px !important;
|
|
font-size: 0.85rem !important;
|
|
background-color: #ffffff !important;
|
|
color: #1e293b !important;
|
|
}
|
|
|
|
.board-toolbar__search-input:focus {
|
|
outline: none !important;
|
|
border-color: #007bff !important;
|
|
box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.15) !important;
|
|
}
|
|
|
|
.board-toolbar__view-toggle {
|
|
display: inline-flex !important;
|
|
flex-direction: row !important;
|
|
align-items: center !important;
|
|
background-color: #f1f5f9 !important;
|
|
padding: 2px !important;
|
|
border-radius: 6px !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
}
|
|
|
|
.board-toolbar__toggle-btn {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
gap: 0.35rem !important;
|
|
padding: 0.3rem 0.65rem !important;
|
|
border: none !important;
|
|
background: transparent !important;
|
|
color: #64748b !important;
|
|
font-size: 0.825rem !important;
|
|
font-weight: 500 !important;
|
|
border-radius: 4px !important;
|
|
cursor: pointer !important;
|
|
white-space: nowrap !important;
|
|
transition: all 0.2s ease !important;
|
|
}
|
|
|
|
.board-toolbar__toggle-btn i {
|
|
font-size: 0.85rem !important;
|
|
}
|
|
|
|
.board-toolbar__toggle-btn:hover {
|
|
color: #1e293b !important;
|
|
background-color: rgba(255, 255, 255, 0.6) !important;
|
|
}
|
|
|
|
.board-toolbar__toggle-btn--active {
|
|
background-color: #007bff !important;
|
|
color: #ffffff !important;
|
|
font-weight: 600 !important;
|
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
|
|
}
|
|
|
|
.board-toolbar__toggle-btn--active i {
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.board-toolbar__toggle-btn span {
|
|
display: none !important;
|
|
}
|
|
.board-toolbar__toggle-btn {
|
|
padding: 0.35rem 0.55rem !important;
|
|
}
|
|
}
|
|
|
|
/* YouTube-style discussion thread on a board post. */
|
|
.board-comments {
|
|
margin-top: 1.5rem;
|
|
max-width: 900px;
|
|
color: #0f172a;
|
|
}
|
|
|
|
.board-comments__heading {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
margin-bottom: 1.25rem;
|
|
}
|
|
|
|
.board-comments__heading h3 { margin: 0; font-size: 1.15rem; }
|
|
.board-comments__heading span { color: #64748b; font-size: .8rem; font-weight: 600; }
|
|
.board-comments__heading i { margin-right: .35rem; }
|
|
.board-comments__voter { display: inline-flex; align-items: center; gap: .4rem; margin-left: auto; color: #64748b; font-size: .75rem; font-weight: 600; white-space: nowrap; }
|
|
.board-comments__voter select { max-width: 180px; padding: .25rem .4rem; font-size: .78rem; }
|
|
|
|
.board-comment-composer,
|
|
.board-comment {
|
|
display: flex;
|
|
gap: .8rem;
|
|
}
|
|
|
|
.board-comment-avatar {
|
|
display: flex;
|
|
flex: 0 0 38px;
|
|
width: 38px;
|
|
height: 38px;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 50%;
|
|
background: linear-gradient(135deg, #2563eb, #7c3aed);
|
|
color: #fff;
|
|
font-size: .78rem;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.board-comment-composer__body,
|
|
.board-comment__content { min-width: 0; flex: 1; }
|
|
.board-comment-composer__identity { max-width: 240px; margin-bottom: .45rem; font-size: .8rem; }
|
|
|
|
.board-comment-composer__input {
|
|
width: 100%;
|
|
min-height: 36px;
|
|
padding: .45rem 0;
|
|
resize: vertical;
|
|
border: 0;
|
|
border-bottom: 1px solid #94a3b8;
|
|
border-radius: 0;
|
|
background: transparent;
|
|
color: #0f172a;
|
|
font: inherit;
|
|
line-height: 1.4;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.board-comment-composer__input:focus { outline: 0; border-bottom: 2px solid #2563eb; }
|
|
.board-comment-composer__input:disabled { cursor: not-allowed; opacity: .6; }
|
|
|
|
.board-comment-composer__actions,
|
|
.board-comment__actions {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .45rem;
|
|
margin-top: .55rem;
|
|
}
|
|
|
|
.board-comment-composer__actions { justify-content: flex-end; }
|
|
.board-comment-composer__actions button,
|
|
.board-comment__actions button,
|
|
.board-comment__like,
|
|
.board-comment-composer__replying button {
|
|
border: 0;
|
|
background: transparent;
|
|
color: #475569;
|
|
cursor: pointer;
|
|
font-size: .78rem;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.board-comment-composer__submit {
|
|
padding: .45rem .85rem !important;
|
|
border-radius: 999px !important;
|
|
background: #2563eb !important;
|
|
color: #fff !important;
|
|
}
|
|
.board-comment-composer__submit:disabled { background: #dbe3ef !important; color: #94a3b8 !important; cursor: not-allowed; }
|
|
.board-comment-composer__cancel:hover,
|
|
.board-comment__actions button:hover { color: #2563eb; }
|
|
|
|
.board-comment-composer__replying { display: flex; align-items: center; gap: .25rem; margin-bottom: .35rem; color: #64748b; font-size: .8rem; }
|
|
.board-comment-composer__replying button { margin-left: .3rem; }
|
|
.board-comment-composer__hint,
|
|
.board-comment-composer__error { margin: .4rem 0 0; font-size: .78rem; }
|
|
.board-comment-composer__hint { color: #64748b; }
|
|
.board-comment-composer__error { color: #dc2626; }
|
|
|
|
.board-comments__list { margin-top: 1.8rem; }
|
|
.board-comment { margin-top: 1.35rem; }
|
|
.board-comment__header { display: flex; align-items: center; justify-content: space-between; min-height: 18px; }
|
|
.board-comment__meta { display: flex; align-items: baseline; gap: .55rem; font-size: .8rem; }
|
|
.board-comment__meta b { color: #1e293b; }
|
|
.board-comment__meta span { color: #64748b; font-size: .75rem; }
|
|
.board-comment__menu { width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #0f172a; cursor: pointer; opacity: 0; }
|
|
.board-comment:hover .board-comment__menu, .board-comment__menu:focus { opacity: 1; }
|
|
.board-comment__menu:hover { background: #f1f5f9; }
|
|
.board-comment__text { margin: .2rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.45; }
|
|
.board-comment__actions { gap: .65rem; margin-top: .35rem; }
|
|
.board-comment__actions button { padding: .25rem .2rem; color: #0f172a; }
|
|
.board-comment__like { padding: .25rem .35rem; color: #94a3b8; }
|
|
.board-comment__actions i { margin-right: .2rem; }
|
|
.board-comment__replies-toggle {
|
|
position: relative;
|
|
margin-top: .3rem;
|
|
padding: .25rem .35rem;
|
|
border: 0;
|
|
background: transparent;
|
|
color: #2563eb;
|
|
cursor: pointer;
|
|
font-size: .78rem;
|
|
font-weight: 700;
|
|
}
|
|
.board-comment__replies-toggle:hover { background: #eff6ff; border-radius: 4px; }
|
|
.board-comment__replies-toggle i { margin-left: .15rem; }
|
|
.board-comment__replies-toggle::before { content: ''; position: absolute; left: -3.15rem; bottom: .8rem; width: 1.5rem; height: 2.2rem; border-left: 1px solid #e2e8f0; border-bottom: 1px solid #e2e8f0; border-radius: 0 0 0 .75rem; pointer-events: none; }
|
|
.board-comment__replies { margin-top: .2rem; padding-left: 1rem; border-left: 2px solid #e2e8f0; }
|
|
.board-comments__status,
|
|
.board-comments__empty { margin: 2rem 0; color: #64748b; text-align: center; }
|
|
.board-comments__empty i { font-size: 1.5rem; }
|
|
|
|
@media (max-width: 560px) {
|
|
.board-comments__heading { flex-wrap: wrap; justify-content: space-between; gap: .5rem; }
|
|
.board-comments__voter { width: 100%; margin-left: 0; }
|
|
.board-comments__voter select { flex: 1; max-width: none; }
|
|
.board-comment-composer, .board-comment { gap: .6rem; }
|
|
.board-comment-avatar { flex-basis: 32px; width: 32px; height: 32px; font-size: .68rem; }
|
|
.board-comment__replies { padding-left: .6rem; }
|
|
.board-comment__replies-toggle::before { left: -2.65rem; width: 1.2rem; }
|
|
.board-card__notes-btn span { display: none; }
|
|
.board-card__notes-btn { width: 30px; height: 30px; justify-content: center; padding: 0 !important; }
|
|
.board-card__notes-btn i { margin: 0 !important; }
|
|
}
|
|
|
|
/* Pagination Controls (< 1 - 25 >) on exact same level right next to toggle */
|
|
.board-pagination {
|
|
display: inline-flex !important;
|
|
flex-direction: row !important;
|
|
align-items: center !important;
|
|
gap: 0.25rem !important;
|
|
background-color: #ffffff !important;
|
|
padding: 2px 4px !important;
|
|
border-radius: 6px !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
}
|
|
|
|
.board-pagination__btn {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
width: 26px !important;
|
|
height: 26px !important;
|
|
min-width: 26px !important;
|
|
min-height: 26px !important;
|
|
padding: 0 !important;
|
|
margin: 0 !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
border-radius: 4px !important;
|
|
background: #ffffff !important;
|
|
color: #007bff !important;
|
|
font-size: 0.825rem !important;
|
|
cursor: pointer !important;
|
|
transition: all 0.15s ease !important;
|
|
}
|
|
|
|
.board-pagination__btn i {
|
|
font-size: 0.825rem !important;
|
|
color: #007bff !important;
|
|
}
|
|
|
|
.board-pagination__btn:hover:not(:disabled) {
|
|
background-color: #007bff !important;
|
|
color: #ffffff !important;
|
|
border-color: #007bff !important;
|
|
}
|
|
|
|
.board-pagination__btn:hover:not(:disabled) i {
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
.board-pagination__btn:disabled {
|
|
opacity: 0.4 !important;
|
|
cursor: not-allowed !important;
|
|
color: #94a3b8 !important;
|
|
border-color: #e2e8f0 !important;
|
|
background-color: #f1f5f9 !important;
|
|
}
|
|
|
|
.board-pagination__btn:disabled i {
|
|
color: #94a3b8 !important;
|
|
}
|
|
|
|
.board-pagination__label {
|
|
font-size: 0.825rem !important;
|
|
font-weight: 700 !important;
|
|
color: #334155 !important;
|
|
padding: 0 0.35rem !important;
|
|
white-space: nowrap !important;
|
|
user-select: none !important;
|
|
}
|
|
|
|
/* Bottom Pagination Container */
|
|
.board-view-footer {
|
|
display: flex !important;
|
|
justify-content: center !important;
|
|
align-items: center !important;
|
|
padding: 1rem 0 0.5rem 0 !important;
|
|
width: 100% !important;
|
|
}
|
|
|
|
/* Board Grid Layout Modes */
|
|
.board-grid {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
width: 100% !important;
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
.board-grid--compact {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
gap: 0.5rem !important;
|
|
width: 100% !important;
|
|
}
|
|
|
|
.board-grid--card {
|
|
display: grid !important;
|
|
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
|
|
gap: 1.25rem !important;
|
|
width: 100% !important;
|
|
}
|
|
|
|
.board-grid__empty {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
padding: 4rem 2rem !important;
|
|
text-align: center !important;
|
|
background: #ffffff !important;
|
|
border: 2px dashed #cbd5e1 !important;
|
|
border-radius: 12px !important;
|
|
width: 100% !important;
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
.board-grid__empty-icon {
|
|
font-size: 3rem !important;
|
|
color: #cbd5e1 !important;
|
|
margin-bottom: 1rem !important;
|
|
}
|
|
|
|
.board-grid__empty-title {
|
|
font-size: 1.15rem !important;
|
|
font-weight: 600 !important;
|
|
color: #475569 !important;
|
|
margin: 0 0 0.5rem 0 !important;
|
|
}
|
|
|
|
.board-grid__empty-desc {
|
|
font-size: 0.9rem !important;
|
|
color: #94a3b8 !important;
|
|
margin: 0 !important;
|
|
}
|
|
|
|
/* ===================================================
|
|
COMPACT VIEW MODE: FULL-WIDTH HORIZONTAL ROW BANNER
|
|
(Identical to Retroshare C++ Qt GUI Posted design)
|
|
=================================================== */
|
|
.board-card {
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
.board-card--compact {
|
|
display: flex !important;
|
|
flex-direction: row !important;
|
|
align-items: center !important;
|
|
width: 100% !important;
|
|
min-height: 70px !important;
|
|
padding: 0.45rem 0.75rem !important;
|
|
background-color: #eef2f5 !important;
|
|
border: 1px solid #d1d5db !important;
|
|
border-radius: 4px !important;
|
|
gap: 0.75rem !important;
|
|
box-sizing: border-box !important;
|
|
margin-bottom: 0.35rem !important;
|
|
}
|
|
|
|
.board-card--compact:hover {
|
|
background-color: #e2e8f0 !important;
|
|
border-color: #9ca3af !important;
|
|
}
|
|
|
|
/* Vote Pill (Matching Comments Button style with normal-sized icons) */
|
|
.board-card__vote-pill {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
gap: 0.4rem !important;
|
|
padding: 0.2rem 0.55rem !important;
|
|
background-color: #f1f5f9 !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
border-radius: 20px !important;
|
|
box-sizing: border-box !important;
|
|
}
|
|
|
|
button.board-card__vote-btn,
|
|
.board-card__vote-pill .board-card__vote-btn {
|
|
background: transparent !important;
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
padding: 0.1rem 0.2rem !important;
|
|
margin: 0 !important;
|
|
cursor: pointer !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
line-height: 1 !important;
|
|
border-radius: 4px !important;
|
|
transition: background-color 0.15s ease !important;
|
|
outline: none !important;
|
|
}
|
|
|
|
.board-card__vote-pill .board-card__vote-btn:hover {
|
|
background-color: #e2e8f0 !important;
|
|
box-shadow: none !important;
|
|
}
|
|
|
|
.board-card__vote-pill .board-card__vote-btn--up i {
|
|
color: #16a34a !important;
|
|
font-size: 1.15rem !important;
|
|
}
|
|
|
|
.board-card__vote-pill .board-card__vote-btn--down i {
|
|
color: #dc2626 !important;
|
|
font-size: 1.15rem !important;
|
|
}
|
|
|
|
.board-card__vote-pill .board-card__vote-score {
|
|
font-size: 0.9rem !important;
|
|
font-weight: 700 !important;
|
|
color: #1e293b !important;
|
|
padding: 0 0.15rem !important;
|
|
line-height: 1 !important;
|
|
min-width: 1rem !important;
|
|
text-align: center !important;
|
|
}
|
|
|
|
/* Thumbnail Image Container */
|
|
.board-card--compact .board-card__image-container {
|
|
width: 110px !important;
|
|
height: 62px !important;
|
|
flex-shrink: 0 !important;
|
|
border-radius: 4px !important;
|
|
overflow: hidden !important;
|
|
background-color: #cbd5e1 !important;
|
|
}
|
|
|
|
.board-card--compact .board-card__image {
|
|
width: 100% !important;
|
|
height: 100% !important;
|
|
object-fit: cover !important;
|
|
display: block !important;
|
|
}
|
|
|
|
.board-card--compact .board-card__placeholder-wrapper {
|
|
width: 100% !important;
|
|
height: 100% !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%) !important;
|
|
}
|
|
|
|
.board-card__placeholder-content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: .3rem;
|
|
color: #64748b;
|
|
font-size: .72rem;
|
|
font-weight: 600;
|
|
}
|
|
.board-card__placeholder-content i { font-size: 1.35rem; }
|
|
|
|
.board-card--compact .board-card__placeholder-img {
|
|
width: 24px !important;
|
|
height: 24px !important;
|
|
color: #64748b !important;
|
|
}
|
|
|
|
/* Main Details Section */
|
|
.board-card--compact .board-card__content {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
justify-content: center !important;
|
|
flex: 1 !important;
|
|
min-width: 0 !important;
|
|
padding: 0 !important;
|
|
}
|
|
|
|
/* Title: Blue bold underlined italicized link (Matches Qt GUI) */
|
|
.board-card--compact .board-card__title {
|
|
font-size: 1.05rem !important;
|
|
font-weight: 700 !important;
|
|
color: #2255aa !important;
|
|
text-decoration: underline !important;
|
|
font-style: italic !important;
|
|
white-space: nowrap !important;
|
|
overflow: hidden !important;
|
|
text-overflow: ellipsis !important;
|
|
margin: 0 0 0.15rem 0 !important;
|
|
cursor: pointer !important;
|
|
}
|
|
|
|
.board-card--compact .board-card__title:hover {
|
|
color: #1d4ed8 !important;
|
|
}
|
|
|
|
/* Meta line: Posted by <author> <date> */
|
|
.board-card--compact .board-card__meta {
|
|
font-size: 0.8rem !important;
|
|
color: #475569 !important;
|
|
margin-bottom: 0.2rem !important;
|
|
}
|
|
|
|
.board-card--compact .board-card__meta b {
|
|
color: #1e293b !important;
|
|
}
|
|
|
|
/* Footer: Comment button matching Qt GUI */
|
|
.board-card--compact .board-card__footer {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
gap: 0.5rem !important;
|
|
padding: 0 !important;
|
|
border: none !important;
|
|
margin: 0 !important;
|
|
}
|
|
|
|
button.board-card__comments-btn,
|
|
.board-card__comments-btn,
|
|
.board-card--compact .board-card__comments-btn {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
gap: 0.35rem !important;
|
|
padding: 0.2rem 0.5rem !important;
|
|
background: transparent !important;
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
color: #64748b !important;
|
|
font-size: 0.85rem !important;
|
|
font-weight: 500 !important;
|
|
cursor: pointer !important;
|
|
outline: none !important;
|
|
}
|
|
|
|
button.board-card__comments-btn:hover,
|
|
.board-card__comments-btn:hover,
|
|
.board-card--compact .board-card__comments-btn:hover {
|
|
color: #007bff !important;
|
|
text-decoration: underline !important;
|
|
box-shadow: none !important;
|
|
}
|
|
|
|
button.board-card__notes-btn,
|
|
.board-card__notes-btn {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
gap: 0.35rem !important;
|
|
padding: 0.2rem 0.5rem !important;
|
|
background: transparent !important;
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
color: #64748b !important;
|
|
font-size: 0.85rem !important;
|
|
font-weight: 500 !important;
|
|
cursor: pointer !important;
|
|
}
|
|
|
|
.board-card__notes-btn:hover { color: #007bff !important; text-decoration: underline !important; }
|
|
|
|
/* ===================================================
|
|
CARD VIEW MODE: ELEVATED GRID CARD
|
|
=================================================== */
|
|
.board-card--card {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
background-color: #ffffff !important;
|
|
border: 1px solid #e2e8f0 !important;
|
|
border-radius: 10px !important;
|
|
overflow: hidden !important;
|
|
transition: transform 0.2s ease, box-shadow 0.2s ease !important;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04) !important;
|
|
}
|
|
|
|
.board-card--card:hover {
|
|
transform: translateY(-3px) !important;
|
|
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08) !important;
|
|
border-color: #cbd5e1 !important;
|
|
}
|
|
|
|
.board-card--card .board-card__vote-col {
|
|
display: none !important;
|
|
}
|
|
|
|
.board-card--card .board-card__image-container {
|
|
width: 100% !important;
|
|
height: 170px !important;
|
|
overflow: hidden !important;
|
|
background-color: #f1f5f9 !important;
|
|
}
|
|
|
|
.board-card--card .board-card__image {
|
|
width: 100% !important;
|
|
height: 100% !important;
|
|
object-fit: cover !important;
|
|
display: block !important;
|
|
}
|
|
|
|
.board-card--card .board-card__placeholder-wrapper {
|
|
width: 100% !important;
|
|
height: 100% !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%) !important;
|
|
}
|
|
|
|
.board-card--card .board-card__placeholder-img {
|
|
width: 36px !important;
|
|
height: 36px !important;
|
|
color: #94a3b8 !important;
|
|
}
|
|
|
|
.board-card--card .board-card__content {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
flex: 1 !important;
|
|
padding: 1rem !important;
|
|
}
|
|
|
|
.board-card--card .board-card__title {
|
|
font-size: 1.05rem !important;
|
|
font-weight: 700 !important;
|
|
color: #0f172a !important;
|
|
margin: 0 0 0.4rem 0 !important;
|
|
white-space: nowrap !important;
|
|
overflow: hidden !important;
|
|
text-overflow: ellipsis !important;
|
|
cursor: pointer !important;
|
|
}
|
|
|
|
.board-card--card .board-card__title:hover {
|
|
color: #007bff !important;
|
|
}
|
|
|
|
.board-card--card .board-card__meta {
|
|
font-size: 0.8rem !important;
|
|
color: #64748b !important;
|
|
margin-bottom: 0.5rem !important;
|
|
}
|
|
|
|
.board-card--card .board-card__notes-wrapper {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
gap: 0.35rem !important;
|
|
margin-bottom: 0.75rem !important;
|
|
}
|
|
|
|
.board-card--card .board-card__notes {
|
|
font-size: 0.85rem !important;
|
|
line-height: 1.45 !important;
|
|
color: #475569 !important;
|
|
background-color: #f8fafc !important;
|
|
border-left: 3px solid #cbd5e1 !important;
|
|
padding: 0.4rem 0.6rem !important;
|
|
word-break: break-word !important;
|
|
}
|
|
|
|
.board-card--card .board-card__notes--clamped {
|
|
display: -webkit-box !important;
|
|
-webkit-line-clamp: 3 !important;
|
|
-webkit-box-orient: vertical !important;
|
|
overflow: hidden !important;
|
|
white-space: pre-line !important;
|
|
}
|
|
|
|
.board-card--card .board-card__notes--expanded {
|
|
display: block !important;
|
|
white-space: pre-line !important;
|
|
}
|
|
|
|
.board-card--card .board-card__notes-toggle {
|
|
align-self: flex-start !important;
|
|
background: none !important;
|
|
border: none !important;
|
|
padding: 0.1rem 0.3rem !important;
|
|
color: #007bff !important;
|
|
font-size: 0.775rem !important;
|
|
font-weight: 600 !important;
|
|
cursor: pointer !important;
|
|
}
|
|
|
|
.board-card--card .board-card__notes-toggle:hover {
|
|
text-decoration: underline !important;
|
|
}
|
|
|
|
.board-card--card .board-card__footer {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: flex-end !important;
|
|
margin-top: auto !important;
|
|
padding-top: 0.65rem !important;
|
|
border-top: 1px solid #f1f5f9 !important;
|
|
}
|
|
|
|
.board-card--card .board-card__comments-btn {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
gap: 0.4rem !important;
|
|
padding: 0.3rem 0.6rem !important;
|
|
background-color: #f1f5f9 !important;
|
|
color: #475569 !important;
|
|
border: 1px solid #e2e8f0 !important;
|
|
border-radius: 6px !important;
|
|
font-size: 0.8rem !important;
|
|
font-weight: 500 !important;
|
|
cursor: pointer !important;
|
|
}
|
|
|
|
.board-card--card .board-card__comments-btn:hover {
|
|
background-color: #007bff !important;
|
|
color: #ffffff !important;
|
|
border-color: #007bff !important;
|
|
}
|
|
|
|
.board-card--card .board-card__comments-btn:hover i {
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
.board-card--card .board-card__notes-btn {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
gap: 0.4rem !important;
|
|
padding: 0.3rem 0.6rem !important;
|
|
background-color: #f8fafc !important;
|
|
color: #475569 !important;
|
|
border: 1px solid #e2e8f0 !important;
|
|
border-radius: 6px !important;
|
|
font-size: 0.8rem !important;
|
|
font-weight: 500 !important;
|
|
}
|
|
|
|
.board-card--card .board-card__notes-btn:hover { background-color: #e0f2fe !important; color: #0369a1 !important; border-color: #7dd3fc !important; text-decoration: none !important; }
|
|
|
|
.board-notes-dialog { min-width: min(560px, 75vw); max-width: 75vw; }
|
|
.board-notes-dialog h3 { margin: 0 2rem .8rem 0; color: #0f172a; }
|
|
.board-notes-dialog__label { margin: 0 0 .35rem; color: #64748b; font-size: .78rem; font-weight: 700; text-transform: uppercase; }
|
|
.board-notes-dialog__content { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; color: #1e293b; line-height: 1.55; }
|
|
|
|
/* =========================================================
|
|
PhotoView Lightbox Modal Styles (Matching Qt GUI PhotoView)
|
|
========================================================= */
|
|
|
|
/* Fullscreen overlay element appended to body by openPhotoModal() */
|
|
#photo-view-overlay {
|
|
display: none;
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 999999;
|
|
background-color: rgba(0, 0, 0, 0.85);
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.photo-view-dialog {
|
|
background-color: #f8fafc !important;
|
|
border-radius: 8px !important;
|
|
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5) !important;
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
max-width: 90vw !important;
|
|
max-height: 90vh !important;
|
|
width: 820px !important;
|
|
overflow: hidden !important;
|
|
position: relative !important;
|
|
z-index: 1 !important;
|
|
}
|
|
|
|
.photo-view-header {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: space-between !important;
|
|
padding: 0.75rem 1rem !important;
|
|
background-color: #ffffff !important;
|
|
border-bottom: 1px solid #e2e8f0 !important;
|
|
}
|
|
|
|
.photo-view-title {
|
|
font-size: 1.05rem !important;
|
|
font-style: italic !important;
|
|
font-weight: 700 !important;
|
|
color: #1e293b !important;
|
|
margin: 0 !important;
|
|
flex: 1 !important;
|
|
overflow: hidden !important;
|
|
text-overflow: ellipsis !important;
|
|
white-space: nowrap !important;
|
|
}
|
|
|
|
.photo-view-close-btn {
|
|
background: none !important;
|
|
border: none !important;
|
|
font-size: 1.6rem !important;
|
|
line-height: 1 !important;
|
|
color: #64748b !important;
|
|
cursor: pointer !important;
|
|
padding: 0 0.4rem !important;
|
|
}
|
|
|
|
.photo-view-close-btn:hover {
|
|
color: #ef4444 !important;
|
|
}
|
|
|
|
.photo-view-body {
|
|
display: flex !important;
|
|
flex-direction: row !important;
|
|
align-items: stretch !important;
|
|
background-color: #0f172a !important;
|
|
flex: 1 !important;
|
|
min-height: 380px !important;
|
|
max-height: 68vh !important;
|
|
overflow: hidden !important;
|
|
}
|
|
|
|
/* Left/right nav columns (fixed 56px wide, vertically center the button) */
|
|
.photo-view-nav-col {
|
|
width: 56px !important;
|
|
flex-shrink: 0 !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
background-color: rgba(0, 0, 0, 0.25) !important;
|
|
}
|
|
|
|
/* Image wrapper fills remaining space */
|
|
.photo-view-img-wrap {
|
|
flex: 1 !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
min-width: 0 !important;
|
|
padding: 0.75rem !important;
|
|
}
|
|
|
|
.photo-view-img {
|
|
max-width: 100% !important;
|
|
max-height: 65vh !important;
|
|
object-fit: contain !important;
|
|
display: block !important;
|
|
border-radius: 4px !important;
|
|
}
|
|
|
|
.photo-view-no-img {
|
|
color: #94a3b8 !important;
|
|
font-size: 0.95rem !important;
|
|
}
|
|
|
|
/* Nav button — static in flex column, no absolute positioning */
|
|
.photo-view-nav-btn {
|
|
width: 38px !important;
|
|
height: 38px !important;
|
|
background-color: #ffffff !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
border-radius: 6px !important;
|
|
color: #007bff !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
cursor: pointer !important;
|
|
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3) !important;
|
|
transition: all 0.15s ease !important;
|
|
flex-shrink: 0 !important;
|
|
}
|
|
|
|
.photo-view-nav-btn i {
|
|
font-size: 1rem !important;
|
|
color: #007bff !important;
|
|
}
|
|
|
|
.photo-view-nav-btn:hover {
|
|
background-color: #007bff !important;
|
|
color: #ffffff !important;
|
|
border-color: #007bff !important;
|
|
}
|
|
|
|
.photo-view-nav-btn:hover i {
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
.photo-view-footer {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: space-between !important;
|
|
padding: 0.75rem 1rem !important;
|
|
background-color: #ffffff !important;
|
|
border-top: 1px solid #e2e8f0 !important;
|
|
}
|
|
|
|
.photo-view-meta {
|
|
font-size: 0.875rem !important;
|
|
color: #475569 !important;
|
|
}
|
|
|
|
.photo-view-meta b {
|
|
color: #0f172a !important;
|
|
}
|
|
|
|
/* Responsive: Hide board header description on mobile screens */
|
|
@media (max-width: 768px) {
|
|
.media-item__desc {
|
|
display: none !important;
|
|
}
|
|
.media-item__details {
|
|
flex-basis: 100% !important;
|
|
width: 100% !important;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@use '../abstracts' as *;
|
|
|
|
.file-section {
|
|
margin-top: 2rem;
|
|
@include flex(column);
|
|
}
|
|
|
|
.comments-section {
|
|
margin-top: 2rem;
|
|
@include flex($justify: space-between);
|
|
&__menu {
|
|
@include flex($gap: 1rem);
|
|
&-id {
|
|
@include flex($gap: 0.25rem, $align: center);
|
|
}
|
|
}
|
|
}
|
|
|
|
#toggleunsub {
|
|
position: relative;
|
|
background: gray;
|
|
}
|
|
|
|
/* subject */
|
|
table.channels {
|
|
& th:nth-child(1) {
|
|
width: 50%;
|
|
text-align: start;
|
|
}
|
|
/* subject */
|
|
& td:nth-child(1) {
|
|
text-align: start;
|
|
/* Truncate text with '...' */
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
& tr:hover {
|
|
background-color: $light-color;
|
|
cursor: pointer;
|
|
}
|
|
& tr.hidden {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
/* subject */
|
|
table {
|
|
padding: 0.5rem;
|
|
&.comments {
|
|
border: 1px solid #eee;
|
|
& th {
|
|
height: 40px;
|
|
&:nth-child(1) {
|
|
width: 2%;
|
|
}
|
|
&:nth-child(2) {
|
|
width: 40%;
|
|
}
|
|
}
|
|
& td {
|
|
word-wrap: break-word;
|
|
&:nth-child(2) {
|
|
text-align: start;
|
|
}
|
|
}
|
|
}
|
|
&.files {
|
|
& th:first-child {
|
|
text-align: start;
|
|
width: 60%;
|
|
}
|
|
& tr td:first-child {
|
|
text-align: start;
|
|
}
|
|
& td {
|
|
word-wrap: break-word;
|
|
}
|
|
}
|
|
}
|
|
|
|
.posts-container-card .channel-post__placeholder {
|
|
flex: 1 1 auto;
|
|
min-height: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: .35rem;
|
|
color: #64748b;
|
|
background: linear-gradient(135deg, #f8fafc, #dbe5f1);
|
|
}
|
|
.channel-post__placeholder i { font-size: 1.35rem; color: #64748b; }
|
|
.channel-post__placeholder span { font-size: 2rem; font-weight: 700; color: #2563eb; }
|
|
.channel-post__placeholder small { font-size: .72rem; font-weight: 600; }
|
|
|
|
/* Compact YouTube-style post description with an opt-in expansion control. */
|
|
.post-description {
|
|
margin: 1rem 0;
|
|
padding: .85rem 1rem;
|
|
border-radius: 10px;
|
|
background: #f1f5f9;
|
|
color: #1e293b;
|
|
}
|
|
.post-description__text { overflow-wrap: anywhere; line-height: 1.5; }
|
|
.post-description__text > :first-child { margin-top: 0; }
|
|
.post-description__text > :last-child { margin-bottom: 0; }
|
|
.post-description__text--collapsed {
|
|
display: -webkit-box;
|
|
overflow: hidden;
|
|
-webkit-box-orient: vertical;
|
|
-webkit-line-clamp: 3;
|
|
}
|
|
.post-description__toggle {
|
|
margin-top: .35rem;
|
|
padding: 0 !important;
|
|
border: 0 !important;
|
|
box-shadow: none !important;
|
|
background: transparent !important;
|
|
color: #0f172a !important;
|
|
font-size: .85rem !important;
|
|
font-weight: 700 !important;
|
|
}
|
|
.post-description__toggle:hover { color: #2563eb !important; text-decoration: underline; }
|
|
|
|
/* Keep image and generated-thumbnail cards the same size instead of stretching
|
|
* a sparse grid row to the full height of the Posts panel. */
|
|
.posts-container { align-content: start; grid-auto-rows: 240px; }
|
|
.posts-container-card { height: 240px; min-height: 0; overflow: hidden; }
|
|
.posts-container-card > img,
|
|
.posts-container-card > .channel-post__placeholder { min-height: 0; }
|
|
|
|
@media (max-width: 700px) {
|
|
.posts-container { grid-auto-rows: 210px; gap: 1rem; }
|
|
.posts-container-card { height: 210px; }
|
|
}
|
|
|
|
/* Channel attachment table -> compact cards on phones. */
|
|
@media (max-width: 700px) {
|
|
.file-section { margin-top: 1.25rem; }
|
|
|
|
table.channel-files,
|
|
table.channel-files tbody,
|
|
table.channel-files tr,
|
|
table.channel-files td {
|
|
display: block;
|
|
width: 100% !important;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
table.channel-files { padding: 0; table-layout: auto; }
|
|
table.channel-files thead { display: none; }
|
|
|
|
table.channel-files tr {
|
|
margin: 0 0 .7rem;
|
|
padding: .7rem;
|
|
border: 1px solid #dbe3ef;
|
|
border-radius: 8px;
|
|
background: #fff;
|
|
}
|
|
|
|
table.channel-files td {
|
|
min-width: 0;
|
|
padding: .25rem 0;
|
|
border: 0;
|
|
text-align: left;
|
|
}
|
|
|
|
table.channel-files td::before {
|
|
display: block;
|
|
margin-bottom: .1rem;
|
|
color: #64748b;
|
|
content: attr(data-label);
|
|
font-size: .72rem;
|
|
font-weight: 700;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
table.channel-files .channel-file__name {
|
|
overflow-wrap: anywhere;
|
|
color: #0f172a;
|
|
font-weight: 600;
|
|
line-height: 1.35;
|
|
}
|
|
|
|
table.channel-files .channel-file__size { color: #475569; }
|
|
table.channel-files .channel-file__action { padding-top: .5rem; }
|
|
table.channel-files .channel-file__action > button { min-width: 116px; }
|
|
table.channel-files .channel-file__action .file-view { margin-top: .6rem; }
|
|
}
|
|
/* #options{
|
|
width: 100px;
|
|
text-align: center;
|
|
font-size: medium;
|
|
margin-left: 20px;
|
|
height: 40px;
|
|
} */
|
|
#mtags {
|
|
width: 160px;
|
|
text-align: center;
|
|
font-size: medium;
|
|
margin-left: 10px;
|
|
height: 40px;
|
|
}
|
|
|
|
|
|
|
|
@use '../abstracts' as *;
|
|
|
|
.lobby {
|
|
margin: 10px;
|
|
border: 1px solid #aaa;
|
|
border-radius: 20px;
|
|
}
|
|
|
|
.lobby .mainname {
|
|
margin: 20px;
|
|
font-weight: 100;
|
|
font-size: 1.2em;
|
|
}
|
|
|
|
.topic {
|
|
color: #666;
|
|
}
|
|
|
|
.lobby>.topic {
|
|
font-size: 0.95em;
|
|
margin-left: 25px;
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
.lefttitle {
|
|
margin-top: 15px;
|
|
margin-bottom: 0;
|
|
font-weight: 100;
|
|
font-size: 1.2em;
|
|
}
|
|
|
|
.leftname {
|
|
margin-top: 5px;
|
|
margin-bottom: 5px;
|
|
padding: 5px;
|
|
font-weight: 100;
|
|
font-size: 1em;
|
|
}
|
|
|
|
.leftlobby>.topic {
|
|
font-size: 0.75em;
|
|
margin-left: 15px;
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
.subscribed,
|
|
.public {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.leftlobby {
|
|
border: 1px solid #aaa;
|
|
border-radius: 10px;
|
|
margin-top: 5px;
|
|
background-color: white;
|
|
}
|
|
|
|
.leftlobby.selected-lobby,
|
|
.selectedidentity {
|
|
color: white;
|
|
background-color: #3ba4d7;
|
|
}
|
|
|
|
.rightbar {
|
|
position: absolute;
|
|
width: 185px;
|
|
background-color: white;
|
|
overflow: auto;
|
|
top: 130px;
|
|
bottom: 15px;
|
|
right: 15px;
|
|
}
|
|
|
|
.user {
|
|
padding: 5px;
|
|
}
|
|
|
|
.lobbyName {
|
|
padding: 15px;
|
|
margin-top: 2rem;
|
|
}
|
|
|
|
.lobbies {
|
|
position: absolute;
|
|
width: 185px;
|
|
left: 165px;
|
|
bottom: 15px;
|
|
top: 130px;
|
|
overflow: auto;
|
|
}
|
|
|
|
.messages,
|
|
.setup {
|
|
position: absolute;
|
|
background-color: white;
|
|
top: 130px;
|
|
left: 360px;
|
|
right: 215px;
|
|
overflow: auto;
|
|
}
|
|
|
|
.messages {
|
|
bottom: 115px;
|
|
}
|
|
|
|
.messagetext {
|
|
white-space: break-spaces;
|
|
margin-right: 5px;
|
|
}
|
|
|
|
.message>* {
|
|
margin-left: 5px;
|
|
}
|
|
|
|
.username {
|
|
color: darkgreen;
|
|
font-weight: bolder;
|
|
}
|
|
|
|
.chatMessage {
|
|
position: absolute;
|
|
background-color: white;
|
|
height: 85px;
|
|
bottom: 15px;
|
|
right: 215px;
|
|
left: 360px;
|
|
}
|
|
|
|
textarea.chatMsg {
|
|
height: 100%;
|
|
width: 100%;
|
|
}
|
|
|
|
.chatatchar {
|
|
margin-left: 0.2em;
|
|
margin-right: 0.2em;
|
|
color: silver;
|
|
}
|
|
|
|
.setupicon {
|
|
margin-left: 1em;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.leaveicon {
|
|
margin-left: 1em;
|
|
cursor: pointer;
|
|
color: #d40000;
|
|
}
|
|
|
|
.selectidentity {
|
|
margin: 15px;
|
|
font-size: 1.2em;
|
|
}
|
|
|
|
.setup>.identity {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.setup {
|
|
bottom: 15px;
|
|
}
|
|
|
|
.createDistantChat {
|
|
margin-top: 1em;
|
|
}
|
|
|
|
.no-lobbies {
|
|
|
|
.messages,
|
|
.chatMessage,
|
|
.setup {
|
|
left: 165px;
|
|
}
|
|
}
|
|
|
|
/* CHAT ROOM (Single Chat) - Desktop Grid Layout */
|
|
@media (min-width: 900px) {
|
|
.node-panel.chat-room {
|
|
display: grid !important;
|
|
grid-template-columns: 250px 1fr 200px !important;
|
|
/* Lobbies, Chat, Users */
|
|
grid-template-rows: auto 1fr auto !important;
|
|
/* Header, Messages, Input */
|
|
grid-template-areas:
|
|
"lobbies header rightbar"
|
|
"lobbies messages rightbar"
|
|
"lobbies input rightbar" !important;
|
|
padding: 0 !important;
|
|
height: 100% !important;
|
|
}
|
|
|
|
.node-panel.chat-room .lobbyName {
|
|
grid-area: header;
|
|
padding: 10px;
|
|
border-bottom: 1px solid #eee;
|
|
margin: 0;
|
|
z-index: 10;
|
|
background: white;
|
|
}
|
|
|
|
.node-panel.chat-room .lobbies {
|
|
grid-area: lobbies;
|
|
position: static !important;
|
|
width: auto !important;
|
|
height: auto !important;
|
|
border-right: 1px solid #ccc;
|
|
overflow-y: auto;
|
|
display: block !important;
|
|
top: auto !important;
|
|
bottom: auto !important;
|
|
left: auto !important;
|
|
}
|
|
|
|
.node-panel.chat-room .messages {
|
|
grid-area: messages;
|
|
position: static !important;
|
|
width: auto !important;
|
|
height: auto !important;
|
|
overflow-y: auto;
|
|
padding: 10px;
|
|
left: auto !important;
|
|
right: auto !important;
|
|
top: auto !important;
|
|
bottom: auto !important;
|
|
margin: 0 !important;
|
|
}
|
|
|
|
.node-panel.chat-room .rightbar {
|
|
grid-area: rightbar;
|
|
position: static !important;
|
|
width: auto !important;
|
|
border-left: 1px solid #ccc;
|
|
overflow-y: auto;
|
|
display: block !important;
|
|
}
|
|
|
|
.node-panel.chat-room .chatMessage {
|
|
grid-area: input;
|
|
position: static !important;
|
|
width: auto !important;
|
|
height: auto !important;
|
|
border-top: 1px solid #eee;
|
|
left: auto !important;
|
|
right: auto !important;
|
|
bottom: auto !important;
|
|
flex: 0 0 auto;
|
|
padding: 10px !important;
|
|
background: white;
|
|
z-index: 10;
|
|
}
|
|
}
|
|
|
|
/* Mobile Overrides - Ensure Flex Column */
|
|
@media (max-width: 899px) {
|
|
.node-panel.chat-room {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
height: 100% !important;
|
|
position: relative !important;
|
|
}
|
|
|
|
.node-panel.chat-room .lobbyName {
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.node-panel.chat-room .messages {
|
|
flex: 1 !important;
|
|
overflow-y: auto !important;
|
|
position: relative !important;
|
|
top: 0 !important;
|
|
bottom: 0 !important;
|
|
left: 0 !important;
|
|
right: 0 !important;
|
|
width: 100% !important;
|
|
height: auto !important;
|
|
margin: 0 !important;
|
|
}
|
|
|
|
.node-panel.chat-room .chatMessage {
|
|
flex: 0 0 auto !important;
|
|
position: relative !important;
|
|
bottom: 0 !important;
|
|
left: 0 !important;
|
|
right: 0 !important;
|
|
width: 100% !important;
|
|
height: auto !important;
|
|
z-index: 100;
|
|
}
|
|
|
|
.node-panel.chat-room .rightbar,
|
|
.node-panel.chat-room .lobbies {
|
|
display: none !important;
|
|
position: fixed !important;
|
|
top: 60px !important;
|
|
bottom: 0 !important;
|
|
width: 80% !important;
|
|
background: white !important;
|
|
z-index: 200 !important;
|
|
box-shadow: 2px 0 10px rgba(0, 0, 0, 0.2) !important;
|
|
}
|
|
|
|
.node-panel.chat-room.show-lobbies .lobbies {
|
|
display: block !important;
|
|
left: 0 !important;
|
|
}
|
|
|
|
.node-panel.chat-room.show-users .rightbar {
|
|
display: block !important;
|
|
right: 0 !important;
|
|
}
|
|
|
|
.chat-overlay {
|
|
display: none;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background: rgba(0, 0, 0, 0.4);
|
|
z-index: 150;
|
|
}
|
|
|
|
.show-lobbies .chat-overlay,
|
|
.show-users .chat-overlay {
|
|
display: block;
|
|
}
|
|
|
|
/* Mobile Icons in Header */
|
|
.mobile-menu-icons {
|
|
display: flex;
|
|
gap: 15px;
|
|
font-size: 1.2rem;
|
|
}
|
|
|
|
.mobile-menu-icons i {
|
|
cursor: pointer;
|
|
padding: 5px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 900px) {
|
|
.mobile-menu-icons {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
/* =====================================================
|
|
CHAT HUB - Two-Pane Layout (matching Network page)
|
|
===================================================== */
|
|
|
|
.chat-hub-container {
|
|
display: flex;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
background-color: #f1f5f9;
|
|
}
|
|
|
|
.chat-hub-left-pane {
|
|
width: 320px;
|
|
min-width: 300px;
|
|
max-width: 350px;
|
|
border-right: 1px solid #cbd5e1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background: #ffffff;
|
|
box-shadow: 2px 0 5px rgba(0, 0, 0, 0.05);
|
|
}
|
|
|
|
.chat-own-profile-card {
|
|
padding: 0.85rem 1.25rem !important;
|
|
border-bottom: 1px solid #e2e8f0 !important;
|
|
background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: space-between !important;
|
|
gap: 0.75rem !important;
|
|
|
|
.profile-header {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
gap: 0.75rem !important;
|
|
flex: 1 !important;
|
|
min-width: 0 !important;
|
|
}
|
|
|
|
.chat-create-lobby-btn {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
gap: 0.35rem !important;
|
|
padding: 0.4rem 0.85rem !important;
|
|
font-size: 0.85rem !important;
|
|
font-weight: 600 !important;
|
|
border-radius: 0.375rem !important;
|
|
cursor: pointer !important;
|
|
flex-shrink: 0 !important;
|
|
white-space: nowrap !important;
|
|
}
|
|
|
|
.profile-info {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
|
|
.profile-name {
|
|
font-weight: 700;
|
|
color: #1e293b;
|
|
font-size: 1.1rem;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.profile-status {
|
|
font-size: 0.85rem;
|
|
color: #10b981;
|
|
font-weight: 500;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.35rem;
|
|
|
|
&::before {
|
|
content: '';
|
|
display: inline-block;
|
|
width: 8px;
|
|
height: 8px;
|
|
background-color: #10b981;
|
|
border-radius: 50%;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.chat-rooms-list-container {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
|
|
.searchbar-container {
|
|
padding: 0.75rem 1rem;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
|
|
input.searchbar {
|
|
width: 100%;
|
|
padding: 0.5rem 0.75rem;
|
|
font-size: 0.9rem;
|
|
border: 1px solid #cbd5e1;
|
|
border-radius: 0.375rem;
|
|
background-color: #f8fafc;
|
|
outline: none;
|
|
transition: all 0.2s;
|
|
|
|
&:focus {
|
|
background-color: #ffffff;
|
|
border-color: #3ba4d7;
|
|
box-shadow: 0 0 0 3px rgba(59, 164, 215, 0.15);
|
|
}
|
|
}
|
|
}
|
|
|
|
.rooms-scroll {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 0.5rem 0;
|
|
}
|
|
}
|
|
|
|
.rooms-section-title {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.75rem 1rem 0.375rem;
|
|
font-size: 0.75rem;
|
|
font-weight: 700;
|
|
color: #64748b;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
|
|
i {
|
|
font-size: 0.7rem;
|
|
color: #94a3b8;
|
|
}
|
|
}
|
|
|
|
.chat-room-list-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
padding: 0.75rem 1rem;
|
|
margin: 0.125rem 0.5rem;
|
|
border-radius: 0.5rem;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
|
|
&:hover {
|
|
background-color: #f1f5f9;
|
|
}
|
|
|
|
&.selected {
|
|
background-color: #e0f2fe;
|
|
|
|
.room-name {
|
|
color: #0369a1;
|
|
font-weight: 600;
|
|
}
|
|
}
|
|
|
|
.room-icon {
|
|
flex-shrink: 0;
|
|
width: 36px;
|
|
height: 36px;
|
|
border-radius: 0.5rem;
|
|
background: linear-gradient(135deg, #3ba4d7, #0ea5e9);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: #ffffff;
|
|
font-size: 1.35rem;
|
|
}
|
|
|
|
&.public-room .room-icon {
|
|
background: linear-gradient(135deg, #10b981, #059669);
|
|
}
|
|
|
|
.room-meta {
|
|
flex: 1;
|
|
min-width: 0;
|
|
|
|
.room-name {
|
|
font-size: 0.95rem;
|
|
color: #334155;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
transition: color 0.2s;
|
|
}
|
|
|
|
.room-topic {
|
|
font-size: 0.8rem;
|
|
color: #94a3b8;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
}
|
|
|
|
.room-badge {
|
|
flex-shrink: 0;
|
|
min-width: 24px;
|
|
height: 24px;
|
|
border-radius: 12px;
|
|
background-color: #e2e8f0;
|
|
color: #475569;
|
|
font-size: 0.75rem;
|
|
font-weight: 700;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 0 0.375rem;
|
|
}
|
|
}
|
|
|
|
.chat-hub-right-pane {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
background-color: #f8fafc;
|
|
}
|
|
|
|
.chat-pane-placeholder {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
color: #94a3b8;
|
|
gap: 1rem;
|
|
padding: 2rem;
|
|
text-align: center;
|
|
|
|
i {
|
|
font-size: 4rem;
|
|
color: #cbd5e1;
|
|
}
|
|
|
|
p {
|
|
font-size: 1.1rem;
|
|
max-width: 400px;
|
|
}
|
|
}
|
|
|
|
.chat-hub-tab-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 1.5rem;
|
|
}
|
|
|
|
.chat-room-detail-view {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.5rem;
|
|
|
|
.detail-header {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 1.5rem;
|
|
padding-bottom: 1.5rem;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
flex-wrap: wrap;
|
|
|
|
.detail-title {
|
|
flex: 1;
|
|
min-width: 200px;
|
|
|
|
h2 {
|
|
font-size: 1.75rem;
|
|
font-weight: 800;
|
|
color: #1e293b;
|
|
margin-bottom: 0.25rem;
|
|
}
|
|
|
|
.detail-subtitle {
|
|
font-size: 0.9rem;
|
|
color: #64748b;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
}
|
|
|
|
.detail-actions {
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
flex-wrap: wrap;
|
|
|
|
button {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem 1rem;
|
|
font-size: 0.9rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
.detail-section {
|
|
background-color: #ffffff;
|
|
border-radius: 0.5rem;
|
|
border: 1px solid #e2e8f0;
|
|
padding: 1.25rem;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
|
|
|
|
h3 {
|
|
font-size: 1.1rem;
|
|
font-weight: 700;
|
|
color: #334155;
|
|
margin-bottom: 1rem;
|
|
padding-bottom: 0.5rem;
|
|
border-bottom: 1px solid #f1f5f9;
|
|
}
|
|
|
|
.info-grid {
|
|
display: grid;
|
|
grid-template-columns: 130px 1fr;
|
|
row-gap: 0.75rem;
|
|
font-size: 0.9rem;
|
|
|
|
.info-label {
|
|
font-weight: 600;
|
|
color: #64748b;
|
|
}
|
|
|
|
.info-value {
|
|
color: #1e293b;
|
|
word-break: break-all;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.participants-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.participant-card {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem 0.75rem;
|
|
background-color: #f8fafc;
|
|
border: 1px solid #e2e8f0;
|
|
border-radius: 0.375rem;
|
|
|
|
.participant-name {
|
|
font-size: 0.875rem;
|
|
color: #334155;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
}
|
|
|
|
.no-participants {
|
|
color: #94a3b8;
|
|
font-size: 0.9rem;
|
|
font-style: italic;
|
|
}
|
|
|
|
.detail-actions-footer {
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
|
|
button {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem 1rem;
|
|
font-size: 0.9rem;
|
|
}
|
|
}
|
|
|
|
.join-description {
|
|
color: #64748b;
|
|
font-size: 0.9rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.identities-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.identity-card {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 0.75rem 1rem;
|
|
background-color: #f8fafc;
|
|
border: 1px solid #e2e8f0;
|
|
border-radius: 0.5rem;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
|
|
&:hover {
|
|
background-color: #e0f2fe;
|
|
border-color: #3ba4d7;
|
|
}
|
|
|
|
.identity-name {
|
|
font-size: 0.95rem;
|
|
font-weight: 600;
|
|
color: #334155;
|
|
}
|
|
|
|
i {
|
|
color: #3ba4d7;
|
|
font-size: 0.9rem;
|
|
}
|
|
}
|
|
|
|
.no-rooms {
|
|
padding: 1rem;
|
|
color: #94a3b8;
|
|
text-align: center;
|
|
font-style: italic;
|
|
}
|
|
|
|
/* Chat Hub Responsive - Mobile */
|
|
@media (max-width: 899px) {
|
|
.chat-hub-container {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.chat-hub-left-pane {
|
|
width: 100%;
|
|
min-width: 0;
|
|
max-width: none;
|
|
max-height: 45%;
|
|
border-right: none;
|
|
border-bottom: 1px solid #cbd5e1;
|
|
}
|
|
|
|
.chat-hub-right-pane {
|
|
flex: 1;
|
|
min-height: 0;
|
|
}
|
|
}
|
|
|
|
/* =====================================================
|
|
CHAT HUB - Right Pane Conversation & Tabs Styling
|
|
===================================================== */
|
|
|
|
.chat-hub-header-bar {
|
|
padding: 0.75rem 1.5rem;
|
|
background-color: #ffffff;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
height: 65px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.chat-hub-header-bar .chat-header-info {
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.chat-hub-header-bar .chat-header-info .chat-header-name {
|
|
font-size: 1.15rem;
|
|
font-weight: 800;
|
|
color: #1e293b;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.chat-hub-header-bar .chat-header-info .chat-header-topic {
|
|
font-size: 0.85rem;
|
|
color: #64748b;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
margin-top: 0.125rem;
|
|
}
|
|
|
|
.chat-hub-header-bar .chat-header-actions {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.chat-hub-header-bar .chat-header-actions button {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.35rem;
|
|
padding: 0.375rem 0.75rem;
|
|
font-size: 0.85rem;
|
|
}
|
|
|
|
.chat-hub-tabs-container {
|
|
background-color: #ffffff;
|
|
border-bottom: 1px solid #cbd5e1;
|
|
padding: 0.5rem 1.5rem 0;
|
|
}
|
|
|
|
.chat-hub-tabs {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.chat-hub-tabs .tab-btn {
|
|
padding: 0.625rem 1.25rem;
|
|
font-size: 0.95rem;
|
|
font-weight: 600;
|
|
color: #64748b;
|
|
background: transparent;
|
|
border: none;
|
|
border-radius: 0.375rem 0.375rem 0 0;
|
|
border-bottom: 3px solid transparent;
|
|
cursor: pointer;
|
|
box-shadow: none;
|
|
transition: all 0.2s;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.chat-hub-tabs .tab-btn:hover {
|
|
color: #334155;
|
|
background-color: #f1f5f9;
|
|
}
|
|
|
|
.chat-hub-tabs .tab-btn.active {
|
|
color: #3ba4d7;
|
|
border-bottom-color: #3ba4d7;
|
|
background-color: transparent;
|
|
}
|
|
|
|
.chat-hub-tab-content {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
background-color: #f8fafc;
|
|
}
|
|
|
|
.chat-hub-conversation-layout {
|
|
display: flex;
|
|
flex-direction: row;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.chat-hub-conversation-main {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex: 1;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.chat-hub-rightbar {
|
|
width: 200px;
|
|
border-left: 1px solid #cbd5e1;
|
|
background-color: #ffffff;
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.chat-hub-rightbar .rightbar-title {
|
|
padding: 0.75rem 1rem;
|
|
font-size: 0.85rem;
|
|
font-weight: 700;
|
|
color: #64748b;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
}
|
|
|
|
.chat-hub-rightbar .rightbar-users-list {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 0.5rem;
|
|
}
|
|
|
|
.chat-hub-rightbar .user {
|
|
padding: 0.5rem 0.75rem;
|
|
font-size: 0.9rem;
|
|
color: #334155;
|
|
border-radius: 0.375rem;
|
|
transition: all 0.2s;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.chat-hub-rightbar .user:hover {
|
|
background-color: #f1f5f9;
|
|
color: #0f172a;
|
|
}
|
|
|
|
.chat-hub-rightbar .user .defaultAvatar {
|
|
width: 2rem;
|
|
height: 2rem;
|
|
font-size: 0.9rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.chat-hub-rightbar .user img.avatar {
|
|
width: 2rem;
|
|
height: 2rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
@media (max-width: 899px) {
|
|
.chat-hub-rightbar {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.chat-hub-messages {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 1.25rem 1.5rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
}
|
|
|
|
/* Chat bubble overrides for two-pane layout */
|
|
.chat-hub-messages .message {
|
|
display: flex;
|
|
flex-direction: column;
|
|
max-width: 70%;
|
|
padding: 0.625rem 0.875rem;
|
|
border-radius: 0.75rem;
|
|
font-size: 0.925rem;
|
|
line-height: 1.4;
|
|
word-break: break-word;
|
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
|
|
}
|
|
|
|
.chat-hub-messages .message.incoming {
|
|
align-self: flex-start;
|
|
align-items: flex-start;
|
|
background-color: #ffffff;
|
|
color: #1e293b;
|
|
border: 1px solid #e2e8f0;
|
|
border-bottom-left-radius: 0.125rem;
|
|
}
|
|
|
|
.chat-hub-messages .message.outgoing {
|
|
align-self: flex-end;
|
|
align-items: flex-end;
|
|
background-color: #3ba4d7;
|
|
color: #ffffff;
|
|
border-bottom-right-radius: 0.125rem;
|
|
}
|
|
|
|
.chat-hub-messages .message .username {
|
|
font-size: 0.75rem;
|
|
margin-bottom: 0.25rem;
|
|
padding: 0 0.125rem;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.chat-hub-messages .message.incoming .username {
|
|
color: #0369a1;
|
|
}
|
|
|
|
.chat-hub-messages .message.outgoing .username {
|
|
color: #e0f2fe;
|
|
}
|
|
|
|
.chat-hub-messages .message .messagetext {
|
|
white-space: break-spaces;
|
|
margin: 0;
|
|
}
|
|
|
|
.chat-hub-messages .message .datetime {
|
|
font-size: 0.7rem;
|
|
margin-top: 0.25rem;
|
|
padding: 0 0.125rem;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.chat-hub-messages .message.incoming .datetime {
|
|
color: #64748b;
|
|
}
|
|
|
|
.chat-hub-messages .message.outgoing .datetime {
|
|
color: #f1f5f9;
|
|
}
|
|
|
|
.chat-hub-input-area {
|
|
padding: 0.75rem 1.5rem;
|
|
background-color: #ffffff;
|
|
border-top: 1px solid #cbd5e1;
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
align-items: flex-end;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.chat-hub-input-area textarea.chat-hub-textarea {
|
|
flex: 1;
|
|
resize: vertical;
|
|
min-height: 40px;
|
|
max-height: 250px;
|
|
height: 40px;
|
|
padding: 0.5rem 0.75rem;
|
|
border: 1px solid #cbd5e1;
|
|
border-radius: 0.375rem;
|
|
font-size: 0.9rem;
|
|
outline: none;
|
|
transition: border-color 0.2s, box-shadow 0.2s;
|
|
background-color: #f8fafc;
|
|
}
|
|
|
|
.chat-hub-input-area textarea.chat-hub-textarea:focus {
|
|
background-color: #ffffff;
|
|
border-color: #3ba4d7;
|
|
box-shadow: 0 0 0 3px rgba(59, 164, 215, 0.15);
|
|
}
|
|
|
|
.chat-hub-input-area button.chat-hub-send-btn {
|
|
padding: 0.5rem 1.25rem;
|
|
font-size: 0.9rem;
|
|
height: 40px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
border-radius: 0.375rem;
|
|
}
|
|
|
|
button.chat-hub-action-btn,
|
|
label.chat-hub-action-btn,
|
|
.chat-hub-action-btn {
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
width: 36px !important;
|
|
height: 36px !important;
|
|
min-width: 36px !important;
|
|
padding: 0 !important;
|
|
margin: 0 !important;
|
|
background: transparent !important;
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
color: #64748b !important;
|
|
font-size: 1.15rem !important;
|
|
border-radius: 0.375rem !important;
|
|
cursor: pointer !important;
|
|
transition: all 0.15s ease !important;
|
|
outline: none !important;
|
|
}
|
|
|
|
button.chat-hub-action-btn:hover,
|
|
label.chat-hub-action-btn:hover,
|
|
.chat-hub-action-btn:hover {
|
|
background-color: #e2e8f0 !important;
|
|
color: #3b82f6 !important;
|
|
box-shadow: none !important;
|
|
}
|
|
|
|
button.chat-hub-action-btn i,
|
|
label.chat-hub-action-btn i,
|
|
.chat-hub-action-btn i {
|
|
font-size: 1.15rem !important;
|
|
color: inherit !important;
|
|
}
|
|
|
|
/* Compact Room Chat Style (No bubbles, unique nickname colors, IRC-style) */
|
|
.chat-hub-messages.compact-container,
|
|
.messages.compact-container {
|
|
gap: 0 !important;
|
|
padding: 0.75rem 1rem !important;
|
|
background-color: #ffffff !important;
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
}
|
|
|
|
.chat-hub-messages.compact-container .message.compact,
|
|
.messages.compact-container .message.compact {
|
|
display: block !important;
|
|
max-width: 100% !important;
|
|
padding: 0.1rem 0 !important;
|
|
border-radius: 0 !important;
|
|
background-color: transparent !important;
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
align-self: flex-start !important;
|
|
font-size: 0.875rem !important;
|
|
line-height: 1.45 !important;
|
|
margin: 0 !important;
|
|
white-space: nowrap !important;
|
|
}
|
|
|
|
.chat-hub-messages.compact-container .message.compact:hover,
|
|
.messages.compact-container .message.compact:hover {
|
|
background-color: #f8fafc !important;
|
|
overflow: visible !important;
|
|
white-space: normal !important;
|
|
}
|
|
|
|
.chat-hub-messages.compact-container .message.compact .datetime,
|
|
.messages.compact-container .message.compact .datetime {
|
|
color: #a0a0a0 !important;
|
|
margin-right: 0.4rem !important;
|
|
font-size: 0.78rem !important;
|
|
font-family: monospace !important;
|
|
opacity: 1 !important;
|
|
display: inline !important;
|
|
}
|
|
|
|
.chat-hub-messages.compact-container .message.compact .username,
|
|
.messages.compact-container .message.compact .username {
|
|
font-weight: bold !important;
|
|
margin-right: 0.2rem !important;
|
|
font-size: 0.875rem !important;
|
|
display: inline !important;
|
|
}
|
|
|
|
.chat-hub-messages.compact-container .message.compact .messagetext,
|
|
.messages.compact-container .message.compact .messagetext {
|
|
color: #1e293b !important;
|
|
white-space: normal !important;
|
|
word-break: break-word !important;
|
|
display: inline !important;
|
|
margin: 0 !important;
|
|
}
|
|
|
|
/* User Tooltip Styling (Standalone Fixed Floating Tooltip) */
|
|
.user-tooltip {
|
|
position: fixed !important;
|
|
width: 280px !important;
|
|
background-color: #ffffe1 !important;
|
|
border: 1px solid #7f7f7f !important;
|
|
box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.25) !important;
|
|
padding: 0.5rem !important;
|
|
border-radius: 0.25rem !important;
|
|
z-index: 10000 !important;
|
|
white-space: normal !important;
|
|
display: flex !important;
|
|
gap: 0.5rem !important;
|
|
align-items: flex-start !important;
|
|
color: #000000 !important;
|
|
font-size: 0.8rem !important;
|
|
text-align: left !important;
|
|
pointer-events: none !important;
|
|
}
|
|
|
|
.user-tooltip .tooltip-avatar {
|
|
flex-shrink: 0 !important;
|
|
}
|
|
|
|
.user-tooltip .tooltip-avatar .jdenticon-avatar,
|
|
.user-tooltip .tooltip-avatar .defaultAvatar,
|
|
.user-tooltip .tooltip-avatar img.avatar {
|
|
width: 56px !important;
|
|
height: 56px !important;
|
|
min-width: 56px !important;
|
|
min-height: 56px !important;
|
|
border-radius: 2px !important;
|
|
border: 1px solid #999999 !important;
|
|
box-shadow: none !important;
|
|
object-fit: cover !important;
|
|
}
|
|
|
|
.user-tooltip .tooltip-details {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
gap: 0.2rem !important;
|
|
min-width: 0 !important;
|
|
flex: 1 !important;
|
|
}
|
|
|
|
.user-tooltip .tooltip-details .tooltip-row {
|
|
line-height: 1.2 !important;
|
|
display: flex !important;
|
|
flex-direction: row !important;
|
|
align-items: baseline !important;
|
|
gap: 0.35rem !important;
|
|
white-space: normal !important;
|
|
word-break: break-all !important;
|
|
}
|
|
|
|
.user-tooltip .tooltip-details .tooltip-row .tooltip-label {
|
|
font-weight: bold !important;
|
|
color: #000000 !important;
|
|
font-size: 0.8rem !important;
|
|
flex-shrink: 0 !important;
|
|
}
|
|
|
|
.user-tooltip .tooltip-details .tooltip-row .tooltip-value {
|
|
font-weight: normal !important;
|
|
color: #000000 !important;
|
|
font-size: 0.8rem !important;
|
|
overflow: hidden !important;
|
|
text-overflow: ellipsis !important;
|
|
}
|
|
|
|
.user-tooltip .tooltip-details .tooltip-row .tooltip-value.tooltip-id {
|
|
font-family: monospace !important;
|
|
font-size: 0.75rem !important;
|
|
color: #0000bb !important;
|
|
}
|
|
|
|
/* Chat Modal Dialogs (Create Room, Attach File, Invite Friends) */
|
|
.attach-modal-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100vw;
|
|
height: 100vh;
|
|
background-color: rgba(15, 23, 42, 0.5);
|
|
backdrop-filter: blur(4px);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
z-index: 9999;
|
|
}
|
|
|
|
.attach-modal {
|
|
background: #ffffff;
|
|
border-radius: 0.5rem;
|
|
width: 480px;
|
|
max-width: 92vw;
|
|
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
|
|
padding: 1.5rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
color: #1e293b;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.attach-modal h4 {
|
|
margin: 0 0 1rem 0;
|
|
font-size: 1.15rem;
|
|
font-weight: 700;
|
|
color: #0f172a;
|
|
}
|
|
|
|
.attach-modal .attach-modal-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.attach-modal .attach-modal-header h4 {
|
|
margin: 0;
|
|
}
|
|
|
|
.attach-modal .attach-modal-header .attach-modal-icon {
|
|
font-size: 1.25rem;
|
|
color: #3b82f6;
|
|
}
|
|
|
|
/* Emoji Picker Dropdown & Grid Styling */
|
|
.emoji-picker-wrapper {
|
|
position: relative;
|
|
display: inline-flex;
|
|
}
|
|
|
|
.emoji-picker {
|
|
position: absolute;
|
|
bottom: 48px;
|
|
left: 0;
|
|
z-index: 9999;
|
|
width: 320px;
|
|
background: #ffffff;
|
|
border: 1px solid #cbd5e1;
|
|
border-radius: 12px;
|
|
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
|
|
padding: 0.75rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
font-family: inherit;
|
|
|
|
.emoji-search-row {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
.emoji-search-icon {
|
|
position: absolute;
|
|
left: 0.6rem;
|
|
color: #94a3b8;
|
|
font-size: 0.85rem;
|
|
pointer-events: none;
|
|
}
|
|
|
|
input.emoji-search-input {
|
|
width: 100%;
|
|
padding: 0.4rem 1.8rem 0.4rem 1.8rem;
|
|
font-size: 0.85rem;
|
|
border: 1px solid #cbd5e1;
|
|
border-radius: 6px;
|
|
outline: none;
|
|
background-color: #f8fafc;
|
|
transition: border-color 0.15s ease;
|
|
|
|
&:focus {
|
|
border-color: #3b82f6;
|
|
background-color: #ffffff;
|
|
}
|
|
}
|
|
|
|
.emoji-search-clear {
|
|
position: absolute;
|
|
right: 0.5rem;
|
|
background: transparent;
|
|
border: none;
|
|
color: #94a3b8;
|
|
cursor: pointer;
|
|
padding: 0.2rem;
|
|
font-size: 0.85rem;
|
|
|
|
&:hover {
|
|
color: #ef4444;
|
|
}
|
|
}
|
|
}
|
|
|
|
.emoji-categories {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding-bottom: 0.4rem;
|
|
border-bottom: 1px solid #f1f5f9;
|
|
margin-bottom: 0.25rem;
|
|
|
|
.emoji-cat-btn {
|
|
background: transparent !important;
|
|
border: none !important;
|
|
font-size: 1.1rem !important;
|
|
padding: 0.25rem 0.35rem !important;
|
|
border-radius: 6px !important;
|
|
cursor: pointer !important;
|
|
transition: background-color 0.15s ease, transform 0.1s ease !important;
|
|
line-height: 1 !important;
|
|
width: auto !important;
|
|
height: auto !important;
|
|
min-width: unset !important;
|
|
|
|
&:hover {
|
|
background-color: #f1f5f9 !important;
|
|
transform: scale(1.15);
|
|
}
|
|
|
|
&.active {
|
|
background-color: #e0f2fe !important;
|
|
border-radius: 6px !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
.emoji-grid {
|
|
display: grid !important;
|
|
grid-template-columns: repeat(8, 1fr) !important;
|
|
gap: 2px !important;
|
|
max-height: 220px !important;
|
|
overflow-y: auto !important;
|
|
padding-right: 2px !important;
|
|
|
|
&::-webkit-scrollbar {
|
|
width: 5px;
|
|
}
|
|
&::-webkit-scrollbar-thumb {
|
|
background: #cbd5e1;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.emoji-btn {
|
|
background: transparent !important;
|
|
border: none !important;
|
|
font-size: 1.25rem !important;
|
|
padding: 0.35rem 0 !important;
|
|
cursor: pointer !important;
|
|
border-radius: 6px !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
width: auto !important;
|
|
height: auto !important;
|
|
min-width: unset !important;
|
|
transition: background-color 0.1s ease, transform 0.1s ease !important;
|
|
|
|
&:hover {
|
|
background-color: #e2e8f0 !important;
|
|
transform: scale(1.2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Rightbar / Chat Participants Right-Click Context Menu */
|
|
.rightbar-context-menu,
|
|
.chat-msg-context-menu {
|
|
position: absolute !important;
|
|
z-index: 9999 !important;
|
|
right: 10px !important;
|
|
background-color: #ffffff !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
border-radius: 8px !important;
|
|
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
|
|
padding: 0.35rem 0 !important;
|
|
min-width: 220px !important;
|
|
font-family: inherit !important;
|
|
overflow: hidden !important;
|
|
|
|
.menu-item,
|
|
.context-menu-item {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
padding: 0.55rem 0.85rem !important;
|
|
font-size: 0.875rem !important;
|
|
font-weight: 500 !important;
|
|
color: #1e293b !important;
|
|
cursor: pointer !important;
|
|
transition: background-color 0.15s ease, color 0.15s ease !important;
|
|
user-select: none !important;
|
|
|
|
&:hover {
|
|
background-color: #f1f5f9 !important;
|
|
color: #0284c7 !important;
|
|
}
|
|
|
|
i {
|
|
font-size: 0.95rem !important;
|
|
width: 1.25rem !important;
|
|
text-align: center !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* User Avatar Hover Tooltip */
|
|
.user-tooltip {
|
|
position: fixed !important;
|
|
z-index: 10000 !important;
|
|
background-color: #ffffff !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
border-radius: 12px !important;
|
|
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
|
|
padding: 0.85rem 1rem !important;
|
|
display: flex !important;
|
|
gap: 0.85rem !important;
|
|
align-items: center !important;
|
|
min-width: 280px !important;
|
|
max-width: 380px !important;
|
|
pointer-events: none !important;
|
|
font-family: inherit !important;
|
|
|
|
.tooltip-avatar {
|
|
flex-shrink: 0 !important;
|
|
}
|
|
|
|
.tooltip-details {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
gap: 0.3rem !important;
|
|
flex: 1 !important;
|
|
min-width: 0 !important;
|
|
|
|
.tooltip-row {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
font-size: 0.85rem !important;
|
|
line-height: 1.3 !important;
|
|
|
|
.tooltip-label {
|
|
font-weight: 600 !important;
|
|
color: #64748b !important;
|
|
margin-right: 0.35rem !important;
|
|
flex-shrink: 0 !important;
|
|
}
|
|
|
|
.tooltip-value {
|
|
color: #1e293b !important;
|
|
font-weight: 500 !important;
|
|
word-break: break-all !important;
|
|
|
|
&.tooltip-id {
|
|
font-family: monospace !important;
|
|
font-size: 0.78rem !important;
|
|
color: #475569 !important;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@use '../abstracts' as *;
|
|
|
|
.mail {
|
|
.permission-flag {
|
|
margin-bottom: 1rem;
|
|
@include flex($gap: 1rem);
|
|
}
|
|
&-tags {
|
|
padding: 0.5rem;
|
|
border: 1px solid transparentize($dark-color, 0.8);
|
|
border-radius: 6px;
|
|
&__container {
|
|
@include flex(column);
|
|
& .tag-item {
|
|
@include flex($align: center, $gap: 4px);
|
|
border-bottom: 1px solid transparentize($dark-color, 0.9);
|
|
padding: 2px 0;
|
|
|
|
&:last-child {
|
|
border: none;
|
|
}
|
|
&__color {
|
|
width: 1.25rem;
|
|
height: 1.25rem;
|
|
aspect-ratio: 1;
|
|
}
|
|
&__name {
|
|
font-size: 1.125rem;
|
|
}
|
|
&__modify {
|
|
margin-left: auto;
|
|
font-size: 0.75rem;
|
|
@include flex($gap: 4px);
|
|
}
|
|
&:hover {
|
|
background-color: $light-color;
|
|
}
|
|
& button,
|
|
& button.red {
|
|
padding: 0.25rem 0.6rem;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.mail-tags-form .input-field {
|
|
margin-bottom: 0.5rem;
|
|
label {
|
|
margin-right: 0.5rem;
|
|
}
|
|
}
|
|
|
|
.external-address {
|
|
margin: 0;
|
|
padding-left: 1rem;
|
|
height: 100px;
|
|
overflow: hidden auto;
|
|
&::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.proxy-server {
|
|
@include flex(column, $gap: 4px);
|
|
&__tor,
|
|
&__i2p {
|
|
& > h4 {
|
|
margin-bottom: 0.25rem;
|
|
}
|
|
& > input {
|
|
margin-right: 0.5rem;
|
|
}
|
|
.proxy-outgoing {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
&__status {
|
|
width: 1rem;
|
|
height: 1rem;
|
|
aspect-ratio: 1;
|
|
border: 1px solid black;
|
|
border-radius: 50%;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.config-files {
|
|
@include flex(column, $gap: 1rem);
|
|
}
|
|
|
|
/* Hidden Service Configuration layout overrides */
|
|
.proxy-server-container {
|
|
width: 100%;
|
|
@include flex(column, $gap: 1rem);
|
|
}
|
|
|
|
.proxy-description {
|
|
color: #334155;
|
|
font-size: 0.95rem;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.proxy-rows-container {
|
|
@include flex(column, $gap: 0.75rem);
|
|
width: 100%;
|
|
}
|
|
|
|
.proxy-row {
|
|
display: grid;
|
|
grid-template-columns: 160px 220px 220px auto;
|
|
gap: 0.75rem;
|
|
align-items: center;
|
|
width: 100%;
|
|
}
|
|
|
|
.proxy-label {
|
|
font-size: 0.95rem;
|
|
font-weight: 500;
|
|
color: #1e293b;
|
|
}
|
|
|
|
.proxy-addr-input,
|
|
.proxy-port-input {
|
|
width: 100% !important;
|
|
max-width: none !important;
|
|
}
|
|
|
|
.proxy-status-container {
|
|
@include flex($align: center, $gap: 0.5rem);
|
|
}
|
|
|
|
.proxy-status-bullet {
|
|
width: 14px;
|
|
height: 14px;
|
|
border-radius: 50%;
|
|
display: inline-block;
|
|
border: 1px solid #475569;
|
|
}
|
|
|
|
.proxy-status-text {
|
|
font-size: 0.95rem;
|
|
color: #1e293b;
|
|
}
|
|
|
|
|
|
|
|
|
|
@use '../abstracts/' as *;
|
|
|
|
.file-view {
|
|
width: 100%;
|
|
padding: 1rem;
|
|
margin-top: 1.5rem;
|
|
border-radius: 8px;
|
|
border: 1px solid #ccc;
|
|
animation: fadein 0.5s;
|
|
&__heading {
|
|
@include flex($justify: space-between);
|
|
margin-bottom: 0.5rem;
|
|
&-chunk {
|
|
@include flex($gap: 1rem);
|
|
}
|
|
}
|
|
&__body {
|
|
@include flex(column, $gap: 1rem);
|
|
&-details {
|
|
@include flex($align: center);
|
|
&-stat {
|
|
width: 100%;
|
|
display: grid;
|
|
grid-template-columns: repeat(5, 1fr);
|
|
& span > i {
|
|
margin-right: 0.5rem;
|
|
}
|
|
}
|
|
&-action {
|
|
@include flex($gap: 1rem);
|
|
height: 100%;
|
|
& button,
|
|
& button.red {
|
|
padding: 0.25rem 0.75rem;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
table.myfiles td {
|
|
word-wrap: break-word;
|
|
}
|
|
table.myfiles th:nth-child(1) {
|
|
width: 2%;
|
|
}
|
|
table.myfiles th:nth-child(2) {
|
|
width: 50%;
|
|
}
|
|
table.myfiles td:nth-child(2) {
|
|
text-align: start;
|
|
}
|
|
table.friendsfiles td {
|
|
word-wrap: break-word;
|
|
}
|
|
table.friendsfiles th:nth-child(1) {
|
|
width: 2%;
|
|
}
|
|
table.friendsfiles th:nth-child(2) {
|
|
width: 50%;
|
|
}
|
|
table.friendsfiles th:nth-child(4) {
|
|
width: 40%;
|
|
}
|
|
table.friendsfiles td:nth-child(2) {
|
|
text-align: start;
|
|
}
|
|
|
|
// File Search
|
|
.file-search-container {
|
|
margin-top: 1rem;
|
|
padding: 8px;
|
|
@include flex($gap: 8px);
|
|
border: 1px solid transparentize($dark-color, 0.8);
|
|
border-radius: 6px;
|
|
height: 100%;
|
|
overflow: auto;
|
|
|
|
&__keywords {
|
|
flex-basis: 15%;
|
|
padding-right: 0.25rem;
|
|
border-right: 1px solid transparentize($dark-color, 0.9);
|
|
|
|
& .keywords-container {
|
|
@include flex(column);
|
|
border-top: 2.5px solid transparentize($dark-color, 0.92);
|
|
margin-top: 0.125rem;
|
|
padding-top: 0.25rem;
|
|
|
|
& a {
|
|
font-size: 1.2rem;
|
|
text-decoration: none;
|
|
color: $dark-color;
|
|
|
|
&.selected {
|
|
color: $primary-color;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&__results {
|
|
flex-basis: 85%;
|
|
height: 100%;
|
|
overflow: auto;
|
|
|
|
& .results-container {
|
|
& .results-header {
|
|
& tr {
|
|
display: flex;
|
|
& th {
|
|
font-size: 1.25rem;
|
|
font-weight: bold;
|
|
text-align: left;
|
|
|
|
&:nth-child(1) {
|
|
flex-basis: 40%;
|
|
}
|
|
&:nth-child(2) {
|
|
flex-basis: 10%;
|
|
text-align: center;
|
|
}
|
|
&:nth-child(3) {
|
|
flex-basis: 40%;
|
|
}
|
|
&:nth-child(4) {
|
|
flex-basis: 10%;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
& .results {
|
|
height: 100%;
|
|
overflow: auto;
|
|
& tr {
|
|
display: flex;
|
|
& .results {
|
|
&__hash,
|
|
&__name {
|
|
text-align: left;
|
|
flex-basis: 40%;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
|
|
span {
|
|
margin-left: 8px;
|
|
}
|
|
}
|
|
&__size {
|
|
flex-basis: 10%;
|
|
}
|
|
&__download {
|
|
flex-basis: 10%;
|
|
@include flex($justify: start, $align: center);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.search-form {
|
|
display: flex;
|
|
width: 40%;
|
|
input {
|
|
width: 100%;
|
|
}
|
|
button {
|
|
margin-left: 0.5rem;
|
|
}
|
|
}
|
|
|
|
.shareManagerPopupOverlay {
|
|
@include popupOverlay;
|
|
.shareManagerPopup {
|
|
position: absolute;
|
|
inset: 0;
|
|
margin: auto;
|
|
width: 80%;
|
|
height: 90%;
|
|
& > .widget {
|
|
padding: 1.5rem;
|
|
}
|
|
& .close-btn {
|
|
position: absolute;
|
|
top: 1.5rem;
|
|
right: 1.5rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
.share-manager {
|
|
@include flex(column, $justify: space-between);
|
|
&__table {
|
|
margin: 1rem 0 auto;
|
|
thead {
|
|
font-weight: bold;
|
|
text-align: left;
|
|
td:nth-child(1),
|
|
td:nth-child(2) {
|
|
padding-left: 0.5rem;
|
|
}
|
|
td:nth-child(3),
|
|
td:nth-child(4) {
|
|
& .tooltip {
|
|
font-weight: normal;
|
|
font-size: 1rem;
|
|
}
|
|
}
|
|
}
|
|
tbody {
|
|
text-align: left;
|
|
td:nth-child(4) {
|
|
font-size: 1rem;
|
|
}
|
|
}
|
|
td {
|
|
input {
|
|
border: 0 !important;
|
|
&[type='text'] {
|
|
width: 100%;
|
|
}
|
|
}
|
|
&:nth-child(1) {
|
|
width: 45%;
|
|
}
|
|
&:nth-child(2) {
|
|
width: 20%;
|
|
}
|
|
&:nth-child(3) {
|
|
width: 10%;
|
|
}
|
|
&:nth-child(4) {
|
|
width: 25%;
|
|
}
|
|
}
|
|
}
|
|
&__actions {
|
|
@include flex($justify: space-between);
|
|
}
|
|
&__form {
|
|
@include flex(column, $gap: 0.5rem);
|
|
&_input {
|
|
@include flex(column, $gap: 0.5rem);
|
|
input {
|
|
flex-grow: 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
.share-flags {
|
|
/* hide checkbox */
|
|
input.share-flags-check {
|
|
display: none;
|
|
/* use label with 'for' to manipulate checkbox */
|
|
& + label.share-flags-label {
|
|
color: grey;
|
|
margin-right: 0.25rem;
|
|
padding: 0.25rem 0.25rem 0.125rem;
|
|
border: 1px solid #6d6d6d;
|
|
border-radius: 0.5rem;
|
|
}
|
|
&:checked + label.share-flags-label {
|
|
color: $primary-retro-color;
|
|
}
|
|
}
|
|
}
|
|
label span {
|
|
display: inline-block;
|
|
width: 1.125rem;
|
|
}
|
|
}
|
|
.manage-visibility {
|
|
label {
|
|
width: 100%;
|
|
cursor: pointer;
|
|
}
|
|
@include flex($justify: space-between);
|
|
}
|
|
|
|
/* FILES MODULE RESPONSIVENESS */
|
|
@media (max-width: 700px) {
|
|
|
|
/* General Files Layout */
|
|
.file-view__body-details {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
gap: 1rem;
|
|
}
|
|
|
|
/* File Detail Grid (Downloads/Uploads) */
|
|
.file-view__body-details-stat {
|
|
grid-template-columns: 1fr;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.file-view__body-details-stat span {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
/* Share Manager Table -> Cards */
|
|
.share-manager__table,
|
|
.share-manager__table thead,
|
|
.share-manager__table tbody,
|
|
.share-manager__table tr,
|
|
.share-manager__table td {
|
|
display: block;
|
|
width: 100% !important;
|
|
}
|
|
|
|
.share-manager__table thead {
|
|
display: none;
|
|
/* Hide header on mobile */
|
|
}
|
|
|
|
.share-manager__table tr {
|
|
border: 1px solid #ccc;
|
|
border-radius: 8px;
|
|
margin-bottom: 1rem;
|
|
padding: 0.5rem;
|
|
background: white;
|
|
}
|
|
|
|
.share-manager__table td {
|
|
margin-bottom: 0.5rem;
|
|
border: none !important;
|
|
padding-left: 0 !important;
|
|
}
|
|
|
|
/* My Files / Friends Files Tables -> Cards */
|
|
table.myfiles,
|
|
table.myfiles tr,
|
|
table.myfiles td,
|
|
table.friendsfiles,
|
|
table.friendsfiles tr,
|
|
table.friendsfiles td {
|
|
display: block;
|
|
width: 100% !important;
|
|
}
|
|
|
|
table.myfiles th,
|
|
table.friendsfiles th {
|
|
display: none;
|
|
}
|
|
|
|
table.myfiles tr,
|
|
table.friendsfiles tr {
|
|
border: 1px solid #ccc;
|
|
border-radius: 8px;
|
|
margin-bottom: 1rem;
|
|
padding: 0.5rem;
|
|
background: white;
|
|
}
|
|
|
|
/* Search Container Layout */
|
|
.file-search-container {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.file-search-container__keywords {
|
|
flex-basis: auto;
|
|
width: 100%;
|
|
border-right: none;
|
|
border-bottom: 1px solid rgba(20, 20, 27, 0.1);
|
|
padding-bottom: 1rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
/* Search results table -> cards */
|
|
.results-container,
|
|
.results-container thead,
|
|
.results-container tbody,
|
|
.results-container tr,
|
|
.results-container td {
|
|
display: block;
|
|
width: 100% !important;
|
|
}
|
|
|
|
.results-container thead {
|
|
display: none;
|
|
}
|
|
|
|
.results-container tr {
|
|
border-bottom: 1px solid #eee;
|
|
padding: 1rem 0;
|
|
}
|
|
|
|
.results-container td {
|
|
margin-bottom: 0.5rem;
|
|
word-break: break-all;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.forums-node-panel {
|
|
position: relative;
|
|
bottom: 200px;
|
|
margin-left: 200px;
|
|
animation: fadein 0.5s;
|
|
}
|
|
|
|
/* subject */
|
|
table.forums th:nth-child(1) {
|
|
width: 50%;
|
|
text-align: start;
|
|
}
|
|
/* subject */
|
|
table.forums td:nth-child(1) {
|
|
text-align: start;
|
|
/* Truncate text with '...' */
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
table.forums tr:hover {
|
|
background-color: #eef3f6;
|
|
cursor: pointer;
|
|
}
|
|
|
|
table.forums tr.hidden {
|
|
display: none;
|
|
}
|
|
|
|
#searchforum {
|
|
position: relative;
|
|
margin-left: 250px;
|
|
/* top: 50px; */
|
|
}
|
|
|
|
#forumdetails {
|
|
position: relative;
|
|
padding: 10px;
|
|
}
|
|
.p {
|
|
margin: 0;
|
|
}
|
|
#toggleunsub {
|
|
position: relative;
|
|
background: gray;
|
|
}
|
|
|
|
table.threads tr:hover {
|
|
background-color: #eef3f6;
|
|
cursor: pointer;
|
|
}
|
|
table.threads td {
|
|
word-wrap: break-word;
|
|
}
|
|
table.threadreply th:nth-child(2) {
|
|
width: 50%;
|
|
}
|
|
table.threadreply th:nth-child(1) {
|
|
width: 2%;
|
|
}
|
|
table.threadreply td:nth-child(2) {
|
|
width: 50%;
|
|
text-align: start;
|
|
}
|
|
table.threadreply td {
|
|
word-wrap: break-word;
|
|
}
|
|
table.threadreply tr:hover {
|
|
background-color: #eef3f6;
|
|
cursor: pointer;
|
|
}
|
|
|
|
|
|
|
|
@use 'sass:color';
|
|
@use '../abstracts' as *;
|
|
|
|
.homepage {
|
|
margin: 2rem auto 0;
|
|
@include flex(column, $gap: 4rem);
|
|
|
|
.logo {
|
|
@include flex($justify: center, $align: center);
|
|
|
|
& img {
|
|
width: 90px;
|
|
}
|
|
|
|
.retroshareText {
|
|
@include flex(column, $align: center);
|
|
|
|
& .retrotext {
|
|
font-size: 36px;
|
|
font-weight: 600;
|
|
line-height: 1.125;
|
|
|
|
&>span {
|
|
color: $primary-retro-color;
|
|
}
|
|
}
|
|
|
|
&>b {
|
|
font-size: 14px;
|
|
line-height: 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
.certificate {
|
|
@include flex(column, $gap: 4rem);
|
|
|
|
&__heading {
|
|
text-align: center;
|
|
|
|
&>h1 {
|
|
margin-bottom: 1rem;
|
|
}
|
|
}
|
|
|
|
&__content {
|
|
@include flex(column, $gap: 2rem);
|
|
padding: 2rem;
|
|
text-align: center;
|
|
border: 1.5px solid color.adjust($primary-retro-color, $alpha: -0.8);
|
|
border-radius: 6px;
|
|
box-shadow: 0px 0px 8px 2px color.adjust($dark-color, $alpha: -0.95);
|
|
|
|
.rsId>p {
|
|
margin-bottom: 0.5rem;
|
|
color: $primary-retro-color;
|
|
}
|
|
|
|
.retroshareID {
|
|
padding: 0.25rem;
|
|
@include flex($align: center);
|
|
justify-self: start;
|
|
font-size: 1.25rem;
|
|
border-radius: 4px;
|
|
background: color.adjust($dark-color, $alpha: -0.95);
|
|
|
|
& .textArea {
|
|
padding: 0;
|
|
width: 100%;
|
|
height: auto;
|
|
font-size: 1rem;
|
|
font-family: monospace;
|
|
background: transparent;
|
|
border: none;
|
|
resize: none;
|
|
overflow: hidden;
|
|
field-sizing: content;
|
|
}
|
|
|
|
& i {
|
|
color: $primary-retro-color;
|
|
}
|
|
|
|
&>i {
|
|
margin: 0 0.5rem;
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
|
|
.webhelp {
|
|
padding: 0.5rem;
|
|
background: whitesmoke;
|
|
@include flex($justify: center, $align: center, $gap: 0.5rem);
|
|
border-radius: 4px;
|
|
border: 1px solid color.adjust($dark-color, $alpha: -0.5);
|
|
width: fit-content;
|
|
cursor: pointer;
|
|
|
|
&-container {
|
|
display: grid;
|
|
place-items: center;
|
|
}
|
|
|
|
&:hover {
|
|
background: $light-color;
|
|
border: 1px solid $dark-color;
|
|
}
|
|
|
|
&>i {
|
|
font-size: 1.2rem;
|
|
color: green;
|
|
}
|
|
}
|
|
|
|
.add-friend>h6,
|
|
.webhelp-container>h6 {
|
|
font-weight: normal;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Responsive Mobile Home Page Styles */
|
|
@media (max-width: 768px) {
|
|
.homepage {
|
|
margin: 1rem auto !important;
|
|
padding: 0 1rem !important;
|
|
gap: 2rem !important;
|
|
max-width: 100% !important;
|
|
box-sizing: border-box !important;
|
|
|
|
.logo {
|
|
flex-direction: column !important;
|
|
gap: 0.5rem !important;
|
|
text-align: center !important;
|
|
|
|
& img {
|
|
width: 60px !important;
|
|
}
|
|
|
|
.retroshareText {
|
|
.retrotext {
|
|
font-size: 1.6rem !important;
|
|
}
|
|
& > b {
|
|
font-size: 0.75rem !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
.certificate {
|
|
gap: 2rem !important;
|
|
|
|
&__heading {
|
|
& > h1 {
|
|
font-size: 1.35rem !important;
|
|
margin-bottom: 0.5rem !important;
|
|
}
|
|
font-size: 0.85rem !important;
|
|
}
|
|
|
|
&__content {
|
|
padding: 1rem 0.75rem !important;
|
|
gap: 1.25rem !important;
|
|
|
|
.retroshareID {
|
|
padding: 0.5rem !important;
|
|
font-size: 0.85rem !important;
|
|
max-width: 100% !important;
|
|
|
|
.textArea {
|
|
font-size: 0.8rem !important;
|
|
word-break: break-all !important;
|
|
overflow-wrap: anywhere !important;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@forward "login";
|
|
@forward "home";
|
|
@forward "network";
|
|
@forward "people";
|
|
@forward "chat";
|
|
@forward "mail";
|
|
@forward "files";
|
|
@forward "channel";
|
|
@forward "forums";
|
|
@forward "board";
|
|
@forward "config";
|
|
|
|
|
|
|
|
@use 'sass:color';
|
|
@use '../abstracts' as *;
|
|
|
|
.login-page {
|
|
background-image: linear-gradient(-45deg,
|
|
color.adjust($primary-color, $alpha: -0.25),
|
|
color.adjust($primary-retro-color, $alpha: -0.25));
|
|
height: 100%;
|
|
animation: fadein 0.5s;
|
|
|
|
.login-container {
|
|
background-color: white;
|
|
box-shadow: 3px 3px 5px color.adjust($dark-color, $alpha: -0.6);
|
|
margin: auto;
|
|
position: relative;
|
|
top: 100px;
|
|
max-width: 400px;
|
|
max-height: 500px;
|
|
border-radius: 5px;
|
|
@include flex(column, $align: center);
|
|
|
|
& input {
|
|
padding: 0.375rem 0.75rem;
|
|
border-radius: 0.275rem;
|
|
}
|
|
|
|
& * {
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
&>img {
|
|
margin: 1rem 0 2rem;
|
|
}
|
|
|
|
& extra {
|
|
margin: 0;
|
|
}
|
|
|
|
&>a {
|
|
text-decoration: underline;
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
|
|
.extra>label,
|
|
.extra>br,
|
|
.extra>input {
|
|
margin-bottom: 0;
|
|
}
|
|
}
|
|
|
|
|
|
@use '../abstracts/' as *;
|
|
|
|
.side-bar {
|
|
@include flex(column);
|
|
background: white;
|
|
.mail-compose-btn {
|
|
width: 96%;
|
|
margin: 0.25rem;
|
|
padding: 0.75rem 0;
|
|
}
|
|
|
|
.sidebar a,
|
|
.sidebarquickview a {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.sidebar-badge {
|
|
margin-left: auto;
|
|
background-color: #3b82f6;
|
|
color: #ffffff;
|
|
font-size: 0.725rem;
|
|
font-weight: 700;
|
|
padding: 0.15rem 0.45rem;
|
|
border-radius: 999px;
|
|
line-height: 1;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-width: 1.2rem;
|
|
}
|
|
}
|
|
|
|
.compose-mail {
|
|
&__from {
|
|
@include flex($justify: flex-start, $align: center, $gap: 0.5rem);
|
|
padding-bottom: 0.5rem;
|
|
border-bottom: 2px solid $light-color;
|
|
}
|
|
&__recipients {
|
|
padding: 0.5rem 0;
|
|
@include flex(column, $gap: 0.5rem);
|
|
border-bottom: 2px solid $light-color;
|
|
&__container {
|
|
@include flex($gap: 0.5rem);
|
|
& > label {
|
|
text-transform: capitalize;
|
|
}
|
|
.recipients {
|
|
width: 100%;
|
|
@include flex($gap: 0.5rem);
|
|
flex-wrap: wrap;
|
|
&__selected {
|
|
padding: 0.125rem 0.5rem;
|
|
@include flex($align: center, $gap: 0.5rem);
|
|
border: 1px solid $light-color;
|
|
border-radius: 3px;
|
|
cursor: default;
|
|
& i {
|
|
cursor: pointer;
|
|
padding: 0.25rem;
|
|
}
|
|
}
|
|
&__input {
|
|
display: flex;
|
|
position: relative;
|
|
flex-grow: 1;
|
|
&-field {
|
|
flex-grow: 1;
|
|
min-width: 200px;
|
|
padding: 0;
|
|
border: none;
|
|
box-shadow: none;
|
|
&:focus + .recipients__input-list {
|
|
display: flex;
|
|
}
|
|
}
|
|
&-list {
|
|
z-index: 1;
|
|
position: absolute;
|
|
top: 1rem;
|
|
padding: 0;
|
|
width: 100%;
|
|
max-height: 15rem;
|
|
flex-direction: column;
|
|
overflow: auto;
|
|
display: none;
|
|
background: white;
|
|
border-top: 1px solid $light-color;
|
|
border-bottom: 1px solid $light-color;
|
|
&:hover {
|
|
display: flex;
|
|
}
|
|
& li {
|
|
list-style: none;
|
|
padding: 0.25rem 0.5rem;
|
|
cursor: pointer;
|
|
background: white;
|
|
border: 1px solid $light-color;
|
|
border-top: 0px;
|
|
&:hover {
|
|
background: $light-color;
|
|
}
|
|
&:last-child {
|
|
border-bottom: 0px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.remove-recipient {
|
|
padding: 0.125rem 0.5rem;
|
|
}
|
|
}
|
|
input[type='text'].compose-mail__subject {
|
|
padding: 0.5rem 0;
|
|
border: none;
|
|
box-shadow: none;
|
|
border-bottom: 2px solid $light-color;
|
|
border-radius: 0;
|
|
}
|
|
&__message {
|
|
margin: 0.5rem 0;
|
|
height: 100%;
|
|
@include flex(column);
|
|
overflow: auto;
|
|
&-body {
|
|
height: 100%;
|
|
outline: transparent;
|
|
}
|
|
}
|
|
&__send-btn {
|
|
@include flex($align: center, $gap: 0.5rem);
|
|
& i {
|
|
transform: translateY(-1px);
|
|
}
|
|
}
|
|
}
|
|
|
|
.msg-view {
|
|
height: 100%;
|
|
@include flex(column, $gap: 1rem);
|
|
overflow: auto;
|
|
&-nav {
|
|
@include flex($justify: space-between, $align: column);
|
|
&__action {
|
|
@include flex($gap: 0.5rem);
|
|
}
|
|
}
|
|
&__header {
|
|
@include flex(column, $gap: 1rem);
|
|
& > h3 {
|
|
line-height: 1;
|
|
}
|
|
& .msg-details {
|
|
@include flex($gap: 1rem);
|
|
&__avatar {
|
|
height: max-content;
|
|
}
|
|
&__info {
|
|
@include flex(column);
|
|
&-item {
|
|
@include flex($gap: 0.5rem);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
&__body {
|
|
height: 100%;
|
|
overflow: auto;
|
|
font-size: 14px !important;
|
|
}
|
|
&__attachment {
|
|
height: 50%;
|
|
overflow: auto;
|
|
@include flex(column);
|
|
&-items {
|
|
height: 100%;
|
|
overflow: auto;
|
|
}
|
|
}
|
|
}
|
|
|
|
.mail-tag {
|
|
width: 8rem;
|
|
padding: 0.5rem;
|
|
}
|
|
.msgHeader {
|
|
display: flex;
|
|
}
|
|
.msgHeaderDetails {
|
|
@include flex(column);
|
|
}
|
|
|
|
table.mails {
|
|
& th {
|
|
/* star */
|
|
&:nth-child(1) {
|
|
width: 5%;
|
|
color: $golden-yellow-color;
|
|
}
|
|
/* attachments */
|
|
&:nth-child(2) {
|
|
width: 5%;
|
|
color: darken($light-color, 50%);
|
|
}
|
|
/* subject */
|
|
&:nth-child(3) {
|
|
width: 50%;
|
|
text-align: start;
|
|
}
|
|
/* From */
|
|
&:nth-child(4),
|
|
/* date */
|
|
&:nth-child(5) {
|
|
width: 20%;
|
|
text-align: start;
|
|
}
|
|
}
|
|
|
|
& td {
|
|
/* subject */
|
|
&:nth-child(3) {
|
|
text-align: start;
|
|
/* Truncate text with '...' */
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
/* From */
|
|
&:nth-child(4),
|
|
/* date */
|
|
&:nth-child(5) {
|
|
text-align: start;
|
|
}
|
|
}
|
|
|
|
& tr {
|
|
&:hover {
|
|
background-color: $light-color;
|
|
cursor: pointer;
|
|
}
|
|
&.unread {
|
|
color: black;
|
|
background-color: $light-color;
|
|
}
|
|
}
|
|
|
|
//Remove hover effects from the table head
|
|
& > tr:hover {
|
|
cursor: auto;
|
|
background-color: white;
|
|
}
|
|
|
|
& th.sortable-th {
|
|
cursor: pointer;
|
|
user-select: none;
|
|
transition: background-color 0.2s, color 0.2s;
|
|
|
|
&:hover {
|
|
background-color: $light-color;
|
|
color: darken($light-color, 80%);
|
|
}
|
|
}
|
|
}
|
|
|
|
/* hide checkbox */
|
|
input.star-check {
|
|
display: none;
|
|
/* use label with 'for' to manipulate checkbox */
|
|
& + label.star-check {
|
|
color: grey;
|
|
}
|
|
&:checked + label.star-check {
|
|
color: $golden-yellow-color;
|
|
}
|
|
}
|
|
|
|
/* mail_util.js styles */
|
|
#truncate {
|
|
height: 6rem;
|
|
overflow: auto;
|
|
&.truncated-view {
|
|
height: 1.75rem;
|
|
overflow: hidden;
|
|
}
|
|
}
|
|
.toggle-truncate {
|
|
font-size: 0.75rem;
|
|
padding: 0 0.25rem;
|
|
background: #999;
|
|
color: $dark-color;
|
|
box-shadow: none;
|
|
border-radius: 2px;
|
|
}
|
|
|
|
// Normal mail attachment view
|
|
table.attachment-container {
|
|
padding: 0;
|
|
|
|
& > tr {
|
|
border: 0;
|
|
}
|
|
|
|
.attachment-header {
|
|
width: 100%;
|
|
@include flex($justify: space-between);
|
|
|
|
th {
|
|
text-align: start;
|
|
|
|
&:nth-child(1) {
|
|
flex-basis: 45%;
|
|
}
|
|
&:nth-child(2) {
|
|
flex-basis: 15%;
|
|
}
|
|
&:nth-child(3) {
|
|
flex-basis: 10%;
|
|
}
|
|
&:nth-child(4) {
|
|
flex-basis: 20%;
|
|
}
|
|
&:nth-child(5) {
|
|
text-align: center;
|
|
flex-basis: 10%;
|
|
}
|
|
}
|
|
}
|
|
|
|
.attachment {
|
|
width: 100%;
|
|
@include flex($justify: space-between);
|
|
text-align: start;
|
|
|
|
&__name {
|
|
flex-basis: 45%;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
|
|
span {
|
|
margin-left: 8px;
|
|
}
|
|
}
|
|
|
|
&__from {
|
|
flex-basis: 15%;
|
|
}
|
|
&__size {
|
|
flex-basis: 10%;
|
|
}
|
|
&__date {
|
|
flex-basis: 20%;
|
|
}
|
|
& td:nth-child(5) {
|
|
@include flex($justify: center, $align: center);
|
|
flex-basis: 10%;
|
|
|
|
& button {
|
|
font-size: 0.875rem;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Attachment Section attachment view
|
|
.view-toggle {
|
|
height: max-content;
|
|
border: 1px solid $primary-color;
|
|
border-radius: 4px;
|
|
display: flex;
|
|
|
|
& * {
|
|
padding: 4px 12px;
|
|
border-radius: 4px;
|
|
}
|
|
}
|
|
|
|
.composePopupOverlay {
|
|
@include popupOverlay;
|
|
.composePopup {
|
|
position: absolute;
|
|
inset: 0;
|
|
margin: auto;
|
|
width: 80%;
|
|
height: 90%;
|
|
& > .widget {
|
|
padding: 2rem;
|
|
}
|
|
& .close-btn {
|
|
position: absolute;
|
|
top: 1.5rem;
|
|
right: 1.5rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Modern Attachment Card Styling */
|
|
.attachments-wrapper {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
margin-top: 0.5rem;
|
|
}
|
|
|
|
.attachment-card {
|
|
background: #ffffff;
|
|
border: 1px solid #e2e8f0;
|
|
border-radius: 0.5rem;
|
|
padding: 0.75rem 1rem;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
|
|
|
|
.attachment-icon {
|
|
width: 40px;
|
|
height: 40px;
|
|
border-radius: 0.5rem;
|
|
background: #eff6ff;
|
|
color: #3b82f6;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 1.2rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.attachment-info {
|
|
flex: 1;
|
|
min-width: 0;
|
|
|
|
.attachment-name {
|
|
font-weight: 600;
|
|
font-size: 0.9rem;
|
|
color: #1e293b;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.attachment-size {
|
|
font-size: 0.75rem;
|
|
color: #64748b;
|
|
}
|
|
}
|
|
|
|
.btn-attachment-download {
|
|
padding: 0.4rem 0.75rem;
|
|
font-size: 0.8rem;
|
|
height: 34px;
|
|
}
|
|
}
|
|
|
|
.mobile-fab-compose {
|
|
display: none;
|
|
}
|
|
|
|
/* Mobile Responsiveness for Mail UI */
|
|
@media (max-width: 768px) {
|
|
.side-bar {
|
|
width: 100% !important;
|
|
flex-direction: row !important;
|
|
overflow-x: auto !important;
|
|
overflow-y: hidden !important;
|
|
white-space: nowrap !important;
|
|
border-bottom: 1px solid #cbd5e1 !important;
|
|
padding: 0.5rem !important;
|
|
flex-shrink: 0 !important;
|
|
background: #ffffff !important;
|
|
}
|
|
|
|
.side-bar .mail-compose-btn {
|
|
display: none !important;
|
|
}
|
|
|
|
.side-bar .sidebar {
|
|
width: auto !important;
|
|
flex-direction: row !important;
|
|
gap: 0.25rem !important;
|
|
}
|
|
|
|
.side-bar .sidebar a {
|
|
padding: 0.5rem 0.75rem !important;
|
|
font-size: 0.85rem !important;
|
|
border-radius: 0.375rem !important;
|
|
border-left: none !important;
|
|
border-bottom: none !important;
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
gap: 0.35rem !important;
|
|
}
|
|
|
|
.side-bar .sidebar a .sidebar-link-text {
|
|
display: none !important;
|
|
}
|
|
|
|
.side-bar .sidebar a i {
|
|
margin-right: 0 !important;
|
|
font-size: 1.1rem !important;
|
|
}
|
|
|
|
.side-bar .sidebar a .sidebar-badge {
|
|
margin-left: 0 !important;
|
|
background: #3b82f6 !important;
|
|
color: #ffffff !important;
|
|
font-size: 0.7rem !important;
|
|
font-weight: 700 !important;
|
|
padding: 0.15rem 0.4rem !important;
|
|
border-radius: 999px !important;
|
|
line-height: 1 !important;
|
|
}
|
|
|
|
.side-bar .sidebar a.selected-sidebar-link {
|
|
background-color: #e0f2fe !important;
|
|
color: #0369a1 !important;
|
|
border-left: none !important;
|
|
font-weight: 600 !important;
|
|
}
|
|
|
|
.side-bar .sidebarquickview {
|
|
display: none !important; /* Hide quickview tags on mobile bar; filter via colored dropdown */
|
|
}
|
|
|
|
select.mail-tag {
|
|
padding: 0.45rem 0.75rem !important;
|
|
border-radius: 0.5rem !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
font-size: 0.85rem !important;
|
|
font-weight: 600 !important;
|
|
background-color: #ffffff !important;
|
|
color: #1e293b !important;
|
|
outline: none !important;
|
|
cursor: pointer !important;
|
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
|
|
}
|
|
|
|
.node-panel {
|
|
width: 100% !important;
|
|
flex: 1 !important;
|
|
padding: 0.5rem !important;
|
|
overflow: auto !important;
|
|
}
|
|
|
|
/* Mail List Table -> Mobile Card List View */
|
|
.table-pagination-container table.mails {
|
|
display: block !important;
|
|
width: 100% !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr:first-child {
|
|
display: none !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tbody {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
gap: 0.5rem !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
padding: 0.85rem !important;
|
|
background: #ffffff !important;
|
|
border: 1px solid #e2e8f0 !important;
|
|
border-radius: 0.65rem !important;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
|
|
position: relative !important;
|
|
margin-bottom: 0.25rem !important;
|
|
transition: all 0.2s ease !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody.unread {
|
|
background: #f0f9ff !important;
|
|
border-color: #bae6fd !important;
|
|
border-left: 4px solid #0284c7 !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody td {
|
|
display: block !important;
|
|
padding: 0 !important;
|
|
border: none !important;
|
|
}
|
|
|
|
/* Top Row: Sender Info & Date */
|
|
.table-pagination-container table.mails tr.msgbody td.cell-from {
|
|
order: 1 !important;
|
|
margin-bottom: 0.35rem !important;
|
|
padding-right: 5rem !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody td.cell-from div {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
gap: 0.5rem !important;
|
|
width: 100% !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody td.cell-from div .jdenticon-avatar,
|
|
.table-pagination-container table.mails tr.msgbody td.cell-from div .defaultAvatar,
|
|
.table-pagination-container table.mails tr.msgbody td.cell-from div img.avatar {
|
|
flex-shrink: 0 !important;
|
|
width: 28px !important;
|
|
height: 28px !important;
|
|
min-width: 28px !important;
|
|
min-height: 28px !important;
|
|
aspect-ratio: 1 / 1 !important;
|
|
object-fit: cover !important;
|
|
border-radius: 50% !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody td.cell-from div span {
|
|
font-weight: 700 !important;
|
|
font-size: 0.95rem !important;
|
|
color: #1e293b !important;
|
|
white-space: nowrap !important;
|
|
overflow: hidden !important;
|
|
text-overflow: ellipsis !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody td.cell-date {
|
|
order: 2 !important;
|
|
position: absolute !important;
|
|
top: 0.85rem !important;
|
|
right: 0.85rem !important;
|
|
font-size: 0.75rem !important;
|
|
font-weight: 600 !important;
|
|
color: #64748b !important;
|
|
white-space: nowrap !important;
|
|
}
|
|
|
|
/* Subject Row */
|
|
.table-pagination-container table.mails tr.msgbody td.cell-subject {
|
|
order: 3 !important;
|
|
margin-bottom: 0.25rem !important;
|
|
font-size: 0.9rem !important;
|
|
color: #334155 !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody td.cell-subject span {
|
|
font-weight: 600 !important;
|
|
}
|
|
|
|
/* Star & Attachments */
|
|
.table-pagination-container table.mails tr.msgbody td.cell-star {
|
|
order: 4 !important;
|
|
position: absolute !important;
|
|
bottom: 0.75rem !important;
|
|
right: 0.85rem !important;
|
|
}
|
|
|
|
.table-pagination-container table.mails tr.msgbody td.cell-attachment {
|
|
order: 5 !important;
|
|
position: absolute !important;
|
|
bottom: 0.75rem !important;
|
|
right: 2.5rem !important;
|
|
color: #64748b !important;
|
|
}
|
|
|
|
/* Mail Reader (MessageView) Mobile Layout */
|
|
.msg-view {
|
|
padding: 0.5rem !important;
|
|
gap: 0.75rem !important;
|
|
}
|
|
|
|
.msg-view .msg-view-nav {
|
|
background: #ffffff !important;
|
|
padding: 0.5rem 0.75rem !important;
|
|
border-radius: 0.5rem !important;
|
|
border: 1px solid #e2e8f0 !important;
|
|
}
|
|
|
|
.msg-view .msg-view-nav__action button {
|
|
padding: 0.45rem 0.65rem !important;
|
|
min-width: 38px !important;
|
|
height: 38px !important;
|
|
justify-content: center !important;
|
|
}
|
|
|
|
.msg-view .msg-view-nav__action button .btn-text {
|
|
display: none !important;
|
|
}
|
|
|
|
.msg-view .msg-view-nav__action button i {
|
|
margin: 0 !important;
|
|
font-size: 1rem !important;
|
|
}
|
|
|
|
.msg-view__header {
|
|
background: #ffffff !important;
|
|
padding: 1rem !important;
|
|
border-radius: 0.5rem !important;
|
|
border: 1px solid #e2e8f0 !important;
|
|
}
|
|
|
|
.msg-view__header h3 {
|
|
font-size: 1.25rem !important;
|
|
font-weight: 800 !important;
|
|
color: #0f172a !important;
|
|
line-height: 1.3 !important;
|
|
}
|
|
|
|
.msg-view__body {
|
|
background: #ffffff !important;
|
|
padding: 1rem !important;
|
|
border-radius: 0.5rem !important;
|
|
border: 1px solid #e2e8f0 !important;
|
|
font-size: 0.95rem !important;
|
|
line-height: 1.6 !important;
|
|
color: #1e293b !important;
|
|
}
|
|
|
|
.msg-view__attachment {
|
|
height: auto !important;
|
|
}
|
|
|
|
/* Floating Action Button (Compose Mail) */
|
|
.mobile-fab-compose {
|
|
position: fixed !important;
|
|
bottom: 1.75rem !important;
|
|
right: 1.5rem !important;
|
|
width: 54px !important;
|
|
height: 54px !important;
|
|
border-radius: 50% !important;
|
|
background: linear-gradient(135deg, #3b82f6, #2563eb) !important;
|
|
color: #ffffff !important;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
font-size: 1.35rem !important;
|
|
box-shadow: 0 4px 14px rgba(37, 99, 235, 0.45) !important;
|
|
border: none !important;
|
|
z-index: 1000 !important;
|
|
cursor: pointer !important;
|
|
transition: transform 0.2s ease !important;
|
|
}
|
|
|
|
.mobile-fab-compose:active {
|
|
transform: scale(0.92) !important;
|
|
}
|
|
|
|
.composePopupOverlay .composePopup {
|
|
width: 95% !important;
|
|
height: 95% !important;
|
|
}
|
|
}
|
|
|
|
.mail-mobile-nav-toggle { display: none; }
|
|
.mail-nav-drawer { display: contents; }
|
|
.mail-mobile-box-title { display: none; }
|
|
|
|
/* Mail folders become a left drawer on phones. */
|
|
@media (max-width: 768px) {
|
|
.side-bar {
|
|
height: 44px !important;
|
|
padding: .25rem !important;
|
|
overflow: visible !important;
|
|
}
|
|
|
|
.mail-mobile-nav-toggle {
|
|
display: inline-flex !important;
|
|
width: 40px;
|
|
height: 40px;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border: 0;
|
|
border-radius: 6px;
|
|
background: #ffffff;
|
|
color: #0f172a;
|
|
cursor: pointer;
|
|
font-size: 1.15rem;
|
|
}
|
|
|
|
.mail-nav-drawer {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
z-index: 1100;
|
|
display: flex !important;
|
|
flex-direction: column;
|
|
width: min(82vw, 300px);
|
|
height: 100dvh;
|
|
padding: 1rem 0;
|
|
overflow-y: auto;
|
|
background: #ffffff;
|
|
border-right: 1px solid #e2e8f0;
|
|
box-shadow: 8px 0 24px rgba(15, 23, 42, .16);
|
|
transform: translateX(-105%);
|
|
transition: transform 180ms ease;
|
|
}
|
|
|
|
.mail-nav-drawer--open { transform: translateX(0); }
|
|
.mail-mobile-box-title {
|
|
display: flex !important;
|
|
align-items: center;
|
|
gap: .55rem;
|
|
margin: .35rem 0 .55rem;
|
|
color: #0f172a;
|
|
font-size: 1.45rem;
|
|
font-weight: 600;
|
|
}
|
|
.mail-mobile-box-title i { color: #3b82f6; font-size: 1.35rem; }
|
|
.mail-box-content > .widget__heading { display: none; }
|
|
.mail-nav-drawer .mail-compose-btn { display: flex !important; margin: 0 .85rem .75rem !important; }
|
|
.mail-nav-drawer .sidebar,
|
|
.mail-nav-drawer .sidebarquickview { display: flex !important; flex-direction: column !important; width: 100% !important; }
|
|
.mail-nav-drawer .sidebarquickview { margin-top: .5rem; border-top: 1px solid #e2e8f0; padding-top: .5rem; }
|
|
.mail-nav-drawer .sidebarquickview h6 { display: block !important; margin: 0 .9rem .35rem; color: #64748b; }
|
|
.mail-nav-drawer .sidebar a,
|
|
.mail-nav-drawer .sidebarquickview a { display: flex !important; width: auto; padding: .7rem 1rem !important; border-radius: 0 !important; }
|
|
.mail-nav-drawer .sidebar a .sidebar-link-text { display: inline !important; }
|
|
.mail-nav-drawer .sidebar a i { margin-right: .75rem !important; font-size: 1.1rem !important; }
|
|
}
|
|
|
|
|
|
|
|
@use '../abstracts' as *;
|
|
|
|
.network-container {
|
|
display: flex;
|
|
height: 100%;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
background-color: #f1f5f9;
|
|
}
|
|
|
|
.network-left-pane {
|
|
width: 320px;
|
|
min-width: 300px;
|
|
max-width: 350px;
|
|
border-right: 1px solid #cbd5e1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background: #ffffff;
|
|
box-shadow: 2px 0 5px rgba(0, 0, 0, 0.05);
|
|
}
|
|
|
|
.own-profile-card {
|
|
padding: 1.25rem;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
|
|
.profile-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.profile-info {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
|
|
.profile-name {
|
|
font-weight: 700;
|
|
color: #1e293b;
|
|
font-size: 1.1rem;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.profile-status {
|
|
font-size: 0.85rem;
|
|
color: #10b981;
|
|
font-weight: 500;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.35rem;
|
|
|
|
&::before {
|
|
content: '';
|
|
display: inline-block;
|
|
width: 8px;
|
|
height: 8px;
|
|
background-color: #10b981;
|
|
border-radius: 50%;
|
|
}
|
|
}
|
|
}
|
|
|
|
.own-identity-select-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.25rem;
|
|
|
|
label {
|
|
font-size: 0.75rem;
|
|
color: #64748b;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
}
|
|
|
|
select.own-identity-select {
|
|
width: 100%;
|
|
padding: 0.375rem 0.5rem;
|
|
font-size: 0.85rem;
|
|
border: 1px solid #cbd5e1;
|
|
border-radius: 0.375rem;
|
|
background-color: #ffffff;
|
|
color: #334155;
|
|
outline: none;
|
|
cursor: pointer;
|
|
transition: border-color 0.2s;
|
|
|
|
&:focus {
|
|
border-color: #3ba4d7;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.friends-list-container {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
|
|
.searchbar-container {
|
|
padding: 0.75rem 1rem;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
|
|
input.searchbar {
|
|
width: 100%;
|
|
padding: 0.5rem 0.75rem;
|
|
font-size: 0.9rem;
|
|
border: 1px solid #cbd5e1;
|
|
border-radius: 0.375rem;
|
|
background-color: #f8fafc;
|
|
outline: none;
|
|
transition: all 0.2s;
|
|
|
|
&:focus {
|
|
background-color: #ffffff;
|
|
border-color: #3ba4d7;
|
|
box-shadow: 0 0 0 3px rgba(59, 164, 215, 0.15);
|
|
}
|
|
}
|
|
}
|
|
|
|
.friends-scroll {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 0.5rem 0;
|
|
}
|
|
}
|
|
|
|
.friend-list-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
padding: 0.75rem 1rem;
|
|
margin: 0.125rem 0.5rem;
|
|
border-radius: 0.5rem;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
|
|
&:hover {
|
|
background-color: #f1f5f9;
|
|
}
|
|
|
|
&.selected {
|
|
background-color: #e0f2fe;
|
|
|
|
.friend-name {
|
|
color: #0369a1;
|
|
font-weight: 600;
|
|
}
|
|
}
|
|
|
|
.friend-avatar {
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.friend-meta {
|
|
flex: 1;
|
|
min-width: 0;
|
|
|
|
.friend-name {
|
|
font-size: 0.95rem;
|
|
color: #334155;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
transition: color 0.2s;
|
|
}
|
|
|
|
.friend-status {
|
|
font-size: 0.8rem;
|
|
color: #94a3b8;
|
|
|
|
&.online {
|
|
color: #10b981;
|
|
font-weight: 500;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.network-right-pane {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
background-color: #f8fafc;
|
|
}
|
|
|
|
.network-pane-placeholder {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
color: #94a3b8;
|
|
gap: 1rem;
|
|
padding: 2rem;
|
|
text-align: center;
|
|
|
|
i {
|
|
font-size: 4rem;
|
|
color: #cbd5e1;
|
|
}
|
|
|
|
p {
|
|
font-size: 1.1rem;
|
|
max-width: 400px;
|
|
}
|
|
}
|
|
|
|
.network-tabs {
|
|
display: flex;
|
|
background-color: #ffffff;
|
|
border-bottom: 1px solid #cbd5e1;
|
|
padding: 0.5rem 1rem 0;
|
|
gap: 0.5rem;
|
|
|
|
.tab-btn {
|
|
padding: 0.625rem 1.25rem;
|
|
font-size: 0.95rem;
|
|
font-weight: 600;
|
|
color: #64748b;
|
|
background: transparent;
|
|
border: none;
|
|
border-radius: 0.375rem 0.375rem 0 0;
|
|
border-bottom: 3px solid transparent;
|
|
cursor: pointer;
|
|
box-shadow: none;
|
|
transition: all 0.2s;
|
|
|
|
&:hover {
|
|
color: #334155;
|
|
background-color: #f1f5f9;
|
|
}
|
|
|
|
&.active {
|
|
color: #3ba4d7;
|
|
border-bottom-color: #3ba4d7;
|
|
background-color: transparent;
|
|
}
|
|
}
|
|
}
|
|
|
|
.network-tab-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 1.5rem;
|
|
}
|
|
|
|
.network-detail-view {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.5rem;
|
|
|
|
.detail-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1.5rem;
|
|
padding-bottom: 1.5rem;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
|
|
.detail-title {
|
|
flex: 1;
|
|
|
|
h2 {
|
|
font-size: 1.75rem;
|
|
font-weight: 800;
|
|
color: #1e293b;
|
|
margin-bottom: 0.25rem;
|
|
}
|
|
|
|
.detail-subtitle {
|
|
font-size: 0.9rem;
|
|
color: #64748b;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
}
|
|
|
|
.detail-actions {
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
|
|
button {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem 1rem;
|
|
font-size: 0.9rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
.detail-section {
|
|
background-color: #ffffff;
|
|
border-radius: 0.5rem;
|
|
border: 1px solid #e2e8f0;
|
|
padding: 1.25rem;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
|
|
|
|
h3 {
|
|
font-size: 1.1rem;
|
|
font-weight: 700;
|
|
color: #334155;
|
|
margin-bottom: 1rem;
|
|
padding-bottom: 0.5rem;
|
|
border-bottom: 1px solid #f1f5f9;
|
|
}
|
|
|
|
.info-grid {
|
|
display: grid;
|
|
grid-template-columns: 120px 1fr;
|
|
row-gap: 0.75rem;
|
|
font-size: 0.9rem;
|
|
|
|
.info-label {
|
|
font-weight: 600;
|
|
color: #64748b;
|
|
}
|
|
|
|
.info-value {
|
|
color: #1e293b;
|
|
word-break: break-all;
|
|
}
|
|
}
|
|
}
|
|
|
|
.locations-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
|
gap: 1rem;
|
|
}
|
|
|
|
.location-card {
|
|
background-color: #ffffff;
|
|
border: 1px solid #e2e8f0;
|
|
border-radius: 0.5rem;
|
|
padding: 1rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
|
|
|
|
.loc-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
border-bottom: 1px solid #f1f5f9;
|
|
padding-bottom: 0.5rem;
|
|
margin-bottom: 0.25rem;
|
|
|
|
.loc-name {
|
|
font-weight: 700;
|
|
color: #334155;
|
|
font-size: 0.95rem;
|
|
}
|
|
|
|
.loc-status {
|
|
font-size: 0.75rem;
|
|
font-weight: 600;
|
|
padding: 0.125rem 0.5rem;
|
|
border-radius: 0.25rem;
|
|
|
|
&.online {
|
|
background-color: #d1fae5;
|
|
color: #065f46;
|
|
}
|
|
|
|
&.offline {
|
|
background-color: #f1f5f9;
|
|
color: #475569;
|
|
}
|
|
}
|
|
}
|
|
|
|
.loc-body {
|
|
font-size: 0.85rem;
|
|
display: grid;
|
|
grid-template-columns: 80px 1fr;
|
|
row-gap: 0.25rem;
|
|
|
|
.loc-label {
|
|
color: #64748b;
|
|
}
|
|
|
|
.loc-val {
|
|
color: #334155;
|
|
word-break: break-all;
|
|
}
|
|
}
|
|
|
|
.loc-footer {
|
|
margin-top: 0.5rem;
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
|
|
button {
|
|
font-size: 0.8rem;
|
|
padding: 0.25rem 0.75rem;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.network-chat-view {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
background-color: #f8fafc;
|
|
|
|
.chat-messages {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 1.25rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.chat-bubble-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
max-width: 70%;
|
|
|
|
&.outgoing {
|
|
align-self: flex-end;
|
|
align-items: flex-end;
|
|
|
|
.chat-bubble {
|
|
background-color: #3ba4d7;
|
|
color: #ffffff;
|
|
border-bottom-right-radius: 0.125rem;
|
|
}
|
|
}
|
|
|
|
&.incoming {
|
|
align-self: flex-start;
|
|
align-items: flex-start;
|
|
|
|
.chat-bubble {
|
|
background-color: #ffffff;
|
|
color: #1e293b;
|
|
border: 1px solid #e2e8f0;
|
|
border-bottom-left-radius: 0.125rem;
|
|
}
|
|
}
|
|
|
|
.chat-sender {
|
|
font-size: 0.75rem;
|
|
color: #64748b;
|
|
margin-bottom: 0.25rem;
|
|
padding: 0 0.25rem;
|
|
}
|
|
|
|
.chat-bubble {
|
|
padding: 0.625rem 0.875rem;
|
|
border-radius: 0.75rem;
|
|
font-size: 0.925rem;
|
|
line-height: 1.4;
|
|
white-space: break-spaces;
|
|
word-break: break-word;
|
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
|
|
}
|
|
|
|
.chat-time {
|
|
font-size: 0.7rem;
|
|
color: #94a3b8;
|
|
margin-top: 0.25rem;
|
|
padding: 0 0.25rem;
|
|
}
|
|
}
|
|
|
|
.chat-input-area {
|
|
padding: 1rem;
|
|
background-color: #ffffff;
|
|
border-top: 1px solid #cbd5e1;
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
align-items: center;
|
|
|
|
textarea.chat-textarea {
|
|
flex: 1;
|
|
resize: none;
|
|
height: 40px;
|
|
padding: 0.5rem 0.75rem;
|
|
border: 1px solid #cbd5e1;
|
|
border-radius: 0.375rem;
|
|
font-size: 0.9rem;
|
|
outline: none;
|
|
transition: all 0.2s;
|
|
|
|
&:focus {
|
|
border-color: #3ba4d7;
|
|
box-shadow: 0 0 0 3px rgba(59, 164, 215, 0.15);
|
|
}
|
|
}
|
|
|
|
button.send-btn {
|
|
padding: 0.5rem 1.25rem;
|
|
font-size: 0.9rem;
|
|
height: 40px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
}
|
|
|
|
.chat-warning {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
color: #64748b;
|
|
text-align: center;
|
|
padding: 2rem;
|
|
gap: 1rem;
|
|
|
|
i {
|
|
font-size: 3rem;
|
|
color: #cbd5e1;
|
|
}
|
|
|
|
h4 {
|
|
font-weight: 700;
|
|
color: #334155;
|
|
}
|
|
|
|
p {
|
|
max-width: 350px;
|
|
font-size: 0.9rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Responsive Layout for Mobile/Small Screens */
|
|
@media (max-width: 768px) {
|
|
.network-container {
|
|
flex-direction: column !important;
|
|
}
|
|
|
|
.network-left-pane {
|
|
width: 100% !important;
|
|
max-width: none !important;
|
|
height: 45% !important;
|
|
border-right: none !important;
|
|
border-bottom: 1px solid #cbd5e1 !important;
|
|
}
|
|
|
|
.network-right-pane {
|
|
height: 55% !important;
|
|
flex: 1 !important;
|
|
}
|
|
|
|
/* Hide text labels on mobile screens so profile action buttons show icons only */
|
|
.detail-actions button .btn-text,
|
|
.detail-header .detail-actions button .btn-text {
|
|
display: none !important;
|
|
}
|
|
|
|
.detail-actions button,
|
|
.detail-header .detail-actions button {
|
|
padding: 0.45rem 0.65rem !important;
|
|
min-width: 38px !important;
|
|
height: 38px !important;
|
|
justify-content: center !important;
|
|
align-items: center !important;
|
|
}
|
|
|
|
.detail-actions button i,
|
|
.detail-header .detail-actions button i {
|
|
margin: 0 !important;
|
|
font-size: 1.05rem !important;
|
|
}
|
|
|
|
.network-detail-view .detail-header {
|
|
flex-direction: column !important;
|
|
align-items: flex-start !important;
|
|
gap: 1rem !important;
|
|
|
|
.friend-avatar {
|
|
margin-bottom: 0.25rem !important;
|
|
}
|
|
}
|
|
|
|
.locations-grid {
|
|
grid-template-columns: 1fr !important;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.identity {
|
|
color: #444;
|
|
font-size: 1.1em;
|
|
margin: 20px;
|
|
padding: 10px;
|
|
border: 1px solid #aaa;
|
|
border-radius: 20px;
|
|
& > h4 {
|
|
margin: 5px;
|
|
font-size: 1.3em;
|
|
}
|
|
& button {
|
|
font-size: 0.9em;
|
|
}
|
|
& .details {
|
|
display: grid;
|
|
grid-template-columns: 140px auto;
|
|
grid-row-gap: 5px;
|
|
justify-content: left;
|
|
}
|
|
}
|
|
|
|
.defaultAvatar {
|
|
width: 3rem;
|
|
height: 3rem;
|
|
aspect-ratio: 1;
|
|
background: lightsteelblue;
|
|
border-radius: 50%;
|
|
display: grid;
|
|
place-items: center;
|
|
& p {
|
|
font-weight: 900;
|
|
color: #666f7f;
|
|
transform: translateY(1px);
|
|
}
|
|
}
|
|
img.avatar {
|
|
display: block;
|
|
width: 3rem;
|
|
height: max-content;
|
|
aspect-ratio: 1;
|
|
margin-right: 0.3em;
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.counter {
|
|
margin-left: 0.5em;
|
|
&:before {
|
|
content: '(';
|
|
}
|
|
&:after {
|
|
content: ')';
|
|
}
|
|
}
|
|
|
|
.chatInit {
|
|
margin-left: 0.5em;
|
|
color: green;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.people-sidebar-header {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 0.75rem 1rem 0.5rem 1rem;
|
|
gap: 0.75rem;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
background-color: #ffffff;
|
|
|
|
.searchbar-wrapper {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
i.fa-search {
|
|
position: absolute;
|
|
left: 0.85rem;
|
|
color: #94a3b8;
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
input.searchbar-input {
|
|
width: 100%;
|
|
padding: 0.5rem 0.75rem 0.5rem 2.25rem;
|
|
border: 1px solid #e2e8f0;
|
|
border-radius: 0.5rem;
|
|
font-size: 0.9rem;
|
|
background-color: #f8fafc;
|
|
color: #1e293b;
|
|
outline: none;
|
|
transition: all 0.2s ease;
|
|
|
|
&:focus {
|
|
border-color: #3b82f6;
|
|
background-color: #ffffff;
|
|
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
|
|
}
|
|
}
|
|
}
|
|
|
|
.segmented-control {
|
|
display: flex;
|
|
background-color: #f1f5f9;
|
|
padding: 3px;
|
|
border-radius: 0.5rem;
|
|
gap: 4px;
|
|
|
|
button.segment-tab {
|
|
flex: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem 0.75rem;
|
|
font-size: 0.9rem;
|
|
font-weight: 600;
|
|
color: #64748b;
|
|
background: transparent;
|
|
border: none;
|
|
border-radius: 0.375rem;
|
|
cursor: pointer;
|
|
box-shadow: none;
|
|
transition: all 0.2s ease;
|
|
|
|
&:hover {
|
|
color: #1e293b;
|
|
}
|
|
|
|
&.active {
|
|
background-color: #ffffff;
|
|
color: #0f172a;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
|
|
|
|
.segment-badge {
|
|
background-color: #019dff;
|
|
color: #ffffff;
|
|
}
|
|
}
|
|
|
|
.segment-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background-color: #cbd5e1;
|
|
color: #334155;
|
|
font-size: 0.75rem;
|
|
font-weight: 700;
|
|
min-width: 1.25rem;
|
|
height: 1.25rem;
|
|
padding: 0 0.35rem;
|
|
border-radius: 9999px;
|
|
line-height: 1;
|
|
transition: all 0.2s ease;
|
|
}
|
|
}
|
|
}
|
|
|
|
.sub-filter-row {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 0.5rem;
|
|
min-height: 32px;
|
|
|
|
select.filter-select {
|
|
padding: 0.35rem 0.6rem;
|
|
border: 1px solid #cbd5e1;
|
|
border-radius: 0.375rem;
|
|
font-size: 0.85rem;
|
|
font-weight: 600;
|
|
color: #475569;
|
|
background-color: #ffffff;
|
|
cursor: pointer;
|
|
outline: none;
|
|
}
|
|
|
|
.btn-add-id {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: 0.375rem;
|
|
background-color: #3b82f6;
|
|
color: #ffffff;
|
|
border: none;
|
|
cursor: pointer;
|
|
font-size: 0.9rem;
|
|
transition: background-color 0.2s;
|
|
|
|
&:hover {
|
|
background-color: #2563eb;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Main People Page Flex Layout Container */
|
|
.people-container {
|
|
display: flex !important;
|
|
flex-direction: row !important;
|
|
height: 100% !important;
|
|
width: 100% !important;
|
|
overflow: hidden !important;
|
|
background-color: #f1f5f9 !important;
|
|
}
|
|
|
|
/* Left Sidebar Pane (320px fixed width on Desktop) */
|
|
.people-left-pane {
|
|
width: 320px !important;
|
|
min-width: 300px !important;
|
|
max-width: 350px !important;
|
|
height: 100% !important;
|
|
border-right: 1px solid #cbd5e1 !important;
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
background: #ffffff !important;
|
|
box-shadow: 2px 0 5px rgba(0, 0, 0, 0.05) !important;
|
|
flex-shrink: 0 !important;
|
|
overflow: hidden !important;
|
|
}
|
|
|
|
/* Right Content Details Pane */
|
|
.people-right-pane {
|
|
flex: 1 !important;
|
|
min-width: 0 !important;
|
|
height: 100% !important;
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
overflow: hidden !important;
|
|
background-color: #f8fafc !important;
|
|
}
|
|
|
|
/* Scrollable list section inside left sidebar */
|
|
.people-list-container {
|
|
flex: 1 !important;
|
|
overflow-y: auto !important;
|
|
padding: 0.5rem 0 !important;
|
|
}
|
|
|
|
/* Active Chats list item */
|
|
.chat-item {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
gap: 0.75rem !important;
|
|
padding: 0.65rem 0.85rem !important;
|
|
margin: 0.2rem 0.5rem !important;
|
|
border-radius: 0.5rem !important;
|
|
cursor: pointer !important;
|
|
transition: all 0.2s ease !important;
|
|
position: relative !important;
|
|
|
|
&:hover {
|
|
background-color: #f1f5f9 !important;
|
|
}
|
|
|
|
&.selected {
|
|
background-color: #e0f2fe !important;
|
|
|
|
.chat-name {
|
|
color: #0369a1 !important;
|
|
font-weight: 700 !important;
|
|
}
|
|
}
|
|
|
|
.chat-avatar-wrapper {
|
|
position: relative !important;
|
|
flex-shrink: 0 !important;
|
|
|
|
.status-dot {
|
|
position: absolute !important;
|
|
bottom: 0 !important;
|
|
right: 0 !important;
|
|
width: 10px !important;
|
|
height: 10px !important;
|
|
border-radius: 50% !important;
|
|
border: 2px solid #ffffff !important;
|
|
}
|
|
}
|
|
|
|
.chat-info {
|
|
flex: 1 !important;
|
|
min-width: 0 !important;
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
|
|
.chat-name {
|
|
font-size: 0.95rem !important;
|
|
font-weight: 600 !important;
|
|
color: #1e293b !important;
|
|
white-space: nowrap !important;
|
|
overflow: hidden !important;
|
|
text-overflow: ellipsis !important;
|
|
}
|
|
|
|
.chat-last-msg {
|
|
font-size: 0.825rem !important;
|
|
color: #64748b !important;
|
|
white-space: nowrap !important;
|
|
overflow: hidden !important;
|
|
text-overflow: ellipsis !important;
|
|
margin-top: 0.1rem !important;
|
|
}
|
|
}
|
|
|
|
.chat-meta {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
align-items: flex-end !important;
|
|
flex-shrink: 0 !important;
|
|
|
|
.chat-time {
|
|
font-size: 0.75rem !important;
|
|
color: #94a3b8 !important;
|
|
font-weight: 500 !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Responsive Layout for Mobile/Small Screens */
|
|
@media (max-width: 768px) {
|
|
.people-container {
|
|
flex-direction: column !important;
|
|
}
|
|
.people-left-pane {
|
|
width: 100% !important;
|
|
max-width: none !important;
|
|
height: 45% !important;
|
|
border-right: none !important;
|
|
border-bottom: 1px solid #cbd5e1 !important;
|
|
}
|
|
.people-right-pane {
|
|
height: 55% !important;
|
|
}
|
|
|
|
/* Hide text labels on mobile screens so profile action buttons show icons only */
|
|
.detail-actions button .btn-text,
|
|
.detail-header .detail-actions button .btn-text {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Hide Distant Chat Tunnel and Chatting as text on mobile screens to save header space */
|
|
.chat-tunnel-status .tunnel-label,
|
|
.select-own-profile .chatting-as-label {
|
|
display: none !important;
|
|
}
|
|
|
|
.detail-actions button,
|
|
.detail-header .detail-actions button {
|
|
padding: 0.45rem 0.65rem !important;
|
|
min-width: 38px !important;
|
|
height: 38px !important;
|
|
justify-content: center !important;
|
|
align-items: center !important;
|
|
}
|
|
|
|
|
|
/* People Sidebar Right-Click Context Menu */
|
|
.people-context-menu {
|
|
position: absolute !important;
|
|
z-index: 9999 !important;
|
|
background-color: #ffffff !important;
|
|
border: 1px solid #cbd5e1 !important;
|
|
border-radius: 8px !important;
|
|
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
|
|
padding: 0.35rem 0 !important;
|
|
min-width: 180px !important;
|
|
font-family: inherit !important;
|
|
overflow: hidden !important;
|
|
|
|
.menu-item {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
padding: 0.6rem 0.9rem !important;
|
|
font-size: 0.875rem !important;
|
|
font-weight: 500 !important;
|
|
color: #1e293b !important;
|
|
cursor: pointer !important;
|
|
transition: background-color 0.15s ease, color 0.15s ease !important;
|
|
user-select: none !important;
|
|
|
|
&:hover {
|
|
background-color: #f1f5f9 !important;
|
|
color: #0284c7 !important;
|
|
}
|
|
|
|
i {
|
|
font-size: 1rem !important;
|
|
width: 1.25rem !important;
|
|
text-align: center !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// This file contains all application-wide button styles.
|
|
// -----------------------------------------------------------------------------
|
|
@use "../abstracts" as *;
|
|
|
|
button {
|
|
@include button($primary-color);
|
|
white-space: nowrap !important;
|
|
flex-shrink: 0 !important;
|
|
}
|
|
button.red {
|
|
@include button($red-color);
|
|
white-space: nowrap !important;
|
|
flex-shrink: 0 !important;
|
|
}
|
|
|
|
|
|
|
|
|
|
@forward 'buttons';
|
|
@forward 'media';
|
|
@forward 'navbar';
|
|
@forward 'posts';
|
|
@forward 'progress-bar';
|
|
@forward 'statusbar';
|
|
|
|
|
|
|
|
|
|
@use 'sass:color';
|
|
@use '../abstracts' as *;
|
|
|
|
.media-item {
|
|
display: flex;
|
|
margin-top: 0.5rem;
|
|
padding: 1rem;
|
|
border: 1px solid color.adjust($dark-color, $alpha: -0.9);
|
|
border-radius: 4px;
|
|
|
|
&__details {
|
|
flex-basis: 40%;
|
|
@include flex($align: start, $gap: 0.5rem);
|
|
|
|
& img {
|
|
width: 6rem;
|
|
object-fit: contain;
|
|
}
|
|
}
|
|
|
|
&__desc {
|
|
flex-basis: 60%;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
&__desc {
|
|
display: none !important;
|
|
}
|
|
|
|
&__details {
|
|
flex-basis: 100% !important;
|
|
width: 100% !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@use 'sass:color';
|
|
@use '../abstracts' as *;
|
|
|
|
.active-link {
|
|
background: rgba(255, 255, 255, 0.1) !important;
|
|
}
|
|
|
|
/* Navbar */
|
|
.nav-menu {
|
|
background-color: $dark-color;
|
|
box-shadow: 0 5px 5px #222;
|
|
@include flex(column, $align: center);
|
|
height: 100%;
|
|
padding: 0.25rem;
|
|
margin-right: 0rem;
|
|
|
|
&__logo {
|
|
padding: 1.2rem 0;
|
|
@include flex($align: center, $gap: 0.3rem);
|
|
|
|
img {
|
|
width: 1.6rem;
|
|
}
|
|
|
|
h5 {
|
|
line-height: 1;
|
|
color: white;
|
|
}
|
|
}
|
|
|
|
&__box {
|
|
padding: 2rem 0.125rem;
|
|
@include flex(column, $gap: 0.5rem);
|
|
position: relative;
|
|
|
|
.item {
|
|
margin: 0;
|
|
padding: 0.675rem 0.5rem;
|
|
width: 10rem;
|
|
@include flex($align: center);
|
|
line-height: 1;
|
|
border-radius: 0.5rem;
|
|
text-decoration: none;
|
|
color: #ccc;
|
|
text-transform: capitalize;
|
|
transition: 0ms;
|
|
|
|
&:hover {
|
|
background-color: color.adjust($light-color, $alpha: -0.85);
|
|
}
|
|
|
|
i.sidenav-icon {
|
|
width: 2.5rem;
|
|
height: 1.4rem;
|
|
display: grid;
|
|
place-items: center;
|
|
}
|
|
}
|
|
|
|
.item.item-selected {
|
|
color: $primary-light-color;
|
|
background-color: color.adjust($primary-light-color, $alpha: -0.85);
|
|
font-weight: medium;
|
|
}
|
|
|
|
button.toggle-nav {
|
|
display: none;
|
|
position: absolute;
|
|
padding: 0;
|
|
top: 0;
|
|
right: -1rem;
|
|
background: color.adjust($primary-color, $lightness: 15%);
|
|
width: 1.5rem;
|
|
height: 1.5rem;
|
|
aspect-ratio: 1;
|
|
justify-content: center;
|
|
align-items: center;
|
|
border-radius: 50%;
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
|
|
&.collapsed {
|
|
.nav-menu__logo {
|
|
.logo-container {
|
|
@include flex(column, $align: center, $gap: 0.5rem);
|
|
|
|
&>*:not(img) {
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
& .nav-menu__logo-text {
|
|
display: none !important;
|
|
}
|
|
}
|
|
|
|
.nav-menu__box {
|
|
.item {
|
|
padding: 0.675rem 0;
|
|
width: 2.5rem;
|
|
justify-content: center;
|
|
transition: 300ms;
|
|
|
|
& span,
|
|
& p {
|
|
display: none !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
button i {
|
|
rotate: 180deg;
|
|
}
|
|
}
|
|
|
|
// only show toggle button when sidebar is hovered
|
|
&:hover button.toggle-nav {
|
|
display: flex;
|
|
}
|
|
}
|
|
|
|
.sidebar {
|
|
width: 13rem;
|
|
background-color: white;
|
|
@include flex(column);
|
|
|
|
& a {
|
|
text-decoration: none;
|
|
text-transform: capitalize;
|
|
padding: 1rem;
|
|
cursor: pointer;
|
|
color: #999;
|
|
|
|
&:hover {
|
|
color: #222;
|
|
}
|
|
}
|
|
|
|
& .selected-sidebar-link {
|
|
font-weight: bold;
|
|
color: #222;
|
|
border-left: 5px solid #3ba4d7;
|
|
animation: expand-left-border 0.1s;
|
|
}
|
|
}
|
|
|
|
.sidebar-mobile-toggle,
|
|
.sidebar-drawer__title,
|
|
.sidebar-drawer__backdrop { display: none !important; }
|
|
|
|
.sidebarquickview {
|
|
&>h6 {
|
|
padding: 0.5rem;
|
|
}
|
|
|
|
& a {
|
|
text-decoration: none;
|
|
text-transform: capitalize;
|
|
padding: 0.5rem 1rem;
|
|
display: block;
|
|
color: #999;
|
|
|
|
& a:hover {
|
|
color: #222;
|
|
}
|
|
}
|
|
|
|
& .selected-sidebarquickview-link {
|
|
font-weight: bold;
|
|
color: #222;
|
|
border-left: 5px solid #3ba4d7;
|
|
animation: expand-left-border 0.1s;
|
|
}
|
|
}
|
|
|
|
/* Content adjacent to sidebar */
|
|
.node-panel {
|
|
width: 100%;
|
|
padding: 0.5rem;
|
|
animation: fadein 0.5s;
|
|
}
|
|
|
|
@keyframes expand-left-border {
|
|
from {
|
|
border-left: 0;
|
|
}
|
|
|
|
to {
|
|
border-left: 5px solid #3ba4d7;
|
|
}
|
|
}
|
|
|
|
/* GLOBAL SIDEBAR TO TABS */
|
|
@media (max-width: 700px) {
|
|
.tab-content {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.sidebar {
|
|
width: 100% !important;
|
|
flex-direction: row !important;
|
|
overflow-x: auto !important;
|
|
overflow-y: hidden !important;
|
|
white-space: nowrap !important;
|
|
border-bottom: 1px solid rgba(20, 20, 27, 0.1) !important;
|
|
background: white !important;
|
|
z-index: 50 !important;
|
|
flex-shrink: 0 !important;
|
|
height: auto !important;
|
|
padding: 0 !important;
|
|
}
|
|
|
|
.sidebar a {
|
|
display: inline-block !important;
|
|
padding: 0.8rem 1.2rem !important;
|
|
border-bottom: 3px solid transparent !important;
|
|
border-left: none !important;
|
|
}
|
|
|
|
.sidebar .selected-sidebar-link {
|
|
border-left: none !important;
|
|
border-bottom: 3px solid #3ba4d7 !important;
|
|
animation: none !important;
|
|
}
|
|
|
|
/* Hide quickview headings on mobile to save space if needed */
|
|
.sidebarquickview>h4,
|
|
.sidebarquickview>h6 {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Boards, Channels and Forums use a drawer instead of the horizontal tabs. */
|
|
.sidebar-drawer {
|
|
display: block;
|
|
position: relative;
|
|
width: 100%;
|
|
height: 44px;
|
|
z-index: 1000;
|
|
}
|
|
|
|
.sidebar-mobile-toggle {
|
|
display: inline-flex !important;
|
|
width: 40px;
|
|
height: 40px;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border: 0;
|
|
border-radius: 6px;
|
|
background: #ffffff;
|
|
color: #0f172a;
|
|
cursor: pointer;
|
|
font-size: 1.15rem;
|
|
}
|
|
|
|
.sidebar-mobile-toggle:hover { background: #f1f5f9; }
|
|
|
|
.sidebar-drawer .sidebar {
|
|
position: fixed !important;
|
|
top: 0;
|
|
left: 0;
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
width: min(82vw, 300px) !important;
|
|
height: 100dvh !important;
|
|
padding: 1rem 0 !important;
|
|
overflow-y: auto !important;
|
|
overflow-x: hidden !important;
|
|
transform: translateX(-105%);
|
|
transition: transform 180ms ease;
|
|
border: 0 !important;
|
|
border-right: 1px solid #e2e8f0 !important;
|
|
background: #ffffff !important;
|
|
opacity: 1 !important;
|
|
pointer-events: auto !important;
|
|
box-shadow: 8px 0 24px rgba(15, 23, 42, 0.16);
|
|
white-space: normal !important;
|
|
z-index: 1002;
|
|
}
|
|
|
|
.sidebar-drawer .sidebar.sidebar--mobile-open { transform: translateX(0); }
|
|
.sidebar-drawer .sidebar a {
|
|
display: block !important;
|
|
padding: .8rem 1.25rem !important;
|
|
border: 0 !important;
|
|
border-left: 4px solid transparent !important;
|
|
color: #334155 !important;
|
|
font-size: .95rem;
|
|
}
|
|
|
|
.sidebar-drawer .sidebar .selected-sidebar-link {
|
|
border-left-color: #3ba4d7 !important;
|
|
border-bottom: 0 !important;
|
|
background: #f0f9ff;
|
|
color: #0f172a !important;
|
|
}
|
|
|
|
.sidebar-drawer__title {
|
|
display: block !important;
|
|
margin: 0 1.25rem .65rem;
|
|
padding-bottom: .75rem;
|
|
border-bottom: 1px solid #e2e8f0;
|
|
color: #64748b;
|
|
font-size: .75rem;
|
|
font-weight: 700;
|
|
letter-spacing: .06em;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.sidebar-drawer__backdrop {
|
|
display: none !important;
|
|
position: fixed;
|
|
inset: 0;
|
|
background: rgba(15, 23, 42, .35);
|
|
/* The drawer itself owns navigation input; this layer is visual only. */
|
|
pointer-events: none;
|
|
z-index: 1001;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 701px) {
|
|
.sidebar-drawer { display: contents; }
|
|
.sidebar-mobile-toggle,
|
|
.sidebar-drawer__title,
|
|
.sidebar-drawer__backdrop { display: none !important; }
|
|
}
|
|
|
|
|
|
|
|
@use 'sass:color';
|
|
@use '../abstracts' as *;
|
|
|
|
.posts {
|
|
height: 100%;
|
|
margin-top: 1rem;
|
|
flex-direction: column;
|
|
overflow: auto;
|
|
|
|
&__heading {
|
|
@include flex(column, $justify: space-between);
|
|
}
|
|
|
|
&-container {
|
|
height: 100%;
|
|
padding: 1rem;
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
|
gap: 2rem;
|
|
border: 1px solid color.adjust($dark-color, $alpha: -0.9);
|
|
border-radius: 4px;
|
|
overflow: auto;
|
|
|
|
&-card {
|
|
min-height: 240px;
|
|
flex-direction: column;
|
|
border: 1px solid color.adjust($dark-color, $alpha: -0.5);
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
text-align: center;
|
|
|
|
& img {
|
|
flex-basis: 90%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
& p {
|
|
padding: 0 0.125rem;
|
|
flex-basis: 10%;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@use 'sass:color';
|
|
@use '../abstracts/colors' as *;
|
|
|
|
.progress-bar {
|
|
width: 100%;
|
|
height: 2rem;
|
|
position: relative;
|
|
text-align: center;
|
|
background-color: $light-color;
|
|
border-radius: 20px;
|
|
overflow: hidden;
|
|
|
|
&__status {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
height: 100%;
|
|
color: $dark-color;
|
|
background-color: $primary-color;
|
|
}
|
|
|
|
&__percent {
|
|
position: absolute;
|
|
inset: 0;
|
|
margin: auto;
|
|
width: fit-content;
|
|
height: fit-content;
|
|
}
|
|
|
|
&-chunks {
|
|
position: relative;
|
|
margin-top: 0.5rem;
|
|
width: 100%;
|
|
height: 2rem;
|
|
display: flex;
|
|
border-radius: 0.25rem;
|
|
overflow: hidden;
|
|
background-color: $light-color;
|
|
|
|
& .chunk {
|
|
width: 100%;
|
|
|
|
&[data-chunkVal='0'] {
|
|
background-color: color.adjust($primary-light-color, $alpha: -0.8);
|
|
}
|
|
|
|
&[data-chunkVal='1'] {
|
|
background-color: $red-color;
|
|
}
|
|
|
|
&[data-chunkVal='2'] {
|
|
background-color: $primary-color;
|
|
}
|
|
|
|
&[data-chunkVal='3'] {
|
|
background-color: $golden-yellow-color;
|
|
}
|
|
}
|
|
|
|
&__percent {
|
|
position: absolute;
|
|
inset: 0;
|
|
margin: auto;
|
|
width: fit-content;
|
|
height: fit-content;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@use '../abstracts' as *;
|
|
|
|
/* Status Bar Styles */
|
|
.statusbar {
|
|
@include flex($justify: space-between, $align: center);
|
|
height: 28px;
|
|
background-color: $dark-color;
|
|
border-top: 1px solid #2e2e38;
|
|
padding: 0 1rem;
|
|
font-size: 0.8rem;
|
|
color: #94a3b8;
|
|
z-index: 100;
|
|
box-sizing: border-box;
|
|
user-select: none;
|
|
flex-shrink: 0;
|
|
|
|
&-left {
|
|
@include flex($align: center, $gap: 0.75rem);
|
|
}
|
|
|
|
&-right {
|
|
@include flex($align: center, $gap: 0.75rem);
|
|
}
|
|
|
|
&-item {
|
|
@include flex($align: center);
|
|
}
|
|
|
|
&-divider {
|
|
width: 1px;
|
|
height: 14px;
|
|
background-color: #2e2e38;
|
|
}
|
|
}
|
|
|
|
.status-bullet {
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: 50%;
|
|
display: inline-block;
|
|
box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.statusbar {
|
|
height: 22px !important;
|
|
padding: 0 0.4rem !important;
|
|
font-size: 0.72rem !important;
|
|
|
|
.statusbar-left,
|
|
.statusbar-right {
|
|
gap: 0.35rem !important;
|
|
}
|
|
|
|
.statusbar-label,
|
|
.statusbar-total-bytes,
|
|
.statusbar-extra-info {
|
|
display: none !important;
|
|
}
|
|
|
|
.statusbar-divider {
|
|
height: 10px !important;
|
|
margin: 0 0.1rem !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|