:root{--color-primary:#32b8c6;--color-primary-dark:#21808d;--color-bg:#fcfcf9;--color-surface:#fffffe;--color-text:#133433;--color-text-secondary:#626c71;--color-border:rgba(94,82,64,.2);--color-error:#c0152f;--color-success:#21808d;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--color-bg);color:var(--color-text);line-height:1.6;padding:20px;min-height:100vh}a{color:inherit}.page-shell{max-width:960px;margin:0 auto 80px;background:var(--color-surface);padding:32px;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.08)}.header{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid var(--color-primary)}.header h1{color:var(--color-primary-dark);font-size:28px;margin-bottom:8px}.header p{color:var(--color-text-secondary);font-size:14px}.header-logo{max-width:100%;height:auto;object-fit:contain;margin:0 auto;display:block}.section-title{font-size:20px;color:var(--color-primary-dark);margin:32px 0 20px;padding-bottom:10px;border-bottom:2px solid var(--color-primary)}.form-group{margin-bottom:20px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}label{display:block;margin-bottom:8px;font-weight:500;color:var(--color-text);font-size:14px}input[type=date],input[type=email],input[type=number],input[type=tel],input[type=text],select,textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s;background:#fff}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(50,184,198,.1)}textarea{min-height:80px;resize:vertical}.checkbox-group,.radio-group{display:grid;grid-gap:12px;gap:12px}.radio-group{grid-auto-flow:column;justify-content:flex-start;align-items:center}.checkbox-item,.radio-item{display:flex;align-items:center;gap:8px;font-size:14px}.checkbox-item input,.radio-item input{width:18px;height:18px;cursor:pointer}.pain-scale{display:flex;align-items:center;gap:12px}.pain-scale input[type=range]{flex:1 1}.pain-scale-value{font-weight:600;color:var(--color-primary-dark);min-width:32px;text-align:center}.pain-scale.primary{padding:16px;border-radius:12px;background:linear-gradient(135deg,rgba(50,184,198,.1),rgba(50,184,198,.03));border:1px solid rgba(50,184,198,.25)}.pain-scale.primary input[type=range]{accent-color:var(--color-primary)}.pain-scale-value.badge{background:var(--color-primary);color:#fff;padding:4px 10px;border-radius:999px;font-size:16px;min-width:48px}.button-group{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:20px;border-top:1px solid var(--color-border)}.btn{background:var(--color-primary);color:#fff;padding:10px 24px;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.btn:hover{background:var(--color-primary-dark)}.btn-secondary{background:#6c757d}.btn-secondary:hover{background:#5a6268}.hidden{display:none}.alert{padding:14px 18px;border-radius:8px;margin-bottom:20px;border:1px solid var(--color-border)}.alert-success{border-color:rgba(33,128,141,.4);background:rgba(33,128,141,.08);color:var(--color-primary-dark)}.alert-error{border-color:rgba(192,21,47,.4);background:rgba(192,21,47,.08);color:var(--color-error)}.auth-banner{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;margin-bottom:20px;border-radius:10px;border:1px solid rgba(50,184,198,.35);background:rgba(50,184,198,.08);font-size:14px}.login-card{max-width:420px;margin:64px auto;padding:32px;border-radius:16px;background:var(--color-surface);box-shadow:0 10px 40px rgba(0,0,0,.08);text-align:center}.login-card h1{margin-bottom:8px;font-size:24px;color:var(--color-primary-dark)}.login-card p{margin-bottom:20px;color:var(--color-text-secondary)}.login-form{display:flex;flex-direction:column;gap:16px;text-align:left}.login-form button{align-self:flex-end}.error{color:var(--color-error);font-size:14px}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.modal-card{position:relative;width:min(600px,100%);max-height:90vh;overflow-y:auto;background:var(--color-surface);border-radius:16px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.15)}.modal-close{position:absolute;top:16px;right:16px;background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary)}.modal-title{text-align:center;font-size:22px;color:var(--color-primary-dark);margin-bottom:24px}.upload-choice-grid{display:flex;gap:16px;flex-direction:column;margin-bottom:24px}.upload-choice-card{border:1px solid var(--color-border);border-radius:12px;padding:18px;display:flex;align-items:center;gap:12px;background:rgba(50,184,198,.08);font-weight:600;color:var(--color-primary-dark);cursor:pointer;transition:border-color .2s,transform .2s}.upload-choice-card.secondary{background:rgba(33,128,141,.1)}.upload-choice-card:hover{border-color:var(--color-primary);transform:translateY(-1px)}.choice-icon{width:24px;height:24px}.upload-alert{padding:10px 12px;border-radius:8px;font-size:14px;margin-bottom:12px}.upload-alert.error{background:rgba(192,21,47,.1);border:1px solid rgba(192,21,47,.3);color:var(--color-error)}.upload-progress{margin-bottom:12px;display:flex;align-items:center;gap:12px;font-size:14px}.progress-bar{flex:1 1;height:6px;background:rgba(50,184,198,.2);border-radius:999px;overflow:hidden}.progress-bar__fill{height:100%;background:var(--color-primary);border-radius:999px;transition:width .2s ease}.upload-dropzone{border:2px dashed var(--color-border);border-radius:14px;padding:32px 16px;text-align:center;background:rgba(245,248,249,.9);transition:border-color .2s,background .2s;margin-bottom:16px}.upload-dropzone.dragging{border-color:var(--color-primary);background:rgba(50,184,198,.1)}.dropzone-icon{width:48px;height:48px;color:var(--color-text-secondary)}.upload-dropzone p{margin-top:12px;font-size:14px}.upload-dropzone span{color:var(--color-primary-dark);font-weight:600}.upload-dropzone small{display:block;margin-top:8px;font-size:12px;color:var(--color-text-secondary)}.scanner-wrapper{margin-bottom:16px}.selected-file{margin-top:16px;padding:12px 16px;border-radius:10px;background:rgba(50,184,198,.08);display:flex;align-items:center;justify-content:space-between;gap:12px}.selected-file div{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}.icon-button{border:none;background:transparent;cursor:pointer;color:var(--color-text-secondary)}.modal-actions{margin-top:24px;display:flex;justify-content:flex-end;gap:12px}.btn-block{display:block;width:100%}.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}.document-upload-section{margin-top:32px;border:1px dashed rgba(50,184,198,.4);padding:20px;border-radius:14px;background:rgba(50,184,198,.05)}.document-upload-section header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center}.document-upload-section p{margin:8px 0 0;color:var(--color-text-secondary);font-size:14px}.document-list{margin-top:16px;gap:12px}.document-card,.document-list{display:flex;flex-direction:column}.document-card{border:1px solid var(--color-border);border-radius:12px;padding:12px 16px;background:#fff;gap:6px}.document-card__header{display:flex;justify-content:space-between;align-items:center;gap:12px}.document-card__summary{font-size:13px;color:var(--color-text-secondary);margin-top:4px}.document-card__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;justify-content:space-between;align-items:center}.document-select{display:flex;align-items:center;gap:8px;font-size:13px}.document-select input{width:18px;height:18px}.link-button{background:none;border:none;padding:0;color:var(--color-primary-dark);cursor:pointer;font-size:13px;text-decoration:underline}.document-excluded-note{display:block;margin-top:6px;font-size:13px;color:var(--color-error);font-weight:500}.document-status{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize}.document-status.pending,.document-status.processing{background:rgba(255,193,7,.2);color:#c27f00}.document-status.completed{background:rgba(33,128,141,.2);color:var(--color-primary-dark)}.document-card a{font-size:13px;color:var(--color-primary-dark);text-decoration:underline}.document-empty-state{margin-top:16px;padding:14px;border-radius:10px;background:#fff;border:1px dashed var(--color-border);font-size:14px;color:var(--color-text-secondary)}.document-selection-hint{margin-top:12px;font-size:13px;color:var(--color-text-secondary)}.document-excluded-warning{margin-top:8px;color:var(--color-error);font-size:13px;font-weight:600}.document-scanner{display:flex;flex-direction:column;gap:12px;align-items:center}.document-scanner__preview{width:100%;max-width:640px;border-radius:12px;border:1px solid var(--color-border);box-shadow:0 6px 20px rgba(0,0,0,.08)}.document-scanner__actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}@media (max-width:768px){body{padding:12px}.page-shell{padding:20px}.form-row{grid-template-columns:1fr}.radio-group{grid-auto-flow:row;gap:8px}.button-group{flex-direction:column;align-items:stretch}.btn{width:100%}}