:root{--color-forest-green:#0c3b2e;--color-sage-green:#8aa78f;--color-sage-light:#ebf0eb;--color-sand:#ede8d8;--color-sand-rich:#c7aa7a;--color-sand-dark:#c0ad90;--color-gold:#ffc33d;--color-gold-light:#fff4cc;--color-dark:#1a1f1d;--color-light:#f5f7f5;--color-border:#e2e6e2;--color-border-dark:#c8cec8;--color-white:#fff;--color-green-dark:var(--color-forest-green);--color-green-mid:#2d5a3d;--color-green-light:var(--color-sage-light);--color-cream:var(--color-light);--color-charcoal:var(--color-dark);--color-text-mid:#485050;--color-text-light:#848f8f;--color-status-draft:#8a9090;--color-status-draft-bg:#f0f2f0;--color-status-open:#0c6b35;--color-status-open-bg:#ebf0eb;--color-status-pending:#b8610a;--color-status-pending-bg:#fef3e2;--color-status-draw-made:#1a5a8a;--color-status-draw-made-bg:#e3f0fa;--color-status-complete:#485050;--color-status-complete-bg:#ebebeb;--color-status-cancelled:#9a2a2a;--color-status-cancelled-bg:#faeaea;--color-role-owner:#7a5c0a;--color-role-owner-bg:#fff4cc;--color-role-admin:#0c3b2e;--color-role-admin-bg:#ebf0eb;--bg-page:var(--color-light);--bg-card:var(--color-white);--bg-subtle:var(--color-sage-light);--text-primary:var(--color-dark);--text-secondary:var(--color-text-mid);--text-muted:var(--color-text-light);--border-color:var(--color-border);--accent:var(--color-forest-green);--accent-mid:var(--color-sage-green);--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display:"DM Serif Display", Georgia, serif;--font-size-xs:12px;--font-size-sm:13px;--font-size-base:15px;--font-size-md:17px;--font-size-lg:20px;--font-size-xl:24px;--font-size-2xl:30px;--line-height-tight:1.2;--line-height-base:1.5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 3px #00000012, 0 1px 2px #0000000a;--shadow-md:0 4px 16px #00000014, 0 2px 6px #0000000d, 0 1px 2px #0000000a;--shadow-lg:0 8px 28px #0000001a, 0 4px 10px #0000000f, 0 1px 3px #0000000a;--nav-height-bottom:64px;--nav-height-top:60px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{flex-direction:column;min-height:100%;display:flex}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}img{max-width:100%;display:block}ul,ol{list-style:none}h1,h2,h3,h4{line-height:var(--line-height-tight);color:var(--text-primary);font-weight:600}.app-shell{background:var(--bg-page);flex-direction:column;min-height:100%;display:flex}.app-content{padding-bottom:var(--nav-height-bottom);flex:1;overflow-y:auto}@media (width>=768px){.app-content{padding-bottom:0;padding-top:var(--nav-height-top)}}.page{max-width:680px;padding:var(--space-5) var(--space-4);margin:0 auto}@media (width>=768px){.page{padding:var(--space-8) var(--space-6)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-base);white-space:nowrap;border:none;font-weight:500;transition:opacity .15s,background .15s,box-shadow .15s;display:inline-flex}.btn:active{opacity:.82}.btn-primary{background:var(--color-forest-green);color:var(--color-white);box-shadow:0 1px 3px #0c3b2e40}.btn-primary:hover{background:var(--color-green-mid)}.btn-secondary{background:var(--color-white);color:var(--text-primary);border:1.5px solid var(--border-color)}.btn-secondary:hover{border-color:var(--color-border-dark)}.btn-ghost{color:var(--accent);background:0 0;border:none}.btn-ghost:hover{background:var(--color-sage-light)}.btn-danger{color:#9a2a2a;background:#faeaea;border:1.5px solid #e5b8b8}.btn-danger:hover{background:#f5d5d5}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--font-size-md);border-radius:var(--radius-lg)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.btn-full{width:100%}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);overflow:hidden}.card-body{padding:var(--space-4)}.section-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.section-title{font-size:var(--font-size-md);color:var(--text-primary);font-weight:600}.divider{background:var(--border-color);height:1px;margin:var(--space-5) 0}.empty-state{text-align:center;padding:var(--space-8) var(--space-4);color:var(--text-muted);font-size:var(--font-size-sm)}.placeholder-screen{justify-content:center;align-items:center;gap:var(--space-4);min-height:60vh;color:var(--text-muted);text-align:center;padding:var(--space-8);flex-direction:column;display:flex}.placeholder-screen h2{color:var(--text-primary);font-size:var(--font-size-xl)}.placeholder-screen p{font-size:var(--font-size-sm);max-width:280px}.page-header{margin-bottom:var(--space-6)}.page-header h1{font-size:var(--font-size-xl);font-weight:700}.page-header p{margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-sm)}.form-group{gap:var(--space-2);margin-bottom:var(--space-5);flex-direction:column;display:flex}.form-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.form-input{padding:var(--space-3) var(--space-4);border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-white);color:var(--text-primary);font-family:inherit;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--color-sage-green);outline:none;box-shadow:0 0 0 3px #8aa78f26}.filter-tabs{gap:var(--space-1);background:var(--color-sand);border-radius:var(--radius-full);padding:3px;display:flex}.filter-tab{padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--text-secondary);background:0 0;border:none;flex:1;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.filter-tab.active{background:var(--color-white);color:var(--text-primary);box-shadow:var(--shadow-sm)}
