:root{--navy:#08264b;--navy2:#0d3a70;--cyan:#28adbd;--blue:#155fc2;--bg:#f5f7fb;--panel:#fff;--text:#10233e;--muted:#6f7f91;--line:#dfe6ee;--danger:#d84c5b;--ok:#278b62;--warn:#b87912}
*{box-sizing:border-box}.byt-app{min-height:100vh;background:var(--bg);color:var(--text);display:flex;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;margin:-20px}.byt-side{width:260px;position:sticky;top:0;height:100vh;padding:24px 16px;background:linear-gradient(180deg,#08264b 0%,#061a33 100%);border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;z-index:10}.byt-logo{text-align:center;padding:8px 10px 28px}.byt-logo img{width:155px;max-height:100px;object-fit:contain}.byt-side nav{display:flex;flex-direction:column;gap:7px}.byt-side nav a{color:#fff;text-decoration:none;padding:12px 13px;border-radius:10px;display:flex;gap:12px;align-items:center;font-size:14px;font-weight:500}.byt-side nav a:hover,.byt-side nav a.active{background:var(--navy2);color:#fff}.byt-side nav .dashicons{color:#fff!important;font-size:20px;width:20px;height:20px;line-height:20px}.byt-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:18px 8px;display:flex;flex-direction:column;gap:4px;color:#fff}.byt-user small{color:#99dbe3}.byt-user a{color:#dfeaf5;font-size:12px}.byt-main{padding:28px 32px;flex:1;min-width:0;background:var(--bg)}.byt-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.byt-head h1{font-size:30px;margin:0;color:var(--text)}.byt-head p{margin:6px 0;color:var(--muted)}.byt-head-logo img{width:90px}.byt-cards{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:15px;margin:18px 0}.byt-cards.compact{grid-template-columns:repeat(3,1fr)}.byt-card,.byt-panel,.byt-alert{background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 24px rgba(19,42,72,.06);border-radius:15px}.byt-card{padding:18px}.byt-card b{display:block;color:#4d6077;font-size:14px}.byt-card strong{display:block;font-size:28px;margin-top:10px;color:var(--text)}.byt-panel{padding:22px;margin:18px 0}.byt-panel h2,.byt-panel h3{color:var(--text);margin-top:0}.byt-alert{padding:18px 22px;border-left:4px solid var(--danger)}.byt-alert h2{color:var(--danger)}.byt-alert>div{padding:8px 0;border-top:1px solid var(--line)}.byt-grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.byt-row{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.byt-form.grid{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:14px}.byt-form label{display:flex;flex-direction:column;gap:7px;color:#334862;font-size:13px;font-weight:600}.byt-form .full{grid-column:1/-1}.byt-app input,.byt-app select,.byt-app textarea{width:100%;background:#fff;border:1px solid #cfd9e5;color:#10233e;border-radius:9px;padding:11px 12px;outline:none}.byt-app input:focus,.byt-app select:focus,.byt-app textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,95,194,.1)}.byt-app textarea{min-height:95px}.btn{display:inline-block;border:1px solid #b8c7d8;background:#fff;color:#183858!important;padding:9px 13px;border-radius:8px;text-decoration:none!important;cursor:pointer;font-weight:650}.btn:hover{background:#f3f6fa}.btn.primary{border-color:var(--blue);background:var(--blue);color:#fff!important}.btn.danger{background:#fff3f4;border-color:#e4aab1;color:#aa2838!important}.btn.small{padding:6px 9px;font-size:12px}.btn.big{padding:12px 20px;margin-top:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}th{text-align:left;color:#60748a;padding:11px;border-bottom:1px solid var(--line);white-space:nowrap;background:#fafbfd}td{padding:11px;border-bottom:1px solid #edf1f5;vertical-align:top;color:#263b53}td small{display:block;color:var(--muted);margin-top:4px}.muted{color:var(--muted);font-size:12px}.byt-flex{display:flex;justify-content:space-between;gap:18px;align-items:center}.byt-search{display:flex;gap:8px;margin-bottom:12px}.byt-search input{max-width:420px}.badge{display:inline-block;padding:4px 8px;border-radius:20px;background:#e9eef5;color:#344b64;font-size:11px;text-transform:uppercase}.badge.approved,.badge.purchased{background:#e5f4ec;color:#236c4d}.badge.rejected{background:#f9e5e8;color:#9e3140}.badge.pending,.badge.sent{background:#fff1d9;color:#8b5a08}.job-card{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.job-card h3{margin:0}.job-card p{color:var(--muted);margin:5px 0 0}.byt-material-add{display:grid;grid-template-columns:1.4fr 1.5fr .55fr .7fr auto auto;gap:8px;align-items:end;margin:15px 0}.auto-wrap{position:relative}.suggestions{display:none;position:absolute;z-index:40;top:100%;left:0;right:0;background:#fff;border:1px solid #c9d6e4;border-radius:10px;max-height:280px;overflow:auto;box-shadow:0 16px 30px rgba(18,41,67,.18)}.suggestions .sug{padding:10px;cursor:pointer;border-bottom:1px solid var(--line);color:#16314f}.suggestions .sug:hover{background:#f2f7fc}.suggestions .sug small{display:block;color:#54728f}.budget-row{display:grid;grid-template-columns:2.2fr .55fr .8fr .8fr 40px;gap:8px;align-items:center;margin:8px 0}.budget-head-row{display:grid;grid-template-columns:2.2fr .55fr .8fr .8fr 40px;gap:8px;color:#6b7d90;font-size:12px;font-weight:700;margin-top:8px}.budget-row .desc-wrap{position:relative}.budget-row .line-total{text-align:right;font-weight:700;color:#173c64}.byt-rate-control{grid-column:1/-1;max-width:620px}.byt-rate-line{display:grid;grid-template-columns:1fr auto;gap:8px}.byt-rate-control small{font-weight:400;color:var(--muted)}.byt-budget-summary{margin:20px 0 0 auto;max-width:390px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.byt-budget-summary>div{display:flex;justify-content:space-between;gap:15px;padding:12px 14px;border-bottom:1px solid var(--line);background:#fff}.byt-budget-summary>div:last-child{border-bottom:0;background:#f7fbff}.byt-budget-summary span{color:#617389}.byt-budget-summary strong{color:#0d4f9f;font-size:17px}.byt-detail-title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.byt-comments{margin-top:18px;padding:14px 16px;background:#f7f9fc;border:1px solid var(--line);border-radius:10px}.byt-comments p{margin-bottom:0}.byt-total{text-align:right;font-size:18px;margin:18px 0}.byt-total strong{font-size:30px;color:var(--blue);margin-left:10px}.byt-actions{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}.byt-toast{background:#e7f5f7;border:1px solid #9fd8df;color:#23495b;border-radius:10px;padding:10px 14px;margin-bottom:16px}.byt-login{max-width:420px;margin:60px auto;background:#08264b;color:#fff;border-radius:20px;padding:30px;font-family:Inter,system-ui}.byt-login img{width:170px;display:block;margin:0 auto 15px}.byt-login input{width:100%;padding:11px;margin-top:5px}.byt-login .button{background:#28adbd;border:0;padding:11px 20px;color:#fff;border-radius:9px}.byt-login a{color:#87d9e3}
@media(max-width:900px){.byt-app{margin:0;display:block}.byt-side{position:relative;width:100%;height:auto}.byt-side nav{display:grid;grid-template-columns:repeat(2,1fr)}.byt-user{margin-top:15px}.byt-main{padding:18px}.byt-cards,.byt-cards.compact,.byt-grid2{grid-template-columns:1fr 1fr}.byt-material-add{grid-template-columns:1fr 1fr}.byt-form.grid{grid-template-columns:1fr}.byt-form .full,.byt-rate-control{grid-column:auto}.budget-head-row{display:none}}
@media(max-width:560px){.byt-side nav{grid-template-columns:1fr}.byt-cards,.byt-cards.compact,.byt-grid2{grid-template-columns:1fr}.byt-head-logo{display:none}.byt-main{padding:12px}.budget-row{grid-template-columns:1fr 1fr}.budget-row .desc-wrap{grid-column:1/-1}.byt-material-add{grid-template-columns:1fr}.byt-flex{display:block}.byt-flex form{margin-top:15px}.byt-rate-line{grid-template-columns:1fr}.byt-detail-title{display:block}.byt-detail-title .btn{margin-top:10px}}

/* Standalone application shell: the shortcode becomes the complete screen. */
html,body.byt-standalone{margin:0!important;padding:0!important;width:100%!important;min-width:100%!important;min-height:100%!important;background:var(--bg)!important;overflow-x:hidden!important}
body.byt-standalone{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important}
body.byt-standalone #wpadminbar{display:none!important}
html{margin-top:0!important}
body.byt-standalone .byt-app{margin:0!important;width:100vw!important;max-width:none!important;min-height:100vh!important}
body.byt-standalone .byt-side{flex:0 0 260px}
body.byt-standalone .byt-main{width:calc(100vw - 260px);max-width:none!important;min-height:100vh!important}
@media(max-width:900px){body.byt-standalone .byt-app{width:100%!important}body.byt-standalone .byt-side{width:100%!important;height:auto!important;position:relative!important}body.byt-standalone .byt-main{width:100%!important;min-height:auto!important}}

/* v0.1.4: fixed full-height desktop navigation + modern split login */
@media(min-width:901px){
  body.byt-standalone .byt-app{display:block!important;min-height:100vh!important;}
  body.byt-standalone .byt-side{position:fixed!important;left:0;top:0;bottom:0;width:260px!important;height:100vh!important;min-height:100vh!important;overflow-y:auto!important;overflow-x:hidden!important;}
  body.byt-standalone .byt-main{margin-left:260px!important;width:calc(100vw - 260px)!important;min-height:100vh!important;}
}

.byt-login-screen{min-height:100vh;width:100vw;display:grid;grid-template-columns:minmax(480px,1.06fr) minmax(520px,1fr);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:#f8fafc;color:#10233e;overflow:hidden}
.byt-login-hero{position:relative;min-height:100vh;background:radial-gradient(circle at 22% 18%,rgba(40,173,189,.18),transparent 26%),linear-gradient(145deg,#031327 0%,#062447 58%,#041b34 100%);color:#fff;overflow:hidden;display:flex;align-items:center}
.byt-login-hero:after{content:"";position:absolute;right:-74px;top:-6%;width:135px;height:112%;background:#23c1cf;transform:skewX(-10deg);box-shadow:-16px 0 45px rgba(40,173,189,.18)}
.byt-login-pattern{position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(68,173,214,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(68,173,214,.12) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,transparent 0,#000 28%,#000 82%,transparent 100%)}
.byt-login-hero-inner{position:relative;z-index:2;width:min(640px,78%);margin:0 auto;padding:48px 26px 54px}
.byt-login-brand{width:min(360px,72%);height:auto;display:block;margin-bottom:50px;filter:drop-shadow(0 12px 28px rgba(0,0,0,.16))}
.byt-login-copy h1{font-size:44px;line-height:1.05;margin:0 0 18px;font-weight:800;letter-spacing:-1.4px}.byt-login-copy h1 span{color:#25c5d2}.byt-login-copy p{font-size:19px;line-height:1.55;color:#dbe9f5;max-width:560px;margin:0}
.byt-login-features{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:62px}.byt-login-features>div{min-width:0}.byt-login-features .dashicons{width:48px;height:48px;line-height:48px;font-size:25px;text-align:center;border:1px solid rgba(51,220,230,.48);border-radius:12px;color:#33d4df;margin-bottom:13px}.byt-login-features b,.byt-login-features small{display:block}.byt-login-features b{font-size:15px;margin-bottom:3px}.byt-login-features small{font-size:13px;color:#c6d7e6;line-height:1.35}
.byt-login-area{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 7vw 92px;background:radial-gradient(circle at 92% 12%,rgba(40,173,189,.09),transparent 18%),#f9fbfd}
.byt-login-area:after{content:"";position:absolute;right:-105px;bottom:15%;width:220px;height:220px;border:3px solid rgba(40,173,189,.22);transform:rotate(45deg);border-radius:34px}
.byt-login-card{position:relative;z-index:2;width:min(535px,100%);background:#fff;border:1px solid rgba(20,52,82,.06);border-radius:24px;padding:48px 52px 36px;box-shadow:0 22px 70px rgba(15,48,78,.13)}
.byt-login-welcome{font-size:18px;font-weight:700;color:#21aebd;margin-bottom:4px}.byt-login-card h2{font-size:35px;letter-spacing:-1.1px;margin:0;color:#10233e}.byt-login-card h2 span{color:#18aebd}.byt-login-card>i{display:block;width:54px;height:4px;background:#1cb8c4;border-radius:8px;margin:20px 0 34px}
#byt-loginform p{margin:0 0 22px}#byt-loginform label{font-size:14px;font-weight:650;color:#172a43;display:block;margin-bottom:8px}#byt-loginform input[type=text],#byt-loginform input[type=password]{width:100%;height:56px;border:1px solid #ced9e4;border-radius:10px;background:#fff;padding:0 16px;font-size:15px;color:#10233e;outline:none;transition:.2s}#byt-loginform input[type=text]:focus,#byt-loginform input[type=password]:focus{border-color:#28adbd;box-shadow:0 0 0 4px rgba(40,173,189,.11)}
#byt-loginform .login-remember{display:inline-flex;align-items:center;gap:8px;margin-top:0;margin-bottom:28px}#byt-loginform .login-remember label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#4b6076;margin:0}#byt-loginform .login-remember input{width:18px;height:18px;margin:0;accent-color:#22b8c5}
#byt-loginform .login-submit{margin:0}#byt-loginform .button-primary{width:100%;height:58px;border:0;border-radius:9px;background:linear-gradient(90deg,#11b4c3,#26c3cd);color:#fff;font-size:15px;font-weight:800;letter-spacing:1.5px;cursor:pointer;box-shadow:0 10px 22px rgba(27,181,194,.2);transition:.2s}#byt-loginform .button-primary:hover{transform:translateY(-1px);box-shadow:0 13px 26px rgba(27,181,194,.28)}
.byt-forgot{position:absolute;right:52px;top:365px;color:#16a8b7;text-decoration:none;font-size:13px}.byt-forgot:hover{text-decoration:underline}.byt-login-secure{margin-top:26px;padding-top:20px;border-top:1px solid #e4eaf0;color:#758597;text-align:center;font-size:12px}.byt-login-secure .dashicons{color:#22aebd;font-size:17px;width:17px;height:17px}.byt-login-copyfoot{text-align:center;color:#758597;font-size:12px;margin-top:17px}
.byt-login-bottom{position:absolute;left:0;right:0;bottom:0;height:70px;background:#051c36;color:#e4edf5;display:flex;align-items:center;justify-content:center;gap:28px;font-size:13px}.byt-login-bottom span{display:flex;align-items:center;gap:7px}.byt-login-bottom>.dashicons,.byt-login-bottom .dashicons{color:#25c7d3;font-size:18px;width:18px;height:18px}
@media(max-width:1050px){.byt-login-screen{grid-template-columns:1fr}.byt-login-hero{display:none}.byt-login-area{padding:38px 20px 100px}.byt-login-card{padding:40px 32px 32px}.byt-forgot{right:32px;top:357px}}
@media(max-width:560px){.byt-login-area{align-items:flex-start;padding-top:28px}.byt-login-card{border-radius:18px;padding:30px 22px 26px}.byt-login-card h2{font-size:29px}.byt-login-welcome{font-size:16px}.byt-login-card>i{margin:16px 0 28px}.byt-forgot{position:static;display:block;text-align:right;margin:-15px 0 22px}.byt-login-bottom{height:64px;gap:12px;font-size:11px}.byt-login-bottom>span:nth-child(even){display:none}}

/* v0.1.5: modern mobile hamburger navigation with blurred backdrop */
.byt-mobile-menu-toggle,.byt-mobile-backdrop{display:none}
@media(max-width:900px){
  body.byt-standalone{overflow-x:hidden!important}
  body.byt-standalone .byt-app{display:block!important;min-height:100vh!important;position:relative!important}
  body.byt-standalone .byt-main{width:100%!important;min-height:100vh!important;padding-top:78px!important}

  .byt-mobile-menu-toggle{display:flex;position:fixed;top:16px;left:16px;width:48px;height:48px;z-index:1003;border:1px solid rgba(9,50,91,.10);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(8,38,75,.15);align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
  .byt-mobile-menu-toggle span{display:block;width:22px;height:2px;border-radius:4px;background:#08264b;transition:transform .28s ease,opacity .2s ease,width .2s ease}
  .byt-mobile-menu-toggle:hover{transform:translateY(-1px);box-shadow:0 13px 34px rgba(8,38,75,.20)}
  body.byt-menu-open .byt-mobile-menu-toggle{background:#0b315e;border-color:rgba(255,255,255,.12)}
  body.byt-menu-open .byt-mobile-menu-toggle span{background:#fff}
  body.byt-menu-open .byt-mobile-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.byt-menu-open .byt-mobile-menu-toggle span:nth-child(2){opacity:0;width:0}
  body.byt-menu-open .byt-mobile-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .byt-mobile-backdrop{display:block;position:fixed;inset:0;z-index:1000;background:rgba(3,18,36,.34);opacity:0;visibility:hidden;pointer-events:none;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);transition:opacity .3s ease,visibility .3s ease}
  body.byt-menu-open .byt-mobile-backdrop{opacity:1;visibility:visible;pointer-events:auto}

  body.byt-standalone .byt-side{display:flex!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;width:min(84vw,320px)!important;height:100dvh!important;min-height:100vh!important;z-index:1002!important;padding:24px 16px 18px!important;background:linear-gradient(180deg,#08264b 0%,#061a33 100%)!important;transform:translateX(-105%);transition:transform .32s cubic-bezier(.2,.8,.2,1);box-shadow:20px 0 55px rgba(1,17,34,.28);overflow-y:auto!important;overflow-x:hidden!important}
  body.byt-menu-open .byt-side{transform:translateX(0)}
  .byt-side .byt-logo{padding:6px 12px 24px;text-align:left}
  .byt-side .byt-logo img{width:142px;max-height:82px}
  .byt-side nav{display:flex!important;grid-template-columns:none!important;flex-direction:column!important;gap:7px!important}
  .byt-side nav a{font-size:14px;padding:13px 14px;border-radius:11px}
  .byt-side .byt-user{margin-top:auto!important;padding-top:18px!important}
  body.byt-menu-open{overflow:hidden!important}
}
@media(max-width:560px){
  body.byt-standalone .byt-main{padding:76px 14px 18px!important}
  .byt-mobile-menu-toggle{top:14px;left:14px;width:46px;height:46px;border-radius:13px}
  body.byt-standalone .byt-side{width:min(88vw,310px)!important}
}
