:root{--navy: #12234a;--blue-deep: #1b4f9c;--blue-mid: #2477c9;--blue-bright: #2aabe2;--blue-pale: #eaf5fc;--blue-border: #cfe4f5;--ink: #16213a;--muted: #5b7089;--brand-gradient: linear-gradient(120deg, var(--navy) 0%, var(--blue-deep) 40%, var(--blue-mid) 70%, var(--blue-bright) 100%)}*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:#f2f7fc;color:var(--ink)}.brand-header{max-width:480px;margin:0 auto;padding:.9rem 1rem 0;text-align:center}.brand-header img{max-width:220px;width:100%;height:auto}.brand-header:after{content:"";display:block;height:4px;margin:.75rem 0 0;border-radius:999px;background:var(--brand-gradient);opacity:.85}.page{max-width:480px;margin:0 auto;padding:1rem;min-height:100vh}.page.centered{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.page-header h1{color:var(--navy);letter-spacing:-.01em}h1{color:var(--navy)}.form{display:flex;flex-direction:column;gap:.6rem;width:100%}input,select,textarea{padding:.6rem;font-size:1rem;border:1px solid var(--blue-border);border-radius:6px;width:100%;font-family:inherit;background:#fff;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue-mid);box-shadow:0 0 0 3px #2aabe22e}textarea{min-height:4rem;resize:vertical}label{font-size:.85rem;font-weight:600;color:var(--navy);margin-top:.4rem}button{padding:.7rem 1rem;font-size:1rem;border-radius:6px;border:1px solid var(--blue-border);background:#fff;color:var(--ink);cursor:pointer;transition:transform .05s ease,box-shadow .15s ease,border-color .15s ease}button:hover:not(:disabled){border-color:var(--blue-mid)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.6;cursor:default}button.primary{background:var(--brand-gradient);color:#fff;border-color:transparent;box-shadow:0 2px 8px #1b4f9c59}button.primary:hover:not(:disabled){box-shadow:0 3px 10px #1b4f9c73}button.full-width{width:100%;text-align:center;display:block;text-decoration:none;box-sizing:border-box}a.button{display:inline-block;text-decoration:none}a.primary,a.full-width{display:block;text-decoration:none;padding:.7rem 1rem;font-size:1rem;border-radius:6px;border:1px solid var(--blue-border);background:#fff;text-align:center;color:inherit}a.primary{background:var(--brand-gradient);color:#fff;border-color:transparent;box-shadow:0 2px 8px #1b4f9c59}.link-button{background:none;border:none;color:var(--blue-deep);padding:.3rem 0;font-size:.9rem;text-align:left;width:fit-content;font-weight:600}.link-button:hover{color:var(--blue-bright);border-color:transparent}.action-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}.btn-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .85rem;font-size:.85rem;font-weight:600;border-radius:999px;border:1px solid var(--blue-border);background:var(--blue-pale);color:var(--blue-deep);cursor:pointer;line-height:1.2;transition:background .15s ease,border-color .15s ease,transform .05s ease}.btn-chip:hover:not(:disabled){background:#dcedfa;border-color:var(--blue-mid)}.btn-chip:active:not(:disabled){transform:translateY(1px)}.btn-chip.danger{background:#fef2f2;border-color:#f8caca;color:#b91c1c}.btn-chip.danger:hover:not(:disabled){background:#fde3e3;border-color:#f3a5a5}.btn-chip:disabled{opacity:.6;cursor:default}.icon-remove{flex:0 0 auto;width:2rem;height:2rem;margin-left:.3rem;padding:0;border-radius:50%;border:1px solid #f8caca;background:#fef2f2;color:#b91c1c;font-size:1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.icon-remove:hover{background:#fde3e3;border-color:#f3a5a5}.error{color:#c0392b}.muted{color:var(--muted);font-size:.9rem}.muted.small{font-size:.8rem}.list{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:.5rem}.list-row{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:.75rem 1rem;border-radius:8px;text-decoration:none;color:inherit;border:1px solid var(--blue-border);box-shadow:0 1px 2px #12234a0d;transition:box-shadow .15s ease,border-color .15s ease}a.list-row:hover{border-color:var(--blue-mid);box-shadow:0 2px 8px #1b4f9c1f}.badge{padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize;background:#e0e0e0}.badge-draft{background:#fde68a}.badge-submitted{background:#bfe0f7;color:var(--navy)}.badge-approved{background:#86efac}.badge-invoiced,.badge-sent{background:#a7f3d0}.card{background:#fff;border-radius:10px;padding:1rem;margin-bottom:1rem;border:1px solid var(--blue-border);box-shadow:0 1px 3px #12234a0f}.card h2{margin-top:0;font-size:1.1rem;color:var(--navy)}.picker-group{display:flex;flex-direction:column;gap:.4rem}.address-suggestions{position:absolute;top:100%;left:0;right:0;z-index:10;background:#fff;border:1px solid var(--blue-border);border-top:none;border-radius:0 0 6px 6px;margin:0;padding:0;list-style:none;max-height:180px;overflow-y:auto;box-shadow:0 2px 4px #12234a1a}.address-suggestions li{padding:.5rem;font-size:.9rem;cursor:pointer;border-bottom:1px solid var(--blue-pale)}.address-suggestions li:hover{background:var(--blue-pale)}.inline-add{display:flex;gap:.5rem}.inline-add input{flex:1}.line-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem;flex-wrap:wrap}.line-row input{flex:1;min-width:0}.line-row select{flex:0 0 auto}.customer-summary{background:var(--blue-pale);padding:.5rem .75rem;border-radius:6px;margin-top:.3rem}.card h3{font-size:.95rem;margin:.8rem 0 .4rem;color:var(--navy)}.signature-pad{display:flex;flex-direction:column;gap:.3rem;margin-top:.6rem}.signature-canvas{width:100%;height:160px;background:#fff;border:1px solid var(--blue-border);border-radius:6px;touch-action:none}
