*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;background:#f1f5f9;color:#1e293b}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}.phi-no-select{user-select:none;-webkit-user-select:none}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.card{background:#fff;border-radius:14px;padding:1.5rem;box-shadow:0 1px 4px #0f172a0f,0 4px 16px #0f172a0a;border:1px solid rgba(226,232,240,.8)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:9999px;font-size:.72rem;font-weight:600;letter-spacing:.01em}.badge-pending{background:#fef9c3;color:#854d0e;border:1px solid #fde68a}.badge-in_review{background:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe}.badge-completed{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.badge-cancelled{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.form-group{display:flex;flex-direction:column;gap:4px;margin-bottom:1rem}.form-label{font-size:.8rem;font-weight:600;color:#475569;letter-spacing:.01em}.form-input{padding:.5rem .75rem;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.875rem;outline:none;background:#fafcff;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f;background:#fff}.btn{display:inline-flex;align-items:center;gap:6px;padding:.5rem 1.125rem;border:none;border-radius:9px;font-size:.875rem;font-weight:500;transition:opacity .15s,transform .1s}.btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn-primary{background:#3b82f6;color:#fff;box-shadow:0 1px 3px #3b82f659}.btn-secondary{background:#f1f5f9;color:#374151;border:1.5px solid #e2e8f0}.btn-danger{background:#ef4444;color:#fff;box-shadow:0 1px 3px #ef44444d}.btn:disabled{opacity:.5;cursor:not-allowed}.phi-blur-on-unfocus{transition:filter .3s}body.window-unfocused .phi-blur-on-unfocus{filter:blur(8px)}
