@import"https://fonts.googleapis.com/css2?family=Exo+2:wght@300;400;700;900&family=Source+Sans+3:wght@300;400;700&display=swap";:root{--color-primary: #66b234;--color-primary-hover: #17885d;--color-primary-light: #e8f5e0;--color-dark: #1A1937;--color-text: #222222;--color-text-muted: #888888;--color-border: #e0e0e0;--color-bg: #f5f5f5;--color-white: #ffffff;--color-danger: #e53935;--color-warning: #f57c00;--font-heading: "Exo 2", sans-serif;--font-body: "Source Sans 3", sans-serif;--radius: 8px;--radius-lg: 12px;--shadow: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--header-height: 56px;--bottom-nav-height: 64px;--sidebar-width: 220px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:var(--font-body);font-size:16px;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;border:none;font-family:var(--font-body)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius);font-family:var(--font-heading);font-weight:700;font-size:15px;transition:background .2s,color .2s,transform .1s;border:none}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background:var(--color-primary-light)}.btn-full{width:100%}.card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:700;font-family:var(--font-heading)}.badge-primary{background:var(--color-primary);color:#fff}.badge-light{background:var(--color-primary-light);color:var(--color-primary-hover)}.badge-danger{background:#fdecea;color:var(--color-danger)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}::placeholder{color:#bbb;opacity:1}.app-header[data-v-1c18390f]{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--color-white);box-shadow:0 2px 8px #0000001a;z-index:100}.header-inner[data-v-1c18390f]{display:flex;align-items:center;height:100%;padding:0 16px}.header-logo[data-v-1c18390f]{height:36px;width:auto;object-fit:contain}.bottom-nav[data-v-88c89174]{position:fixed;bottom:0;left:0;right:0;height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));background:var(--color-white);border-top:1px solid var(--color-border);display:flex;z-index:100;padding-bottom:env(safe-area-inset-bottom)}.nav-item[data-v-88c89174]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--color-text-muted);transition:color .2s;text-decoration:none}.nav-item svg[data-v-88c89174]{width:22px;height:22px}.nav-item span[data-v-88c89174]{font-size:10px;font-family:var(--font-heading);font-weight:700}.nav-item.active[data-v-88c89174]{color:var(--color-primary)}.side-nav[data-v-cf8990fe]{display:none}@media (min-width: 768px){.side-nav[data-v-cf8990fe]{display:flex;width:var(--sidebar-width);min-width:var(--sidebar-width);height:100%;background:var(--color-white);border-right:1px solid var(--color-border);flex-direction:column;overflow-y:auto}}.side-nav-logo[data-v-cf8990fe]{padding:20px 20px 16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.side-nav-logo img[data-v-cf8990fe]{height:36px;width:auto;object-fit:contain}.side-nav-links[data-v-cf8990fe]{flex:1;padding:12px 0;display:flex;flex-direction:column;gap:2px}.side-nav-item[data-v-cf8990fe]{display:flex;align-items:center;gap:12px;padding:11px 20px;color:var(--color-text-muted);text-decoration:none;font-family:var(--font-heading);font-weight:700;font-size:14px;border-left:3px solid transparent;transition:background .15s,color .15s,border-color .15s;border-radius:0 var(--radius) var(--radius) 0;margin-right:12px}.side-nav-item svg[data-v-cf8990fe]{width:20px;height:20px;flex-shrink:0}.side-nav-item[data-v-cf8990fe]:hover{background:var(--color-primary-light);color:var(--color-primary)}.side-nav-item.active[data-v-cf8990fe]{background:var(--color-primary-light);color:var(--color-primary);border-left-color:var(--color-primary)}.side-nav-footer[data-v-cf8990fe]{border-top:1px solid var(--color-border);padding:16px;flex-shrink:0;display:flex;flex-direction:column;gap:12px}.side-nav-user[data-v-cf8990fe]{display:flex;align-items:center;gap:10px;overflow:hidden}.side-nav-avatar[data-v-cf8990fe]{width:36px;height:36px;border-radius:50%;background:var(--color-primary);color:#fff;font-family:var(--font-heading);font-weight:900;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.side-nav-user-info[data-v-cf8990fe]{overflow:hidden;min-width:0}.side-nav-user-name[data-v-cf8990fe]{font-family:var(--font-heading);font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-nav-user-email[data-v-cf8990fe]{font-size:11px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-nav-logout[data-v-cf8990fe]{display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--color-text-muted);font-family:var(--font-heading);font-weight:700;font-size:13px;padding:8px 0;cursor:pointer;transition:color .15s;width:100%}.side-nav-logout[data-v-cf8990fe]:hover{color:var(--color-danger)}.side-nav-logout svg[data-v-cf8990fe]{width:16px;height:16px;flex-shrink:0}.app-shell{display:flex;flex-direction:column;height:100%}.app-shell.has-nav .app-content{padding-top:var(--header-height);padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))}@media (min-width: 768px){.app-shell{flex-direction:row}.app-shell .app-header,.app-shell .bottom-nav{display:none}.app-shell.has-nav .app-content{padding-top:0;padding-bottom:0;overflow-y:auto}}.app-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-width:0}.page{min-height:100%}.page-section{padding:16px;display:flex;flex-direction:column;gap:12px}@media (min-width: 768px){.page-section{max-width:860px}}
