:root{--adm-color-primary: #1677ff}html,body,#root{height:100%;width:100%}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5}@media(max-width:768px){html{font-size:14px}}.auth-layout{min-height:100vh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-x:hidden;background:radial-gradient(circle at top left,rgba(234,176,104,.18),transparent 32%),radial-gradient(circle at bottom right,rgba(36,109,96,.18),transparent 28%),linear-gradient(135deg,#f4ead9,#f6f1e6 48%,#efe3cd);padding:28px;box-sizing:border-box}.auth-layout__halo{position:absolute;border-radius:999px;filter:blur(8px);opacity:.75;pointer-events:none}.auth-layout__halo--top{top:-120px;left:-40px;width:320px;height:320px;background:#ca855638}.auth-layout__halo--bottom{right:-60px;bottom:-140px;width:360px;height:360px;background:#2e716633}.auth-layout__container{position:relative;z-index:1;flex:1;width:100%;max-width:1160px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,460px);gap:28px;align-items:stretch;align-content:center}.auth-layout__brand,.auth-layout__content{position:relative;z-index:1}.auth-layout__brand{display:flex;flex-direction:column;justify-content:space-between;min-height:640px;padding:44px;border-radius:34px;background:linear-gradient(160deg,#193a34fa,#1f534af5 56%,#c06d3ee0);color:#f5eddf;box-shadow:0 26px 70px #22312d2e}.auth-layout__brand-mark{display:inline-flex;align-self:flex-start;margin-bottom:18px;padding:8px 12px;border-radius:999px;background:#fff3dc1f;color:#fff7ead1;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.auth-layout__brand h1{margin:0 0 18px;font-family:"Noto Serif SC","Source Han Serif SC",Songti SC,serif;font-size:clamp(36px,5vw,60px);line-height:1.06;letter-spacing:-.04em}.auth-layout__brand p{max-width:520px;margin:0;color:#faf3e5d6;font-size:16px;line-height:1.85}.auth-layout__brand-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.auth-layout__brand-tags span{padding:10px 14px;border-radius:999px;background:#fff5e61a;border:1px solid rgba(255,237,213,.16);color:#fff3e2;font-size:13px}.auth-layout__brand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:auto;padding-top:32px}.auth-layout__brand-grid article{min-height:124px;padding:18px;border-radius:24px;background:#fff7e91a;border:1px solid rgba(255,239,214,.14)}.auth-layout__brand-grid strong{display:block;margin-bottom:10px;font-size:17px;color:#fff5e5}.auth-layout__brand-grid span{color:#f9f0e0c7;font-size:14px;line-height:1.7}.auth-layout__content{display:flex;align-items:center;padding:28px;border-radius:34px;background:#fffcf6c7;border:1px solid rgba(221,207,181,.65);box-shadow:0 26px 60px #313e391a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.auth-layout__content>*{width:100%}.auth-layout__footer{position:relative;z-index:1;width:100%;max-width:1160px;margin:18px auto 0;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px));text-align:center}.auth-layout__footer a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 16px;border-radius:999px;border:1px solid rgba(198,178,149,.72);background:#fffbf5d1;box-shadow:0 12px 28px #39474114;color:#5f746d;font-size:12px;text-decoration:none;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.auth-layout__footer a:hover{color:#1f6b5c;border-color:#1f6b5c47;background:#ffffffeb}.staff-layout{display:flex;flex-direction:column;min-height:100vh;background:#f5f5f5}.staff-layout__content{flex:1;overflow-y:auto;padding-bottom:56px}.staff-layout__tabbar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #eee;z-index:100}.client-layout{min-height:100vh;background:#fff}.client-layout__content{padding:0}.manager-layout{display:flex;flex-direction:column;min-height:100vh;background:#f5f5f5}.manager-layout__content{flex:1;overflow-y:auto;padding-bottom:56px}.manager-layout__tabbar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #eee;z-index:100}.admin-layout{display:flex;min-height:100vh}.admin-layout__sidebar{width:220px;background:#1a1a2e;color:#fff;flex-shrink:0}.admin-layout__sidebar-title{padding:20px 16px;font-size:18px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.1)}.admin-layout__nav{padding:8px 0}.admin-layout__nav-item{padding:12px 16px;cursor:pointer;transition:background .2s;font-size:14px}.admin-layout__nav-item:hover{background:#ffffff14}.admin-layout__nav-item.active{background:#ffffff26;border-left:3px solid #667eea;padding-left:13px}.admin-layout__main{flex:1;padding:24px;overflow-y:auto;background:#f0f2f5}.workspace-shell__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px 0;background:#f5f5f5}.workspace-shell__header--admin{padding:0 0 20px;background:transparent}.workspace-shell__eyebrow{color:#667d76;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.workspace-shell__title{color:#17352e;font-size:18px;font-weight:700}.workspace-shell__logout{border:0;border-radius:999px;background:#fff;color:#1f6b5c;padding:10px 14px;font-size:13px;font-weight:700;box-shadow:0 10px 24px #1a342f14}@media(max-width:960px){.auth-layout{padding:18px}.auth-layout__container{grid-template-columns:1fr;max-width:640px}.auth-layout__brand{min-height:auto;padding:28px 24px}.auth-layout__brand-grid{grid-template-columns:1fr;padding-top:24px}.auth-layout__content{padding:20px}.auth-layout__footer{margin-top:14px}}@media(max-width:640px){.auth-layout__brand{padding:22px 18px;border-radius:28px}.auth-layout__content{padding:14px;border-radius:28px}.auth-layout__brand p{font-size:14px}.auth-layout__footer a{width:100%;max-width:320px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
