/*
Theme Name: Software Front End
Description: Bare application shell with collapsible desktop navigation and mobile navigation drawer. No required plugins.
Author: Onewebtag Media
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: software-front-end
*/
:root{--sfe-rail:64px;--sfe-wide:220px;--sfe-bottom:64px;--sfe-admin:0px}
*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;color:#171717}body.admin-bar{--sfe-admin:32px}.sfe-shell{min-height:calc(100vh - var(--sfe-admin));min-height:calc(100dvh - var(--sfe-admin))}.sfe-nav{position:fixed;left:0;top:var(--sfe-admin);bottom:0;width:var(--sfe-rail);background:var(--sfe-background,#fafafa);border-right:1px solid var(--sfe-border,#e8e8e8);z-index:100;display:flex;flex-direction:column}.sfe-brand{height:64px;flex-shrink:0;display:flex;align-items:center;gap:12px;padding:16px;text-decoration:none;color:inherit;overflow:hidden}.sfe-brand img{width:32px;height:32px;object-fit:contain;flex-shrink:0}.sfe-brand-mark{width:32px;height:32px;display:grid;place-items:center;flex-shrink:0;font-weight:700}.sfe-label{display:none;white-space:nowrap}.sfe-menu{list-style:none;margin:0;padding:8px;overflow-y:auto;flex:1;min-height:0}.sfe-menu li{margin:0;padding:0}.sfe-menu a{height:48px;display:flex;align-items:center;gap:14px;padding:12px;color:var(--sfe-text,#555555);text-decoration:none;border-radius:8px;overflow:hidden}.sfe-menu a:hover,.sfe-menu .current-menu-item>a,.sfe-menu .current_page_item>a{background:var(--sfe-active-background,#eaeaea);color:var(--sfe-active-text,#111111)}.sfe-icon{width:24px;height:24px;flex-shrink:0}.sfe-toggle{margin:8px;width:48px;height:48px;border:0;border-radius:8px;background:transparent;cursor:pointer;color:var(--sfe-text,#555555);display:grid;place-items:center}.sfe-toggle:hover{background:var(--sfe-active-background,#eaeaea)}.sfe-main{margin-left:var(--sfe-rail);min-width:0;min-height:calc(100vh - var(--sfe-admin));min-height:calc(100dvh - var(--sfe-admin));padding:0}.sfe-content{margin:0;padding:0;max-width:none;width:100%;display:flow-root}.sfe-content>.alignwide,.sfe-content>.alignfull{max-width:none;width:100%;margin-left:0;margin-right:0}.sfe-expanded .sfe-nav{width:var(--sfe-wide)}.sfe-expanded .sfe-main{margin-left:var(--sfe-wide)}.sfe-expanded .sfe-label{display:inline}.sfe-toggle .sfe-icon{transform:rotate(180deg)}.sfe-expanded .sfe-toggle .sfe-icon{transform:none}a:focus-visible,button:focus-visible{outline:2px solid #155c99;outline-offset:-2px}.sfe-skip{position:fixed;left:70px;top:-100px;z-index:1000;background:#fff;color:var(--sfe-active-text,#111111);padding:8px}.sfe-skip:focus{top:var(--sfe-admin)}img{max-width:100%;height:auto}
@media(max-width:782px){body.admin-bar{--sfe-admin:46px}}

.sfe-mobile-toggle,.sfe-backdrop{display:none}.sfe-brand{color:var(--sfe-text,#555555)}
@media(max-width:767px){
.sfe-main,.sfe-expanded .sfe-main{margin-left:0;padding:0}
.sfe-nav,.sfe-expanded .sfe-nav{width:min(260px,85vw);visibility:hidden;transform:translateX(-100%);border-right:1px solid var(--sfe-border,#e8e8e8);bottom:0;transition:transform .16s ease,visibility .16s}
.sfe-mobile-open .sfe-nav{visibility:visible;transform:translateX(0)}
.sfe-nav .sfe-label{display:inline}.sfe-toggle{display:none}
.sfe-mobile-toggle{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0px));left:16px;z-index:102;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--sfe-border,#e8e8e8);border-radius:14px;background:var(--sfe-background,#fafafa);color:var(--sfe-text,#555555);box-shadow:0 2px 10px #00000014;cursor:pointer}
.sfe-mobile-open .sfe-mobile-toggle{left:min(276px,calc(85vw + 8px));}
.sfe-backdrop{position:fixed;inset:var(--sfe-admin) 0 0;background:#0006;z-index:99;border:0;width:100%;padding:0}
.sfe-mobile-open .sfe-backdrop{display:block}.sfe-mobile-open{overflow:hidden}
}
@media(prefers-reduced-motion:reduce){.sfe-nav{transition:none}}

.sfe-brand-collapsed{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center}.sfe-brand-expanded{display:none;width:100%;min-width:0}.sfe-expanded .sfe-brand-collapsed{display:none}.sfe-expanded .sfe-brand-expanded{display:block}.sfe-brand .sfe-brand-expanded img{width:auto;max-width:100%;height:auto;max-height:40px;object-fit:contain}.sfe-site-name{display:block;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sfe-tooltip{position:fixed;z-index:1100;pointer-events:none;max-width:calc(100vw - 88px);padding:7px 10px;border-radius:6px;background:var(--sfe-tooltip-background,#111111);color:var(--sfe-tooltip-text,#ffffff);font-size:12px;line-height:1.4;box-shadow:0 2px 8px #0002;overflow-wrap:anywhere}.sfe-tooltip[hidden]{display:none}
@media(max-width:767px){.sfe-brand .sfe-brand-collapsed{display:none}.sfe-brand .sfe-brand-expanded{display:block}.sfe-tooltip{display:none}}

/* WordPress admin navigation typography, scoped to the application menu. */
.sfe-nav,.sfe-tooltip,.sfe-mobile-toggle{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;-webkit-font-smoothing:subpixel-antialiased}.sfe-menu a{font-size:14px;font-weight:400;line-height:1.3;letter-spacing:normal}.sfe-menu .current-menu-item>a,.sfe-menu .current_page_item>a{font-weight:600}.sfe-site-name{font-size:14px;line-height:1.3}.sfe-tooltip{font-size:13px;font-weight:400}

/* Scoped exclusively to the native password-protected page form. */
.sfe-protected{min-height:calc(100vh - var(--sfe-admin));min-height:calc(100dvh - var(--sfe-admin));display:flex;align-items:center;justify-content:center;padding:28px 20px}.sfe-password-card{width:100%;max-width:420px;padding:36px;background:#ffffffed;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 12px 40px #18263808;color:#202124;font-size:14px;line-height:1.6}.sfe-lock{width:40px;height:40px;padding:8px;border-radius:10px;background:#f2f4f7;color:#46505d}.sfe-password-card h1{font-size:22px;font-weight:600;line-height:1.3;margin:20px 0 12px}.sfe-password-card .post-password-form{margin:0}.sfe-password-card .post-password-form p{margin:0 0 20px;color:#667085}.sfe-password-card .post-password-form p:last-child{margin:0}.sfe-password-card label{display:block;font-size:13px;font-weight:500;color:#344054}.sfe-password-card input[type=password]{display:block;width:100%;height:46px;margin:8px 0 16px;padding:10px 12px;border:1px solid #cfd5df;border-radius:8px;background:#fff;color:#171717;font:inherit;outline:none}.sfe-password-card input[type=password]:focus{border-color:#667085;box-shadow:0 0 0 3px #6670851a}.sfe-password-card input[type=submit],.sfe-password-card button[type=submit]{display:block;width:100%;min-height:46px;padding:10px 16px;border:0;border-radius:8px;background:var(--sfe-text,#555555);color:var(--sfe-background,#fafafa);font:inherit;font-weight:500;cursor:pointer}.sfe-password-card input[type=submit]:hover{filter:brightness(.9)}.sfe-password-card input[type=submit]:focus-visible{outline:2px solid #155c99;outline-offset:3px}@media(max-width:767px){.sfe-password-card{padding:28px 24px}.sfe-protected{padding-bottom:88px}}

/* Independent password form colours, including a visible filled button. */
.sfe-main{background-color:var(--sfe-page-background,#ffffff)}
.sfe-password-card{background:var(--sfe-form-background,#ffffff);border-color:var(--sfe-form-border,#e5e7eb);color:var(--sfe-form-heading,#202124)}
.sfe-password-card h1{color:var(--sfe-form-heading,#202124)}
.sfe-password-card .post-password-form p{color:var(--sfe-form-text,#667085)}
.sfe-password-card label{color:var(--sfe-form-label,#344054)}
.sfe-password-card input[type=password]{background:var(--sfe-input-background,#ffffff);color:var(--sfe-input-text,#171717);border-color:var(--sfe-input-border,#cfd5df)}
.sfe-password-card .post-password-form input[type=submit],.sfe-password-card .post-password-form button[type=submit]{background:var(--sfe-button-background,#ff5200);color:var(--sfe-button-text,#ffffff)}
.sfe-password-card .post-password-form input[type=submit]:hover,.sfe-password-card .post-password-form button[type=submit]:hover{background:var(--sfe-button-hover-background,#df4800);color:var(--sfe-button-hover-text,#ffffff);filter:none}
