*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{overflow:hidden;height:100vh}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(/Roboto-Regular.ttf) format("ttf")}:root{font-family:Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-weight:400;font-size:.875em;line-height:1.71429;color-scheme:light dark;--color-primary: #CB1B45;--color-primary-dark: #9E152F;--color-primary-light: #F6D2DB;--color-primary-soft: #FCE8ED;--color-secondary: #F0A202;--color-secondary-dark: #C17E00;--color-accent: #6D819C;--color-accent-dark: #4F667F;--color-text: #FCE9EC;--color-text-muted: #E6BEC6;--color-bg: #1F1216;--color-surface: #2B161C;--color-surface-elevated: #351B22;--color-border: #4A2630;--color-border-light: #F2CED5;--color-overlay: rgba(31, 18, 22, .85);--color-focus-ring: rgba(203, 27, 69, .35);--color-focus-glow: rgba(203, 27, 69, .15);--color-on-primary: #FCE9EC;--color-primary-translucent: rgba(203, 27, 69, .08);--color-success: #37A87C;--color-warning: #F3A712;--color-error: #E04755;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}ul{margin:0;padding:0}li{margin:0}a{font-weight:500;color:var(--color-primary);text-decoration:inherit}a:hover{color:var(--color-secondary)}body{margin:0;min-width:320px;height:100vh;background-color:var(--color-bg);color:var(--color-text);overflow:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid var(--color-border);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:background-color .25s,border-color .25s,box-shadow .25s}button:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}button:focus,button:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-focus-ring),0 0 0 4px var(--color-focus-glow)}@media (prefers-color-scheme: light){:root{--color-text: #2F0C14;--color-text-muted: #7A4E59;--color-bg: #FFF6F8;--color-surface: #FFFFFF;--color-surface-elevated: #FCE8ED;--color-border: #F2CED5;--color-overlay: rgba(203, 27, 69, .12);color:var(--color-text);background-color:var(--color-bg)}a:hover{color:var(--color-primary-dark)}button{background-color:var(--color-primary)}}.add-data-button{background:var(--color-secondary)!important;color:var(--color-on-primary)!important}.loading-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;color:var(--color-text-muted);font-size:16px}.input-with-icon input{padding-left:40px!important;width:100%;padding:12px;background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:4px;font-size:16px;transition:border-color .3s,box-shadow .3s;box-sizing:border-box;color:var(--color-text)}.input-with-icon input:focus{outline:none;border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary),0 0 0 1px var(--color-focus-glow)}.input-with-icon input:focus+.input-icon{color:var(--color-primary)}.input-with-icon input:focus~.input-icon{color:var(--color-primary);transition:color .3s}.input-with-icon input:not(:placeholder-shown)~.input-icon{color:var(--color-primary)}.input-icon{transition:color .3s}.login-container{height:100vh;width:100vw;overflow:hidden;display:flex;justify-content:center;align-items:center;background-color:var(--color-surface)}.login-content{display:flex;width:100%;height:100vh;border-radius:12px;overflow:hidden;box-shadow:0 20px 40px #17030959}.login-form-container{position:relative;flex:3;display:flex;justify-content:center;align-items:center;padding:20px;overflow:hidden}.logo{position:absolute;top:20px;left:20px;width:80px;height:80px}.logo img{width:100%;height:auto}.login-form-wrapper{width:80%;max-width:350px}.login-form-wrapper h2{text-align:center;margin-bottom:24px;color:var(--color-text);font-size:28px}.login-background{flex:7;background-image:url(/login-background.png);background-size:cover;background-position:center;position:relative;display:flex;justify-content:center;align-items:center}.login-footer{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:var(--color-text);text-shadow:1px 1px 3px rgba(0,0,0,.5);font-size:14px}.overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--color-on-primary);padding:40px;text-align:center}.overlay h1{font-size:36px;margin-bottom:16px;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.overlay p{font-size:18px;max-width:500px;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--color-text)}.form-group input{width:100%;padding:12px;background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:4px;font-size:16px;transition:border-color .3s,box-shadow .3s;color:var(--color-text)}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-focus-glow)}.login-button{border-radius:8px;border:1px solid var(--color-border);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:background-color .25s,border-color .25s,box-shadow .25s}.login-button:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.error-message{color:var(--color-error);margin-bottom:16px;padding:10px;background-color:var(--color-primary-soft);border:1px solid var(--color-border-light);border-radius:4px;font-size:14px}@media (max-width: 768px){.login-content{flex-direction:column;height:auto;width:95%}.login-form-container{position:relative;flex:none;width:100%;order:2;padding:30px 20px}.login-background{flex:none;width:100%;order:1;height:200px}.login-form-wrapper{width:100%}.overlay h1{font-size:24px}.overlay p{font-size:16px}}@media (max-width: 480px){.login-content{width:100%;height:100vh;border-radius:0}.login-form-container{position:relative;padding:20px;flex:auto}.login-footer{width:100%;text-align:center;font-size:12px;bottom:5px}.overlay h1{font-size:20px}}
