/* Tax Desk Pro — team workspace shell and login */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.td-app{background:#F3F4F6;color:#374151;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Helvetica,Arial,sans-serif;min-height:100vh}
.td-app .td-wrap{margin:0;--td-accent:inherit}
.td-app .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.td-appbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;padding:0 24px;min-height:64px;background:#fff;border-bottom:1px solid #E5E7EB}
.td-app-brand{display:flex;align-items:center;text-decoration:none;color:#111827;font-weight:700;flex-shrink:0}
.td-app-brand img{max-height:38px;max-width:180px;display:block}
.td-nav{display:flex;align-items:center;gap:2px;flex:1;min-width:0}
.td-nav>a{color:#4B5563;text-decoration:none;font-weight:600;font-size:14px;padding:8px 12px;border-radius:8px;white-space:nowrap}
.td-nav>a:hover{background:#F3F4F6;color:#111827}
.td-nav>a.is-active{background:color-mix(in srgb,var(--td-accent) 10%,#fff);color:var(--td-accent)}
.td-user{margin-left:auto;display:flex;align-items:center;gap:12px}
.td-user-name{display:flex;flex-direction:column;align-items:flex-end;font-weight:600;font-size:13px;color:#111827;line-height:1.2}
.td-user-name small{color:#6B7280;font-weight:500;font-size:11px}
.td-langform{display:inline-flex;margin:0;border:1px solid #D1D5DB;border-radius:8px;overflow:hidden}
.td-langform button{background:#fff;border:0;color:#6B7280;font-weight:700;font-size:11px;padding:6px 9px;cursor:pointer}
.td-langform button.is-on{background:#111827;color:#fff}
.td-logout{font-size:13px;font-weight:600;color:#4B5563!important;text-decoration:none;padding:6px 10px;border:1px solid #D1D5DB;border-radius:8px}
.td-logout:hover{background:#F3F4F6}
.td-navtoggle{display:none;margin-left:auto;background:#fff;border:1px solid #D1D5DB;border-radius:8px;width:42px;height:38px;padding:10px;cursor:pointer;flex-direction:column;justify-content:space-between}
.td-navtoggle span{display:block;height:2px;background:#111827;border-radius:2px}
.td-appmain{max-width:1440px;margin:0 auto;padding:24px 24px 60px}
/* Login */
.td-app--login{display:flex;flex-direction:column;background:#F3F4F6}
.td-login{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px}
.td-login-card{width:100%;max-width:420px;background:#fff;border:1px solid #E5E7EB;border-radius:16px;padding:32px;box-shadow:0 20px 50px -30px rgba(17,24,39,.35);border-top:4px solid var(--td-accent)}
.td-login-brand{margin-bottom:22px}
.td-login-brand img{max-height:48px;max-width:220px}
.td-app-name{font-size:18px;font-weight:700;color:#111827}
.td-login h1{margin:0 0 6px;font-size:24px;color:#111827}
.td-login .td-muted{display:block;margin:0 0 18px;font-size:13px;color:#6B7280}
.td-login .td-form label{display:flex;flex-direction:column;gap:5px;font-weight:600;color:#111827;margin-bottom:14px}
.td-login .td-form label.td-check{flex-direction:row;font-weight:400;align-items:center;gap:8px}
.td-login input[type=text],.td-login input[type=password]{width:100%;min-height:44px;border:1px solid #D1D5DB;border-radius:8px;padding:8px 12px;font-size:15px}
.td-login input:focus{outline:2px solid color-mix(in srgb,var(--td-accent) 30%,transparent);border-color:var(--td-accent)}
.td-login .td-btn{min-height:46px;font-size:15px}
.td-login-links{display:flex;justify-content:space-between;gap:12px;margin:18px 0 0;font-size:13px}
.td-login-links a,.td-login-back a{color:#4B5563}
.td-login-back{margin-top:18px;font-size:13px}
@media (max-width:1100px){
  .td-appbar{flex-wrap:wrap;padding:12px 16px;gap:12px}
  .td-navtoggle{display:flex}
  .td-nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:2px;padding-bottom:8px}
  .td-nav.is-open{display:flex}
  .td-user{margin:8px 0 0;justify-content:space-between;flex-wrap:wrap}
  .td-user-name{align-items:flex-start}
  .td-appmain{padding:16px 12px 48px}
}
