.app-shell{height:100vh;display:flex;background:#eef3ee;color:#1c1b1f}.app-drawer{display:flex;flex-direction:column;background:#fff;height:100%;overflow:hidden;flex-shrink:0;box-shadow:0 1px 2px #00000014,0 2px 8px #0000000f;transition:width .22s cubic-bezier(.2,0,0,1),min-width .22s cubic-bezier(.2,0,0,1),transform .22s cubic-bezier(.2,0,0,1),opacity .18s ease}.app-drawer.open{width:256px;min-width:256px}.app-drawer.rail{width:80px;min-width:80px}.app-drawer.closed{width:0;min-width:0;max-width:0;border:0;box-shadow:none;opacity:0;overflow:hidden;pointer-events:none;transform:translate(-8px)}.app-drawer-head{height:64px;min-height:64px;display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid #e8eee9}.app-drawer.rail .app-drawer-head{padding:0 8px;justify-content:center}.app-drawer-logo{width:36px;height:36px;border-radius:8px;object-fit:contain;flex-shrink:0;background:#e8f5e9}.app-drawer-mark{display:none;width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#2e7d32,#1b5e20);color:#fff;font-size:16px;font-weight:800;align-items:center;justify-content:center;flex-shrink:0}.app-drawer-brand{flex:1;min-width:0;line-height:1.15}.app-drawer-brand strong{display:block;font-size:15px;font-weight:700;color:#1c1b1f;white-space:nowrap}.app-drawer-brand span{display:block;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#2e7d32}.app-icon-btn{width:40px;height:40px;border:none;border-radius:50%;background:transparent;color:#49454f;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.app-icon-btn:hover{background:#1c1b1f14}.app-icon-btn:focus-visible{outline:2px solid #2e7d32;outline-offset:2px}.app-drawer-nav{flex:1;overflow-y:auto;padding:12px 12px 8px;display:flex;flex-direction:column;gap:2px}.app-drawer.rail .app-drawer-nav{padding:12px 8px;align-items:center}.app-nav-label{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#79747e;padding:14px 16px 6px}.app-drawer.rail .app-nav-label{display:none}.app-nav-item{display:flex;align-items:center;gap:12px;height:48px;padding:0 16px;border-radius:24px;color:#49454f;text-decoration:none;font-size:14px;font-weight:500;width:100%;white-space:nowrap;position:relative}.app-drawer.rail .app-nav-item{width:56px;height:56px;padding:0;justify-content:center;border-radius:16px}.app-nav-item:hover{background:#2e7d3214;color:#1b5e20}.app-nav-item.active{background:#e8f5e9;color:#1b5e20;font-weight:700}.app-nav-item .ms{font-size:22px;width:24px;height:24px;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.app-nav-item.active .ms{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24;color:#2e7d32}.app-drawer.rail .app-nav-item span.label{display:none}.app-drawer-foot{padding:8px 12px 12px;border-top:1px solid #e8eee9;display:flex;gap:4px}.app-drawer.rail .app-drawer-foot{flex-direction:column;align-items:center;padding:8px}.app-drawer-foot button{flex:1;height:40px;border:none;border-radius:20px;background:#f5f7f5;color:#49454f;font-size:12px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px}.app-drawer.rail .app-drawer-foot button{flex:none;width:40px;border-radius:50%}.app-drawer-foot button:hover{background:#e8f5e9;color:#1b5e20}.app-body{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.app-bar{height:64px;min-height:64px;padding:0 12px 0 8px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;box-shadow:0 1px 2px #00000014,0 2px 6px #0000000a;z-index:2}.app-bar-left{display:flex;align-items:center;gap:4px;min-width:0}.app-crumb{display:flex;align-items:center;gap:8px;padding-left:4px;min-width:0}.app-crumb .muted{font-size:13px;font-weight:500;color:#79747e}.app-crumb .sep{color:#cac4d0;font-size:18px;line-height:1}.app-crumb .now{font-size:20px;font-weight:500;color:#1c1b1f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-bar-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.app-active-chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border-radius:16px;background:#e8f5e9;color:#1b5e20;font-size:12px;font-weight:500}.app-active-chip i{width:8px;height:8px;border-radius:50%;background:#2e7d32}.app-user{display:flex;align-items:center;gap:10px;padding:4px 4px 4px 8px;border-radius:24px}.app-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#2e7d32,#1b5e20);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.app-user-meta{line-height:1.2}.app-user-meta strong{display:block;font-size:13px;font-weight:500}.app-user-meta span{display:block;font-size:11px;font-weight:500;color:#2e7d32;text-transform:uppercase;letter-spacing:.04em}.app-logout{height:32px;padding:0 12px;border:none;border-radius:16px;background:transparent;color:#49454f;font-size:13px;font-weight:500}.app-logout:hover{background:#1c1b1f14}.app-main{flex:1;padding:24px;overflow-y:auto}.ms{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.app-tip{position:relative}.app-drawer.rail .app-tip:hover:after{content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:#313033;color:#fff;font-size:12px;font-weight:500;padding:6px 10px;border-radius:4px;white-space:nowrap;z-index:20;pointer-events:none;box-shadow:0 2px 6px #0003}.login-page{height:100%;display:flex;font-family:Roboto,Segoe UI,sans-serif;background:#eef3ee;color:#1c1b1f;overflow:auto}.login-brand{display:none;width:42%;min-width:320px;position:relative;overflow:hidden;background:linear-gradient(145deg,#14532d,#2e7d32 42%,#4caf50 72%,#1b5e20);background-size:180% 180%;color:#fff;padding:56px 48px;flex-direction:column;justify-content:space-between;animation:brandShift 16s ease-in-out infinite}.login-orbs{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.login-orbs span{position:absolute;border-radius:50%;pointer-events:none}.login-orbs span:nth-child(1){width:420px;height:420px;top:-140px;right:-90px;background:radial-gradient(circle,#ffffff29,#fff0 70%);animation:orbDrift 12s ease-in-out infinite}.login-orbs span:nth-child(2){width:280px;height:280px;bottom:-80px;left:-70px;border:36px solid rgba(255,255,255,.07);animation:orbDrift 15s ease-in-out infinite reverse}.login-orbs span:nth-child(3){width:140px;height:140px;top:42%;right:18%;background:#ffffff1a;filter:blur(2px);animation:orbPulse 6s ease-in-out infinite}.login-shine{position:absolute;top:-20%;right:-40%;bottom:-20%;left:-40%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.16) 50%,transparent 65%);transform:translate(-60%) rotate(8deg);animation:brandShine 7s ease-in-out infinite;pointer-events:none}.login-brand-inner{position:relative;z-index:1;margin-block:auto}.login-logo-wrap{display:inline-flex;align-items:center;max-width:100%;background:#fff;border-radius:18px;padding:16px 20px;margin-bottom:28px;box-shadow:0 14px 36px #0000002e;animation:logoIn .8s cubic-bezier(.2,.8,.2,1) both}.login-logo-wrap img{width:min(260px,100%);height:auto;display:block}.login-brand p{font-size:15px;line-height:1.55;max-width:340px;color:#ffffffe6;animation:logoIn .9s .12s cubic-bezier(.2,.8,.2,1) both}.login-brand-foot{position:relative;z-index:1;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:#ffffffb3;animation:logoIn 1s .2s cubic-bezier(.2,.8,.2,1) both}.login-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 16px;min-width:0}.login-card{width:100%;max-width:420px;background:#fff;border-radius:28px;padding:36px 24px 28px;box-shadow:0 1px 2px #0000000f,0 8px 24px #1b5e2014}.login-card-mark{display:flex;align-items:center;margin-bottom:24px}.login-card-mark img{height:28px;width:auto;max-width:180px;display:block}.login-card h1{font-size:28px;font-weight:400;letter-spacing:0;margin:0 0 6px;color:#1c1b1f}.login-card .login-sub{font-size:14px;color:#49454f;margin-bottom:28px}.login-field{position:relative;margin-bottom:22px}.login-field input{width:100%;height:56px;padding:20px 16px 8px;border:none;border-bottom:1px solid #49454f;border-radius:4px 4px 0 0;background:#e6eee6;font-size:16px;line-height:20px;font-family:inherit;color:#1c1b1f;outline:none;box-sizing:border-box;box-shadow:none!important;transition:background .15s ease,border-color .15s ease}.login-field input:hover{background:#dce6dc;border-bottom-color:#1c1b1f}.login-field:focus-within input,.login-field input:focus{background:#d4e4d4!important;border-bottom:2px solid #2e7d32!important;box-shadow:none!important}.login-field.has-error input,.login-field.has-error:focus-within input,.login-field.has-error input:focus{background:#f9dedc!important;border-bottom:2px solid #b3261e!important}.login-field label{position:absolute;left:16px;top:18px;font-size:16px;color:#49454f;pointer-events:none;transform-origin:left top;transition:top .15s ease,transform .15s ease,color .15s ease}.login-field.floated label,.login-field:focus-within label{top:6px;transform:scale(.75);color:#2e7d32;font-weight:500}.login-field.has-error.floated label,.login-field.has-error:focus-within label{color:#b3261e}.login-eye{position:absolute;right:6px;top:8px;width:40px;height:40px;border:none;background:transparent;border-radius:20px;color:#49454f;display:flex;align-items:center;justify-content:center}.login-eye:hover{background:#e8f5e9}.login-eye:active{transform:none}.login-error{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:#f9dedc;color:#8c1d18;font-size:13px;font-weight:500;margin-bottom:20px}.login-submit{width:100%;height:48px;margin-top:8px;border:none;border-radius:24px;background:#2e7d32;color:#fff;font-family:inherit;font-size:14px;font-weight:500;letter-spacing:.1px;box-shadow:0 1px 3px #2e7d324d;position:relative;overflow:hidden}.login-submit:hover:not(:disabled){background:#27692b;box-shadow:0 2px 6px #2e7d3259}.login-submit:active:not(:disabled){transform:none;box-shadow:0 1px 2px #2e7d3240}.login-submit:disabled{background:#c4c7c5;color:#1c1b1f;opacity:.5;cursor:not-allowed;box-shadow:none}.login-hint{margin-top:20px;text-align:center;font-size:12px;color:#79747e}@keyframes brandShift{0%,to{background-position:0% 40%}50%{background-position:100% 60%}}@keyframes orbDrift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(28px,18px) scale(1.08)}}@keyframes orbPulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.7;transform:scale(1.18)}}@keyframes brandShine{0%{transform:translate(-70%) rotate(8deg);opacity:0}18%{opacity:.55}42%{opacity:0}to{transform:translate(80%) rotate(8deg);opacity:0}}@keyframes logoIn{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.login-brand,.login-orbs span,.login-shine,.login-logo-wrap,.login-brand p,.login-brand-foot{animation:none}}@media (min-width: 900px){.login-brand{display:flex}.login-card{padding:44px 40px 36px}.login-card-mark{display:none}.login-panel{background:#eef3ee}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--gr:#2E7D32;--gr2:#1B5E20;--gr3:#4CAF50;--grl:#E8F5E9;--gra:#C8E6C9;--bd:#e0e0e0;--bdl:#eeeeee;--tx:#1a1a1a;--txs:#444;--mu:#5f6368;--txd:#999;--bg:#F9FBF9;--card:#ffffff;--cardAlt:#f5f7f5;--blue:#1565C0;--blueL:#E3F2FD;--amber:#E65100;--amberL:#FFF3E0;--red:#C62828;--redL:#FFEBEE;--purple:#6A1B9A;--purpleL:#F3E5F5;--cyan:#00838F;--cyanL:#E0F7FA;--f:Roboto,"Segoe UI",sans-serif;--mono:"SF Mono","Consolas","Liberation Mono",monospace;--sh:0 1px 4px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shL:0 12px 40px rgba(0,0,0,.1),0 4px 14px rgba(0,0,0,.06)}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--f);background:var(--bg);color:var(--tx)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gra);border-radius:10px}select option{background:#fff;color:var(--tx)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes tabIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}input:focus,select:focus,textarea:focus{border-color:var(--gr)!important;box-shadow:0 0 0 3px #2e7d321a!important;outline:none}button{font-family:var(--f);transition:all .15s ease;cursor:pointer}button:active{transform:scale(.97)}table{border-spacing:0}.hover-row:hover{background:var(--grl)!important}.tile-card:hover{border-color:var(--gr3)!important;box-shadow:0 4px 20px #2e7d321f!important;transform:translateY(-2px)}.inline-num{width:58px;padding:4px 6px;border-radius:5px;border:1px solid var(--bdl);font-family:var(--mono);font-size:12px;font-weight:700;text-align:center;color:var(--tx);background:#fff;outline:none}.inline-num:focus{border-color:var(--gr);box-shadow:0 0 0 2px #2e7d321a}.sub-section{border:1px solid var(--bd);border-radius:10px;margin-bottom:14px;overflow:hidden}.sub-header{padding:14px 18px;background:var(--cardAlt);display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.sub-header:hover{background:#eef2ee}
