:root{--bg: #F8F6F1;--bg-card: #FFFFFF;--bg-subtle: #F0EDE6;--border: #E2DDD5;--border-mid: #C9C3B8;--ink: #1C1917;--ink-mid: #57534E;--ink-light: #A8A29E;--accent: #1B4332;--accent-mid: #2D6A4F;--accent-lt: #D8F3DC;--danger: #9B2C2C;--danger-lt: #FED7D7;--warning: #744210;--warning-lt: #FEFCBF;--success: #1B4332;--success-lt: #D8F3DC;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 16px rgba(0,0,0,.07), 0 1px 4px rgba(0,0,0,.04);--shadow-lg: 0 12px 40px rgba(0,0,0,.1), 0 4px 12px rgba(0,0,0,.05);--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--transition: .18s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);line-height:1.6;min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit}img{display:block;max-width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:99px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.78rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mid)}.field input,.field select{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--ink);font-size:.95rem;transition:border-color var(--transition),box-shadow var(--transition);outline:none}.field input:focus,.field select:focus{border-color:var(--accent-mid);box-shadow:0 0 0 3px #2d6a4f1f}.field input::placeholder{color:var(--ink-light)}.field-error{font-size:.82rem;color:var(--danger);margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;letter-spacing:.01em;transition:all var(--transition);white-space:nowrap}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-mid);transform:translateY(-1px);box-shadow:var(--shadow)}.btn-primary:active{transform:none}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--border)}.btn-outline:hover{border-color:var(--border-mid);background:var(--bg-subtle)}.btn-ghost{background:transparent;color:var(--ink-mid);padding:8px 12px}.btn-ghost:hover{background:var(--bg-subtle);color:var(--ink)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{opacity:.88}.btn-sm{padding:7px 14px;font-size:.82rem}.btn-secondary{background:var(--bg-subtle);color:var(--ink);border:1.5px solid transparent}.btn-secondary:hover{background:var(--bg-card)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;font-size:.75rem;font-weight:500}.badge-green{background:var(--accent-lt);color:var(--accent)}.badge-red{background:var(--danger-lt);color:var(--danger)}.badge-gray{background:var(--bg-subtle);color:var(--ink-mid)}.alert{padding:12px 16px;border-radius:var(--radius-sm);font-size:.88rem;line-height:1.5}.alert-error{background:var(--danger-lt);color:var(--danger);border:1px solid #FEB2B2}.alert-success{background:var(--success-lt);color:var(--success);border:1px solid #9AE6B4}.alert-warning{background:var(--warning-lt);color:var(--warning);border:1px solid #F6E05E}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:fadeUp .45s ease both}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.spinner-lg{width:36px;height:36px;border-width:3px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c191773;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .18s ease both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;animation:fadeUp .22s ease both}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:22px 28px 16px;border-bottom:1px solid var(--border)}.modal-header h2{font-family:var(--font-display);font-size:1.5rem;font-weight:500}.modal-body{padding:24px 28px;display:flex;flex-direction:column;gap:18px}.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:16px 28px 22px;border-top:1px solid var(--border)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}th{text-align:left;padding:10px 16px;font-size:.72rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-light);border-bottom:1px solid var(--border)}td{padding:13px 16px;border-bottom:1px solid var(--border);color:var(--ink-mid);vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg-subtle)}td strong{color:var(--ink);font-weight:500}@media (max-width: 900px){.auth-page{flex-direction:column!important}.auth-page .auth-panel{display:none}.auth-page .auth-form-panel{padding:30px 18px}.auth-page .auth-form-wrap{margin:0 auto}}@media (max-width: 820px){.app-navbar .navbar-inner{flex-wrap:wrap;gap:12px;height:auto!important;padding:14px 18px}.app-navbar .navbar-links{width:100%;order:3;gap:8px;flex-wrap:wrap;overflow-x:auto;padding:8px 0}.app-navbar .navbar-user-area{width:100%;justify-content:space-between;order:2}.app-navbar .navbar-user-area .navbar-user-meta{min-width:0}}@media (max-width: 768px){.modal{max-width:100%;margin:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-overlay{align-items:flex-end;padding:0}.page{width:100%}.home-page .hero{padding:80px 18px 90px!important}.home-page .hero h1{font-size:clamp(2rem,7vw,3.2rem)!important}.home-page .features{padding:60px 18px!important}.home-page .banner{padding:52px 18px!important}.pdf-viewer iframe{min-height:280px}}
